Tutorial · Mittelstufe · 35 Min.
Wie Schrittmotoren arbeiten: Lastwinkel und Schrittverlust
Ein Schrittmotor macht keine Schritte – er schleppt den Rotor einem rotierenden Feld hinterher. Mikroschritt, Schrittverlust und ein Motor, der woanders steht.
Der Satz, der Schrittmotoren verständlich macht
Ein Schrittmotor macht keine Schritte.
Das klingt nach Trick – ist aber das Nützlichste, was man über das Teil wissen kann. Was der Treiber wirklich tut: ein Magnetfeld im Motor in kleinen Schritten rotieren. Der Rotor ist ein Dauermagnet mit Zähnen und folgt diesem Feld wie eine Kompassnadel einem Magneten – nicht weil man es ihm befiehlt, sondern weil er gezogen wird.
Der Rotor liegt daher immer hinter dem Feld. Muss er: Stünde er exakt auf dem Feld, wirkte keine Kraft auf ihn – und er könnte weder Reibung überwinden noch Last treiben. Der Winkel zwischen dem, wohin das Feld zeigt, und dem, wo der Rotor wirklich ist, hat einen Namen – den Lastwinkel, manchmal Lastwinkel – und fast alles, was ein Schrittmotor Überraschendes tut, ist eine Tatsache über diesen Winkel.
Aufgeschrieben ist das ganze Modell eine Zeile:
T = T_peak × sin(δ)
wobei δ der Lastwinkel in elektrischen Grad ist. Alles unten ist eine Folge.
Elektrische Grad, und der 1,8°-Motor
Schrittmotoren werden in mechanischen Grad angegeben – ein „1,8°-Motor“ bewegt 1,8° Wellendrehung pro Vollschritt, also 200 Vollschritte pro Umdrehung. Doch die Magnetik wiederholt sich weit schneller als die Welle. Ein Standard-Hybridmotor hat 50 Rotorzähne – der magnetische Zyklus wiederholt sich also 50-mal pro Wellenumdrehung:
| Größe | Mechanisch | Elektrisch |
|---|---|---|
| Ein Vollschritt | 1,8° | 90° |
| Eine Umdrehung | 360° | 18 000° (50 Zyklen) |
| Spitzendrehmoment bei | 1,8° Rückstand | 90° Rückstand |
| Stabiler Bereich | ±1,8° | ±90° |
Die Umrechnung ist die einzige Rechnung, die man braucht: Ein Vollschritt sind 90 elektrische Grad, immer, an jedem 1,8°-Motor. Der stabile Bereich – in dem der Rotor bei wachsendem Rückstand stärker zurückgezogen wird – beträgt also ±1 Vollschritt, und der Punkt ohne Wiederkehr bei 180° liegt nur zwei Vollschritte zurück.
Warum Schrittmotoren Schritte verlieren
Nochmals die Sinuskurve ansehen. Zwischen −90° und +90° benimmt sich der Motor wie eine Feder: weiter zurückfallen, stärker gezogen werden. Das ist ein stabiles Gleichgewicht – und darum kann ein Schrittmotor überhaupt ungeregelt laufen, ohne Encoder und ohne Feedback. Der Rotor korrigiert sich selbst.
Jenseits 90° kippt der Sinus um. Weiter zurückfallen und das vorwärtsziehende Drehmoment wird schwächer. Was weiter zurückfallen lässt. Was es weiter schwächt – und bei 180° wechselt das Drehmoment insgesamt das Vorzeichen und drückt den Rotor zum nächsten Pol statt zurück zu diesem. Von dort rutscht der Rotor, bis er sich am nächsten stabilen Zahn fängt, einen ganzen elektrischen Zyklus entfernt.
90° sind also der Ort, wo einer stabilen Last die Straße ausgeht: Dahinter gibt es kein Gleichgewicht zum Sitzen, nur eine Böschung. Ein kurzer Ausflug über 90° lässt sich überleben, wenn der Rotor den Schwung hat zurückzukommen – Vollschritt tut genau das an jeder Schrittkante: auf rund 100° überschwingen und sich jedes Mal erholen –, aber eine Last, die sitzt jenseits 90°, fällt bereits.
Das ist ein verlorener Schritt – und er hat drei memorierenswerte Eigenschaften:
- Er ist lautlos. Kein Encoder. Der Treiber zählt weiter Impulse, die Firmware glaubt sie weiter – und die Maschinenvorstellung, wo sie ist, liegt nun dauerhaft falsch. Jede Bewegung danach ist versetzt.
- Er kommt im Viererpack. Der Rotor landet auf dem nächsten stabilen Punkt – einen ganzen elektrischen Zyklus entfernt: 360 elektrische Grad, also vier Vollschritte. Ein Schrittmotor verliert nie einen Schritt. Er verliert vier, acht oder hundert.
- Er behebt sich nie selbst. Späteres Schrittverlieren in die andere Richtung hebt es nicht auf, außer per Zufall.
Der Schrittmotorsimulator integriert das direkt statt es zu skripten: Nichts im Code sucht Schrittverlust. Die Bewegungsgleichung des Rotors ist das Sinusgesetz oben – und wenn sin(δ) umkippt, fällt der Rotor von allein aus Synchronität: und der gemeldete Verlust kommt immer als Vierervielfaches heraus.
Was den Lastwinkel wachsen lässt
Drei Dinge – und sie zu unterscheiden heißt, eine Maschine zu diagnostizieren.
Last. In stabiler Bewegung pendelt sich der Lastwinkel dort ein, wo erzeugtes Drehmoment gleich verlangtem Drehmoment ist:
sin(δ) = verlangtes Drehmoment ÷ verfügbares Spitzendrehmoment
Eine Last bei 43 % der Spitze sitzt bei 26 elektrischen Grad. Eine Last bei 71 % sitzt bei 45°. Eine Last bei 100 % sitzt bei 90° – direkt an der Klippe, ohne Reserve. Darum lautet der übliche Rat, einen Schrittmotor auf grob Hälfte seines verfügbaren Drehmoments auszulegen: nicht aus Sicherheitsfaktoraberglauben, sondern weil halbes Drehmoment 30 elektrische Grad Lastwinkel sind und 60° Reserve für die nicht modellierte Transiente lassen.
Beschleunigung. Den Rotor in Gang zu bringen kostet ebenfalls Drehmoment – und dieses Drehmoment kommt aus demselben Budget. Während der Beschleunigung ist der Bedarf Last + J × α – der Lastwinkel ist also auf der Rampe am schlimmsten, nicht bei Tempo. Einem stehenden Motor sofort volle Drehzahl befehlen und das befohlene Feld sprintet davon, während sich der Rotor noch sammelt – der Rückstand liegt binnen ein, zwei Millisekunden jenseits 90°, und ohne etwas, das ihn zurückzieht, läuft er weiter und der Motor summt schlicht auf der Stelle. Diese Grenze hat einen Namen: die Anlaufgrenzfrequenz, die höchste Schrittrate, die man aus dem Stand ohne Rampe befehlen kann.
Drehzahl. Die am wenigsten offensichtliche und häufigste Ursache echter Ausfälle – und sie bekommt einen eigenen Abschnitt.
Drehmoment fällt mit Drehzahl, und Haltemoment ist eine Marketingzahl
Die Zahl auf dem Motoretikett – „0,44 N·m Haltemoment“ – wird bei stillstehender Welle und Nennstrom in den Wicklungen gemessen. Sie sagt fast nichts über einen Motor, der sich bewegt.
Eine Wicklung ist eine Induktivität. Um Drehmoment zu erzeugen, muss der Treiber Strom hineinzwingen und dann diesen Strom umkehren – immer wieder, immer schneller, während der Motor schneller wird. Zwei Dinge wehren sich:
- Reaktanz. Der Wechselstromwiderstand der Wicklung steigt proportional zur elektrischen Frequenz – und elektrische Frequenz ist 50× Wellendrehzahl.
- Gegen-EMK. Ein drehender Dauermagnetrotor erzeugt eigene Spannung, gegen die Versorgung. Jenseits einer bestimmten Drehzahl kann die Versorgung gar keinen Strom mehr hineindrücken.
Daraus entstehen die zwei Regeln, die zählen, wenn eine Maschine nicht schnell genug wird:
| Symptom | Was zu ändern ist | Warum |
|---|---|---|
| Blockiert unter Last bei niedriger Drehzahl | Stromgrenze erhöhen | Unterhalb der Ecke setzt Strom direkt Drehmoment |
| Blockiert nur bei hoher Drehzahl | Versorgungsspannung erhöhen | Jenseits der Ecke zwingt Spannung Strom hinein |
| Blockiert überall | Falscher Motor oder Last zu groß | Keine Einstellung rettet einen unterdimensionierten Motor |
Mehr Ampere kaufen Drehmoment. Mehr Volt kaufen Drehzahl. Strom hochzudrehen, um einen Hochdrehzahlblock zu beheben, bewirkt gar nichts – denn jenseits der Ecke erreichte der Treiber den eingestellten Strom ohnehin nie: und man bekommt einen heißen Motor zum Dank.
Mikroschritt: was er tut und was nicht
Mikroschritt heißt: Das Feld in Bruchteilen eines Vollschritts rotieren, indem man beide Phasenströme mischt statt voll ein- und auszuschalten. Bei 1/16-Schritt rückt ein STEP-Impuls das Feld um 5,625 elektrische Grad vor statt 90.
Was er wirklich behebt, ist das Klingeln. Der Rotor ist eine Masse an magnetischer Feder mit sehr wenig Dämpfung. Ihn 90 elektrische Grad auf einmal anzustoßen heißt: überschwingen, schwingen, einpendeln – hörbar und sichtbar. Das ist das Geräusch eines vollschrittigen Motors und die Welligkeit, die er in einer Oberfläche hinterlässt. Den Stoß durch sechzehn teilen und die Anregung verschwindet fast.
Man kann das messen. Dieselbe Achse bei derselben Drehzahl mit derselben Last fahren und aufzeichnen, wie weit der Schlitten vom befohlenen Pfad abweicht:
| Mikroschritt | Schrittgröße (GT2-Riemen) | Schlimmste Pfadabweichung | Bleibender Fehler aus Last |
|---|---|---|---|
| Vollschritt | 0,200 mm | 0,127 mm | 0,049 mm |
| 1/2 | 0,100 mm | 0,082 mm | 0,045 mm |
| 1/4 | 0,050 mm | 0,061 mm | 0,044 mm |
| 1/8 | 0,025 mm | 0,050 mm | 0,044 mm |
| 1/16 | 0,0125 mm | 0,045 mm | 0,044 mm |
Diese letzten zwei Spalten gegeneinander lesen – denn sie sind das ganze Argument. Sechzehnfache Auflösung kauft etwa 2,8× bessere Folgegenauigkeit und hört dann auf, sich zu verbessern – während der bleibende Fehler aus Last sich gar nicht bewegt. Er beträgt 0,044 mm bei Vollschritt und 0,044 mm bei Sechzehntelschritt. Die Kurve in der dritten Spalte flacht auf die vierte ab – und die vierte besteht nicht aus Auflösung.
Was Mikroschritt nicht behebt, ist der Lastwinkel. Unter dieser Last sitzt der Rotor etwa 20 elektrische Grad hinter dem Feld – 0,4 mechanische Grad, was auf dieser Achse 0,044 mm Positionsfehler sind. Bei Vollschritt ist das ein Viertelschritt und niemand bemerkt es. Bei 1/16-Schritt sind dieselben 0,044 mm 3,5 Mikroschritte – und der Treiber meldet selbstbewusst eine Position, in deren Nähe er nicht ist. Schrittteilen ließ den Fehler in Schritten größer aussehen; am Fehler tat es überhaupt nichts.
Der Grund lohnt klar auszusprechen. Um eine Position einen Mikroschritt neben der Rastung zu halten, erzeugt der Motor T_peak × sin(90° ÷ Mikroschritte) – das Drehmoment pro Mikroschritt kollabiert mit dem Teilen:
| Mikroschritt | Drehmoment, das einen Mikroschritt hält | Anteil des Haltemoments |
|---|---|---|
| Vollschritt | sin(90°) | 100 % |
| 1/8 | sin(11,25°) | 19,5 % |
| 1/16 | sin(5,625°) | 9,8 % |
| 1/256 | sin(0,352°) | 0,61 % |
Diese letzte Zahl entspricht der Zahl, die die Treiberliteratur zitiert für 1/256-Schritt – und sie ist die ganze Geschichte: Bei feinen Teilungen ist das Drehmoment, das einen Mikroschritt vom nächsten unterscheidet, kleiner als die Reibung in deiner Maschine. Der Rotor kann sie physisch nicht unterscheiden. Er bewegt sich, wenn der aufgestaute Befehl groß genug ist, Reibung zu überwinden – und dann bewegt er sich mehrere Mikroschritte auf einmal.
Also: Mikroschritt für Weichheit und Ruhe, nicht für Genauigkeit. Wer richtige Position braucht, braucht genug Drehmomentreserve – oder einen Encoder.
Es geschehen sehen
Das nützlichste Experiment ist das billigste. Im Schrittmotorsimulator eine 60-mm-Bewegung zweimal fahren, bei allem identisch außer Rampe:
| Mit Beschleunigungsrampe | Direkt auf volle Drehzahl befohlen | |
|---|---|---|
| Spitzenlastwinkel | 25° – bequem | jenseits 90° bei 1,2 ms, weg bei 3,0 ms |
| Verlorene Vollschritte | 0 | 280 |
| Wo die Achse landet | 60,00 mm | 4,0 mm |
Derselbe Motor, derselbe Treiber, dieselbe Stromgrenze, dasselbe Ziel. Der einzige Unterschied: ob die Schrittrate gerampt wurde – und der Unterschied zwischen beiden ist die gesamte Bewegung. Darum sind Bewegungsprofile an einer Schrittmotormaschine keine Verfeinerung: Sie sind das, was sie überhaupt funktionieren lässt.
Wenn es schiefgeht
| Symptom | Wahrscheinliche Ursache | Was zu tun ist |
|---|---|---|
| Motor summt laut und dreht nicht | Befehlsrate über Anlaufgrenzfrequenz | Beschleunigungsrampe hinzufügen; Startdrehzahl prüfen |
| Driftet wenige Millimeter pro Druck, immer eine Richtung | Schrittverlust auf der Rampe | Beschleunigung senken, Strom erhöhen oder langsamer |
| Langsam in Ordnung, blockiert bei Tempo | Jenseits der Eckdrehzahl | Versorgungsspannung erhöhen – Strom hilft nicht |
| Position um Vierervielfaches Vollschritte falsch | Klassischer Polschlupf | Finden, welche Bewegung überlastet; der Zählwert sagt, wie viele |
| Motor heiß genug, um wehzutun | Stromgrenze zu hoch oder der Motor arbeitet wirklich | 60–80 °C sind normal; Grenze gegen Angabe prüfen |
| Rau, laut, vibriert bei einer bestimmten Drehzahl | Mittenbandresonanz | Mikroschritt ändern, Dämpfung dazu oder diese Drehzahl meiden |
| Zwei Spulen als ein Paar verdrahtet | Falsche Drahtpaarung | Widerstand messen: Ein Paar liest wenige Ohm, Fehlpaarung offen |
Wohin das führt
Sobald der Lastwinkel im Kopf sitzt, hört der Rest der Schrittmotorwelt auf, ein Satz unverbundener Regeln zu sein. Die Stromgrenze an einem A4988 setzen heißt T_peak setzen. Einen Riemen oder eine Leitspindel wählen heißt wählen, wie viele elektrische Grad ein Millimeter Fehler kostet. Gegen einen Endschalter referenzieren heißt: Wie eine ungeregelte Maschine die absolute Position zurückgewinnt, die sie nie messen kann. Und ein Bewegungsprofil hält den Lastwinkel die ganze Bewegung über in ±90°.
Vier Seiten derselben Sinuskurve.
Den Graphen erkunden
Teil dieser Bauprojekte
Projekte und Lernpfade, die dieses Tutorial enthalten.
Weiterführende Literatur