Código de búsqueda

Relé de estado sólido de 4 canales con Arduino

Relé de estado sólido de 4 canales con Arduino

Esta guía del proyecto demuestra cómo controlar un módulo de relé de estado sólido (SSR) de 4 canales usando un Arduino. Esta configuración te permite encender y apagar hasta cuatro cargas de CA independientes, como bombillas o pequeños electrodomésticos, sin contactos mecánicos ni sonidos de clic audibles. Esto es ideal para automatizar la iluminación del hogar, crear tomas de corriente inteligentes, construir paneles de control industrial o gestionar elementos de calentamiento de manera segura y silenciosa. Al final de esta guía, entenderás el hardware, el cableado y el código necesarios para llevar tus propios proyectos de control de CA a la vida.

Componentes de hardware

  • Arduino Uno (o placa compatible)
  • Módulo de relé de estado sólido de 4 canales (basado en OMRON G3MB-202P)
  • 4 bombillas de CA u otras cargas de CA (dentro de la capacidad del módulo)
  • Cables de puente (se recomiendan conectores Dupont)
  • Cable y enchufe de corriente alterna (para la carga)
  • Placa de pruebas (opcional, para prototipos)

Guía de cableado

Antes de comenzar, es fundamental recordar que estás trabajando con voltaje peligroso de CA de red. Siempre desconecta la energía antes de realizar cualquier conexión. Nunca toques el módulo o sus conexiones mientras esté alimentado. Coloca el módulo sobre una superficie no conductora, como plástico o madera, para evitar cortocircuitos. (en el video a las 00:32)

El cableado para este proyecto es sencillo. El módulo tiene dos lados: un lado de control de bajo voltaje y un lado de carga de alto voltaje. En el lado de control, encontrará los pines DC+ y DC- para la alimentación, y cuatro pines de entrada etiquetados como CH1, CH2, CH3 y CH4. Estos están conectados al Arduino de la siguiente manera:

  • DC+a Arduino5V
  • DC-a ArduinoGND
  • CH1al pin digital de Arduino2
  • CH2al pin digital de Arduino3
  • CH3al pin digital de Arduino4
  • CH4a pin digital de Arduino5
4ch_relay de estado sólido-3 pines de entrada

En el lado de carga, cada canal de relé tiene dos terminales de tornillo. Para conectar una carga, debes cortar uno de los cables de tu fuente de alimentación de CA y conectar los dos extremos a estos terminales. El relé actúa como un interruptor, conectando o desconectando el circuito. (en el video a las 04:12) Para cada una de las cuatro cargas, conectarás sus dos cables a los terminales del canal correspondiente. El diagrama a continuación ilustra esta configuración, con los pines de Arduino a la izquierda y las cargas de CA conectadas a la derecha.

How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load
Cómo utilizar un relé de estado sólido de 4 canales con Arduino para controlar una bombilla o carga de 4 A — How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load

Explicación del código

El código de Arduino proporcionado para este proyecto está diseñado para ser fácil de configurar. Las partes clave configurables por el usuario están en la parte superior del boceto. (en el video a las 06:12)

Primero, defines los pines conectados al módulo de relé:

int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR

A continuación, debes configurar el tipo de disparador para que coincida con tu módulo específico. El código es compatible con módulos de activación alta y baja. Si no estás seguro de qué tipo tienes, verifica la etiqueta en el módulo o en su listado de productos. (en el video a las 06:48)

int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used

Finalmente, puedes ajustar el tiempo de retraso predeterminado utilizado en el bucle de demostración:

int wait = 2000;// delay time

El código incluye una función personalizada,contrlSSR(), que simplifica el control de cada relé. Para usarlo, necesitas proporcionar tres parámetros: el número del relé (1-4), la acción (ssrONossrOFF), y la duración en milisegundos para mantener ese estado. Por ejemplo,contrlSSR(1, ssrON, 5000);encenderá el relé 1 durante 5 segundos. Esta función maneja la lógica de traducir sus comandos de alto nivel en las señales digitales correctas para su tipo de activador específico. (en el video a las 08:58)

Demostración de Proyecto en Vivo

En la demostración, el código se ejecuta primero para mostrar una secuencia básica de encendido/apagado para un único canal. Puedes ver el LED en el módulo encenderse a medida que la bombilla de AC correspondiente se enciende. (en el video a las 12:31) Luego, el código se modifica para demostrar el control de múltiples canales en secuencia, encendiéndolos y apagándolos uno por uno. Esto resalta la flexibilidad de la configuración para crear varios patrones de automatización. (en el video a las 12:51) Finalmente, se utiliza un bucle para recorrer los cuatro canales, encendiendo cada uno y luego apagándolo en secuencia. (en el video a las 13:12)

