Autor Tema: Ayuda con lectores RFID y PIC 16f88  (Leído 1882 veces)

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

Desconectado dyevenez

  • PIC10
  • *
  • Mensajes: 7
Ayuda con lectores RFID y PIC 16f88
« en: 31 de Julio de 2013, 18:45:25 »
HOLA!

necesito ayuda urgente!!

Resulta que tengo conectado dos lectores RFID ID-12 a un PIC 16F88.... uno funciona con int_ext (B0) y el otro lo leo con el kbhit(stream) (puerto B6)

la cosa es que cuando los conecto de a 1 funciona de maravillas!! pero cuando le conecto los dos al PIC se traba!!! :(

no se que podra ser... tengo un LED que me da feedback y repito, de a 1 funciona bien y el led parpadea... pero con los 2 lectores conectado se traba... funciona 1 y el otro no, o al reves... !!

gracias

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Ayuda con lectores RFID y PIC 16f88
« Respuesta #1 en: 31 de Julio de 2013, 18:54:53 »
Cual es la distancia que tienes entre los lectores?

Podrias colocar tu codigo y tu esquematico?

Elreypic.

Desconectado dyevenez

  • PIC10
  • *
  • Mensajes: 7
Re: Ayuda con lectores RFID y PIC 16f88
« Respuesta #2 en: 01 de Agosto de 2013, 18:36:51 »
La distancia entre los lectores es de 30cm

una imagen del esquemático:




Aparte también tengo un XBee y un reloj RTC conectados al PIC.

el código es harto... pero lo que considero importante sería esto:

Código: [Seleccionar]

#include <16f88.h>
#FUSES HS, NOWDT, NOBROWNOUT, NOLVP
#use delay(clock=20000000)

#use i2c(master, sda=pin_B1, scl=pin_B4 )
#use RS232 (BAUD =9600, PARITY = N, RCV = PIN_B2, XMIT = PIN_B5, BITS = 8, STREAM = COM_1) //xbee
#use RS232 (BAUD =9600, PARITY = N, RCV = PIN_B0, XMIT = PIN_B5, BITS = 8, STREAM = COM_2) //rfid1
#use RS232 (BAUD =9600, PARITY = N, RCV = PIN_B6, XMIT = PIN_B5, BITS = 8, STREAM = COM_3) //rfid2




#int_ext   // interrupción del RFID 1
void ext_isr(){
byte_1=fgetc(COM_2); //comienza trama
byte_2=fgetc(COM_2);
byte_3=fgetc(COM_2);
byte_4=fgetc(COM_2);
byte_5=fgetc(COM_2);
byte_6=fgetc(COM_2);
byte_9=fgetc(COM_2); //se envia inicial
byte_10=fgetc(COM_2);
byte_11=fgetc(COM_2);
byte_12=fgetc(COM_2);
byte_13=fgetc(COM_2);
byte_14=fgetc(COM_2); //se envia final
byte_7=fgetc(COM_2);
byte_8=fgetc(COM_2);
byte_15=fgetc(COM_2);
byte_16=fgetc(COM_2);
interrupcion=1;
}

void rb_rfid(){
byte_1=fgetc(COM_3); //comienza trama
byte_2=fgetc(COM_3);
byte_3=fgetc(COM_3);
byte_4=fgetc(COM_3);
byte_5=fgetc(COM_3);
byte_6=fgetc(COM_3);
byte_9=fgetc(COM_3); //se envia inicial
byte_10=fgetc(COM_3);
byte_11=fgetc(COM_3);
byte_12=fgetc(COM_3);
byte_13=fgetc(COM_3);
byte_14=fgetc(COM_3); //se envia final
byte_7=fgetc(COM_3);
byte_8=fgetc(COM_3);
byte_15=fgetc(COM_3);
byte_16=fgetc(COM_3);
interrupcion=1;
}

void main(){
while(1){

if(kbhit(COM_3)){                                       //interrupcion del rfid2
rb_rfid();}

if(cont==0 && interrupcion==1){
cadena.cadena1[0]=byte_9;
cadena.cadena1[1]=byte_10;
cadena.cadena1[2]=byte_11;
cadena.cadena1[3]=byte_12;
cadena.cadena1[4]=byte_13;
cadena.cadena1[5]=byte_14;
get_time();
tiempo1 = sec + min*60 + hrs*3600;

cont=2;
interrupcion=0;
led();

}

}



tengo las variables declaras y todo ok en el código.......

dentro del while(1)   pregunta si tiene algo para leer y luego pregunta por la variable "interrupcion"

Desconectado dyevenez

  • PIC10
  • *
  • Mensajes: 7
Re: Ayuda con lectores RFID y PIC 16f88
« Respuesta #3 en: 01 de Agosto de 2013, 19:29:33 »
ME FUNCIONOOOOOOOOOOOO!! :D :D

La técnica es agregar un capacitor electrolítico de 47uF al lector RFID  entre VCC y GND

imagino que se hacían interferencia entre los dos lectores y con estos capacitores ya no lo hacen xD

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Ayuda con lectores RFID y PIC 16f88
« Respuesta #4 en: 01 de Agosto de 2013, 19:33:19 »
Efectivamente, lo que faltaba era un capacitor electrolítico entre VDD y GND en cada lector. Justo eso te iba a sugerir, pero vi que inmediatamente colocaste tu solucion.

Felicidades,

Elreypic.

Desconectado dyevenez

  • PIC10
  • *
  • Mensajes: 7
Re: Ayuda con lectores RFID y PIC 16f88
« Respuesta #5 en: 01 de Agosto de 2013, 19:44:51 »
Jajaja gracias :D


 

anything