En este proyecto conectaremos un relé con el microcontrolador PIC PIC16F877A. El relé es un dispositivo mecánico para controlar el alto voltaje y los electrodomésticos de alta corriente ' ENCENDIDOS ' o ' APAGADOS ' desde niveles de voltaje más bajos. Relay proporciona aislamiento entre dos niveles de voltaje y se utiliza generalmente para controlar aparatos de CA. Desde relés mecánicos hasta relés de estado sólido, hay varios tipos de relés disponibles en electrónica. En este proyecto usaremos relés mecánicos.
En este proyecto haremos las siguientes cosas:
- Conectaremos un interruptor para la entrada del usuario.
- Controla una bombilla de 220 V CA con relé de 5 V.
- Para controlar el relé usaremos el transistor BC547 NPN y el transistor será controlado desde el PIC16F877A. Un led notificará la condición de encendido o apagado del relé.
Si es nuevo en el microcontrolador PIC, comience con Introducción al microcontrolador PIC.
Componente requerido:
- PIC16F877A
- 20Mhz de cristal
- 2 piezas de cerámica 33pF
- 3 resistencias de 4.7k
- Resistencia de 1k
- 1 LED
- Transistor BC547
- Diodo 1N4007
- Relé cúbico 5V
- Bombilla de CA
- Tablero de circuitos
- Alambres para conectar las piezas.
- Adaptador de 5 V o cualquier fuente de alimentación de 5 V con capacidad de corriente de al menos 200 mA.
Relé y su funcionamiento:
El relé funciona igual que el interruptor típico. Los relés mecánicos utilizan un imán temporal hecho de una bobina electromagnética. Cuando proporcionamos suficiente corriente a través de esta bobina, se energiza y tira de un brazo. Debido a eso, el circuito conectado a través del relé puede estar cerrado o abierto. La entrada y la salida no tienen conexiones eléctricas y, por lo tanto, aíslan la entrada y la salida. Obtenga más información sobre el relé y sus construcciones aquí.
Los relés se pueden encontrar en diferentes rangos de voltaje como 5V, 6V, 12V, 18V, etc. En este proyecto usaremos un relé de 5V ya que nuestro voltaje de trabajo es de 5 voltios aquí. Este relé de 5V cúbico es capaz de conmutador 7A carga a 240 VCA o 10A carga a 110 VCA. Sin embargo, en lugar de esa enorme carga, usaremos una bombilla de 220VAC y la cambiaremos usando el relé.
Este es el relé de 5V que estamos usando en este proyecto. La clasificación de corriente está claramente especificada para dos niveles de voltaje, 10 A a 120 VCA y 7 A a 240 VCA. Necesitamos conectar una carga a través del relé menor que la clasificación especificada.
Este relé tiene 5 pines. Si vemos el pinout podemos ver-
El L1 y L2 es el pin de la bobina electromagnética interna. Tenemos que controlar estos dos pines para convertir el relé ' EN ' o ' OFF '. Los siguientes tres pines son POLE, NO y NC. El poste está conectado con la placa de metal interna que cambia su conexión cuando el relé se enciende. En condiciones normales, POLE está cortocircuitado con NC. NC significa normalmente conectado. Cuando el relé se enciende, el polo cambia de posición y se conecta con el NO. NO significa Normalmente Abierto.
En nuestro circuito, hemos realizado la conexión del relé con transistor y diodo. El relé con transistor y diodo está disponible en el mercado como módulo de relé, por lo que cuando usa el módulo de relé no necesita conectar su circuito controlador (transistor y diodo).
El relé se utiliza en todos los proyectos de automatización del hogar para controlar los electrodomésticos de CA.
Diagrama de circuito:
El circuito completo para conectar el relé con el microcontrolador PIC se muestra a continuación:
En el esquema anterior se usa pic16F877A, donde en el puerto B se conectan el LED y el transistor, que se controla aún más usando el interruptor TAC en RBO. El R1 proporciona corriente de polarización al transistor. R2 es una resistencia desplegable que se utiliza a través del interruptor táctil. Proporcionará un 0 lógico cuando no se presione el interruptor. El 1N4007 es un diodo de abrazadera que se utiliza para la bobina electromagnética del relé. Cuando el relé se apaga, hay posibilidades de picos de alto voltajey el diodo lo suprimirá. El transistor es necesario para activar el relé, ya que requiere más de 50 mA de corriente, que el microcontrolador no puede proporcionar. También podemos usar ULN2003 en lugar del transistor, es una elección más inteligente si se requieren más de dos o tres relés para la aplicación, verifique el circuito del módulo de relés. El LED en el puerto RB2 notificará "el relé está encendido ".
El circuito final se verá así:
Puede aprender a controlar el relé con Arduino aquí, y si está realmente interesado en el relé, consulte todos los circuitos de relé aquí.
Explicación del código:
Al comienzo del archivo main.c, agregamos las líneas de configuración para pic16F877A y también definimos los nombres de los pines en PORTB.
Como siempre, primero, debemos establecer los bits de configuración en el microcontrolador pic, definir algunas macros, incluidas las bibliotecas y la frecuencia de cristal. Puede verificar el código de todos los que se encuentran en el código completo que se proporciona al final. Hicimos RB0 como entrada. En este pin está conectado el interruptor.
#incluir
Después de eso, llamamos a la función system_init () donde inicializamos la dirección de los pines, y también configuramos el estado predeterminado de los pines.
En la función system_init () veremos
vacío system_init (vacío) { TRISBbits.TRISB0 = 1; // Estableciendo Sw como entrada TRISBbits.TRISB1 = 0; // configurando LED como salida TRISBbits.TRISB2 = 0; // establecer el pin de relé como LED de salida = 0; RELÉ = 0; }
En la función principal , verificamos constantemente la presión del interruptor, si detectamos la presión del interruptor al detectar la lógica alta en RB0; Esperamos un tiempo y vemos si el interruptor aún está presionado o no, si el interruptor aún está presionado, invertiremos el estado del PIN de RELÉ y LED.
void principal (vacío) { system_init (); // El sistema se prepara mientras (1) { if (SW == 1) {// se presiona el interruptor __delay_ms (50); // retardo antirrebote si (SW == 1) {// el interruptor aún está presionado LED =! LED; // invertir el estado del pin. RELÉ =! RELÉ; } } } volver; }
A continuación se proporciona el código completo y el video de demostración para esta interfaz de relé.