Forum: Mikrocontroller und Digitale Elektronik Schrittmotor: Mikrostep-Modus, wie funktioniert das?


von Herr_Mann (Gast)


Lesenswert?

Hallo,
habe mal eine allgemeine Frage zur Schrittmotorsteuerung.

Prinzipiell kann so ein Stepper, z.B. einer mit 100 Schritten pro 
Umdrehung, ja im Fullstepmodus (100Schr./U) und im Halfstepmodus 
(200Schr./U) betrieben werden.

So weit, so klar.

Aber wie funktioniert der Mikrostepmodus, bei dem 1000 oder sogar 10000 
Schritte pro Umdrehung bei einem 100-Sritt/U-Motor möglich sind? Wird 
hier an zwei Spulen jeweils eine (unterschiedliche) Spannung angelegt, 
die über PWM so variiert, dass ein (Halb-) Schritt noch mal in viele 
kleinere Schritte zerlegt wird? (grob gefagt)

Und ist so etwas wirklich genau oder eher so eine 
Pi-Mal-Daumen-Geschichte, um den Motor ruhiger (an-) laufen zu lassen?

von Torsten B. (tbrox)


Lesenswert?

Vermutlich wird da einfach noch ein Getriebe mit entsprechender 
Untersetzung zwischengeschaltet und im Motor-Gehäuse mit integriert.

von Benedikt K. (benedikt)


Lesenswert?

Herr_Mann wrote:
> Wird
> hier an zwei Spulen jeweils eine (unterschiedliche) Spannung angelegt,
> die über PWM so variiert, dass ein (Halb-) Schritt noch mal in viele
> kleinere Schritte zerlegt wird? (grob gefagt)

Ja, genau so geht das.
Schau dir mal das Datenblatt des LB1847 an, der kann das und da ist das 
recht schön und verständlich erklärt. Im Prinzip kann das jeder 
Schrittmotortreiber mit Stromausgang, dazu muss man nur die 
Referenzspannung der Stromquelle sinusförmig modulieren.

> Und ist so etwas wirklich genau oder eher so eine
> Pi-Mal-Daumen-Geschichte, um den Motor ruhiger (an-) laufen zu lassen?

Es ist abhängig von der Anwendung, denn im Gegensatz zu den normalen 
Schritten, ist die Position nicht wirklich fest, sondern der Rotor nimmt 
eine Position dazwischen ein, quasi an der Stelle an der die beiden 
Magnetfelder von beiden Seiten sich gegenseitig kompensieren. Sobald man 
aber die Achse belastet, wird dieses Gleichgewicht gestört, und die 
Position passt nicht mehr. Für Antriebe die nur für die Bewegung Kraft 
benötigen (z.B. Schlitten von einem Scanner) mag das funktionieren, aber 
wenn man damit z.B. einen schweren Uhrzeiger bewegen möchte, dann ist 
die Position zwischen 2 Schritten nicht ganz so linear, wie es der 
Theorie nach ist.

von spess53 (Gast)


Lesenswert?

Hi

>Vermutlich wird da einfach noch ein Getriebe mit entsprechender
>Untersetzung zwischengeschaltet und im Motor-Gehäuse mit integriert.

Nein.

@Herr_Mann

Im Prinzip ist es so, wie du es beschrieben hast. Wenn man nicht so 
extreme Auflösungen braucht kann man z.B. den L6219 nehmen. Damit lässt 
sich ein Schritt in 6 Eizelschritte aufteilen. Mit einem 400 
Step/U-Motor ergibt das schon einen butterweichen Lauf.

MfG Spess

von Klaus (Gast)


Lesenswert?

Ich möcht auch nochmal nachhaken wegen Microstep.

Wird der Microstep hauptsächlich für den weichen Anlauf eingesetzt oder 
gibts da ganz spezielle Gründe dafür?

Wenn Ja! Welche?

von Oilaf (Gast)


Lesenswert?

