Autor Tema: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!  (Leído 78419 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
buenas muchachos... luego de rendir en la facultad y de tener algo de tiepo libre,... (no mas de un par de días)... me puse en el trabajito que tenía pendiente....
ensamblar un lector RFiD utilizando el controlador TMS3705, ya tengo varios tags de lectura, como ser tarjetas, llaveros, pequeñas capsulas de vidrio, botones con agujero pasante, etc... asi que ahora lo que hice fue, el diseño de la PCB y la antena que energiza y recibe los datos del transponder, el mismo resuena a una frecuencia de 134Khz aproximadamente
La antena la fabriqué de acuerdo a las especificaciones de los amigos de TI,... 440uHy y un Q>=30... por lo que el Medidor LC me vino de 10 para armarlas y controlar su correcto valor...

la forma plástica la fabriqué con un caño de PCB de bajada de agua... es un plástico muy maleable, el mismo lo corté de 10mm de espesor y con una amoladora de banco fuí dejándo mas parejo su perfil,... luego con un minitorno y una fresa, hice un pequeño canal en toda la periferia, para que al bobinar, todas las espiras queden dentro de la pieza plástica.... y finalmente coloqué unos postes machos, donde soldé los hilos conductores de la antena... (el valor final de 55 vueltas de alambre esmaltado de 0.18mm - 439,45uHy Q=32,1)

bueno acá un par de fotos que hablan por si solas....







ahora voy por unos capacitores del circuito resonante,... los mismos deben ser lo más precisos posibles, para lograr una frecuencia de enlace correcta para los tranponders...
SAludos y espero que les guste.-  8)

« Última modificación: 06 de Agosto de 2009, 02:14:28 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #1 en: 03 de Agosto de 2009, 13:14:11 »
hola muchachos.... ya terminé de soldar los componentes que me faltaban... alimenté el modulo y está resonando a la frecuencia establecida por el controlador TMS3705....

ahora el conflicto que tengo es el siguiente....
el chip TMS3705 posee una salida "Two wire multifunctional serial interface, 15625 baud" y el tema es, ingresar la señal a la USART de un 16F873, configurar el TMS3705 y recibír informacion desde el dispositivo de manera asincónica....
pero la frecuencia más cercana a 15625 Baudios es 19200 baudios... por ende no podré leer la trama de datos ni podré configurarlo....  :x
¿como soluciono ésto??

és posible hacer ésto " Usart_Init(15625); // uC <----> RFiD   15625baud "??

saludos.-
« Última modificación: 03 de Agosto de 2009, 13:18:04 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #2 en: 03 de Agosto de 2009, 14:53:44 »
Una vez comunicado el integrado podes cambiar la velocidad de transmision? Podrias usar un max232 para conectarlo a la PC, cambiar ese valor y despues conectarlo con el pic.
Suerte!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #3 en: 03 de Agosto de 2009, 15:40:56 »
Una vez comunicado el integrado podes cambiar la velocidad de transmision? Podrias usar un max232 para conectarlo a la PC, cambiar ese valor y despues conectarlo con el pic.
Suerte!

no es posible ésto gera... por dos motivos...
1)- en la PC tampoco puedo seleccionar la velocidad de 15625baudios...
2)- supongamos que se pueda... al desenergizar el chip, hay que inicializarlo nuevamente,.... y estamos en la misma...

aparentemente el mikroC me dejó ingresar ese valor en el campo de la funcion de inicializacion

Usart_Init(15625); // uC <----> RFiD   15625baud

alguien ha manejado éste chip TMS3705?..
Saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Micro23

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 226
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #4 en: 03 de Agosto de 2009, 19:35:24 »
Hola Nano buen proyecto!

Con respecto al tema de la velocidad nose que hará el MikroC, pero configurando el registro SPBRG podes obtener los 15625 si no me equivoco.

Por ejemplo tenes:
FOSC= 20MHz
SPBRG=19
Entonces tenes el baud para la USART de 15625

La formula seria: Baud Rate = FOSC/(64 (X + 1))
donde X=SPBRG=0-255

Saludos
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #5 en: 03 de Agosto de 2009, 19:55:00 »
Claro, como dice Micro23 puedes configurar los registros tu mismo si no te lo permite.

Con los 20 MHz a alta velocidad SPBRG=79 y a baja SPBRG=19 como te indican y error 0 en cualquiera de los 2  8) Así que tendrías que definir los registros y listo.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #6 en: 03 de Agosto de 2009, 21:01:43 »
Claro, como dice Micro23 puedes configurar los registros tu mismo si no te lo permite.

Con los 20 MHz a alta velocidad SPBRG=79 y a baja SPBRG=19 como te indican y error 0 en cualquiera de los 2  8) Así que tendrías que definir los registros y listo.

Saludos!

