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?
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.
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
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?
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
> 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.
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?
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.
>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.
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)
L6208L6506 & L6203/L298 L6201L6202
PBL3717, TEA3717, TEA3718 AND L6219
beschreibt auch den Unterschied slow decay / fast decay
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.
>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.
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.
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.
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"