Autor Tema: RC5-PHILIPS (RECEPTOR IR)  (Leído 3947 veces)

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

Desconectado Diecco

  • PIC10
  • *
  • Mensajes: 6
RC5-PHILIPS (RECEPTOR IR)
« en: 24 de Enero de 2005, 18:28:00 »
Hola gente soy participe del foro desde hace tiempo pero esta es la segunda vez que escribo......

Bueno les cuento que estoy tratando de recibir las señales del control remoto y e investigado mucho sobre el tema...... he visto los post posteados en este foro y la verdad que me parecen muy buenos....

Me he basasdo en la esplicacion de MODULAY con respecto a este diagrama

http://www.ciberia.ya.com/Modulay/img/cadenarc5.gif

y a lo que el esplico a continuacion:

;-----------------------------------------------------------------------------------------------------

La cadena está formada por 14 bits,dos bits de start,un bit de toggle,y los 11 restantes conforman el código numérico que corresponde a las diferentes funciones del mando: 5 para dirección y los otros 6 para el código en sí,siendo los bits mas significativos los primeros que se envian.
Los bits de start son siempre igual: dos unos.
Los bits de direccion entiendo que ,además de diferenciar entre diferentes módulos en un mismo aparato(volúmen,canales,etc),caracteriza también a los diferentes tipos de aparato(dvd,televisor,radio.etc).
Así para cada botón pulsado,esta cadena de 11 bits será diferente.
Cada bit de dato está formado por dos valores lógicos:
"01" para el 1 lógico y "10" para el 0.
Cada bit tiene una duración de 1.788 ms si no recuerdo mal,por lo que para capturar todos los bits tendremos que crearnos una base de tiempos,con el timer,por ejemplo, de 1.788 segundos para que,una vez que detectemos el cero correspondiente al 1 lógico del primer bit de start (cuando el repector está inactivo,la línea siempre está a 1 lógico) habilitemos la interrupción y así ir capturando un bit aproximadamente cada 1.8 ms

;--------------------------------------------------------------------------------------------------------

Mi diseño del circuito es el siguiente

http://ar.geocities.com/diegofusari/RC5.jpg

Como veran uso RA2 como entrada a las señales del receptor IR

Uso una pantalla de LCD para visualizar los datos binarios en su segunda linea luego de recibir el codigo.....

Bueno la cuestion es que yo he simulado en PROTEUS este circuito donde e reemplazado al receptor IR por otro PIC16F84 y he hecho el supuesto codigo para transmitir...... de lo cual anda perfectamente y el LCD me muestra los dos primeros bytes que recivo del transmisor

He montado el hardware de este circuito y la parte del LCD anda perfecto pero no me recibe el codigo al apretar algun boton de varios controles rempotos que tengo... para mi el problema esta en la recepcion del codigo RC5, pues he intentando de varias formas y no tengo exito, es por eso que estoy aqui para ver si me pueden chequear  el codigo y darme sus opioniones al respecto, para mi el tiempo de recepcion de entre bit y bit puesde ser que este mal no lo se

El tiempo lo he he hecho con el TMR0 pues haciendo los calculos con el preescalar 128 me da el valor 14 que en Hexadecimal es "0E", al valor FF le he restado 0E lo cual me da "F1" y este valor le cargo al TMR0 con lo cual se me produce una interrupcion por desboramiento al pasar de FF a 00 y asi actualizar de vuelta la interrupcion para luego seguir recibiendo los datos.....

Insisto que en el proteus todo lo diseñado anda perfecto pero en la realidad no me anda la recepcion del codigo...

Mi programa efectuado es el siguiente para que lo vean

http://ar.geocities.com/diegofusari/rc20052.asm

Agradeceria eternamente que aquellas personas que hallan logrado llevar a cabo su proyecto y que les haya funcionado me ayuden en este tema.....ya que estoy muy aburrio y esto solamente me divierte.....
 
                 Saludos..










Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: RC5-PHILIPS (RECEPTOR IR)
« Respuesta #1 en: 24 de Enero de 2005, 18:53:00 »
No estoy muy seguro de que tengas bien implementada la parte de la interrupción.
No veo que bajes flags,ni que habilites y deshabilites la interrupción para evitarte solapamiento.Corrígeme si me equivoco.
De todas formas,si dices que simula bien,puedes comprobar un par de cosas con un polímetro.Supongo que tu receptor IR es del estilo del IS1U60.Estos receptores ya entregan la trama demodulada y limpita para que capturemos directamente los bits.Es conveniente que el receptro lo conectes como en el dibujo:



Cuando no hay actividad infrarroja,el receptor tiene su salida a 5 V.Podrías comprobar eso de primera mano con el polímetro,y después prueba a mantener pulsado algún botón del mando a distancia y volver a medir a ver si hay actividad.Cuídate de que el receptor no tenga ninguna fuente de luz cerca.

Echale un ojo a la página del amigo Luis Frino,quizá te ayude:

http://www.frino.com.ar/infrared.htm

Desconectado Diecco

  • PIC10
  • *
  • Mensajes: 6
