Schnittstelle Ein-Kanal-Relaismodul mit Arduino

Manchmal möchten Sie, dass Ihr Arduino wechselstrombetriebene Geräte wie Lampen, Ventilatoren oder andere Haushaltsgeräte steuert. Aber da der Arduino mit 5 Volt arbeitet, kann er diese Geräte mit höherer Spannung nicht direkt steuern.

Da kommt das Relaismodul ins Spiel. Sie können ein Relaismodul verwenden, um das Wechselstromnetz zu steuern, und den Arduino, um das Relais zu steuern.

In diesem Tutorial erfahren Sie, wie Sie das Ein-Kanal-Relaismodul einrichten, um eine Lampe oder ein anderes Gerät einzuschalten, aber lassen Sie uns mit einer kurzen Einführung in Relais beginnen.

Wie funktionieren Relais?

Ein Relais ist ein elektromagnetischer Schalter, der durch einen relativ kleinen Strom betrieben wird, der viel größeren Strom steuern kann.

Hier ist eine einfache Animation, die zeigt, wie das Relais einen Stromkreis benutzt, um einen anderen Stromkreis einzuschalten.

Relais Arbeitsanimation.gif

Anfänglich ist der erste Stromkreis ausgeschaltet und es fließt kein Strom durch ihn, bis etwas (entweder ein Sensor oder das Schließen eines Schalters) ihn einschaltet. Der zweite Stromkreis ist ebenfalls ausgeschaltet.

Wenn ein kleiner Strom durch den ersten Stromkreis fließt, aktiviert er den Elektromagneten, der ein Magnetfeld rundherum erzeugt.

Der erregte Elektromagnet zieht einen Kontakt im zweiten Stromkreis zu sich hin, schließt den Schalter und lässt einen viel größeren Strom durch den zweiten Stromkreis fließen.

Wenn der Strom aufhört zu fließen, fährt der Kontakt zurück in seine ursprüngliche Position und schaltet den zweiten Stromkreis wieder aus.

Relais-Grundlagen

Typischerweise hat das Relais 5 Pins, drei davon sind Hochspannungsanschlüsse (NC, COM und NO), die mit dem zu steuernden Gerät verbunden werden.

Relais-Pinbelegung

Der Netzstrom gelangt am gemeinsamen Anschluss (COM) in das Relais. Während die Verwendung der Klemmen NC & NO davon abhängt, ob Sie das Gerät ein- oder ausschalten wollen.

Zwischen den beiden übrigen Pins (Spule1 und Spule2) befindet sich eine Spule, die wie ein Elektromagnet wirkt.

Relais Arbeitsanimation2.gif

Wenn Strom durch die Spule fließt, wird der Elektromagnet aufgeladen und bewegt die internen Kontakte des Schalters. Zu diesem Zeitpunkt wird der normalerweise offene (NO) Anschluss mit dem gemeinsamen (COM) verbunden und der normalerweise geschlossene (NC) Anschluss wird getrennt.

Wenn der Strom aufhört durch die Spule zu fließen, kehrt der interne Kontakt in seinen ursprünglichen Zustand zurück, d.h. Die Öffnerklemme verbindet sich mit der gemeinsamen Klemme (COM), und die Schließerklemme öffnet sich wieder.

Dies ist bekannt als ein einpoliger Umschalter (SPDT).

Ein-Kanal-Relaismodul

Für dieses Tutorial werden wir ein einkanaliges Relaismodul verwenden. Es gibt jedoch auch Module mit zwei, vier und acht Kanälen. Sie können dasjenige auswählen, das Ihren Bedürfnissen am besten entspricht.

Ein-Kanal-Relaismodul

Dieses Modul ist dafür ausgelegt, nur ein einziges Gerät mit hoher Leistung von Ihrem Arduino zu schalten. Es hat ein Relais mit einer Nennleistung von bis zu 10A pro Kanal bei 250VAC oder 30VDC.

LEDs

Auf dem Relaismodul befinden sich zwei LEDs, die die Position des Relais anzeigen.

Eine Kanal-Relaismodul-LED

Die Power-LED leuchtet, wenn das Modul mit Strom versorgt wird. Die Status-LED leuchtet, wenn das Relais aktiviert ist.

Ausgangsklemmenblock

Wir haben drei Kanäle des Relais auf blaue Schraubklemmen aufgeteilt. Die Kanäle sind für ihre Funktion beschriftet: common (COM), normally closed (NC) und normally open (NO)

Die Namen erklären den Zustand des Kanals in Bezug auf den Schalter im Ruhezustand.

Ein-Kanal-Relais-Modul-Ausgangsklemme

COM (Common): Dies ist der Pin, den Sie mit dem Signal (in unserem Fall Netzstrom) verbinden sollten, das Sie schalten wollen.

NC (Normally Closed): Eine normal geschlossene Konfiguration wird verwendet, wenn Sie das Relais standardmäßig ausschalten möchten. In dieser Konfiguration ist das Relais immer geschlossen und bleibt geschlossen, bis Sie ein Signal vom Arduino an das Relaismodul senden, um den Stromkreis zu öffnen.

