www.mikrocontroller.net

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


Autor: Herr_Mann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Torsten Broxtermann (tbrox)
Datum:

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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Oilaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Herr_Mann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Herr_Mann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kurzer Nachtrag:

ich meinte natürlich

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

!

Autor: Aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ThomasK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da Mikroschritt weit unterhalb der maximalen Drehzahl geschieht sollten 
eigentlich keine Schritte verloren gehen.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Edi M. (elektromeister)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Guter Morgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
E. M. schrieb:
> Das stimmt nicht.

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.