Forum: Mikrocontroller und Digitale Elektronik Schrittmotor bleibt stehen


von Marius (marius_s623)


Lesenswert?

Hallo zusammen,

ich betreibe mit einem DRV8426 Motortreiber einen Schrittmotor, die 
Steuersignale für den Motortreiber kommen von einem ESP32. Der 
Motortreiber ist per Hardware so konfiguriert, dass der Motor im 
Vollschritt betrieben wird und der Strom auf ca. 1 A begrenzt ist. Die 
Schrittfrequenz beträgt 1 kHz (vom ESP vorgegeben), Motortreiber wird 
mittels Enable, Step und Dir Signal gesteuert.

Jetzt kommt es schonmal dazu, dass der Schrittmotor nicht anfährt. Es 
ist egal in welche Richtung der Motor drehen soll, es kommt bei beiden 
Drehrichtungen vor. Er bleibt einfach stehen und brummt,  bis das Step 
Signal abgeschaltet wird.

Für Abhilfe sorgt aktuell nur eine geringere Schrittfrequenz von ca. 200 
Hz. Das Problem ist, dass durch das Getriebe am Schrittmotor die 
Drehgeschwindigkeit viel zu gering ist. Kann das Problem des "nicht 
anfahren" durch den Halbschritt oder besser den Mikroschritt Betrieb 
gelöst werden? Mir ist bewusst, dass die Schrittfrequenz ebenfalls mit 
erhöht werden muss, aber das sollte kein Problem darstellen.

Oder liegt es an der Strombegrenzung von 1 A?

Die Motorwelle kann frei drehen, es ist keine Last vorhanden.

: Bearbeitet durch User
von Heiner B. (karadur)


Lesenswert?

Fahr den Motor mit einer Rampe an.

von Christian M. (christian_m280)


Lesenswert?

Stichwort: Anfahrrampe!

Gruss Chregu

von Michael B. (laberkopp)


Lesenswert?

Marius schrieb:
> Oder liegt es an der Strombegrenzung von 1 A?

Es liegt an deine Unkenntnis über Schrittmotore.

Man startet nicht mit 1000 VollSchritten pro Sekunde, also sofort 
300upm.
Man startet mit einer Rampe.
Dazu muss man halt besser programmieren können, als einen festen Takt 
rauszuhauen.
Siehe AccelStepper vom Arduino.

Und auch damit verliert ein Schrittmotor mit steigender Drehzahl an 
Kraft.
Wenn man nicht den billigsten Schrott aus asiatischem Recykling kauft 
liegt ein Datenblatt mit Diagramm bei.
Und trotzdem kann ein Schrittmotor schon bei geringerer Drehzahl einfach 
wegen Resonanz stehen bleiben  daher verwendet man Dämpfer (dampener) 
was bei direkt angeflanschtem Getriebe nicht möglich und wegen dessen 
Fämpfungswirkung nicht nötig sein wird.
Und trotzdem wird er bei manchem Tempo ausrasten, daher schaltet man 
zwischen Vollschritt und Halbschritt um, oder nutzt gleich Mikroschritte 
und schaltet zwischen slow und fast decay  um.

Es gibt noch viel zu lernen: 
https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.10

Die technische Welt besteht nicht mehr als Lego Noppen, es wird 
komplexer.

von Rainer W. (rawi)


Lesenswert?

Marius schrieb:
> Mir ist bewusst, dass die Schrittfrequenz ebenfalls mit erhöht werden
> muss, aber das sollte kein Problem darstellen.

Wie kommst du zu dieser Überzeugung. Je nach Motordaten 
(Drehmomentkurve, Induktivität) und Verhältnis von Betriebsspannung zu 
Nennspannung bricht das Drehmoment mit höherer Schrittfrequenz weiter 
ein.
Wie hoch sind bei dir Betriebs- und Nennspannung?
Wie hoch ist der tatsächliche Phasenstrom in Relation zu den Motordaten?

von Marius (marius_s623)


Lesenswert?

Heiner B. schrieb:
> Fahr den Motor mit einer Rampe an.

Christian M. schrieb:
> Stichwort: Anfahrrampe!
>
> Gruss Chregu

Danke, das war das Stichwort was mir fehlte.
https://en.wikipedia.org/wiki/Smoothstep

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Marius,

Marius schrieb:
> ich betreibe mit einem DRV8426 Motortreiber einen Schrittmotor, die
> Steuersignale für den Motortreiber kommen von einem ESP32. Der
> Motortreiber ist per Hardware so konfiguriert, dass der Motor im
> Vollschritt betrieben wird...
[...]
> Kann das Problem des "nicht
> anfahren" durch den Halbschritt oder besser den Mikroschritt Betrieb
> gelöst werden? Mir ist bewusst, dass die Schrittfrequenz ebenfalls mit
> erhöht werden muss, aber das sollte kein Problem darstellen.

Dein Problem wird wie schon festgestellt durch eine Rampe gelöst. 
Trotzdem frage ich mich, warum du unbedingt im Vollschritt fahren 
willst? Und das obwohl du einen Treiber verwendest, der nicht nur Halb- 
sondern auch Mikroschritt kann.

Mit freundlichen Grüßen
Thorsten Ostermann

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.