NO (Normally Open): Eine normalerweise offene Konfiguration funktioniert in die andere Richtung, in der das Relais immer offen ist, bis Sie ein Signal vom Arduino an das Relaismodul senden, um den Stromkreis zu schließen.

Steuerpins

Auf der anderen Seite des Moduls befinden sich drei Pins – ein Ground-Pin und ein VCC-Pin, um das Modul mit Strom zu versorgen, und ein Input-Pin IN, um das Relais zu steuern.

Ein-Kanal-Relaismodul-Steuerpins

Der Eingangs-Pin ist active low, d.h. das Relais wird aktiviert, wenn Sie den Pin LOW ziehen und es wird inaktiv, wenn Sie den Pin HIGH ziehen.

Pinout des Einkanal-Relaismoduls

Lassen Sie uns einen Blick auf das Pinout des Einkanal-Relaismoduls werfen.

Pinbelegung des Einkanal-Relaismoduls

Steuerungspins:

Der Pin IN wird zur Steuerung des Relais verwendet. Es ist ein aktiver Low-Pin, d.h. das Relais wird aktiviert, wenn Sie den Pin LOW ziehen und es wird inaktiv, wenn Sie den Pin HIGH ziehen.

GND ist der Masseanschluss.

VCC-Pin versorgt das Modul mit Strom.

Ausgangsklemme:

COM-Pin ist mit dem Signal verbunden, das Sie schalten wollen.

NC-Pin ist standardmäßig mit dem COM-Pin verbunden, es sei denn, Sie senden ein Signal vom Arduino an das Relaismodul, um die Verbindung zu unterbrechen.

Der NO-Pin ist standardmäßig offen, es sei denn, Sie senden ein Signal vom Arduino an das Relaismodul, um die Verbindung herzustellen.

Ein-Kanal-Relaismodul mit Arduino UNO verdrahten

Nun, da wir alles über das Relaismodul wissen, ist es an der Zeit, es in Betrieb zu nehmen!

Warnung:
Dieses Board interagiert mit HOHER Wechselspannung. Ein falscher oder unsachgemäßer Gebrauch kann zu schweren Verletzungen oder zum Tod führen. Daher ist es für Personen gedacht, die Erfahrung im Umgang mit HOHER Wechselspannung haben und sich damit auskennen.

Lassen Sie uns unser Relaismodul einrichten, um eine Lampe einzuschalten.

Beginnen Sie, indem Sie den VCC-Pin des Moduls mit 5V am Arduino und den GND-Pin mit Masse verbinden. Verbinden Sie den digitalen Pin #6 mit dem IN-Eingangspin für die Steuerung des Relais.

Sie müssen auch das Relaismodul in einer Linie mit dem AC-betriebenen Gerät (Lampe in unserem Fall) platzieren, das Sie zu steuern versuchen. Sie müssen Ihre stromführende AC-Leitung durchtrennen und ein Ende des durchtrennten Drahtes (der aus der Wand kommt) an COM und das andere an NC oder NO anschließen, je nachdem, was der Ruhezustand Ihres Geräts sein soll.

Wenn Ihr AC-Gerät die meiste Zeit ausgeschaltet sein wird und Sie es gelegentlich einschalten wollen, sollten Sie das andere Ende an NO anschließen. Schließen Sie an NC an, wenn das Gerät die meiste Zeit eingeschaltet sein wird.

Für dieses Projekt wollen wir, dass unsere Lampe im Ruhezustand aus ist und leuchtet, wenn wir das Relais aktivieren, also werden wir ein Ende an COM und das andere an NO anschließen.

Die folgende Abbildung zeigt die Verdrahtung.

Verdrahtung eines einkanaligen Relaismoduls mit Arduino

Arduino Code

Nun, da unsere Hardware eingerichtet ist, lassen Sie uns einen Blick auf den Code werfen, der die Lampe einschaltet.

Hier ist der einfache Code, der die Lampe für 3 Sekunden ein- und für die nächsten 3 Sekunden ausschaltet.

int RelayPin = 6;void setup() {// Set RelayPin as an output pinpinMode(RelayPin, OUTPUT);}void loop() {// Let's turn on the relay...digitalWrite(RelayPin, LOW);delay(3000);// Let's turn off the relay...digitalWrite(RelayPin, HIGH);delay(3000);}

Code-Erklärung:

Die Steuerung eines Relaismoduls mit dem Arduino ist so einfach wie die Steuerung einer LED. Der Sketch beginnt damit, den Pin zu deklarieren, an dem der Eingang des Relaismoduls angeschlossen ist.

int RelayPin = 6;

In der Setup-Funktion definieren wir diesen Pin als Ausgang.

pinMode(RelayPin, OUTPUT);

Nun schalten wir in der Schleifenfunktion das Gerät EIN/AUS, indem wir jeweils den Relais-Pin LOW/HIGH ziehen.

digitalWrite(RelayPin, LOW) zieht den Pin LOW während digitalWrite(RelayPin, HIGH) den Pin HIGH zieht.

digitalWrite(RelayPin, LOW);delay(3000);digitalWrite(RelayPin, HIGH);delay(3000);

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.