Control remoto para ventilador con PIC16F628A

En este artículo aprenderás a hacer un control remoto para ventilador con PIC16F628A, el cual es fácilmente adaptable para operar cualquier aparato eléctrico. Nota: Contenido actualizado en Agosto de 2020

Hace algunas semanas adquirí un ventilador de pared para el taller, estos ventiladores, por el hecho de que deben estar colocados a una altura cercana al techo, sólo pueden operarse por medio de un cordón el cual permite encenderlos y cambiar su velocidad.

Lamentablemente, cuando decidí instalarlo vi que el mejor sitio para ubicarlo era por sobre una estantería metálica que no me permitiría halar del cordón, pero lo coloqué allí y lo operaba enchufándolo para encenderlo, aunque esto lógicamente no me permitía cambiar las velocidades. Por esta razón decidí realizar el circuito de control remoto que a continuación presento.

El versatil 16F628A

La base de este proyecto es el PIC 16F628A, un microcontrolador muy versátil que permite crear proyectos electrónicos con facilidad, el diagrama de la primera etapa del circuito lo muestro a continuación:

Funcionamiento del circuito

El funcionamiento es el siguiente, utilizando un control remoto de TV con protocolo RC5 (Philips) se envían señales que son captadas por un sensor IR y luego interpretadas por el PIC 16F628A. Cuando pulsamos la tecla “1” en el control remoto se pone a 1 lógico el pin 6 del PIC, activando el optoacoplador que a su vez activa el TRIAC. De igual manera al pulsar las teclas 2 y 3 se ponen a 1 lógico los pines 7 u 8 respectivamente, accionando así el TRIAC para cada velocidad, y al pulsar la tecla «Power» el puerto B se coloca a «0» por lo que el ventilador se apaga.

Etapa de potencia

La segunda etapa del circuito es la de potencia donde están los optoacopladores y los TRIACs, dividí el circuito en dos etapas para hacer más fácil su comprensión, no obstante ambas etapas se pueden montar en un único circuito impreso o PCB.

Usé un control remoto universal marca RCA como transmisor, programado por supuesto con el código para funcionar con televisores Philips (062). Es importante aclarar que cada control remoto IR, ya sea de TV o cualquier otro artefacto, funciona en base a un protocolo de comunicación que varía dependiendo de la marca, existen muchos protocolos IR ya que cada marca crea el suyo propio, pero el protocolo RC5 de Philips tiene la particularidad de que es abierto en el sentido de que es posible encontrar documentación sobre cómo funciona y por lo tanto se puede usar para la creación de proyectos.

Circuito del control remoto
Circuito

También hay que mencionar que no todos los controles de televisores Philips usan el protocolo RC5, por lo que aconsejo para este proyecto adquirir un control universal y probar los distintos códigos, es posible incluso crear nuestro propio transmisor con otro PIC y algunos pulsadores, pero eso lo dejaré para un próximo proyecto.

circuito de control remoto
circuito de control remoto

Los TRIACs utilizados son de 4A y 600V, pueden usarse otros parecidos y no es necesario colocar disipadores de calor ya que la potencia que consume el ventilador no es muy elevada. El sensor IR que usé lo saqué de un reproductor de DVD en desuso, pero puede usarse un sensor de TV, DVD, VCR o cualquier otro aparato. Para el buzzer se puede usar una corneta pequeña o un buzzer pasivo.

Archivo para programar el PIC

Finalmente aquí les dejo el archivo hexadecimal (.HEX) para programar el PIC, al momento de grabarlo deben poner los bits de configuración de la siguiente manera; WDT=Off, MCLR=Off, CP=Off, PWRT=On y en Oscilador =XT. La contraseña para descomprimir es electronicaih.com

Ver video con el circuito funcionando


Descargar el archivo HEX y diagrama

Vea también: Curso de programación de microcontroladores PIC en BASIC