4ch_relay_de_estado_sólido-7-superior

Capítulos

  • [00:00] Introducción al Proyecto SSR de 4 Canales
  • [00:32] Advertencias de seguridad para trabajar con CA
  • [01:10] Comprendiendo las Especificaciones del Módulo SSR
  • [02:18] Pines de módulo y conectores
  • [04:12] Preparando y conectando cargas de CA
  • [05:34] Conectar el módulo al Arduino
  • [06:12] Configuración y Explicación del Código
  • [08:58] Usando la función contrlSSR()
  • [12:31] Demostración y Prueba en Vivo
  • [14:01] Conclusión y Recursos Adicionales

Imágenes

Cómo utilizar un relé de estado sólido de 4 canales con Arduino para controlar una bombilla o carga de 4 A
Cómo utilizar un relé de estado sólido de 4 canales con Arduino para controlar una bombilla o carga de 4 A
4ch solid state relay 7 top
4ch solid state relay 7 top
4ch solid state relay 6 left top
4ch solid state relay 6 left top
4ch solid state relay 5 top
4ch solid state relay 5 top
4ch solid state relay 4 top side
4ch solid state relay 4 top side
4ch solid state relay 3 input pins
4ch solid state relay 3 input pins
4ch solid state relay 2 side connector
4ch solid state relay 2 side connector
4ch solid state relay 1 side view
4ch solid state relay 1 side view
184-Arduino code to control a four-channel solid-state relay
Idioma: C++
++
/*
 * This is code to control 4-channel Solid State Relay (SSR) modules using Arduino.
 * Written by Ahmad Shamshiri for Robojax.com 
 * on January 11, 2019 at 21:03 in Ajax, Ontario, Canada.

  Watch instruction video for this code: https://youtu.be/Rfaz5qOLKYQ
  
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */


int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used
int wait = 2000;// delay time

int ssrON, ssrOFF;// used for two different SSR trigger type. Do not change

void setup() {
  
    Serial.begin(9600);// prepare Serial monitor
    // set pins as output
    if(triggerType)
    {
      ssrON = HIGH;
      ssrOFF = LOW;
    }else{
      ssrON = LOW;
      ssrOFF = HIGH; 
    }
 for(int i=0; i < 4; i++)
 {    
    pinMode(ssr[i], OUTPUT);// sent i(th) pin as output
    digitalWrite(ssr[i], ssrOFF); // Turn the SSR OFF  
 }
               
    Serial.println("Robojax 4 SSR ");

    
}

void loop() {

  // this is just a demo
 for(int i=0; i < 4; i++)
 {
      contrlSSR(i+1, ssrON, 2000); // turn SSRs one by one ON
 }// for loop


 for(int i=0; i < 4; i++)
 {
      contrlSSR(i+1, ssrOFF, 1000);  // turn SSRs one by one OFF
 }// for loop
    

 
   contrlSSR(1, ssrON, 2000);  // turn SSR1 ON for 2 seconds
   contrlSSR(2, ssrON, 3000);// turn SSR2 ON for 3 seconds
   contrlSSR(4, ssrON, 2000);// turn SSR4 ON for 2 seconds
 
   contrlSSR(1, ssrOFF, 0); // turn ssr1 OFF
   contrlSSR(4, ssrOFF, 0);// turn ssr4 OFF
   contrlSSR(2, ssrOFF, 0);// turn ssr2 OFF
    
   delay(2000);
    Serial.println("====== loop done ==");

}// loop



/*

 *  contrlSSR turns OFF or ON SSR
 *  January 11, 2019
 * @param  is an integer, SSR number starts with 1
 * @param control should be ssrON or ssrOFF 
 * @param wait is a number in milliseconds. 

 * 
 */
void contrlSSR(int number, int control, int wait)
{
  if(control == HIGH)
  {
     Serial.print("SSR "); Serial.print(number);Serial.println(" ON");
      digitalWrite(ssr[number-1], ssrON); // Turn the SSR ON    
      delay(wait); 
  }else{
     Serial.print("SSR "); Serial.print(number);Serial.println(" OFF");
      digitalWrite(ssr[number-1], ssrOFF); // Turn the SSR OFF    
      delay(wait);     
  }
}

Cosas que podrías necesitar

Recursos y referencias

Aún no hay recursos.

Archivos📁

Archivo de Fritzing

Otros archivos