Suchcode

4-Kanal-Halbleiterrelais mit Arduino

4-Kanal-Halbleiterrelais mit Arduino

Dieser Projektleitfaden zeigt, wie man ein 4-Kanal-SSR-Modul (Solid-State-Relais) mit einem Arduino steuert. Diese Einrichtung ermöglicht es Ihnen, bis zu vier separate Wechselstromlasten, wie Glühbirnen oder kleine Geräte, ohne mechanische Kontakte oder hörbare Klickgeräusche zu schalten. Dies ist ideal zur Automatisierung der Hausbeleuchtung, zur Erstellung intelligenter Steckdosen, zum Bau industrieller Steuerungstafeln oder zur sicheren und geräuschlosen Steuerung von Heizelementen. Am Ende dieses Leitfadens werden Sie die Hardware, Verkabelung und den Code verstehen, die erforderlich sind, um Ihre eigenen AC-Steuerprojekte zum Leben zu erwecken.

Hardware-Komponenten

  • Arduino Uno (oder kompatible Platine)
  • 4-Kanal-Solid-State-Relaismodul (basierend auf OMRON G3MB-202P)
  • 4 AC-Glühlampen oder andere AC-Lasten (innerhalb der Modulbewertung)
  • Jumperdrähte (Dupont-Stecker empfohlen)
  • AC-Netzkabel und Stecker (für die Last)
  • Steckplatine (optional, für Prototyping)

Verdrahtungsanleitung

Bevor Sie beginnen, ist es entscheidend, daran zu denken, dass Sie mit gefährlicher AC-Netzspannung arbeiten. Trennen Sie immer die Stromversorgung, bevor Sie Verbindungen herstellen. Berühren Sie niemals das Modul oder seine Anschlüsse, während es mit Strom versorgt wird. Platzieren Sie das Modul auf einer nicht leitenden Oberfläche, wie Kunststoff oder Holz, um Kurzschlüsse zu vermeiden. (im Video bei 00:32)

Die Verdrahtung für dieses Projekt ist unkompliziert. Das Modul hat zwei Seiten: eine Niederspannungssteuerseite und eine Hochspannungslastseite. Auf der Steuerseite finden Sie die DC+ und DC- Pins für die Stromversorgung sowie vier Eingangs-Pins, die mit CH1, CH2, CH3 und CH4 beschriftet sind. Diese sind wie folgt mit dem Arduino verbunden:

  • DC+zu Arduino5V
  • DC-zu ArduinoGND
  • CH1zu Arduino Digitalpin2
  • CH2zu Arduino-Digital-Pin3
  • CH3zu Arduino digitalen Pin4
  • CH4zum digitalen Pin des Arduino5
4ch_Solid-State-Relais-3-Eingangspins

Auf der Lastseite hat jeder Relaiskanal zwei Schraubklemmen. Um eine Last anzuschließen, müssen Sie einen der Drähte von Ihrer AC-Stromquelle durchtrennen und die beiden Enden an diese Klemmen anschließen. Das Relais fungiert als Schalter, der den Stromkreis verbindet oder trennt. (im Video um 04:12) Für jede der vier Lasten verbinden Sie die beiden Drähte mit den entsprechenden Klemmen des Kanals. Das Diagramm unten veranschaulicht dieses Setup, wobei die Arduino-Pins links und die AC-Lasten rechts angeschlossen sind.

How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load
Wie man ein 4-Kanal-Solid-State-Relais mit Arduino verwendet, um eine 4 A Glühbirne oder Last zu steuern. — How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load

Code-Erklärung

Der bereitgestellte Arduino-Code für dieses Projekt ist so gestaltet, dass er einfach zu konfigurieren ist. Die wichtigsten benutzerkonfigurierbaren Teile befinden sich am Anfang des Sketches. (im Video bei 06:12)

Zuerst definierst du die Pins, die mit dem Relaismodul verbunden sind:

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

Als nächstes müssen Sie den Auslösertype so einstellen, dass er mit Ihrem spezifischen Modul übereinstimmt. Der Code unterstützt sowohl Hochauslöser- als auch Tiefauslösermodule. Wenn Sie sich nicht sicher sind, welchen Typ Sie haben, überprüfen Sie das Etikett auf dem Modul oder dessen Produktbeschreibung. (im Video um 06:48)

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

Schließlich können Sie die Standardverzögerungszeit, die in der Demotour verwendet wird, anpassen:

int wait = 2000;// delay time

Der Code enthält eine benutzerdefinierte Funktion,contrlSSR(), was die Steuerung jedes Relais vereinfacht. Um es zu verwenden, geben Sie drei Parameter an: die Relaisnummer (1-4), die Aktion (ssrONoderssrOFF), und die Dauer in Millisekunden, um diesen Zustand zu halten. Zum Beispiel,contrlSSR(1, ssrON, 5000);wird Relais 1 für 5 Sekunden einschalten. Diese Funktion übernimmt die Logik, um Ihre übergeordneten Befehle in die richtigen digitalen Signale für Ihren spezifischen Auslösertype zu übersetzen. (im Video bei 08:58)

Live-Projektvorführung

In der Demonstration wird der Code zunächst ausgeführt, um eine grundlegende Ein/Aus-Sequenz für einen einzelnen Kanal zu zeigen. Sie können sehen, wie die LED auf dem Modul aufleuchtet, während die entsprechende AC-Glühbirne eingeschaltet wird. (im Video bei :31) Der Code wird dann modifiziert, um zu demonstrieren, wie mehrere Kanäle in einer Sequenz gesteuert werden, indem sie nacheinander ein- und ausgeschaltet werden. Dies zeigt die Flexibilität des Setups zur Erstellung verschiedener Automatisierungsmuster. (im Video bei :51) Schließlich wird eine Schleife verwendet, um alle vier Kanäle durchzuschalten, indem jeder nacheinander ein- und dann ausgeschaltet wird. (im Video bei :12)

4ch_festkörperrelais-7-oben

Kapitel

  • [00:00] Einführung in das 4-Kanal SSR-Projekt
  • Sicherheitswarnungen für die Arbeit mit Wechselstrom
  • [01:10] Verständnis der SSR-Modulspezifikationen
  • [02:18] Modulanschlüsse und Steckverbinder
  • [04:12] Vorbereitung und Anschluss von Wechselstromlasten
  • [05:34] Den Modul mit dem Arduino verkabeln
  • [06:12] Code-Konfiguration und Erklärung
  • [08:58] Verwendung der Funktion contrlSSR()
  • [12:31] Live-Demonstration und Tests
  • [14:01] Fazit und zusätzliche Ressourcen

Bilder

Wie man ein 4-Kanal-Solid-State-Relais mit Arduino verwendet, um eine 4 A Glühbirne oder Last zu steuern.
Wie man ein 4-Kanal-Solid-State-Relais mit Arduino verwendet, um eine 4 A Glühbirne oder Last zu steuern.
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
Sprache: 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);     
  }
}

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Fritzing-Datei

Andere Dateien