Hier noch mal meine Erklärung:
viele Schrittmotoren haben zwei Wicklungen. Diese Wicklungen kann man 
nun mit einem Strom bzw. Spannung belegen diesen Strom kann man auch 
noch umdrehen. Dadurch entstehen in einen Schrittmotor eine bestimmte 
Anzahl von Schritten (Vollschritte). Wenn man diese Spulen mit einem 
geringeren Strom belegt als die Betriebsspannung hergeben würde, und 
dies auch noch entsprechend auf beiden Schrittmotorspulen 
synchronisiert, entstehen zwischen den Vollschritten noch weitere 
Zwischenschritte. Das können beliebich viele sein. Diese 
Zwischenschritte kann man meistens aber nicht mechanisch nutzen, da der 
Dauermagnetrotor in einem Schrittmotor diese Position nicht so stabil 
halten kann. Der Microschrittbetrieb ist deshalb für die Auflösung des 
Schrittmotors weniger bedeutsam. Er ist für den dynamischen Betrieb 
eines Schrttmotors wichtig, da der Dauermagnetrotor gerade bei langsamen 
Drehzahlen nicht so große Sprünge von Schritt zu Schritt macht. Damit 
läuft der Schrittmotor ruiger.

Gruß Oilaf

von Unbekannter (Gast)


Lesenswert?

> Wird hier an zwei Spulen jeweils eine (unterschiedliche) Spannung
> angelegt, die über PWM so variiert, dass ein (Halb-) Schritt noch
> mal in viele kleinere Schritte zerlegt wird? (grob gefagt)

Ja, Ja und Ja


> Und ist so etwas wirklich genau oder eher so eine Pi-Mal-Daumen-
> Geschichte, um den Motor ruhiger (an-) laufen zu lassen?

Ja/Nein und Ja.

Bis zu einer bestimmten Grenze, abhängig vom Schrittmotor, kann man mit 
Microsteps die Auflösung im Rahmen seiner Genauigkeit erhöhen. Es gibt 
auch Schrittmotoren, die speziel für einen hohe Mikrostep-Genauigkeit 
gebaut sind und dann eine entsprechend hohe Auflösung haben.

Darüber hinaus erreicht man mit Mikrosteps auch einen ruhigen Lauf, 
nicht nur beim Anlaufen.

von Herr_Mann (Gast)


Lesenswert?

Hallo,
Danke für die vielen ausführlichen Antworten!
Gibt es denn irgendwelche Steuer-ICs Schrittmotoren, die auch 
"microsteppen" können?
Und natürlich die Frage: gibts auch µCs bzw. passende Programme, die das 
können, z.B. mit AtMega32 bzw. AVRs?

von Herr_Mann (Gast)


Lesenswert?

kurzer Nachtrag:

ich meinte natürlich

"...Steuer-ICs FÜR Schrittmotoren..."

!

von Aha (Gast)


Lesenswert?

Die Schrittmotoren muessen fuer Microstepping konzipiert sein, dh die 
duerfen nicht von einem Schritt zum naechsten ein internes Haltemoment 
besitzen. Zum ansteuern bieten sich spezielle Ansteuer IC wie der A3972, 
oder andere, an. Man kann aber auch einen Dual DAC und zwei PowerAmps, 
oder sogar einen Stereo Audioverstaerker nehmen. So ein 70cent 1W Teil 
ist preislich kaum zu schlagen.
Zum Ansteuern : Sinustabelle auslesen.

von ARM-Fan (Gast)


Lesenswert?

>Gibt es denn irgendwelche Steuer-ICs für Schrittmotoren, die auch
>"microsteppen" können?

Aber sicher!
Schau dich mal bei der Firma Trinamic um.
Die haben sehr schöne Sachen.

Für den Einstieg finde ich den TMC222 sehr gut.
Einfach aufzubauen und über I²C anzusprechen.

Wenns genauer, mit eigenen Sinustabellen etc. sein soll,
dann nimmst du einen TMC428 + TMC236. Die kommunizieren
über SPI.

Die Teile haben den großen Vorteil, dass sie den Prozessor
vom Bitgeschubse entlasten und das Sequencing selbst übernehmen.

von eProfi (Gast)


Lesenswert?

Hallo,
Microsteppen bringt nur bei geringen Geschwindigkeiten (=StepFrequenzen) 
was. Bei hohen Frequenzen kommt der Strom meist sowieso nicht mit, da 
ist es besser, bei jedem Schritt 100% PWM zu geben, damit der Strom so 
schnell wie möglich ansteigt. Kommt halt auch auf die 
Versorgungsspannung und die Induktivität an.

