Arduino Motorsteuerung per Relais

Um Motoren per Arduino zu steuern gibt es eine ganze Reihe von Möglichkeiten. Eine sehr zuverlässige ist die Steuerung per Relais.

Bei der Motorsteuerung per Relais wird der zu steuernde Motor (z.B. Linearmotor, Elektromotor, Pumpenmotor) mit einer externen Spannungsversorgung über ein oder zwei Relais verbunden. Wenn der Motor nur ein- oder ausgeschaltet werden soll, reicht ein Relais, soll auch die Drehrichtung geändert werden, benötigt man zwei.

Schaltplan

Arduino Motorsteuerung Relais

Es bietet sich an, fertige Relais-Module zu verwenden. Sie sind relativ günstig und man spart sich Verstärkerschaltung und Freilaufdioden, die man zum Betreiben der Relais benötigen würde. 

Die Schaltstufen der Relais werden als Umschalter verwendet, können also entweder Plus oder Minus an den Motor schicken. 

Funktionsweise

Zwei digitale Pins des Arduino-Boards steuern die Relais. In der Tabelle lässt sich das Verhalten ablesen:

Out1Out2Relais-Output1Relais-Output2Motor
LOWLOWPlusPluskeine Bewegung
LOWHIGHPlusMinusRechtslauf
HIGHLOWMinusPlusLinkslauf
HIGHHIGHMinusMinuskeine Bewegung

Code: Arduino Motorsteuerung mit Relais

int relais1pin = 7;
int relais2pin = 10;

void setup() {
  pinMode(relais1pin,OUTPUT);
  pinMode(relais2pin,OUTPUT);
}

void loop() {
  // keine Bewegung
  digitalWrite(relais1pin,HIGH);
  digitalWrite(relais2pin,HIGH);
  delay(1000);

  // Rechtslauf
  digitalWrite(relais1pin,HIGH);
  digitalWrite(relais2pin,LOW);
  delay(1000);

  // keine Bewegung
  digitalWrite(relais1pin,LOW);
  digitalWrite(relais2pin,LOW);
  delay(1000);

  // Linkslauf
  digitalWrite(relais1pin,LOW);
  digitalWrite(relais2pin,HIGH);
  delay(1000);

}

Einfache Steuerung mit Basis-Bauteilen

Schaltrelais schaltet Motor

Im einfachsten Fall will man einen Motor nur an- oder ausschalten. Dafür bietet sich eine Relaisschaltung an. Je nach Größe des Motors kann so ein extra Netzteil gewählt werden. Man benötigt einen NPN-Transistor mit Vorwiderstand (500 – 1kOhm) und eine Freilaufdiode: z.B. die 1N4001.

Der Nachteil ist, dass der Motor nur in eine Richtung und in einer Geschwindigkeit laufen kann.


Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book an!

Darin findest du die beliebtesten Arduino-Projekte von StartHardware. Jedes Projekt umfasst Schaltplan, Bauteile, Beschreibung und Code. Für Einsteiger gibt es ein Arduino-Schnellstart-Kapitel und einen kompakten Programmierkurs. Zusätzlich findest du Zwischenkapitel mit Expertenwissen zu den Komponenten, die verwendet werden. Alle Code-Beispiele gibt es natürlich als Download.

Weitere Informationen findest du auf der Produktseite. Klicke jetzt auf den Button, um Details anzusehen.


8 Kommentare zu »Arduino Motorsteuerung per Relais«

  1. Servus,
    vielen Dank für die tollen Einführungen und die Webseite. Als totaler Anfänger hätte ich eine – vermutlich ziemlich dumme – Frage: was nehme ich denn hier zb für einen 12V Motor für ein 12V Netzteil her? Und wie verbindet man das am einfachsten mit dem Steckbrett?
    Vielen Dank und viele Grüße

  2. Hallo,
    erstmal Danke für die Mühe, die Tutorials haben mir gut gefallen. Ich hätte noch eine Frage zu dem Schaltrelais, was nimmt man da am Besten? Hast du da evtl. ne Reichelt oder Conrad Empfehlung!?

  3. @Tom: Du kannst aus der Arduino-Software den Blink-Code benutzen (Examples>Digital>Blink) und den Pin ändern von 13 zu 3.

  4. Guten Morgen
    ich will versuchen, diese Schaltung nachzubauen und damit versuchen einen normalen Motor zum laufen zu kriegen. Wie sieht denn der C-Code dazu aus?
    danke für die Hilfe
    Tom

  5. Hallo Renke,

    vielen Dank für die Info! Ich hab es geändert und hoffe, jetzt stimmt es.

    Liebe Grüße

    Stefan*

  6. Moin Stefan,

    ich glaube auf der Abgebildung stimmen die Verbindungen am Transistor nicht ;)

    Beste Grüße
    Renke

Comments are closed.

Datenschutz
Stefan Hermann, Besitzer: Stefan Hermann (Firmensitz: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl:
Datenschutz
Stefan Hermann, Besitzer: Stefan Hermann (Firmensitz: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: