Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
01/10/2015 #1

Avatar de juanma2468

[Aporte] - Receptor RF-IR universal - V2.0
Hola gente del foro, aquí les traigo un receptor universal que puede ser implementado tanto para RF como para IR. Adjunto se encuentra el firmware del PIC16F628 el cual es de libre uso y modificación y una simulación en Proteus 7.9 junto con el esquematico básico. Este receptor tiene la capacidad de aprender cualquier código hasta una longitud total de 48 bits, abarcando así los integrados Learning code de 24 bits. El PIC trabaja con un cristal de 16MHz, y para que funcione para IR la salida del módulo IR tiene que ser negada, ya sea con una compuerta NOT o con un transistor con salida por colector.

Características:

- Protección contra atascamiento de software mediante WatchDog
- Capacidad de almacenar hasta 48 bits de datos + 2 de sincronización
- Posibilidad de usarse tanto para RF como para IR
- Receptor de un solo canal
- Funcionamiento biestable ON/OFF
- Almacenamiento de código en EEPROM no volátil
- Soporta integrados Fixed code (código fijo) y Learning code (código aprendido):
- HT12E/D
- MM53200 equivalente UM86409
- HT6026
- PT2260
- PT2262
- PT2264
- FP527
- PT2240
- PT2242
- EV1527
- HT6010 / HT6013 / HT6014
- HT600 / HT680 / HT6207 / HT6010 / HT6012
- MC145026 / HT640
- 5026-1 / 5026-2 / 5026-3 / 5026-4
- SMC918
- AX5326-3 / AX5326-4
- AX5026
Puesta en marcha:

Cuando se usa por primera vez, el receptor no contendrá ningún código. Para poder grabarlo lo que se debe hacer es primero presionar el botón del control que queremos grabar y mantenerlo apretado, luego se presiona el pulsador del receptor. A partir de ese momento el software comenzara una rutina de almacenamiento del código. Cuando este finaliza prendera el led “verde” indicando que se copio adecuadamente el código en memoria, y ahí se podrá soltar ambos botones. Si se quisiera copiar un nuevo código se debe repetir los pasos anteriores.

Una vez almacenado el código en memoria, quedará habilitado para ser usado. Cada vez que se presione el botón que envía es código, el led verde prendera y quedará prendido hasta que se vuelva a recibir nuevamente el mismo código, trabajando en modo ON/OFF. El led puede ser reemplazado por un transistor con un rele para activar/desactivar algo (ej. Motor, luces, bombas, ventilador, televisor, y casi cualquier cosa que uno desee).

Si por algún motivo el software se atascara, sólo se repondrá con la ayuda del timer WatchDog y el led “rojo” prendera por 0,5 seg indicando que se repuso el PIC.

Para hacerlo trabajar con IR pueden usar el siguiente módulo:

Y para usarlo con RF pueden usar el siguiente módulo:

Espero les sirva, saludos
02/10/2015 #2

Avatar de elgriego

Excelente juanma,que buen aporte.

Bravo.


Saludos.
02/10/2015 #3


Excelente trabajo.

Nota: no se ven las imagenes del post o es mi conexion.
04/10/2015 #4

Avatar de juanma2468

Aqui les dejo un video de demostracion del circuito funcionando, saludos.
05/10/2015 #5


oye juanma realize tu circuito pero con ir y funciona en ocaciones batallo para que aprenda el codigo, hay alguna forma de que trasmita lo que lee?, vi tu codigo pero creo es muy avanzado para mi xD!

saludos.
05/10/2015 #6

Avatar de juanma2468

Negaste la salida del modulo receptor?
05/10/2015 #7


si lo inverti con un transistor, no se si sea un bug del codigo ya que me almacena los datos en la eeprom pero despues de desconectar el circuito por unos 2 min se borran la trama de la eeprom o almenos ya no reconoce la tecla programada.

mi duda es si se puede leer los datos de la eeprom y despues trasmitirlos via ir por decir hacia el tv.

saludos!
05/10/2015 #8

Avatar de juanma2468

Si se puede, luego me fijo y lo modifico, dame unos dias.
La salida del transistor es por colector verdad?
Probaste con algun otro control?

---------- Actualizado después de 47 minutos ----------

Aca te adjunto el firmware con una pequeña modificacion en la comparacion de los tiempos, haber si eso arregla tu problema, avisame.
Archivos Adjuntos
Tipo de Archivo: rar Firmware - Receptor RF-IR universal - V2.0 - MODIFICADO.rar (26,5 KB (Kilobytes), 79 visitas)
21/10/2015 #9

Avatar de juanma2468

Bueno, en esta ocación les traigo la versión 3 del receptor.
Este nuevo firmware tiene unas nuevas caracteristicas y otras mejoradas optimizadas.
Caracteristicas:
- Permite grabar hasta 41 controles de RF con diferentes códigos, ya sean del tipo código aprendido (Learning code) y código fijo (Fixed code).
- Borrado de la memoria eeprom con un solo pulsador (Pulsador Config del esquematico).
- Ya no es necesario presionar el botón del control primero, para luego presionar el botón de programación del código.

