TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: warkbt en 27 de Marzo de 2011, 00:46:08
-
Hola, estoy haciendo un proyecto con señales infrarojas. Ahora estoy tratando de emitir una señal IR pero el receptor no la entiende, tal vez alguien me pueda decir que estoy haciendo mal (cualquier aporte es util, incluso preguntas):
Mi situacion:
-TV de tubo philips de mas de 20 años con un control remoto que usa el protocolo RC5 de philips (889us de ancho de pulso y codificacion manchester 2 bit de start, 1 bit de toggle 5 bit de direccion y 6 bit de comando) ej de señal: 110-00000-010000
-Tengo el pic16f628a y el JDM (hecho por mi)
-Uso mlab ide 8.41 con (winpic800 3.46 para programar)
-Hice un codigo que lo puse en el micro y funciona (adjunto)
-El micro esta en un proto-board con VSS a 0V y VDD a 5V todas las demas patas estan flotando excepto por RA1 que esta conectada a una R=1K que esta va la base de un TBJ NPN (bc548c en modo seguidor por emisor) donde el colector esta a 5V y el emisor al anodo del IR led y el catodo a 0V (masa)
Observado:
Cuando se envia la señal IR led se pone apenas rojo. pero el televisor no la capta ni a 2 centimetros de distancia
Preguntas:
-Tengo que usar otro transitor?
-Dos IR leds?
-Debo alimentar con 3V?
-El codigo esta mal?
Desde ya gracias por su tiempo
Slds
KBT
-
El ensamblador no es mi fuerte pero creo que te falta modular la señal a 36Khz, tienes que sustituir los 889us emitiendo por 16 ciclos de 1000/36 = 27.78us emitiendo y otros tantos sin emitir (27.78x2x16=889us).
Es decir ahora haces esto:
_____________________________
_____________________________
Y debes hacer esto:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ ______________________________
Te dejo un enlace para que lo veas mejor http://robots-argentina.com.ar/Comunicacion_protocolorc5.htm (http://robots-argentina.com.ar/Comunicacion_protocolorc5.htm)
De todas para hacer esto es mejor usar el pwm del micro para generar la señal de 36Khz, activar y desactivar el modulo pwm para generar la señal IR.
Saludos,
Miguel.
-
Es como dice ma4826, yo también jugué en algún momento con dicho protocolo en protoboard y me funcionó bien. Lo comprobé en mi TV y en otros 2 más. Los modelos de TV eran de la línea 20/21GX
-
El ensamblador no es mi fuerte pero creo que te falta modular la señal a 36Khz, tienes que sustituir los 889us emitiendo por 16 ciclos de 1000/36 = 27.78us emitiendo y otros tantos sin emitir (27.78x2x16=889us).
Es decir ahora haces esto:
_____________________________
_____________________________
Y debes hacer esto:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ ______________________________
Te dejo un enlace para que lo veas mejor http://robots-argentina.com.ar/Comunicacion_protocolorc5.htm (http://robots-argentina.com.ar/Comunicacion_protocolorc5.htm)
De todas para hacer esto es mejor usar el pwm del micro para generar la señal de 36Khz, activar y desactivar el modulo pwm para generar la señal IR.
Saludos,
Miguel.
Gracias Miguel (ma4826) realmente me sirvio, era como vos decias le agregue la modulacion y funco. (tambien gracias a AngelGris)
El ensamblador tampoco es mi fuerte. Igual adjunto los codigos que funcan, aunque solo son un pedazo de prueba de mi codigo principal.
La verdad me han ayudado bastante, pero aun un tema no me queda claro:
-La modulacion es con una onda cuadrada de 36kHz y DC=50% (14us con nivel alto y 14 us con nivel bajo) no? bueno el codigo son 28 us con alto y 28 con bajo, pero igual funciona con el televisor, porque? debido a que es un multiplo (18KHz)?
Nuevamente (aunque parezca repetitivo) gracias. :) :)
Slds
KBT
-
De hecho, según un documento que tengo de Philips, la portadora es de 36KHz pero con un duty cicle del 25%.