Reloj de control de personal (1)

Fecha de publicación: 15-ene-2010 17:36:27

Viendo la problemática actual para el control el acceso en general y realizando un estudio de los elementos disponibles en el mercado, se inicia este proyecto.

Problemática actual:

    • Recolección de datos

    • Programación desde un teclado de 4x4

    • Fuera de red

    • Demora entre lectura de tarjetas

    • Con escasas funcionalidades de ampliación

    • Necesidad de software adicional para la operación

Mediante la utilización de un sistema embebido como es un Rabbit se intenta utilizarlo como control de personal.

Requisitos mínimos:

    • Lector de tarjetas RFID

    • Display LCD

    • Rabbit 2200

Para el lector de tarjetas RFID, se utiliza uno marca HID, modelo proxipoint plus.

Este lector se encuentra conectado a una compuerta NAND para optimizar la salida de DATA0 y DATA1 dado que es relativamente rápido los cambios de estado.

Utiliza el protocolo WIEGAND 37, del cual desconociamos su funcionamiento, asi que se envió esta información a un pic para posibilitar su lectura.

Las tarjetas RFID normalmente tienen la codificación y 2 numeros Facility code y Nro ID, pero se puede visualizar impreso en ellas algo como "INTELECTRON 37 BITS # 26426418 41007412-3"

El dato que nos sirve es "26426418" que es FAC=264 ID=26418.

Los datos del lector HID son en binario y los ceros son 5 V en DATA0 y los 1 5 V en DATA1.

Como se utilizó un PIC16F873A que tiene una sola interrupción, se utilizan 3 compuertas NAND para la adquisición de estos datos.

Una vez que el PIC interpreta la lectura lo codifica y envia los datos via USART o RS232 o RS485 al rabbit, y adicionando su propio ID de modulo.

El rabbit recibe el dato del lector y genera un registro con [FAC], [ID], [RealTime], [IDLector], [Entrada/Salida]

Protocolo de comunicación:

Como posee 4 puertos series (el minimo en cualquiera de estos modulos), se pueden conectar 4 lectores simultaneos directamente a cada puerto USART del rabbit, o armar un protocolo RS485 propio para conectar XX lectores.

En la fase inicial se denomina "Modulo Lector" al conjunto PIC, HID, MAX[232/485], NAND.

Se puede establecer un lazo con varios módulos colgados de este por medio de MAX485 y unas cuantas sentencias mas.

Se prepara todos los módulos para trabajo sobre estas condiciones.

Al tener una limitación en cuanto a la DATAMemory del Rabbit 2200, se implementa un limite máximo de registros o lecturas guardadas a 1000.

Se establece comunicación mediante protocolo FTP y SMTP para generar un Archivo y/o un Mail con la información de los registros acumulados y se borra la DATAMemory al recibir el OK de envio de información.

Actualizado!!! 15 enero 2010

Se implementa la configuración en un Rabbit 3700, que posee el doble de memoria, lo que posibilita llevar el limite de registros de 1000 a 10000, solucionando la limitación de memoria previa.

También al implementar el RCM3700 como posee una separación estandar de pines facilita el diseño de circuitos y PCB.

Se implementa un protocolo de comunicación RS485 y 6 puertos de comunicación en el RCM3700, como el RCM3700 posee 6 puertos seriales de comunicación, posibilita tener 6 canales de lectura simultaneos, esto fué probado en una obra con 500 empleados, que a la hora del almuerzo anteriormente se necesitaban 6 relojes de control de personal, ahora con 1 solo y 6 módulos RFID se logra un resultado mucho mejor.

La base de tiempo de lectura de un reloj convencional no se corresponde a la del lector RFID, el lector se probó que puede realizar 1 lectura por segundo correcta, mientras que los relojes convencionales no lo soportaban.

Con nuestra implementación se logró realizar un máximo de 6 lecturas por segundo, y en condiciones de funcionamiento fué probado con 500 personas haciendo fila cada uno con su tarjeta en 6 lectores simultáneos se logró un tiempo promedio de 6 minutos.

Algo que anteriormente llevaba 15 minutos para marcar la entrada y 15 minutos para marcar la salida (media hora de personal marcando tarjeta) contra 12 minutos en total.