Upload
lorenzo-m-oliver-bustos
View
217
Download
2
Embed Size (px)
DESCRIPTION
Kit completo para la experimentación con el sistema de identificación RFID de nuestra representada Parallax. Empleamos la tarjeta PIC'Control donde se ejecutan los programas propuestos y la tarjeta PIC'Project sobre la cual se realiza el montaje práctico. En el kit se incluye el lector RFID #P28140 de Parallax y 4 tags diferentes. Se proporcionan librerías y ejemplos para la lectura de los tags, gestión de datos, control de accesos, etc.
Citation preview
Kit RFID
Kit RFID -1
Nombre: Kit RFID Fecha: Noviembre 2008 Versión: 1.00 Autor: Mikel Etxebarria Empresa: Ingeniería de Microsistemas Programados S.L. (www.microcontroladores.com) 1.- DESCRIPCION
Este Kit nos introduce en el mundo de la IDentificación por Radio Frecuencia (RFID) de la mano del módulo lector P28140 de nuestra representada Parallax. Existen diferentes tipos de lectores RFID pero el funcionamiento básico es muy similar en todos ellos. A través de una antena se emite una señal de una determinada frecuencia que genera a su alrededor un campo magnético al que acercamos el elemento a identificar o Tag. Los Tag pueden tener diversas formas físicas (tarjetas, llaveros, etiquetas adhesivas, etc..), pero todo ellos, como mínimo, tienen un número de identificación (Tag_ID) único.
Cuando acercamos un Tag al lector RFID, este lo lee, lo decodifica y nos devuelve el mencionado número de identificación Tag_ID. En el sistema que aquí vamos a emplear, el Tag_ID está formado por una cadena de 12 caracteres ASCII. El primero y el último son de cabecera y corresponden a los caracteres 0x0A y 0x0D (avance de línea y retorno de carro) respectivamente. Los 10 restantes forman el Tag_ID propiamente dicho y representan 10 dígitos hexadecimales expresados en ASCII. Así pues es posible disponer de hasta 240 Tags diferentes (en torno al billón).
Las aplicaciones son numerosas: control de accesos, de stocks, identificación, logística, industrial, etc.. En este kit ponemos a tu disposición todo lo necesario para empezar a trabajar con RFID: el lector RFID, 4 Tags diferentes y la electrónica necesaria para su control. Ver la figura 1. También proporcionamos las funciones básicas de gestión así como programas de ejemplo de aplicación. Las posibilidades son casi ilimitadas, todo queda en las manos e imaginación del usuario.
Figura 1. El kit de demostración RFID
Kit RFID
Kit RFID -2
El montaje de todos los componentes se realiza sobre la tarjeta de prototipos PIC’PROJECT. Estos se cablean mediante hilo “wire wrap” por la parte inferior de la misma. También se muestra la conexión con la tarjeta PIC’CONTROL. Todas las conexiones realizadas se muestran en el esquema eléctrico que se adjunta al final de esta documentación.
2.- MATERIALES NECESARIOS
Todos los componentes necesarios para implementar los ejemplos propuestos se puede adquirir en un lote completo o kit. Para aquellos usuarios que ya dispongan de parte de estos componentes, también se pueden adquirir sólo los que se precisen. A continuación se presenta la lista de materiales necesarios para implementar este proyecto. En cada componente se indica la referencia empleada por Ingeniería de Microsistemas Programados S.L. para su adquisición por separado.
Sugerimos visitar las secciones de Instrumentos, Herramientas y Bricolage de nuestra página web. En ellas se podrá encontrar aquellas herramientas o complementos necesarios para el montaje electrónico.
KIT RFID REFERENCIA CANTIDAD DESCRIPCION
PIC’CONTROL 1 Tarjeta base de control dotada de serie de un PIC18F4550 y oscilador de 4MHz
PIC’PROJECT 1 Tarjeta de prototipos para el montaje de componentes, que se conecta directamente a PIC’CONTROL mediante la cinta de cable plano incluída.
06LCD2X16 1 Pantalla LCD de 2 x 16 caracteres P28140 1 Lector RFID de Parallax P28141 1 Tag en forma de tarjeta rectangular de 54 x 85 mm P28161 1 Tag en forma de llavero P28148 1 Tag en forma de etiqueta circular adhesiva P28142 1 Tag circular de 50mm 05L3V 1 Led verde de 3 mm ZUMB1 1 Zumbador piezo eléctrico 30R1C331 1 Resistencia de carbón de 330 ohmios 30R1C103 1 Resistencia de carbón de 10K ohmios 34PT10V103 1 Potenciómetro horizontal de ajuste de 10K 54BASE361PT7 1 Tira hembra 36p altura 7 mm 54TIRA361D 1 Tira postes macho dorada 54TIRA361CD 1 Tira de postes macho codo dorada CABLE 1 Rollo de 10 m cable rígido de conexiones de 0.6 mm CC3015X 1 Rollo de 15 m de hilo de rapinar de 0.25mm (30AWG) ESTAÑOTUBO 1 Estaño en tubo (20 gr)
NOTA 1: Se puede adquirir el kit o lote completo de materiales, o bien sólo los componentes que se necesiten según las referencias de los mismos.
NOTA 2: No está incluido el sistema de alimentación. Esta puede ser mediante pilas y/o baterías o bien mediante alimentador de 9-12VDC, a voluntad del usuario y alimenta a la tarjeta PIC’Control. De aquí, a través del PIC’Bus, se alimenta también a la tarjeta PIC’Project y a los componentes contenidos en ella.
Kit RFID
Kit RFID -3
3.- MONTAJE
A continuación se indican los pasos mas elementales para implementar el presente proyecto.
1.- Cortar, de la tira de pines macho 54TIRA361D, un trozo
con 14 pines que se soldarán a la pantalla LCD tal y como se muestra en la figura 2. Procurar que la tira quede perfectamente perpendicular a la pantalla LCD.
Figura 2. Cortar una tira de 14 pines para soldarla en el
LCD 2.- Cortar, de la tira de pines hembra 54BASE361PT7, un
trozo de 4 pines y otros tantos de la tira macho acodada 54TIRA361D. Ambos trozos se sueldan entre sí formando un ángulo recto tal y como se muestra en la figura 3. Los pines hembra se sueldan sobre los pines acodados en sus extremos cortos .
Figura 3. Soldar un trozo de 4 pines hembra sobre otro
de 4 pines macho acodados 3.- Ambos trozos de 4 pines soldados en ángulo recto, en
el paso anterior, se sueldan ahora sobre la tarjeta PIC’PROJECT. Procurar posicionarlo en la misma ubicación que la mostrada en la figura 4. Los extremos largos de los pines acodados se insertan sobre la tarjeta y, una vez soldados, se corta el sobrante. En la figura también se aprecia la colocación de una cartulina o adhesivo aislante justo debajo de los pines hembra.
Figura 4. Colocación de las tiras de 4 pines 4.- Tal y como se muestra en la figura 5, procedemos a distribuir, colocar y soldar el resto de componentes
procurando que queden distribuidos en la misma posición que la mostrada en la fotografía.
Kit RFID
Kit RFID -4
Figura 5. Colocación del resto de los componentes
a) Cortar, de la tira de pines hembra 54BASE361PT7, un trozo de 14 pines que se soldará en PIC’Project, en la misma posición que se muestra en la imagen. Sobre esta tira se insertará mas adelante la pantalla LCD a la que se le soldó, en el paso 1, una tira macho de otros tantos pines.
b) Colocar y soldar en la misma posición el potenciómetro de 10K 34PT10V103 (P1) que se empleará para el ajuste de contraste de la pantalla LCD.
c) Soldar la resistencia 30R1C331 de 330 ohmios (R1) y el diodo led verde D1. Asegurarse de que el
cátodo de este último se orienta hacia abajo, hacia la línea GND de la tarjeta PIC’PROJECT. d) Colocar la resistencia 30R1C103 de 10K ohmios (R2) y el zumbador piezo eléctrico LS1. Asegurarse
de que la patilla + de este último queda orientada hacia la resistencia. 5.- Al final del presente documento se muestra el esquema eléctrico del montaje. Hacer las conexiones
siguiéndolo fielmente. Se recomienda emplear cable de 0.6 mm (ref. CABLE) para las conexiones de alimentación. El resto de conexiones se puede realizar con nuestro hilo de rapinar CC3015X de 0.25 mm (30AWG). Prestar atención a los cortocircuitos entre las distintas patillas. Ver la figura 6
Figura 6. Realización del conexionado según el esquema adjunto
Kit RFID
Kit RFID -5
6.- La pantalla LCD se conecta sobre la tira de 14 pines
que se soldaron sobre la tarjeta PIC’Project en el paso 4 (a). Ver la figura 7.
Figura 7. Colocación de la pantalla LCD 7.- Conectamos ahora el módulo lector
RFID tal y como se muestra en la figura 8. Sus cuatro pines macho de conexión se insertan sobre los 4 pines hembra que colocamos en el paso 3.
Figura 8. Conexión del motor EMG30 8.- Por último conectamos, mediante la cinta de
cable plano, tarjeta PIC’Project con la tarjeta PIC’Control tal y como se mostró en la figura 1. Mediante separadores también podemos apilar ambas tarjetas para obtener un conjunto mas compacto y manejable según se muestra en la figura 9.
Figura 9. Apilando ambas tarjetas 9.- Grabar el PIC con el programa ejemplo deseado. Para la grabación se puede emplear:
● Un grabador externo (p.e. PIC’BURNER). Requiere extraer el PIC de la tarjeta PIC’CONTROL, grabarlo y volverlo a insertar.
● Un grabador externo dotado de salida ICSP (p.e. PIC’BURNER + CABLERJ11). En este caso no es necesario extraer el PIC. Basta con unir el grabador PIC’BURNER con la tarjeta PIC’CONTROL mediante
Kit RFID
Kit RFID -6
el cable CABLERJ11. Es aconsejable no tener conectado ningún periférico en PIC’CONTROL durante el proceso de grabación.
● Emplear el grabador GTP-USB+. Esta es la opción óptima. Este grabador se conecta, por un lado, con un puerto USB del PC. Por otro lado dispone de un interface ICSP que se conecta directamente con PIC’Control mediante el conecto RJ11, tal y como se puede apreciar en la figura 10.
Figura 10. Grabación desde el GTP-USB+
Kit RFID
Kit RFID -7
4.- EJEMPLOS
Con este kit proporcionamos una serie de ejemplos que permiten experimentar con las diferentes posibilidades del sistema RFID de Parallax. También proponemos algún ejemplo de aplicación práctica relacionada con la identificación y el control de accesos.
La mayor parte de estos ejemplos están resueltos tanto en el ensamblador MPASMWIN de Microchip como en lenguaje C de la firma CCS (PCWH 4.023). Proporcionamos todos los programas fuente debidamente comentados, los ejecutables correspondientes listos para grabar y todos los ficheros de cabecera y/o de includes.
4.1 LCD_TEST
Programa de demostración para comprobar el correcto funcionamiento de la pantalla LCD.
Programas fuente: LCD_TEST.ASM y LCD_TEST.C
Programas ejecutables: LCD_TEST.HEX
Descripción: El ejemplo está pensado para hacer una rápida comprobación del funcionamiento de la pantalla LCD. La pantalla está conectada mediante un interface de 4 bits a la puerta D del controlador. Sobre ella aparece el mensaje de “Microsystems Engineering” de forma intermitente, como se muestra en la figura 11. Mediante el potenciómetro P1 de 10K podemos ajustar el contraste de la pantalla.
Figura 11. El ejemplo LCD_TEST
4.2 RFID_TEST
Programa de demostración para comprobar el correcto funcionamiento del lector RFID
Programas Fuente: RFID_TEST.ASM y RFID_TEST.C
Programas ejecutables: RFID_TEST.HEX
Descripción: El ejemplo está pensado para tener una primera toma de contacto con el lector RFID de Parallax. En la pantalla LCD se visualiza el número de identificación del tag que se acerque al lector (Tag_ID) y el piezo conectado a RB1 emitirá un “beep”. Recordemos que todos los Tags tienen un número único de 10 dígitos mas dos caracteres de cabecera; 0x0A al principio y 0x0D al final. Cabe destacar que la comunicación entre el controlador y el lector es vía serie y las rutinas de recepción se han realizado por software. De esta forma el USART propio integrado en el PIC18F4550 queda libre para otras aplicaciones.
Figura 12. Control de vueltas del motor EMG30
Kit RFID
Kit RFID -8
4.3 TAG_GESTION
Programa de ejemplo para gestionar una pequeña base de datos sobre la memoria EEPROM de datos del PIC16F4550.
Programas Fuente: TAG_GESTION.ASM y TAG_GESTION.C
Programas ejecutables: TAG_GESTION.HEX
Descripción: Este ejemplo trata de crear una base de datos que permite dar de alta o de baja a los diferentes tags leídos por el lector RFID de Parallax, así como asociar a cada uno de ellos una determinada información. Para ello empleamos el USART integrado en los dispositivos PIC18F4550 para realizar una comunicación serie con un PC que actuará como terminal de datos para el interface con el usuario. Basta instalar en el PC una programa de comunicaciones como puede ser el Hyperterminal de Windows. La comunicación se realiza a 9600 baudios, con 8 bits de datos, 1 de stop y sin paridad.
La base de datos se almacena en la propia memoria EEPROM de datos del PIC18F4550. Se trata de una memoria no volátil pero de capacidad muy reducida; tal sólo de 256 bytes. Es por ello que animamos a todos los interesados a realizar las oportunas modificaciones tanto hardware como software para añadir y gestionar una memoria externa que permita el almacenamiento de una mayor cantidad de datos.
En la base de datos se va a crear una serie de registros; por defecto 4 en los ejemplos propuestos. Cada registro a su vez tiene que almacenar los 12 bytes propios del Tag_ID así como la información asociada a cada uno. Por defecto nosotros hemos establecido una información asociada de 16 bytes. De esta manera tenemos 4 registros que ocuparán 28 bytes cada uno (12+16), por lo que la base de datos consumirá como máximo 112 bytes de la memoria EEPROM de datos (28x4).
Tanto el número de registros como el número de bytes de información de cada tag se puede modificar en el programa fuente mediante las constantes “N_Reg” y “Tag_Bytes”. Es posible por tanto aumentar o disminuir ambas magnitudes teniendo como límite la memoria total disponible que, en nuestro caso, es de 256 bytes.
Una vez que grabamos este ejemplo de aplicación sobre el PIC y conectamos el PC con un software de comunicaciones, nos irán apareciendo secuencialmente, sobre la pantalla del PC, los mensajes y acciones a realizar:
1.- Pulsar “c” para continuar
El sistema espera a que pulsemos la tecla c. Mientras tanto el sistema está en espera, el lector desactivado y el consumo reducido por tanto a la mínima expresión. Al teclear comienza el ciclo.
2.- Acercar el Tag al sensor
El lector se activa y queda a la espera de que se detecte la presencia de un tag. Cuando éste haya sido detectado y leído, el lector se desactiva y se reduce el consumo.
3.- Pulsar “a” para dar de alta o “b” para dar de baja
Si se pulsa “a “.....
4.- Dar de alta. Máximo 016 caracteres seguidos de ENTER
Nos está pidiendo que tecleemos como máximo los 16 bytes de información que vamos a asociar al Tag recién leído.
5.- HECHO!! Tag dado de alta
El número de identificación del tag recién leído (Tag_ID) así como los 16 bytes de información asociados al mismo, se han grabado en la base de datos, en la memoria EEPROM del PIC18F4550.
Kit RFID
Kit RFID -9
Si se pulsa “b” ...
6.- HECHO!! Tag dado de baja
El Tag recién leído se da de baja y se borra de la base de datos, de la memoria EEPROM del PIC18F4550
Durante el proceso de dar de alta o de baja a un Tag se pueden producir los siguientes errores con sus correspondientes mensajes:
1.- ERROR!! El Tag esta repetido
Ocurre cuando se trate de dar de alta a un Tag ya existente en la base de datos. Recordemos que los Tags tienen un único número de identificación (Tag_ID)
2.- ERROR!! Este tag no existe
Ocurre cuando se trata de borra un Tag que no está registrado en la base de datos
3.- ERROR!! No ha memoria suficiente
Ocurre cuando se trata de dar de alta a un nuevo Tag y no hay espacio suficiente en la base de datos para almacenarlo.
Durante las pruebas realizas en Ingeniería de Microsistemas Programados hemos creado una base de datos con los cuatro tags que proponemos en el presente Kit. Sirva como ejemplo al usuario:
BASE DATOS EN LA MEMORIA EEPROM Ref. comercial del
TAG TAG_ID (12 bytes) INFO. ASOCIADA (16 bytes)
P28141 0x0A, X X X X X X X X X X, 0XD “Tag de tarjeta”
P28142 0x0A, X X X X X X X X X X, 0XD “Tag circular”
P28161 0x0A, X X X X X X X X X X, 0XD “Tag de llavero”
P28148 0x0A, X X X X X X X X X X, 0XD “Tag adhesivo”
4.4 TAG_MODEL
Ejemplo de demostración para la identificación de un modelo tag
Programas Fuente: TAG_MODEL.ASM y TAG_MODEL.C
Programas Ejecutables: TAG_MODEL.HEX
Descripción: Esta aplicación es una consecuencia del ejemplo de aplicación anterior. En aquel se creó una base de datos formada por cuatro registros. Cada registro estaba compuesto del número de identificación de una Tag (Tag_ID) y una información asociada al mismo. Sirva como modelo la base de datos que presentamos en la tabla anterior.
Este ejemplo trata de ser una aplicación autónoma e independiente del PC, suponiendo que la base de datos ya ha sido anteriormente creada. Consiste en leer un Tag, localizarlo e identificarlo en la base de datos y visualizar sobre la pantalla LCD la información asociada al mismo.
Kit RFID
Kit RFID -10
En la figura 13 se muestra la identificación de un tag tipo llavero cuando se aproxima al lector RFID. Suponiendo que la base de datos es la misma que se sugirió en el ejemplo anterior, podemos probar con cualquiera de los tags disponibles para ver su correcta identificación.
Figura 13. Identificación de un tag
¡ ATENCION !
Cada vez que, con el software de grabación WinPIC800 se abre un nuevo fichero HEX para grabar un PIC, el buffer de la memoria EEPROM se llena por defecto con el valor 0xFF. Si procedemos a grabar el dispositivo en estas condiciones, la memoria EEPROM que contenía la base de datos de los tags quedará borrada. Para evitarlo proceder como sigue:
1.- Grabamos y ejecutamos el ejemplo TAG_GESTION. Creamos la base de datos tal y como se explicó anteriormente.
2.- Ahora queremos grabar el presente ejemplo TAG_MODEL. Abrimos el fichero HEX correspondiente.
3.- Antes de grabar, procedemos a llenar el buffer de la EEPROM con la base de datos ya existente. Para ello leemos SOLO la EEPROM del PIC. Pulsar desde WinPIC800 las teclas Ctrl + Alt +D. En el buffer de memoria “Código” del WinPIC800 tenemos el programa actual a grabar. En el buffer de “Datos” del WinPIC800 tenemos la base de datos creada anteriormente.
4.- Procedemos ahora a grabar el dispositivo completo.
4.5 ACCESOS
Ejemplo básico de control de accesos
Programas Fuente: ACCESOS.ASM y ACCESOS.C
Programas Ejecutables: ACCESOS.HEX
Descripción: Este ejemplo pretende ser una aplicación práctica para la identificación y control de acceso mediante el empleo de sistemas RFID de identificación mediante Tags.
Kit RFID
Kit RFID -11
En primer lugar, vamos a crear una base de datos mediante la ejecución del ejemplo TAG_GESTION que se explicó anteriormente. La base consta de 4 registros. Cada registro contiene 12 bytes propios de cada tag (Tag_ID), 1 byte con el carácter “a” o “d” para determinar si hay acceso o está denegado respectivamente y 15 bytes de información con la identificación del usuario. La siguiente tabla resume la base de datos que hemos creado en Ingeniería de Microsistemas Programados:
BASE DATOS EN LA MEMORIA EEPROM
Ref. comercial del
TAG
TAG_ID (12 bytes)
Byte de control de
acceso
Identificación (15 bytes)
P28141 0x0A, X X X X X X X X X X, 0XD “a” “Mikel Etxeba.”
P28142 0x0A, X X X X X X X X X X, 0XD “d” “Luis Gomez”
P28161 0x0A, X X X X X X X X X X, 0XD “a” “Jon Garay”
P28148 0x0A, X X X X X X X X X X, 0XD “d” “Aitor Lopez”
Cada vez que un usuario se acerque con su tag al lector RFID, el sistema localizará la identificación del Tag (Tag_ID) en la base de datos. La pantalla LCD indicará si dicho tag es o no reconocido. En caso afirmativo mostrará el nombre o identificación del usuario y si tiene permitido o denegado el acceso.
En caso de que el acceso sea permitido, la salida RB0 que pilota un diodo led, se activará durante 2 segundos para simular la apertura de una puerta.
¡ ATENCION !
Cada vez que, con el software de grabación WinPIC800 se abre un nuevo fichero HEX para grabar un PIC, el buffer de la memoria EEPROM se llena por defecto con el valor 0xFF. Si procedemos a grabar el dispositivo en estas condiciones, la memoria EEPROM que contenía la base de datos de los tags quedará borrada. Para evitarlo proceder como sigue:
1.- Grabamos y ejecutamos el ejemplo TAG_GESTION. Creamos la base de datos tal y como se explicó anteriormente.
2.- Ahora queremos grabar el presente ejemplo ACCESOS. Abrimos el fichero HEX correspondiente.
3.- Antes de grabar, procedemos a llenar el buffer de la EEPROM con la base de datos ya existente. Para ello leemos SOLO la EEPROM del PIC. Pulsar desde WinPIC800 las teclas Ctrl + Alt +D. En el buffer de memoria “Código” del WinPIC800 tenemos el programa actual a grabar y en el buffer de “Datos” del WinPIC800 tenemos la base de datos creada anteriormente.
4.- Procedemos ahora a grabar el dispositivo completo.
Kit RFID
Kit RFID -12
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
D D
C C
B B
A A
RB7/PGD
RB4RB5RB6/PGC
RB1RB2RB3
RD7
RB0
RD4RD5RD6
RC5RC6/TXRC7/RX
RD3RC4/SDA
RA0MCLR/RE3
RD2
RA3RA2RA1
RA5RA4
RE2RE1RE0
RC0CLKOUT/RA6
CLKIN/RA7
RC2RC1
RD1RD0
RC3/SCL
RB0
RD3
RD0RD1RD2
RD5RD4
RD6
RB1
RA0
RB0
+5Vcc
+5Vcc
+5Vcc+5Vcc
+5Vcc
Ingeniería de Microsistemas Programados S.L.Ald. Mazarredo, 47 -1º; 48009 Bilbao - BizkaiaTlfno./Fax: 944230651; www.microcontroladores.com
de
Firma:Tamaño Fecha: Revisión Nº de hoja
Nombre: Parallax RFID #28140
A4 A 11
Ingeniería de Microsistemas Programados S.L.Ald. Mazarredo, 47 -1º; 48009 Bilbao - BizkaiaTlfno./Fax: 944230651; www.microcontroladores.com
de
Firma:Tamaño Fecha: Revisión Nº de hoja
Nombre: Parallax RFID #28140
A4 A 11
Ingeniería de Microsistemas Programados S.L.Ald. Mazarredo, 47 -1º; 48009 Bilbao - BizkaiaTlfno./Fax: 944230651; www.microcontroladores.com
de
Firma:Tamaño Fecha: Revisión Nº de hoja
Nombre: Parallax RFID #28140
A4 A 11
Tarjeta: PIC'CONTROL
Tarjeta: PIC'PROJECTS
P110KP110K
ParallaxRFID#28140
U2ParallaxRFID
ParallaxRFID#28140
U2ParallaxRFID
VC
C1
EN
2
SO
UT
3
GN
D4
D1
LED VERDE
D1
LED VERDE
LS1
PIEZO
LS1
PIEZO
1
2
R210KR210K
J1 PICBUS-2J1 PICBUS-2
246810121416182022242628303234363840
13579
111315171921232527293133353739
2X16
U1LCD2x16
2X16
U1LCD2x16
GN
D1
VC
C2
VLC
3
RS
4R
/W5
E6
D0
7D
18
D2
9D
310
D4
11D
512
D6
13D
714
R1
330
R1
330