Autor Tema: Control de reles a distancia mediante IR  (Leído 16360 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
Control de reles a distancia mediante IR
« en: 31 de Julio de 2004, 15:38:00 »
Hola gente de todopic!!!!!!! Hace tiempo que tengo un proyecto en mente y ahora me he decidido ha llevarlo a cabo.

El proyecto consta del control de 7 reles mediante un emisor y un receptor de IR.

El emisor-receptor, usare este circuito http://www.pablin.com.ar/electron/circuito/varios/ir1ch/index.htm

En el emisor quiero poner un pic para contar las veces que se pulsa el pulsador y representarlo en un display de 7 segmentos, este numero, representara el rele que se activara. El reset del pic sera manual, y asi despues de pulsar el numero de veces para encender el rele correspondiente, poder reiniciar el programa para poder activar otro.

En el receptor incluire un pic que interprete el numero de pulsos que le lleguen, y segun ese numero, activar la salida correspondiente. Para conectar los reles al pic utilizare un ULN2003 y asi me ahorro los Darlington y los didodos de proteccion.

Tanto el pic del emisor como el del receptor serian un 16F84A.

La semana k viene empezare a colgar los eskemas.

Alguien se apunta al proyecto??

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Control de reles a distancia mediante IR
« Respuesta #1 en: 31 de Julio de 2004, 15:44:00 »

Yo me apunto

Saludos,

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #2 en: 02 de Agosto de 2004, 12:53:00 »
Bueno, ya tengo la parte del emisor con el pic para que cuente las veces que se pulsa el pulsador, he simulado en proteus y no rula , pero no se si es k lo hago mal o es que proteus falla o k pasa, ahora lo voy a probar en la proto board y os cuento.

SAlu2

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Control de reles a distancia mediante IR
« Respuesta #3 en: 02 de Agosto de 2004, 13:37:00 »
¿Teneis fuente de alimentación para los +9V y -9V?

Si en algo puedo ayudaros en la programación (que supongo será en ensamblador) aquí estoy.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #4 en: 02 de Agosto de 2004, 14:28:00 »
Pues no tengo fuente para los -9v pero para k son los -9v??Bueno ya e montado el circuito en la protoboard y funciona pero ( siempre tiene k haber un pero) algunas veces el display se vuelve loco y comienza a contar sin k pulses el pulsador, pero esto creo k debe de ser cosa de algun falso contacto de la protoboard, o a lo mejor es cosa de los rebotes?? Los rebotes no creo que sean pk en el programa hay una subrutina de retardo para evitar los rebotes. El programa es este
Codigo:
;************************************ Pulsador_01.asm ***********************************;;;; Cada vez que presione el pulsador conectado al pin RA4 incrementa un contador visualizado; en el display.;; ZONA DE DATOS **********************************************************************   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC   LIST      P=16F84A   INCLUDE     CBLOCK  0x0C   Contador            ; El contador a visualizar.   ENDC#DEFINE Pulsador   PORTA,4         ; Pulsador conectado a RA4.#DEFINE Display   PORTB         ; El display está conectado al Puerto B.; ZONA DE CÓDIGOS ********************************************************************   ORG   0         ; El programa comienza en la dirección 0.Inicio     bsf   STATUS,RP0      ; Acceso al Banco 1.   clrf   Display         ; Estas líneas configuradas como salidas.   bsf   Pulsador         ; Línea del pulsador configurada como entrada.   bcf   STATUS,RP0      ; Acceso al Banco 0.   call   InicializaContador      ; Inicializa el Contador y lo visualiza.   call   VisualizaPrincipal   btfsc   Pulsador         ; ¿Pulsador presionado?, ¿(Pulsador)=0?   goto   Fin         ; No. Vuelve a leerlo.   call   Retardo_20ms      ; Espera que se estabilicen los niveles de tensión.   btfsc   Pulsador         ; Comprueba si es un rebote.   goto   Fin         ; Era un rebote y sale fuera.   call   IncrementaVisualiza      ; Incrementa el contador y lo visualiza.EsperaDejePulsar   btfss   Pulsador         ; ¿Dejó de pulsar?. ¿(Pulsador)=1?   goto   EsperaDejePulsar      ; No. Espera que deje de pulsar.Fin   goto   Principal; Subrutina "IncrementaVisualiza" ---------------------------------------------------------IncrementaVisualiza   incf   Contador,F      ; Incrementa el contador y comprueba si ha   movlw    d"10"         ; llegado a su valor máximo mediante una   subwf   Contador,W      ; resta. (W)=(Contador)-10.   btfsc   STATUS,C      ; ¿C=0?, ¿(W) negativo?, ¿(Contador)<10?InicializaContador   clrf   Contador         ; No, era igual o mayor. Por tanto, resetea.Visualiza   movf   Contador,W   call   Numero_a_7Segmentos   ; Lo pasa a siete segmento para poder ser   movwf   Display         ; visualizado en el display.   return   INCLUDE    ; Subrutina Numero_a_7Segmentos   INCLUDE    ; Subrutinas de retardo.   END            ; Fin del programa.   
Gracias por tu oferta pocher. Si, la programacion  es en ensamblador.

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Control de reles a distancia mediante IR
« Respuesta #5 en: 02 de Agosto de 2004, 20:01:00 »
Por qué no haces que el pulsador sea la interrupción RB0?? De esa manera puedes usar la función sleep que se desactiva en el momento de la interrupción y eso hará que la pila dure más.

Sabes? sería bueno ver el diagrama que tienes en mente.

Saludos,

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Control de reles a distancia mediante IR
« Respuesta #6 en: 03 de Agosto de 2004, 00:33:00 »
Sí, si el emisor va a ser alimentado con pilas, hazlo trabajar en modo sleep para que el consumo sea de uA, de lo contrario las pilas te duranran un suspiro.

Para ahorrarte todo el jaleo de detectar si el pulsador está pulsado o ha sido soltado,  porque no lo metes en RB0 (detección por flanco)?, como comenta Carlete.

Ah lo de los -9V es porque en el receptor tienes un operacional, el LM308, que tiene alimentación simétrica.

Un saludo

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #7 en: 03 de Agosto de 2004, 11:29:00 »
Pues no he usado la interrupcion en RB0 porque, el display de 7 segmentos ocupa este puerto, y para poder usalrlo tendria k modificar la subrutina de gobierno del display y no tengo ni idea de como hacerlo. Esto del consumo ya lo habia pensado, y queria meterle un interruptor, para encender el circuito solo cuando se vaya a utilizar el mando.

Sobre el diagrama ahora  hago el del emisor y lo cuelgo.

SAlu2

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #8 en: 03 de Agosto de 2004, 12:49:00 »
Ahi va el diagrama del emisor.



Sobre esto que os he comentado, que el circuito va contando solo sin que se pulse el pulsador, que opinais??

Sobre los -9v no le veo problema, ya que el receptor se alimentara con una fuente de pc, pongo 12v y con un 7909 tengo los -9v
EDITO:
He modificado el esquema porque he visto un error, el pulsador que daba la señal al pic era externo, y tiene que ser el que activa el sensor de IR.

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Control de reles a distancia mediante IR
« Respuesta #9 en: 03 de Agosto de 2004, 17:53:00 »
Una pregunta:

Viendo el diagrama me doy cuenta que independientemente del número que muestre el display, el emisor de IR siempre va a emitir la misma señal (sin ningún tipo de codificación), por lo tanto cómo vas a controlar que se accione un relé u otro relé si siempre se emite la misma señal?

Otra cosa que se me ocurre si no quieres usar el sleep, es que el circuito se energice al accionar el pulsador de RA4, eso de hecho lo vi en otro circuito de control remoto que usa RF en lugar de IR aquí:

http://www.interq.or.jp/japan/se-inoue/e_pic6_81.htm

Claro, habría que hacer varios cambios en el circuito porque cambia la filosofia de trabajo. Tal vez se podría hacer una rutina para que si presiono el pulsador por períodos de corta duración, vaya cambiando el numero del display y cuando deje presionado el pulsador por 2 segundos, se emita el código por IR. También habría que usar la EEPROM de datos para no perder el número del display al desenergizar. Si... se ve interesante.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #10 en: 03 de Agosto de 2004, 18:38:00 »
Pues yo pensaba hacer que el pic del receptor contara el numero de pulsos que envia el emisor y dependiendo de esto activara la salida correspondiente.

Sobre lo de la eeprom, nunca he trabajado con ella.

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Control de reles a distancia mediante IR
« Respuesta #11 en: 03 de Agosto de 2004, 20:00:00 »
Piriots, si te fijas en el circuito emisor de pablin, este es un oscilador de frecuencia X, por lo tanto al cerrar el pulsador el oscilador comenzará a emitir pulsos que no dependen de las veces que se presione el pulsador.

Por otro lado, en el circuito receptor, tienes el LM308 que actua como amplificador y también como filtro pasa banda para solo dejar pasar la señal IR de frecuencia X del emisor.

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Control de reles a distancia mediante IR
« Respuesta #12 en: 04 de Agosto de 2004, 03:19:00 »
Yo creo que sí que se puede hacer. Al accionar el pulsador se generaran pulsos, al recibirlos el receptor cerrará el relé, o activará un pin del PIC y este contará un pulso. Al soltar el pulsador no se generaran pulsos con lo que el relé se abrirá, en nuestro caso se desactivará el pin del PIC ... etc para más pulsos. Lo único que habrá que tener en cuenta son los tiempos, ya que el PIC receptor debe esperar un cierto tiempo constante durante el cual aseguraremos que se ha dejado de contar, así mismo no te puedes dormir entre pulsación y pulsación.

El pulsador de IR en el circuito está mal puesto: se produce un corto.

El pulsador de ON-OFF también está mal puesto: se enciende el LED sin cerrar el pulsador.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Control de reles a distancia mediante IR
« Respuesta #13 en: 04 de Agosto de 2004, 13:45:00 »
Pues teneis toda la razon, modifike el eskema ayer x la noche cuando llegue de fiesta y a akellas oras uno no esta a tope. Ahora lo arreglo.



Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Control de reles a distancia mediante IR
« Respuesta #14 en: 04 de Agosto de 2004, 21:59:00 »

Es cierto Pocher, de esa manera creo que si funcionaría, pero veo un problemita... Que pasaría ai alguien acciona el control de la TV cerca del receptor???  Es probable que se comiencen a disparar los relés como locos.  

 


 

anything