Schrittmotor Nema17 funktioniert nicht?

3 Antworten

Die 12V Stromversorgung habe ich auf Vmot angeschlossen. Die 5V auf VDD. sowie jeweils auf gnd. Den Strombegrenzer auf Ca 1.2 V eingestellt. Auch Step und Dir richtig angeschlossen.

Wie bzw wo soll ich die MS1 bis 3 anschließen.

Ich bin leider kompletter Anfänger und musste mir das für ein Projekt selber lernen.

Hast du wirklich eine externe Motor-Versorgung (VMOT) von typischerweise 12 V (oder 24 V) angeschlossen – und nicht versehentlich die 5 V deines Raspberry Pi?

Dann ist da noch der Strombegrenzer (Vref‐Poti) auf dem A4988. Wenn der nicht ­­– sagen wir mal – auf einen Wert eingestellt ist, der deinem Motor entspricht, liefert der Treiber entweder zu wenig oder zu viel Strom.

Ach ja, und ganz wichtig: Sleep und Reset des A4988 gehören verbunden, Enable (EN) sollte auf GND liegen, damit der Treiber nicht in den Ruhestand geht. Ebenso MS1–MS3 je nach gewünschtem Mikrostep-Modus auf High/Low. Wenn die auf Floating stehen, passiert bisweilen gar nichts.


Flo18dia 
Beitragsersteller
 24.07.2025, 14:58

Die 12V Stromversorgung habe ich auf Vmot angeschlossen. Die 5V auf VDD. sowie jeweils auf gnd. Den Strombegrenzer auf Ca 1.2 V eingestellt. Auch Step und Dir richtig angeschlossen.

Wie bzw wo soll ich die MS1 bis 3 anschließen.

Ich bin leider kompletter Anfänger und musste mir das für ein Projekt selber lernen.

Novar  24.07.2025, 15:09
@Flo18dia
Wie bzw wo soll ich die MS1 bis 3 anschließen.

Du verbindest jeden MS‑Pin entweder mit GND (Low) oder mit 3,3 V vom Raspberry Pi (High). Wichtig: Wenn du VDD am A4988 mit 5 V versorgst, erkennt der Treiber ein 3,3 V‑Signal vom Pi oft nicht als High – darum nimm für alle Logik‑Pins (VDD, STEP, DIR, MS1–3, ENABLE…) besser die 3,3 V‑Spannung des Pi.

Im Allegro A4988‑Datenblatt (Tabelle 1 auf Seite 5) stehen die genauen Pegel für die fünf Mikro‑Schritt‑Modi: 

a4988_dmos_microstepping_driver_with_translator.pdf

Low = GND

High = 3,3 V vom Pi

Flo18dia 
Beitragsersteller
 24.07.2025, 15:23
@Novar

Ein weiteres Problem ist, dass wenn ich nur Strom anschließe dreht sich der Motor von alleine und hört dann auf

Flo18dia 
Beitragsersteller
 24.07.2025, 15:34
@Novar

Der Motor surft auch etwas wenn er danach stillsteht

Novar  24.07.2025, 15:42
@Flo18dia

Vielleicht hilft das:

NEMA 17 Stepper with A4988 Driver Rotating Randomly on Startup - Other Hardware / Motors, Mechanics, Power and CNC - Arduino Forum

Der A4988 hat auf STEP und DIR keine internen Pull-Downs oder -Ups. Solange dein Raspberry-Pi-GPIO diesen Pins beim Einschalten keinen definierten Zustand vorgibt, „schweben“ sie. Jegliches elektrische Rauschen etc. sorgt dann für unbeabsichtigte Pulse – der Motor macht ein paar Schritte und bleibt dann stehen.

Evtl. kannst du das damit in deine Python-Code so beheben:

...

GPIO.setmode(GPIO.BCM)

Zuerst als Input mit internem Pull-Down^^

GPIO.setup(DIR,  GPIO.IN,  pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(STEP, GPIO.IN,  pull_up_down=GPIO.PUD_DOWN)

Dann direkt als Output und auf LOW setzen^^

GPIO.setup(DIR,  GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(STEP, GPIO.OUT, initial=GPIO.LOW)

So sollte das “Schweben” verhindert werden und der Motor dreht sich nur, wenn du explizit GPIO.output(STEP, HIGH/LOW) aufrufst.

Sollten die STEP und DIR Pins nicht D2 und D3 im Sketch heissen?

Sollte die Drahtfarben-Reihenfolge von oben nach unten schwarz, grün, rot, blau sein?