Relais helfen, Stromkreise mit höheren Spannungen, z.B. 12V, 24V oder sogar 240V mit Steuerelektronik geringer Voltzahlen (meist mit 3,3V oder 5V) zu regeln. Dabei wird mit einem Elektromagneten ein mechanischer Schaltvorgang ausgelöst.
Speziell für Mikrocontroller (Arduino, ATtiny, RaspberryPi) werden fertig Relaismodule angeboten, die meist mit 5V (Gleichstrom) direkt über die GPIOs des Mikrocontrollers betrieben werden können und eine Ausgangsspannung von bis zu 250V (Wechselstrom) vertragen können.
Es gibt verschiedene Typen der Relais-Module mit einem, zwei oder mehreren Kanälen, d.h. unabhängig voneinander steuerbaren Relais für verschiedene Lasten.
Es gibt recht viele verschiedene Varianten von Relais-Modulen auf dem Markt, hier wird ein sehr weit verbreiteter Typ gezeigt. Wichtig zu wissen ist, dass hierbei schon eine Freilaufdiode vorhanden ist, so dass das Modul direkt mit dem Mikrocontroller verwendet werden kann. Beim Kauf ist darauf zu achten, dass der Eingang 5V (oder beim ESP32 3,3V) besitzt, damit das Relais gesteuert werden kann. (Hinweis: Im folgenden Bild sind 12V nötig, wie man auf dem Relais selbst erkennen kann).
Die meisten Relais-Module besitzen eine (rote) Power-LED, die durchgängig leuchtet, solange das Relais betriebsbereit ist (d.h. unter Spannung steht). Eine weitere Status-LED zeigt an ob das Relais gerade geschaltet (aktiv) ist.
Pin | Bedeutung |
---|---|
NO | "normally open" = Arbeitskontakt: Im Ruhezustand ist dieser Ausgang offen, d.h. es fließt erst Strom, wenn das Relais ausgelöst wird. |
NC | "normally closed" = Ruhekontakt: Im Ruhezustand ist dieser Ausgang geschlossen, d.h. es fließt Strom. Erst wenn das Relais ausgelöst wird, wird dieser Ausgang geschlossen. |
COM | "common pin": Der Ground bzw. Masse-Anschluss (gemeinsamer Anschluss) |
Diesen Aufbau nur verwenden, wenn der verwendete Mikrocontroller eine 5V Spannungsversorgung liefert! Bei anderen Spannungswerten die u.g. Hinweise befolgen.
Dieser einfache Sketch schaltet über das Relais einen Motor bzw. Lüfter im 5-Sekunden-Takt ein und aus.
Hinweis: Bei manchen Relais-Modulen muss HIGH und LOW vertauscht verwendet werden,
um dasselbe Resultat zu erzielen!
#define PIN_RELAY 8
void setup()
{
pinMode(PIN_RELAY, OUTPUT);
}
void loop()
{
digitalWrite(PIN_RELAY, HIGH);
delay(5000);
digitalWrite(PIN_RELAY, LOW);
delay(5000);
}
Liegt die Ausgangsspannung des verwendeten Mikrocontrollers unter 5V (wie beispielsweise
beim RaspberryPi, so empfiehlt sich die Verwendung von Relais-Modulen mit
(optionaler) Potentialtrennung. Diese sind leicht erkennbar an den zusätzlichen Pins (markiert
mit VCC JD_VCC
oder VCC JD_VCC GND
), die meist bei Auslieferung
mit einem Jumper überbrückt sind. (siehe obige Abbildung)
Um den Mikrocontroller nicht zu beschädigen wird nun zunächst der o.g. Jumper entfernt und
der VCC-Anschluss (+5V) einer 5V-Spannungsquelle mit JD_VCC des Relais-Moduls verbunden.
VCC des Mikrocontrollers wird wie gehabt an VCC des Relais-Eingangs verbunden.
Alle GND-Anschlüsse (Masse bzw. (-)
) müssen dennoch miteinander verbunden sein.
(Nicht die Masse des Ausgangsstromkreises verbinden!)
Im Gegensatz zu den mechanisch ausgelösten Relais gibt es auch Halbleiterrelais (solid state relay SSR), die zwar durch Einsatz von integrierten Optokopplern eine galvanische Trennung und verschleißfreien Betrieb gewährleisten, aber nur zum Schalten von Wechselspannung geeignet sind.
zurück