RE: RC5-PHILIPS (RECEPTOR IR)
« Respuesta #2 en: 24 de Enero de 2005, 22:50:00 »
Modulay:
 
            el receptor IR que tengo no se la marca, lo compre en la electroncia con una carcaza metalica, parece ser que la salida de datos del IR es la pata del medio, ya que al alimentarlo esta pata del medio me tira 5V al no recivir señal

Por otro lado no utilizo interrupcion para detectar el flanco decendente ya que RB0 no lo utilido.... Por otro lado la unica interrupcion que utilozo es por desbordamiento del TMR0

Es decir cuando llega un bit a TMR0 lo  carorgo con F1 y activo la interrupcion, luego cuando termino de almacenar el bit en la ram espero a que se active la interrupcion ahi es cuando pasaria 1.8 ms y asi susecivamente

La pata que utilizo es RA0 y chequeo esta pata de la siguiente manera

;*******************************************************************************************
;------------------------- Comienzo de la norma RC5 ---------------------------------------*

ARRANQUE      btfsc          PORTA   , 2              ; Esperamos el bit de arranque
                       goto          $-1                          ; ......
                       call            INTERRUPCION        ; Configuarmos la interrupcion para TMR0
                       movlw       0xF1                        ; tiempo de 1.788 ms
                       movwf       TMR0                       ; TMR0 = F1
                       bsf             INDF    , 0               ; Primer bit
                       incf            CONTBIT , F             ; incrementamos el contador de bits

;*******************************************************************************************
;*******************************************************************************************

ESPERA          goto           ESPERA                    ; Esperamos hasta que pasen los 1.788 ms


LUEGO de ke se produzca la interrupcion salto a la rutina RC5 para ir capturando los bits..... yasi susecivamente...


;*******************************************************************************************
;*******************************************************************************************

RC5           call            INTERRUPCION           ; Configuamos interrupcion      
                 btfss          PORTA   , 2                 ; 0 o 1 ???
                 goto           UNO                           ; Capturamos nivel alto
                 goto           CERO                         ; Capturamos nivel bajo

;*******************************************************************************************
;*******************************************************************************************

;---------------------- Captura los bit de nivel alto -------------------------------------*

UNO          rlf             INDF    , F
                 incf          CONTBIT , F
                 bsf           INDF    , 0
                 movlw       0xF1
                 movwf       TMR0
                 btfsc       CONTBIT , 3
                goto        RESET
                goto        ESPERA


;---------------------- Captura los bit de nivel bajo -------------------------------------*

CERO          rlf           INDF    , F
                   incf        CONTBIT , F              
                   bcf         INDF    , 0
                   movlw       0xF1
                   movwf       TMR0
                   btfsc       CONTBIT , 3
                   goto        RESET
                   goto        ESPERA

;------------------------------------------------------------------------------------------*

RESET         clrf           CONTBIT
                   incf          CONTBYTE, F
                   btfsc        CONTBYTE, 1
                   goto         VISUALIZA      
                   incf           FSR     , F
                   clrf           INDF
                   goto        ESPERA

;*******************************************************************************************
;---------------------- Configuracion de interrupciones -----------------------------------*

INTERRUPCION  bsf         STATUS , RP0
              movlw       0xA0
              movwf       INTCON
              movlw       0xD7              
              movwf       OPTION_REG
              bcf         STATUS , RP0
              return



esta es la parte ke mas destaco ya ke no me anda la recepcion, si vos tenes alguna idea o si me ayudas a depurar mas el codigo... te agradeceria tus opiniones...

Nmos vemos en la proxima

PD: mi msn si kieren agregarme a su lista es diecco@hotmail.com


Desconectado Diecco

  • PIC10
  • *
  • Mensajes: 6
RE: RC5-PHILIPS (RECEPTOR IR)
« Respuesta #3 en: 25 de Enero de 2005, 18:58:00 »
jejeje alegria ya me anda tenia un problema con el receptor IR que estaba mal colocado...... hay ke buscar la pata que oscila cuando alimentamos la otras dos al apretar algun boton del control remoto esa es la pata Vout segun el modelo, tambien agregue el capacitor y la resistencia y anda mucho mejor por que filtra todo... hay que ponerlo si o si o si no anda mal.......
TAMBIEN Y MUY IMPORTANTE es ponerlo fuera del alcace de la luz del ambiente,...... es necesario ponerlo dentro de una cajita con acrilico negro asi no se activa por que si....

VOY a retocar el codigo para que ande mas bonito ya que el posteado anda pero no como yo kiero..... jejejejej, ese era un prototipo

PD: Voy hacer un infomre completo completo sobre este tema y mi proyecto.... en una de esas lo cuelgue en alguna ev ya les avisare nos vemos

Desconectado Diecco

  • PIC10
  • *
  • Mensajes: 6
RE: RC5-PHILIPS (RECEPTOR IR)
« Respuesta #4 en: 26 de Enero de 2005, 20:46:00 »
Mmm no anda como yo kiero, es decir al apretar algun boton en la pantalla del LCD me aparece una trama que no es correspondiente a los que deberian ser, me parece que el tiempo de 1.778  mno lo hago bien hacieque estoy intentando hasta que me resulte... si alguien puede aportar por ke esto se me esta tranformando en un problema..... fuckkk
                                Gracias............


 

anything