Para grabar un código se debe seguir los siguientes pasos:
1 - Presionar primero el botón Pgm_Cod para realizar una programación del código (Botón Pgm_Cod del esquematico)
2 - Luego presionar el botón del control a grabar. En caso de que no se reciba ningún código en un lapso de 10 seg, automáticamente se saldra de la rutina de grabado de código indicado con un destello del led de error por 1 segundo. Por el contrario, se se graba un control en forma correcta, se prenderá el led de código OK por un segundo indicando que se registro de forma correcta.
3 - Para volver a grabar otro código simplemente se vuelve a repetir los pasos 1 y 2.

Para borrar la memoria eeprom se debe seguir el siguiente paso:
1 - Presione el botón Config, verá que los leds de código error y OK parpadearan 3 veces, la memoria eeprom estará borrada.


PD: Esta nueva versión no esta pensada para IR, fue optimizada para controles de RF, por lo que no aseguro que funcione con controles remotos IR.
Archivos Adjuntos
Tipo de Archivo: rar V3.0.rar (156,5 KB (Kilobytes), 78 visitas)
10/07/2016 #10


Hola, estoy tratando de probar el receptor con proteus y no logro que me guarde correctamente ningún código.
Siempre me enciende el led rojo.
he probado con las tres penales que venían en el proyecto y siempre me da error.
Alguien pudo hacerlo funcionar?
10/07/2016 #11

Avatar de juanma2468

adrianratti dijo:
Hola, estoy tratando de probar el receptor con proteus y no logro que me guarde correctamente ningún código.
Siempre me enciende el led rojo.
he probado con las tres penales que venían en el proyecto y siempre me da error.
Alguien pudo hacerlo funcionar?
No te toma los pulsadores, porque no entregan un código correcto, eso es por que el receptor esta preparado para recibir un código de 12, 9 o 24 bits, y ningun pulsador entrega esa cantidad, si lo montas te será más facil de probar. Esos pulsadores solo los utilice para hacer pruebas, pero no estan bien para el programa final.
10/07/2016 #12


Gracias Juanma por tu pronta respuesta.
Hay forma de emular en proteus pulsos de 12, 9 o 24 bits?
11/07/2016 #13

Avatar de juanma2468

Si la hay, pero para eso debes hacerlo con otro PIC, que genere el tren de pulsos. Debes respetar la codificación que utiliza alguno de los integrados mencionados en el primer post, te recomiendo como faciles, HT12E, MM53200 equivalente UM86409 y EV1527
11/07/2016 #14
Moderador

Avatar de D@rkbytes

adrianratti dijo: Ver Mensaje
¿Hay forma de emular en proteus pulsos de 12, 9 o 24 bits?
Si, con la herramienta "DPATTERN" (Digital Pattern Generator)

Con esta herramienta se puede emular cualquier tipo de tren de pulsos.
Imágenes Adjuntas
Tipo de Archivo: jpg DPATTERN.JPG (99,1 KB (Kilobytes), 135 visitas)
11/07/2016 #15

Avatar de juanma2468

Darkbyte dijo:
Si, con la herramienta "DPATTERN" (Digital Pattern Generator)
No alcanza la cantidad de bits que te permite usar la herramienta DPATTERN para generar un código correcto.
11/07/2016 #16
Moderador

Avatar de D@rkbytes

¿De cuántos bits es la señal?
Porque yo con esa herramienta he generado protocolos RC5 (Philips) y SIRC (Sony)
11/07/2016 #17

Avatar de juanma2468

Por cada bits del código utilizo 3 bits de la herramienta DPATTERN, para respetar la forma de onda de los códigos de los codecs de 12 y 24 bits y para el de 9 bits utilizo 4 bits de la herramienta. Previo hay que generar el preambulo.
27/09/2016 #18


¿Se puede hacer un decodificador para un code learn y un transmisor para grabarle los códigos que uno quiere? Los code learn traen una programación de fábrica y si no se los programa diferente, cualquier control accionaría cualquier dispositivo. ¿O me equivoco?
27/09/2016 #19

Avatar de juanma2468

Arsenic dijo: Ver Mensaje
¿Se puede hacer un decodificador para un code learn y un transmisor para grabarle los códigos que uno quiere? Los code learn traen una programación de fábrica y si no se los programa diferente, cualquier control accionaría cualquier dispositivo. ¿O me equivoco?
Cada control learnin code viene con un código de fabrica, si lo cambias simplemente no accionaria el receptor con el que estaría hermanado. Lo que tu quierea hacer ya existe, se llaman controles copiadores, copian tanto controles de código fijo como learning code. Estos controles aprenden el código del control que quieres y lo reproduce tal cual es. Fíjate por mercado libre que no son caros.

Enviado desde mi SM-J710MN mediante Tapatalk
27/09/2016 #20


Claro, pero los llaveros que dispongo son code learn y hay que grabarlos con otro control que ya esté funcionando con el receptor. Son precisamente los copiadores. Los desarmé y tienen un pic12f629 en su interior.

Te paso el manual del control en los archivos adjuntos y verás cómo se programa.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.