15 comentarios en «Control remoto para ventilador con PIC16F628A»

  • el 27 abril, 2013 a las 11:46 AM
    Enlace permanente

    Magnífico aporte. Hace tiempo estoy interesado
    en la programación de PIC’s para hacer circui-
    tos sencillos. Tengo el quemador, pero no he
    intentado quemar ninguno.
    En cualquier momento te hago alguna consulta.
    Felecitaciones y Gracias por la información.

    Respuesta
  • el 23 abril, 2013 a las 10:38 PM
    Enlace permanente

    Lo he montado al pie de la letra y nada.
    Donde esta la falla?
    Me puedes ayudar

    Respuesta
    • el 27 abril, 2013 a las 11:59 AM
      Enlace permanente

      Algún error cometiste, sólo puedo decirque que si lo armas tal cual como lo explico te funcionará como me funcionó a mi. El error puede estar en cualquier parte, sobre todo asegúrate de colocar todos los condensadores sin omitir ninguno ya que una falla en la regulación del voltaje de fuente impedirá que el pic trabaje correctamente.

      Respuesta
  • el 15 marzo, 2013 a las 5:06 PM
    Enlace permanente

    Buenas tardes,
    muchas gracias por el aporte, he intentado hacerlo pero no he podido, ya había intentado leer un control, pero por alguna razón no me funciona.
    Podría colaborarme con algo de código en cuanto a leer el protocolo?

    Un abrazo y muchas gracias.
    Desde Colombia.

    Respuesta
      • el 15 marzo, 2013 a las 5:43 PM
        Enlace permanente

        Muchas gracias por la pronta respuesta, la verdad programo en CCS. pero le echaré un ojo…

        Respuesta
        • el 15 marzo, 2013 a las 6:57 PM
          Enlace permanente

          En Proton se te hará más fácil porque tiene librerias creadas especialmente para el protocolo RC5, CCS no las tiene.

          Respuesta
      • el 15 marzo, 2013 a las 11:55 PM
        Enlace permanente

        Bueno ya le metí el diente a este cuento, pero tengo problemas.
        conseguí un IR SM0038.

        Pero cuando lo conecto al micro, o la salida a un led, este parpadea aun sin señal infrarroja, pero cuando presiono teclas de un control parpadea con pulsos y con algún tipo de coherencia.

        Me puede ayudar en este punto, no se que pueda ser o me recomienda algún IR en particular.

        Muchas gracias de nuevo.

        Respuesta
        • el 16 marzo, 2013 a las 9:06 AM
          Enlace permanente

          Todos los sensores IR funcionan igual, no importa que sea sensible a ruidos ambientales porque para eso se usan las librerías que interpretan el protocolo que se está usando, en este caso RC5, con esto el PIC sólo acepta las señales que usan este protocolo y descarta cualquiero otra.

          Respuesta
          • el 16 marzo, 2013 a las 11:38 PM
            Enlace permanente

            🙂

            Yo he logrado algo, buscando algo por aquí y por allá…

            Bueno ya puedo leer algunas cosillas, por ejemplo volumen arriba, volumen abajo y nada mas… 🙁

            Seguiré luchando, o será que mi control de televisor LG no usa ese protocolo?¿

          • el 17 marzo, 2013 a las 9:27 AM
            Enlace permanente

            Existe multitud de protocolos lo mejor es que uses un control universal.

  • el 28 enero, 2013 a las 2:43 AM
    Enlace permanente

    MUY BUENO EL BLOG GRACIAS POR LOS APORTES Y LOS UTILES CONSEJOS

    Respuesta
  • el 27 enero, 2013 a las 10:35 AM
    Enlace permanente

    Cordial saludo desde colombia, muchas gracias por tan magnífico aporte justo lo que estaba buscando porque yo también tengo el mismo problema con los ventiladores de techo de la casa con las famosas cadenas,hay alguna forma de simularlo primero en proteus para luego sí hacerlo en la práctica?

    Respuesta
    • el 27 enero, 2013 a las 11:34 AM
      Enlace permanente

      No la hay, lo mejor es que pruebes primero en el Protoboard antes de montar, saludos.

      Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.