Schrittmotor dreht sich nicht - DRV8825

#7033517
Lesenswert?

Hallo,

der Schrittmotor ist ein kleiner Nema17 und darf etwas mehr als 1A pro 
Wicklung an Strom ziehen. Angeschlossen ist er an 12V aus einem 
Labornetzteil. Der Treiber ist ein DRV8825, alles angeschlossen, wie im 
Bild zu sehen.

Wenn jetzt der STEP Pin zwischen high und low wechselt, ruckt der Motor 
nur ganz kurz, dreht sich aber nicht.

Ich hoffe, das ist ein bekanntes Phänomen für einen einfach zu 
behebenden Fehler :-)


edit: Nur für mein Verständnis:
Mit so einem Schrittmotortreiber, der als Input DIR (direction) und STEP 
hat, sollte sich der Motor ja auch nur mit einem Taster drehen lassen, 
oder?
Angehängte Dateien:
Gast #7033530
Lesenswert?

Vielleicht prellt der Taster, so dass der Stepper gar nicht schnell 
genug mitkommt. Ansonsten
- die Wicklungen mal auf Durchgang prüfen, ob die tatsächlich richtig 
angeschlossen sind
- Reset, sleep usw. fest auf das Potential legen, dass für den 
Betriebszustand erforderlich ist - s. Datenblatt
- die beiden GND sollten verbunden sein
Beitrag #7033534 wurde von einem Moderator gelöscht.
Moderator (Firma: Titel) Persönliche Seite #7033544
Lesenswert?

Kolja L. schrieb:
> Der µC gibt schon ein ständiges high-low Signal auf den STEP-Pin
Vermutest du das oder hast du das gemessen? Wie sieht dieses Signal aus? 
Passt es zu dem, was der Treiber erwartet?

> der Motor reagiert nur auf das erste Mal, nachdem er angeschlossen ist.
Wie meinst du das?
#7033546
Lesenswert?

tg schrieb:
> die Wicklungen mal auf Durchgang prüfen, ob die tatsächlich richtig
> angeschlossen sind

Ja, zwei voneinander unabhängige Kreise.

tg schrieb:
> Reset, sleep usw. fest auf das Potential legen, dass für den Betriebszustand 
erforderlich ist - s. Datenblatt

Sind sie:
Aus dem DB:
https://www.ti.com/lit/ds/symlink/drv8825.pdf
RESET: Active-low reset input initializes the indexer logic and disables 
the H-bridge outputs. Internal pulldown.
SLEEP: Logic high to enable device, logic low to enter low-power sleep 
mode input mode. Internal pulldown.

tg schrieb:
> die beiden GND sollten verbunden sein

Sind verbunden.

W.S. schrieb:
> Erwartes du jetzt, daß die Leser nachschauen im Manual, wie M0..3 verschaltet 
werden müssen?

Alle auf LOW ist Vollschritt, von daher nein.

Ich hoffe,:

Kolja L. schrieb:
> ... das ist ein bekanntes Phänomen für einen einfach zu behebenden Fehler

Eben genau so etwas, wie tg geschrieben hat, ich aber nicht gewusst 
habe.
#7033551
Lesenswert?

Lothar M. schrieb:
> Vermutest du das oder hast du das gemessen? Wie sieht dieses Signal aus? Passt 
es zu dem, was der Treiber erwartet?

Nein, messen kann ich es nicht. Aber dabei:
1
        pSTEP.on()                 # set pin to high level
2
        sleep(uS * usDelay)
3
        pSTEP.off()                # set pin to lowlevel
4
        sleep(uS * usDelay)

sollte nicht so viel schief gehen.

Du hast aber Recht, ich versuche das nochmal zu verifizieren.

Lothar M. schrieb:
> Wie meinst du das?

Irgendwann bekommt der Motor ja zum ersten mal mit der Spannung in 
Kontakt.
Entweder weil das ganze System versorgt wird, oder ich den Motor an den 
schon im Betrieb befindlichen Controller anschließe. Und dann ruckt er. 
Ist kaum zu sehen, aber zur fühlen und über die Schreibtischplatte zu 
hören.
Moderator (Firma: Titel) Persönliche Seite #7033552
Lesenswert?

Kolja L. schrieb:
> tg schrieb:
>> Reset, sleep usw. fest auf das Potential legen
> Sind sie: Aus dem DB: ... Internal pulldown.
Für später, wenn das Ding dann unerwartet herumzickt: ein "internal 
pulldown" mit irgendwas um 50kOhm ist ewig weit weg von "fest auf Masse 
gelegt". Frag beim Burst-Test mal deinen EMV-Spezi...

Kolja L. schrieb:
> sollte nicht so viel schief gehen.
So kannst du argumentieren, wenn du kein Problem hast. Du hast aber 
offenbar eins, genau an dieser Stelle.

> Irgendwann bekommt der Motor ja zum ersten mal mit der Spannung in Kontakt.
Und das ist jetzt der geeignete Zeitpunkt für das Oszilloskop. Hast du 
eines?
#7033557
Lesenswert?

Lothar M. schrieb:
> Hast du eines?
Nein, hab zu Uni-Zeiten verpasst mir eins zu besorgen - schon öfter 
bereut...

