Wie man einen Schrittmotortreiber mit einem Arduino verdrahtet

D

Daniel Zhang

Zuletzt aktualisiert am Aug 17, 2026

Folgen Sie diesen Schritten, um einen Schrittmotortreiber mit einem Arduino zu verbinden.

Verdrahtungsschritte

  1. Verbinden Sie die PUL+- und DIR+-Pins des Treibers mit digitalen Pins des Arduino. Verwenden Sie beispielsweise Pin 9 für PUL+ und Pin 8 für DIR+.
  2. Verbinden Sie die PUL−- und DIR−-Pins des Treibers mit dem GND-Pin des Arduino, um eine gemeinsame Masse herzustellen.
  3. Schreiben Sie ein Programm auf Ihrem Computer, das Pin 9 als Puls- (PUL-) Ausgang und Pin 8 als Richtungs- (DIR-) Ausgang zuweist.
  4. Laden Sie das Programm auf den Arduino hoch und versorgen Sie den Arduino über eine 5-V-Stromversorgung.

Wichtig: Stellen Sie sicher, dass der Arduino und der Schrittmotortreiber eine gemeinsame Masse (GND) teilen. Überprüfen Sie vor dem Einschalten des Systems, dass alle Spannungspegel kompatibel sind.

Schaltplan

Der folgende Schaltplan zeigt die grundlegende Verdrahtung zwischen Arduino, Schrittmotortreiber, Stromversorgung und Schrittmotor.

Beispielcode

int x;

void setup() {
  pinMode(9, OUTPUT); // Pin 9 als PUL (Puls)
  pinMode(8, OUTPUT); // Pin 8 als DIR (Richtung)
}

void loop() {
  digitalWrite(8, HIGH); // Richtung setzen: HIGH
  for (x = 0; x < 400; x++) { // 400 Schritte (eine Umdrehung bei 400 Pulsen/Umdrehung Treibereinstellung)
    digitalWrite(9, HIGH);
    delayMicroseconds(500); // Steuert die Drehgeschwindigkeit
    digitalWrite(9, LOW);
    delayMicroseconds(500); // Steuert die Drehgeschwindigkeit
  }
  delay(1000); // Pause für 1 Sekunde

  digitalWrite(8, LOW); // Richtung setzen: LOW
  for (x = 0; x < 400; x++) {
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
  }
  delay(1000); // Pause für 1 Sekunde
}

Code-Erklärung

  • Die Funktion pinMode() konfiguriert Pin 9 als Puls- (PUL-) Ausgang und Pin 8 als Richtungs- (DIR-) Ausgang.
  • Die Funktion loop() enthält zwei for-Schleifen, die jeweils 400 Schritte befehlen. Die erste Schleife setzt DIR auf HIGH und dreht den Motor in eine Richtung; die zweite Schleife setzt DIR auf LOW und dreht ihn in die entgegengesetzte Richtung. Die Funktionen digitalWrite() und delayMicroseconds() erzeugen gemeinsam die Pulsfolge und steuern die Drehgeschwindigkeit.
  • Ein Aufruf von delay(1000) nach jeder for-Schleife pausiert das Programm für 1 Sekunde, bevor die Richtung gewechselt wird.