bueno aparentement el mikroC coloca el valor adecuado en el registro de configuracion SPBRG... cuando hago Usart_Init(15625); ... ahora el estoy probando, pero no logro recibir la respuesta del TMS3705.... debe entregar un byte llamado "byte de diagnóstico"... que nos indica un 0xAF que la antena está correcta.... y un 0xFF si la antena no esta OK .... pero no obtengo nada de nada.... :x  :x  :x
éste es un diagrama de la secuencia



si alguien tiene info se lo agradeceré....
saludos
« Última modificación: 03 de Agosto de 2009, 21:08:33 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #7 en: 04 de Agosto de 2009, 00:31:14 »
 :? Como has probado hasta ahora? Porque por lo que entiendo el PIC debe enviar un Byte de Inicio (0x01 o 0x81) y luego de terminada la transmisión el módulo envía el byte de diagnostico mientras TXCT este en 0 o después de 20 ms de cambio de fase.
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #8 en: 04 de Agosto de 2009, 10:18:54 »
:? Como has probado hasta ahora? Porque por lo que entiendo el PIC debe enviar un Byte de Inicio (0x01 o 0x81) y luego de terminada la transmisión el módulo envía el byte de diagnostico mientras TXCT este en 0 o después de 20 ms de cambio de fase.

ésto es lo que estoy haciendo....
tengo un puerto serie emulado de 19200 baudios en los pines del puerto B 0,1 que mandan a la pc los datos que recibiré en un futuro jejeje si es que puedo...
y un segundo puerto serie que es la propia usart del micro... que está configurado en 15625 baudios para poder efectuar la comunicacion con el TMS3705...

acá va el firm,...

unsigned short Dato=0, *Rec;
unsigned char Mje_ini[] = "Inicia";
unsigned char Mje_AntOK[] = "Antena Sintonizada!";
unsigned char Mje_AntNOP[] = "Error en antena!";

void Text_To_Usart(unsigned char *m) //FUNCION QUE MANDA UN MENSAJE POR EL PUERTO
{                                     //SERIE EMULADO EN EL PORTB
    unsigned char j;
    j = 0;
    while(m[j] != 0)
    {                   // Send TEXT to serial port
     Soft_Uart_Write(m[j]);
     j++;
    }
    Soft_Uart_Write(0x0A);  // salto de linea
    Soft_Uart_Write(0x0D);  // Retorno de carro
}

void main()  //PROGRAMA PRINCIPAL
{
   delay_ms(1000);
   PORTC = 0b01000000;
   TRISC = 0b10111100;
   PORTB = 0b00000000;
   TRISB = 0b11011111;
   
   delay_ms(1000);
   Soft_Uart_Init(PORTB, 0, 1, 19200, 0);    //  PC <----> uC  19200baudios
   Text_To_Usart(Mje_ini);   // muestra en el terminal de la Pc el mje "inicia"
                                        //lo que me indica que el puerto funciona correctamente
                             
//////////////////////////// INICIA CONFIGURACION DEL TMS3705 //////////
   PORTC.F6=0;         // baja linea TX
   delay_us(50);         // 50us pasa al modo IDLE
   PORTC.F6=1;         // levanta linea TX
   delay_us(2050);     // espera el Tinit = 2.05ms o 2050uS
   PORTC.F6=0;         // baja linea TX
   Usart_Init(15625);  // inicializa usart uC <---> RFiD a 15625 Baudios
   //--------------------------------------------------------------------
   delay_us(2140); 

DB:  Usart_Write (0b10000001);        // manda configuracion
     while (Usart_Data_Ready()==0)   // espera byte de diagnostico
      {
      PORTC.F0=1;     // enciende led rojo que indica la espera
      PORTC.F1=0;     // mas que nada, es un indicador
      }
      Dato = Usart_Read();
      Soft_Uart_Write(Dato);
      if (Dato==0xAF)
         {
         PORTC.F0=0;
         PORTC.F1=1;  //enciende led verde como indicador
         }
      else goto DB;           //si no es el caracter esperado vuelve
      delay_us(49360);    //retardo de aproximadamente 50uS
      Usart_Init(15625);   //habilita el puerto serie nuevamente
      PORTC.F6=1;          //coloca en 1 la linea TX

////ESPERA LA TRAMA DE DATOS Y MANDA POR EL PUERTO SERIE EMULADO EN EL PORTB ///

TD:   while (Usart_Data_Ready()==0)
      {
      PORTC.F0=1;
      PORTC.F1=0;
      }
      PORTC.F0=0;
      PORTC.F1=1;
      Dato = Usart_Read();
      Soft_Uart_Write(Dato);
      goto TD;

      for  ( ; ; );
 }

