Arduino Relay Control 5V 12V

Gerade bei Mikrocontrollern werden sehr gerne Relais verwendet, um große Spannungen und Ströme galvanisch getrennt zu schalten. Es gibt auf den Markt sehr viele fertige Relay-Module, die auch sehr gut auf die Betriebs- und Steuerspannung von Mikrocontrollern angepasst sind und auch alle notwendigen Bauteile bereits OnBoard haben. Allerdings gibt es hier aber auch viele Nachteile und Einschränkungen, wie z. B. die fixe 5-Volt Spulenspannung, die geringe Flexibilität mit den fertigen Leiterplatten oder auch die geringe Anzahl an verschiedenen Relais, die auf der Platine verbaut sind. In diesem Artikel geht es um die Ansteuerung von verschiedenen Relais, an unterschiedlichen Betriebsspannungen über die digitalen Ausgänge von Mikrocontrollern mit 5V oder 3,3V.

Relais über Transistor steuern

In der ersten Version wird ein Relais mit einer Betriebsspannung von 5 Volt über den Arduino gesteuert. Der große Vorteil von dieser Schaltung ist, dass man keine separate Stromversorgung für das Relais braucht. Über einen einfachen NPN-Transistor (BC547) wird hier der negative Pol vom Relais geschalten. Dabei wird einfach ein digitaler Ausgang vom Arduino über einen Widerstand (10K) mit der Basis vom Transistor verbunden. Der Kollektor vom Transistor geht direkt an die Relaisspule weiter. Der Emitter wird in dieser Schaltung mit der Masse verbunden. Auf dem anderen Anschluss der Spule liegen dauerhaft 5 Volt an. Der Transistor ist notwendig, um damit die Leistung der Spule zu schalten, da der digitale Ausgang von Arduino für die Spule zu schwach ist. Liegt an der Basis vom Transistor die Spannung an, so schaltet dieser die Masse zur Spule durch. Parallel zur Spule befindet sich noch eine Diode vom Typ N4001. Nachteil dieser Schaltung: Sie funktioniert nicht mit Mikrocontrollern die mit 3,3 Volt arbeiten.

Arduino 5V Relay BC547

Relais galvanisch getrennt steuern

Der Aufbau dieser Schaltung ist mit der ersten teilweise identisch, allerdings bietet diese Schaltung einige Vorteile mehr. Mit dieser Schaltung ist es möglich, Relais mit verschiedenen Betriebsspannungen zu steuern. Zusätzlich ist der Steuerkreis vom Relais galvanisch über einen Optokoppler mit den Kreis vom Mikrocontroller getrennt. Dadurch können Relais auch von Mikrocontrollern mit 3,3 Volt gesteuert werden. Die Betriebsspannung von den Relais ist hier variabel, was sich hervorragend für den Betrieb von Relais mit einer Spulenspannung von 12 oder 24 Volt eignet. Neben dem Optokoppler selbst wird in dieser Schaltung ein weiterer Widerstand (470 Ohm) für die Fotodiode benötigt. Die Werte von Transistor, Vorwiderstand und Diode können beim Betrieb mit 12-Volt Relais von der oberen Schaltung übernommen werden.

Arduino 12V Relay BC547 Optocoupler

Warum eine Diode vor dem Relais?

Wie bei induktiven Verbrauchen (Spulen, Motoren ...) üblich, entstehen Abschaltspitzen. Das sind oft Spannungen von über 100 Volt, welche dann aus der Spule kommen. Über die Diode wird die Abschaltspannung auf die übliche Durchlassspannung der Diode begrenzt. Dadurch werden gefährlich hohe Spannungen, welche beispielsweise den Transistor oder Mikrocontroller beschädigen könnten, zurückgehalten. Durch den Spannungsabbau in der Diode wird die Abschaltezeit vom Relais minimal verlängert, was aber in den meisten Fällen zu vernachlässigen ist. Alternativ können auch Widerstände oder Zehnerdioden verbaut werden.

Arduino Beispielcode

Für einen einfachen Test der Schaltung kann das Arduino Blink Beispiel verwendet werden. Über den Pin 13 wird das Relais immer für eine Sekunde angezogen und anschließend für eine Sekunde wieder losgelassen.

Hinweis zu den Bauteilen

Die empfohlenen Bauteile sind gängige Bausteine, jedoch müssen diese nicht zwingend mit der Empfehlung identisch sein. So können die Widerstände problemlos um etwa 10 % vom Wert abweichen. Auch beim Transistor, Optokoppler oder der Diode können abweichende Werte verwendet werden, ohne dass die Schaltfunktion großartig beeinflusst wird. Wichtig: Transistor muss NPN sein.

Oft gelesen

Anzeige:

Social Media

Newsletter