Saltar al contenido
Control Automático Educación

En esta entrada vamos a aprender a manejar cargas AC de 110v/ 220v o activar cargas DC superiores a 5v con nuestro microcontrolador PIC utilizando un relé.

Antes de comenzar te invito a que mires nuestro CURSO DE MICROCONTROLADORES PIC totalmente gratuito.

Y que te suscribas al canal de YouTube para seguir aprendiendo más sobre estos temas.

Que es un Relé o Relevador

Un relé es un switch electromagnético el cual es operado por una corriente eléctrica pequeña capaz de encender o apagar una carga eléctrica mucho más grande.

El corazón de un relé es un electroimán (una bobina la cual se convierte en un imán una vez pasamos una corriente por ella). Que al accionarse cierra un contacto o interruptor que permite activar o desactivar una carga.

En el mercado podremos encontrar diferentes presentaciones de relés, los cuales tienen una bobina y pueden tener diferentes contactos normalmente abiertos (NO) y normalmente cerrados (NC):

Tipos de Relevadores

Un circuito básico de un Relé activado por medio de un transistor con una señal de control proveniente del microcontrolador, es mostrado a continuación:

Diagrama de un Relevador

El diagrama va a depender del tipo de relevador o relay que tengamos, lo primero que podemos identificar es la bobina con un multimetro en la escala de resistencia y saber cuales son los 2 pines que marcan resistencia para conocer la ubicación de la bobina.

Luego en la escala de continuidad podremos encontrar cual es el común con el normalmente cerrado y el normalmente abierto.

A continuación se muestra el diagrama de un relé de 5 pines.

Diagrama de relevador

con este esquema ya sabes como conectar un relevador de 5 pines en protoboard o en un circuito que necesites controlar alguna potencia como una luminaria de corriente alterna.

Si te interesa puedes adquirir diversos módulos de relés o placas de microcontroladores PIC directamente de aliexpress a un precio muy bajo:

Como conectar un relevador

El relevador o relé tipicamente es accionado por un circuito de control como un microcontrolador PIC o un Arduino los cuales entregan un voltaje tipico de 5 voltios.

Para activar el relé vamos a requerir hacer uso de un transistor para que funcione como interruptor de la bobina del relevador.

A continuación se muestra el circuito para encender un foco con un relevador pero la carga puede ser cualquier otra diferente a un bombillo.

Diagrama de un Relé
Diagrama de un Relé

En esta configuración, lo que debemos hacer es conseguir que el transistor entre en la zona de saturación para que se comporte como si fuera un interruptor.

El circuito anterior muestra como conectar un relay donde para lograr la saturación en el transistor, debemos hacer que el voltaje de base-emisor (Vbe) sea 0.7 o superior.

Analogia del transistor como Interruptor
Analogia del transistor como Interruptor

Calculo de la resistencia de base de Transistor

Supongamos que tenemos los siguientes componentes:

  • Relé de 5v (Reistencia de bobina RL=250\Omega
  • Transistor 2N2222 (h_{FE}=300)
  • Microcontrolador PIC18F4550 (V_{in}= 0V-5V)

Corriente que pasa por la bobina que es igual a la corriente de colector:

I_c=\dfrac{V_{cc}}{R_R}=\dfrac{5v}{250\Omega}=20mA

Procedemos a calcular la corriente de base del transistor:

I_b=\dfrac{I_c}{h_{FE}}=\dfrac{20mA}{300}=66.67\mu A

El voltaje Vbe=0.7v dado que allí se encuentra un diodo de silicio. De esa forma podemos encontrar el voltaje que cae en la resistencia RB

V_{RB}=5v-0.7v = 4.3v

Usando la ley de ohm podemos encontrar la resistencia de base

R_B=\dfrac{V_{RB}}{I_b}=\dfrac{4.3}{66.67\mu A}=64.5k\Omega

Quiere decir que en la base debo colocar una resistencia de 64.5k\Omega o INFERIOR para garantizar la saturación del transistor en este circuito.

Modulo Relé con PIC

El modulo relé utiliza un transistor J3Y con un h_{FE}=300 y un relé de 5v. Corroboremos la resistencia de base del modulo con los cálculos mostrados anteriormente.

I_c=\dfrac{V_{cc}}{R_R}=\dfrac{5v}{70\Omega}=71.4mA
I_b=\dfrac{I_c}{h_{FE}}=\dfrac{71.4mA}{300}=238\mu A

El voltaje que cae en el led es de 1.95v, así la resistencia tendrá una caída de voltaje de:

V_{RB}=5v-1.95v-0.7v = 2.35v
R_B=\dfrac{V_{RB}}{I_b}=\dfrac{2.35v}{238\mu A}=9.873k\Omega

En el caso del modulo se encuentra instalado una resistencia de R_B=150\Omega lo cual está debajo del valor calculado y por lo tanto permite que el transistor trabaje en saturación. Además este valor permite una alta luminosidad en el led que indica el envio de la señal desde el PIC.

El circuito del modulo viene dado por:

Ejemplo

Vamos a activar una carga (bombillo) con un relé presionando un pulsador con nuestro microcontrolador PIC.

El circuito del Relé con PIC puede verse a continuación:

Relé con PIC
Relé con PIC
/******************************************************
 * ****************************************************
 * ****  CONTROL LAMPARA CON RELÉ                 *****
 * ****  By: SERGIO ANDRES CASTAÑO GIRALDO        *****
 * ****  https://controlautomaticoeducacion.com/  *****
 * ****                                           *****
 * ****************************************************
 */

#INCLUDE <18f4550.h>
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#USE DELAY(internal=4MHz)

// Memoria de los puertos
//18F4550
#BYTE PORTA = 0xf80
#BYTE PORTB = 0xf81
//16F887 / 16F877A
//#byte porta = 5 
//#byte portb = 6 

//Definiciones
#DEFINE Rele PORTA,0
#DEFINE Push PORTB,0

VOID MAIN()
{
   BOOLEAN start=0;
   SET_TRIS_A(0);             //Configura el puerto A como Salida
   SET_TRIS_B(0b00000001);    //Configura el puerto RB0 Entrada
   PORTA=0;
   WHILE(TRUE)                // Haga por siempre
   {
      //Pregunta por el botón
      if(bit_test(Push))
      {
         delay_ms(200);       //Anti-Debounce
         //Instrucción para contabilizar una pulsación del botón
         while(bit_test(Push))
         {
            delay_ms(200);       //Anti-Debounce
         }
         start = !start;      //Cambia el estado lógico de start
      }
      
      //Activa o desactiva el relé
      if(start)
         bit_set(Rele);    //Activa Rele
      else 
         bit_clear(Rele);  //Desactiva rele
   }
}

Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.