MUCHAS GRACIAS SUKY por seguirme...
saludos
« Última modificación: 11 de Agosto de 2009, 15:42:45 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #9 en: 04 de Agosto de 2009, 10:34:42 »
éste es un diagrama que ayuda a entender la secuencia de inicializacion....



y ésta es una breve explicacion en inglés... pero muy facil de entender....

According to the State Diagram shown in Figure 7, when the power is turned on, the chip
will go to IDLE mode after 2 ms. When in IDLE mode, if TxCT is not low the reader chip
will go to SLEEP mode to safe energy after 100 ms. To wake up the chip from the SLEEP
mode, a 50μs pulse of low is needed on the TxCT pin, as shown in the above Timing
Diagram. Following the wakeup pulse, there is a pulse of 2.05 ms high on TxCT pin for
reaching the IDLE mode. At IDLE mode, if the TxCT is low, then it moves on to the next
state, which is the MCR Programming state. By writing to the Mode Control Register (MCR)
as illustrated in Table 3, the mode of operation of the IC can be changed. We send eight zeros
“00000000” by default and set the mode of the IC to Asynchronous data transmission,
Automatic frequency selection, Automatic demodulator threshold adjustment, and No further
bytes. Exactly 2.14 ms (tdiags) after TxCT is changed from high to low, the Diagnosis Byte
(0xAF: normal operation of the antenna; 0xFF: no antenna or antenna not working properly)
should be detected on the SCIO output pin. TxCT line has to be kept low for at least 50 ms to
allow proper charging of capacitors on the transponder. After tch, TxCT is pulled up high
again to start transmitting transponder identification number on the SCIO output. If there
exists a low frequency transponder in the electromagnetic field generated by the antenna of
the reader module, the following data bytes will be seen on SCIO 3.0 ms after TxCT is pull
up HIGH.

saludos y muchas gracias.- 8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #10 en: 04 de Agosto de 2009, 12:21:02 »
mmm... Probemos de la siguiente manera:

Código: C
  1. //////////////////////////// INICIA CONFIGURACION DEL TMS3705 //////////
  2.    Usart_Init(15625);  // inicializa usart uC <---> RFiD a 15625 Baudios
  3.    PORTC.F6=0;         // baja linea TX
  4.    delay_us(50);         // 50us pasa al modo IDLE
  5.    PORTC.F6=1;         // levanta linea TX
  6.    delay_us(2050);     // espera el Tinit = 2.05ms o 2050uS
  7.    PORTC.F6=0;         // baja linea TX
  8.    //--------------------------------------------------------------------
  9.    delay_us(2140);
  10.    while (Usart_Data_Ready()==0)   // espera byte de diagnostico
  11.  
  12.    PORTC.F0=1;     // enciende led rojo que indica la espera
  13.    PORTC.F1=0;     // mas que nada, es un indicador
  14.  
  15.    Dato = Usart_Read();
  16.    Soft_Uart_Write(Dato);
  17.    .
  18.    .
  19.    .

Habría que estar seguro que TX se mantiene en low  :?
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #11 en: 04 de Agosto de 2009, 19:02:03 »
no hay forma.... voy a probar cambiando la antena.... voy a reboninar una de menores dimensiones, asi concentro aun más el campo de enlace generado....
Saludos y muchas gracias  suky  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #12 en: 04 de Agosto de 2009, 20:00:32 »
mmm... Me parece que el problema esta en utilizar la comunicación por hard, si podes hace una prueba con Usart por soft y otros pines, porque en simulación si se usa el hard TX no baja a 0 aunque se fuerce  :? Y no tengo manera de ver que pasa en la realidad.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #13 en: 05 de Agosto de 2009, 00:01:45 »
bueno... por fin suky.... el problema era la antena... el Q era de aproximadamente 35... la hoja de datos aconseja que se la menor que 30.... si bien se busca que un inductor posea un Q elevado, si es muy alto, nos puede jugar en contra... pasando de ser un objetivo a un despropósito.

éste consejo es muy importante!!!  :) ,... no olvidemos que en un circuito resonante LC,... las tensiones sobre los elementos reactivos es "Q" veces mayor que la tension de alimentacion... es decir.... que alimentando el circuito resonante con 5v (éste caso en particular).... obtengo sobre el inductor una tension de 175v de señal alterna senoidal... es decir que la respuesta está muy clara... el integradito pasó a otra vida....
soldando nuevamente uno nuevo y reduciendo el Q del inductor a un valor mucho menor que 30,... trabajaremos sobre tensions seguras...
eso fue todo.... luego subo demostraciones del funcionamiento
SAludos  8)
« Última modificación: 05 de Agosto de 2009, 02:18:57 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) )
« Respuesta #14 en: 05 de Agosto de 2009, 02:26:17 »
Es bueno saber eso!  :mrgreen:
Esperamos entonces las demostraciones...

Saludos!
No contesto mensajes privados, las consultas en el foro