Folgen Sie diesen Schritten, um einen Schrittmotortreiber mit einem Arduino zu verbinden.
Verdrahtungsschritte
- 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+.
- Verbinden Sie die PUL−- und DIR−-Pins des Treibers mit dem GND-Pin des Arduino, um eine gemeinsame Masse herzustellen.
- Schreiben Sie ein Programm auf Ihrem Computer, das Pin 9 als Puls- (PUL-) Ausgang und Pin 8 als Richtungs- (DIR-) Ausgang zuweist.
- 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 zweifor-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 FunktionendigitalWrite()unddelayMicroseconds()erzeugen gemeinsam die Pulsfolge und steuern die Drehgeschwindigkeit. - Ein Aufruf von
delay(1000)nach jederfor-Schleife pausiert das Programm für 1 Sekunde, bevor die Richtung gewechselt wird.