Meistens teile ich eine Großschritt (=einen kompletten Zyklus = 4 
Vollschritte = 8 Halbschritte) in 256 Minischritte ein. Damit kannst Du 
z.B. den Motor mit 1 U/min absolut ruhig laufen lassen.

Ein anderer Punkt ist das Verhindern von mechanischen Resonanzen.
Jeder Motor / mechanisches Gebilde hat (meist mehrere) solche Frequenzen 
(grob gesagt bei 100 - 500 Hz). Bei Mikroschritt liegen diese generell 
höher und wirken sich wegen der geringeren Drehwinkel deutlich geringer 
(=nicht mehr bemerkbar) aus.

Literaturtipp:
MICROSTEPPING STEPPER MOTOR DRIVE USING PEAK DETECTING CURRENT CONTROL
http://www.st.com/stonline/products/literature/an/8700.pdf (AN1495)
L6208  L6506 & L6203/L298  L6201 L6202
PBL3717, TEA3717, TEA3718 AND L6219
beschreibt auch den Unterschied slow decay / fast decay

von ThomasK (Gast)


Lesenswert?

Hallo,
Möchte auch ein paar Denkanstösse geben.
Der Mikroschritt ist m.E. sehr wichtig, da er wie schon erwähnt für 
Laufruhe sorgt. Z.B. bei einem Plotter / CNC Fräse: dort sind X und Y 
gekoppelt. Je nach Vektor läuft ein Schrittmotor an seiner Grenze (max. 
Drehzahl), der andere jedoch gebremst. Durch die Unruhe kommt es zu sehr 
unschönen Schwingvorgängen durch Resonanzen der gesamten Mechanik. Die 
kann man durch den Mikroschritt wirkungsvoll dämpfen. Ich denke das ist 
das Hauptargument. Die Auflösung im Mikroschritt halte ich eher für 
unwichtig bzw. ungenau.

Noch eine Frage: kann man durch Rücklesen der Sannungs/Stromverläufe an 
den Spulenanschlüssen des Schrittmotors Rückschlüsse auf das richtige 
'Mitdrehen' gewinnen, um Schrittverluste zu vermeiden. Damit könnte die 
normalerweise obligatorische externe Schritterkennung wegfallen.

von Aha (Gast)


Lesenswert?

Da Mikroschritt weit unterhalb der maximalen Drehzahl geschieht sollten 
eigentlich keine Schritte verloren gehen.

von ARM-Fan (Gast)


Lesenswert?

>kann man durch Rücklesen der Sannungs/Stromverläufe an
>den Spulenanschlüssen des Schrittmotors Rückschlüsse auf das richtige
>'Mitdrehen' gewinnen, um Schrittverluste zu vermeiden

Ja. Siehe ebenfalls Trinamic -> Stall Guard.

von Aha (Gast)


Lesenswert?

Noch einen Vorteil von Mikroschrittbetrieb : Es gibt Prozesse, da muss 
der Antrieb ruckfrei geschehen. In einem optischen System ist bei 
Vibrationen der zuverlaessige Betrieb unterbrochen.

von Dieter (Gast)


Lesenswert?

im Grunde habt ihr Recht.
Aber wenn man die Spannung verdoppelt - wie beim L4319-S - dann kann man 
auch ganz einfach über kleine umwege einen Schritt in 10 einzelschritte 
unterteilen und auch dann ist der Micro-step-bereich effektiver als ohne 
die halbe Spannung. Darum auch ganz einfach 
Umdrehung*Spannung/Schritte/100
Damit kommt man dann gut aus.

von Edi M. (Gast)


Lesenswert?

Aha schrieb:
> Da Mikroschritt weit unterhalb der maximalen Drehzahl geschieht sollten
> eigentlich keine Schritte verloren gehen.

Das stimmt nicht. Es kommt auf die Frequenzänderung des Sinus an. Wenn 
man zu schnell steuert, kommt der Motor auch im Microstep nicht mit und 
verliert Schritte.

Weitere Diskussion zum Microstep hier:
Beitrag "Frage zu Schrittmotor und Microstepping"

von Guter Morgen (Gast)


Lesenswert?

E. M. schrieb:
> Das stimmt nicht.

Doch, die Beiträge sind uralt.
Hast Du Dich heute angemeldet, um Leichen auszugraben?

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.