Lothar M. schrieb:
> So kannst du argumentieren, wenn du kein Problem hast. Du hast aber offenbar 
eins, genau an dieser Stelle.

Ja, daher suche ich gerade ne LED und schaue ob ich die dimmen kann. 
Dann stimmt zumindest der Pin und das Skript arbeitet.
Moderator (Firma: Titel) Persönliche Seite #7033563
Lesenswert?

Kolja L. schrieb:
> Ja, daher suche ich gerade ne LED und schaue ob ich die dimmen kann.
Wenn du ein Multimeter hast, dann kannst du einfach den Pin für 1s aus 
und für 1s einschalten und mit dem Multimeter messen.
Bei der Gelegenheit kannst du dann auch noch messen, ob die Spannung 
halbwegs zu dem passt, was sein sollte.

BTW: du merkst, dass ich laufend was von "messen" schreibe?
Moderator (Firma: Titel) Persönliche Seite #7033692
Lesenswert?

Kolja L. schrieb:
> So, da haben wir es: der Motor dreht sich nicht, sondern ruckt nur etwas
> mehr.
Jedes Mal wenn du Vcc berührst? Oder wie bisher nur 1x beim Einschalten?

Kolja L. schrieb:
> Und ja, Pinbelegung des Motors habe ich auch nachgemessen :-P
Dann miss doch mal mit dem Multimeter, ob überhaupt durch beide Spulen 
ein Strom fließt. Besser wären natürlich 2 Multimeter...

> Kann ich jetzt davon ausgehen, dass der Motortreiber defekt ist?
Ab Werk sind die Dinger normalerweise nicht kaputt. Was hast du schon 
alles damit angestellt? Mit angelegter Spannung irgendwelche Leitungen 
umgesteckt?
#7033843
Lesenswert?

Hab oft genug mit den Dingern gearbeitet.

GRÖßter Fehler ist, dass man die Verbindung zwischen Treiber und Motor 
einfach trennt, bevor man die Versorgungsspannung ausgeschaltet hat und 
"Enable" noch aktiv ist.

Motor verhält sich wie Spule -> Induktion hoher Spannung -> Treiber 
schrott.

Wenn ENABLE bei dir noch nicht auf GND gezogen worden ist, das noch 
probieren.
Ich glaube aber, Treiber ist hinüber.
#7041533
Lesenswert?

Waldemar Rennbootlenker schrieb:
> Dann hat man es zu weit getrieben...

Ja, wobei auch immer :-)

Hab jetzt einen anderen, baugleichen Treiber genommen und damit macht 
der Motor schon mal überhaupt so etwas wie eine Drehung.
Allerdings sehr ruckelig, und nicht immer freiwillig, d.h. ich muss ihn 
etwas anschubsen.

Zum Testen nutze ich den simpelsten Sketch den es dafür wohl gibt:
1
while True:
2
    pSTEP.on() 
3
    sleep(Delay)
4
    pSTEP.off() 
5
    sleep(Delay)

Mit einem Delay von 0.001 Sekunden funktioniert es am "Wenigsten 
schlecht".

Das Wechseln der Richtung funktioniert auch nicht.

DIR, SLP und RST liegen auf den 3.3V des µC, M0,M1,M2 und EN auf GND.

Was kann die Ursache sein, dass der Motor so zögerhaft und ruckelig 
läuft?
#7041601
Lesenswert?

Wolfgang schrieb:
> Nachteil ist, dass der so einfach ist, dass ein Schrittmotor damit kaum
> vernünftig zu betreiben ist, da damit keine Beschleunigungs- und
> Bremsrampen gefahren werden und eventuell zusätzlich das Timing noch
> instabil ist.

Jeder Schrittmotor hat eine Startgeschwindigkeit, bei der er auf Anhieb 
läuft. Die gilt es zu unterbieten, dann kann das Timing wackeln wie es 
will.
Das liegt nur eher bei 50Hz als bei 500Hz.

Gruß Klaus (der soundsovielte)
#7042197
Lesenswert?

Guten morgen zusammen,

tom schrieb:
> Am Besten steckst du noch einen Elko (>=100µF) auf dein Steckbrett, nahe
> an den Versorgungspins des Motorshields.

Gute Idee, danke.

Cyblord -. schrieb:
> Mache mal deine 9V Block-Batterie weg und ein ordentliches Netzteil mit
> Bumms ran.

Das NT kann bis 5A.

Klaus S. schrieb:
> Jeder Schrittmotor hat eine Startgeschwindigkeit, bei der er auf Anhieb
> läuft

Danke, d.h. um auf die volle Geschwindigkeit zu kommen muss ich eine 
Rampe fahren?

Wo finde ich solche grundlegenden infos?
#7042269
Lesenswert?

Kolja L. schrieb:
> Solch ein Dokument, gerne auf deutsch.

In Google nach "Schrittmotor Tutorial" suchen bringt z.B.
https://www.heise.de/developer/artikel/Schritt-fuer-Schritt-3227165.html
und viele weitere, alles auf deutsch.

Thorsten Ostermann, der sich hier auch ab und an meldet, hat viel Info 
ins Netz gestellt:
http://www.ostermann-net.de/electronic/i_schritt.htm

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren