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
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.

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 SSRAls 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 usedSchließlich können Sie die Standardverzögerungszeit, die in der Demotour verwendet wird, anpassen:
int wait = 2000;// delay timeDer 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)
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
++
/*
* 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
-
AmazonSolid State relay on Amazonamzn.to
-
eBay
-
AliExpressSolid State relay 1ch 2ch 4ch and 8ch on AliExpresss.click.aliexpress.com
-
AliExpressSolid State relay 1ch 2ch 4ch and 8ch on AliExpress-2s.click.aliexpress.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Fritzing-Datei
-
Solid State Hochpegelrelais-Modul
Solid State High Level Relay Module .fzpz0.04 MB
Andere Dateien
-
Datenblatt für GM3B Festkörperrelais
robojax-solid-state-relay_G3MB.pdf0.31 MB