In diesem Beitrag zeige ich dir, wie du einen Schrittmotor 🌀 ganz einfach mit einem Arduino Mega 2560 🤖 und einem Microstep Driver 🚀 steuerst. Perfekt geeignet für CNC-Maschinen, Roboterarme und viele weitere DIY-Projekte 💡.
Was ist ein Schrittmotor?
„Ein Schrittmotor ist ein Motor, der sich – wie der Name schon sagt – in Einzelschritten bewegt. Er dreht sich also nicht frei wie ein normaler Gleichstrommotor, sondern in genau definierten Winkeln – zum Beispiel 1,8° pro Schritt. Dadurch eignet er sich perfekt für präzise Positionierungen, z.B. bei 3D-Druckern oder CNC-Maschinen.“



Aufbau und Funktionsweise
Ein typischer Schrittmotor hat mehrere Spulen im Inneren, die nacheinander bestromt werden. Dadurch entsteht ein drehendes Magnetfeld, das den Rotor Schritt für Schritt weiterzieht. Es gibt verschiedene Typen – Unipolar, Bipolar, und Hybrid-Schrittmotoren – aber das Prinzip ist immer ähnlich.
📊 Anschlussplan (Wiring Diagram)
Zur Ansteuerung brauchst du zwei Dinge:
Was du brauchen wirst:
- Einen Treiber, wie den A4988, DRV8825 oder TB660 wie bei mir
- Ein Steuersignal, zum Beispiel von Arduino, SPS oder Raspberry Pi.
[Zeige z.B. eine Beispiel-Schaltung mit Arduino]
„Der Treiber nimmt dir die ganze harte Arbeit ab. Du musst ihm nur sagen:
- STEP: Wann soll der Motor einen Schritt machen
- DIR: In welche Richtung soll er sich drehen?
Fertig! Der Rest passiert im Inneren des Treibers.“

🔌 Anschlussübersicht:
- Arduino Mega 2560 🧠
- Microstep Driver 🖧
- Schrittmotor 🌀
⚡ Wichtige Signale:
- PUL+ / PUL- ➡️ Schritte erzeugen
- DIR+ / DIR- 🔄 Drehrichtung festlegen
- ENA+ / ENA- 🚦 Aktivieren/Deaktivieren (optional)
🧰 Typische Verdrahtung:
- 🟢 PUL+ → Pin 3
- 🟢 DIR+ → Pin 2
- ⚫ PUL- / DIR- → GND
💻 Arduino Beispiel-Code
#define dirPin 2
#define stepPin 3
void setup() {
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
// Richtung festlegen
digitalWrite(dirPin, HIGH);
}
void loop() {
// Einen Schritt auslösen
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
🔄 Bewegung in beide Richtungen
#define dirPin 2
#define stepPin 3
void setup() {
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
}
void loop() {
// 200 Schritte vorwärts 🟢
digitalWrite(dirPin, HIGH);
for (int i = 0; i < 200; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
// 200 Schritte rückwärts 🔄
digitalWrite(dirPin, LOW);
for (int i = 0; i < 200; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
}
📝 Wichtige Tipps für dein Projekt
- ✅ Richtige Stromversorgung prüfen (z.B. 24V ⚡)
- ✅ Motorstrom am Treiber einstellen ⚠️
- ✅ Treiber vor Überhitzung schützen ❄️
- ✅ Keine Leerlaufdrehung ohne Treiber 🚫
🎯 Fazit
So einfach steuerst du einen Schrittmotor 🌀 mit Arduino 🤖. Mit wenigen Bauteilen und ein bisschen Code kannst du beeindruckende Projekte umsetzen 🚀. Viel Spaß beim Nachbauen! 🛠️