Warum brauchen wir eine Rampe für Schrittmotor?

9

Ich bin ein Neuling und versuche zu verstehen, wie ich einen Schrittmotor betreiben kann. Das Konzept, an das ich gedacht hatte, war, dass Stepper digitale Impulse benötigen, um zu laufen, und ich habe es auch ausprobiert. Ich konnte den Stepper, den ich benutze, sehr einfach laufen lassen. Aber in letzter Zeit bin ich auf einen Link gestoßen, bei dem eine Rampe zum Starten eines Steppers verwendet wurde, um dies zu rechtfertigen

"Wenn wir versuchen, den Schrittmotor mit schnellen Impulsen zu starten, sitzt er einfach da und summt weg, ohne sich zu drehen. Wir müssen den Schrittmotor langsam starten und die Geschwindigkeit der Stufen allmählich erhöhen (Hochfahren)." Quelle: http://www.societyofrobots.com/member_tutorials/book/export/html/314

Meine Frage ist, warum der Stepper dann mit regulären Rechteckimpulsen startet. Warum brauchen wir eine Rampe? In allen anderen Foren und Tutorials wird immer davon gesprochen, dem Stepper digitale Impulse zum Starten bereitzustellen. Warum wird das Konzept der Rampengenerierung dort nicht diskutiert? Ist es eine schlechte Praxis, Stepper mit digitalen Impulsen zu betreiben?

alexhilton
quelle
2
Ich denke, Sie verwechseln die "Rampe" mit "Rechteckwellen" -Formen. Die Steuerung erfolgt immer noch durch Rechteckwelle. Nur die Geschwindigkeit / Änderungsrate dieser Steuerschritte wird von Null auf die beabsichtigten Schritte pro Sekunde oder auf die Geschwindigkeit erhöht, die Sie erreichen möchten.
KyranF
Angenommen, Ihre Stepper-Rechteckwelle sieht aus wie ein 3-kHz-Signal. Anstatt vom Dead Stop zum Flat-Out zu wechseln, sollten Sie mit einer niedrigen Frequenz (oder einer längeren Lücke zwischen den Impulsen) beginnen. Das Betätigen eines Gaspedals dauert etwa eine halbe Sekunde und raucht entweder Reifen (im niedrigen Gang) oder es dauert eine Weile, bis er reagiert (im hohen Gang).
Alan Campbell
Ja, ich habe die Rampe mit den Impulsen verwechselt, danke für das Feedback, Leute!
Alexander

Antworten:

8

Wenn die Steuerung auf den Motor tritt, muss sich der Rotor so weit bewegen (Winkel), dass der Rotor beim Einschalten der nächsten Spule (oder des nächsten Spulenpaars) in die richtige Richtung gezogen wird. Wenn sich der Rotor nicht in einem ausreichenden Winkel bewegt hat, ziehen die Spulen den Rotor nach hinten und der Motor sitzt einfach da und summt. Sie können online viele Abbildungen und Animationen finden, die erklären, wie der normale Betrieb funktioniert. Stellen Sie sich vor, der Rotor bewegte sich nur um einen Bruchteil der beabsichtigten Menge.

Der Rotor, die Welle und alles, was mit der Welle verbunden ist, haben alle Trägheit und es gibt Reibung verschiedener Art.

Die maximale Drehzahl, mit der der Stepper die Welle drehen kann, hängt vom vom Motor verfügbaren Drehmoment und dem zum Drehen der Welle erforderlichen Drehmoment ab (das verfügbare Drehmoment sinkt mit zunehmender Drehzahl und das erforderliche Drehmoment steigt im Allgemeinen mit zunehmender Drehzahl). Das hängt nicht direkt mit der Trägheit zusammen.

Um tatsächlich zu erreichen das Maximum (oder einen Bruchteil davon) können Sie nur die RPM beschleunigen so schnell ohne die Schritte fehlen. Die maximale Beschleunigung hängt von der Trägheit und dem überschüssigen verfügbaren Drehmoment bei einer bestimmten Drehzahl ab. Wenn der Motor alles tut, um mit der aktuellen Drehzahl Schritt zu halten, können Sie nicht mehr beschleunigen. Wenn die Drehzahl niedrig genug ist, müssen Sie sie nicht hochfahren, sondern können sie einfach zum Schritt anweisen. Dies ist jedoch normalerweise nur ein Bruchteil der Drehzahl, die der Motor leisten kann. Oft werden der Einfachheit halber lineare Rampen verwendet, aber eine konvexere Kurve wäre optimal.

Hier ist eine Motordrehmomentkurve von Oriental Motor (einem großen japanischen Hersteller):

http://www.orientalmotor.com/technology/articles/article-speed-torque-curves-for-step-motors.html

Um die maximale Beschleunigungsrate vorherzusagen, müssen Sie das Drehmoment und das Massenträgheitsmoment kennen . Wenn Sie die maximale Beschleunigungsrate bei einer bestimmten Belastung überschreiten, verliert der Motor Stufen. Daher ist ein angemessener Sicherheitsspielraum eine gute Idee.

Spehro Pefhany
quelle
Vielen Dank an Sphero für diese ausführliche Antwort. Ich habe mich tatsächlich mit zwei wichtigen Dingen verwechselt. Ich werde daran arbeiten, die Häufigkeit der Schritte zum Aufbau einer Rampe auszuwählen.
Alexander
Hast du Literatur?
Carlton Banks
@CarltonBanks Schauen Sie sich den obigen Link zu Oriental Motor an.
Spehro Pefhany
Es wird nicht unbedingt erwähnt, warum es besser ist, hochzufahren als nicht. (Wenn überhaupt, erwähne nur die Auswahl, soweit ich lesen kann.) Ich meine, soweit ich verstehe, könnte man den Motor mikroschreiten und nicht hochfahren, der Unterschied wäre das Drehmoment nicht so mächtig zu sein.
Carlton Banks
Wenn Sie sich nicht für die Höchstgeschwindigkeit interessieren, gibt es keinen Grund zur Rampe. Mit der Rampe erhalten Sie eine höhere Höchstgeschwindigkeit für eine bestimmte Trägheit + Drehmoment, ohne Schritte zu verlieren.
Spehro Pefhany
2

Es hört sich so an, als würde in der Beschreibung, die Sie gelesen haben, die Geschwindigkeit erhöht , dh die Häufigkeit der Schritte. Die Impulse für jeden Schritt sind immer noch quadratisch.

Der Grund ist, dass ein Schrittmotor nur so viel Drehmoment erzeugen kann. Wenn wir dieses maximale Drehmoment überschreiten, verfehlt der Motor Schritte.

Darüber hinaus erfordert das Beschleunigen des Motors ein Drehmoment nach dem zweiten Newtonschen Bewegungsgesetz : Kraft ist gleich Masse mal Beschleunigung:

F.=mein

Für ein rotierendes System ändern sich die Begriffe etwas, aber sie sind meistens analog: Drehmoment entspricht dem Trägheitsmoment mal Winkelbeschleunigung:

τ=ichα

Die Folge ist, dass zum sofortigen Beschleunigen des Motors ein unendliches Drehmoment erforderlich wäre, das nicht möglich ist. Daher müssen wir die Beschleunigung begrenzen, dh die Drehzahl "erhöhen", um das erforderliche Drehmoment auf etwas zu begrenzen, das der Motor ohne fehlende Schritte erzeugen kann.

Phil Frost
quelle
1

Zwei Jahre später ... wollte ich einige Details über die typische Geschwindigkeit gegenüber Vibration / Geräusch für jeden Schrittmotor hinzufügen.

Wenn die Welle sehr langsam wie eine pro Sekunde tritt, bewegt sie sich an die neue Position und überschießt und unterschreitet dann viele Male, bis sie sich bei dieser Stufe stabilisiert. Der Vorgang wird bei jedem neuen Schritt wiederholt.

Die elektrische Spannung / der elektrische Strom muss für die Last ausreichend sein und die Motorgröße muss so ausgewählt werden, dass sie dem erforderlichen Drehmoment entspricht.

Sobald sich der Motor nicht mehr bewegen muss, kann die Spannung / der Strom um etwa 50% bis 75% reduziert werden, um diese Position beizubehalten. In Fällen, in denen die Reibung dominiert oder ein Zahnrad verwendet wird, kann der Motor vollständig abgeschaltet werden. Dies ähnelt Relais, die zum Aktivieren beispielsweise 12 Volt benötigen, dann aber den Kontakt mit nur 9 Volt problemlos aktivieren können.

Wenn die Geschwindigkeit auf etwa 20 pro Sekunde erhöht wird, erreichen die Vibrationen / Geräusche das Maximum. Dies ist eine Geschwindigkeit, die die meisten Ingenieure zu vermeiden versuchen.

Wenn die Geschwindigkeit erhöht wird, nimmt die Vibration / das Geräusch ab, indem auch das Drehmoment abnimmt. Wenn Sie das Rauschen gegen die Frequenz zeichnen, zeigt die Form eine klare Abwärtsrichtung mit einigen lokalen Maxima, häufig bei harmonischer Frequenz.

Nehmen wir an, dass bei einem typischen Wert über 100 Schritten pro Sekunde die Vibration niedrig genug ist, um tolerierbar zu sein, und nehmen wir an, dass das Drehmoment für einen zuverlässigen Betrieb über 500 Hertz zu schwach wird.

Sie können einen Schrittmotor mit jeder dieser Frequenzen sofort starten, ohne die Geschwindigkeit von 100 Hz auf 500 Hz zu erhöhen. Ebenso können Sie die Schritte unabhängig von der Frequenz abrupt stoppen. Der Haltestrom reicht aus, um den Motor in diesem Schritt zu sperren.

Die Rampe wird benötigt, wenn Sie die maximale Frequenz überschreiten möchten. Angesichts der oben genannten "typischen" Zahl kann es sein, dass Ihr Motor bei sanfter Beschleunigung noch genügend Drehmoment hat, um von 500 Hz bis 700 Hz zu arbeiten. Der Trick für einen zuverlässigen Betrieb besteht darin, die Rampe irgendwo wie 400 Hz zu starten und dann auf 700 Hz erhöhen zu lassen. Halten Sie es auf dieser Geschwindigkeit, bis Sie sich der Zielposition nähern.

Dann sanft von 700 Hz auf 450 Hz abbremsen. Wenn die Zielposition immer noch nicht erreicht wird, halten Sie den Motor auf dieser Geschwindigkeit. Ab 450 Hz können Sie dann anhalten. Halten Sie den Motor 0,1 Sekunden bis 1 Sekunde lang bei maximaler Stromstärke / Spannung, um sicherzustellen, dass alle Vibrationsquellen abgeführt werden.

Die lineare Rampe ist einfacher zu erstellen. Das Optimum ist jedoch die "S" -Form. Sie beginnen mit der sicheren Frequenz, erhöhen sich zunächst langsam und ändern die Geschwindigkeit der exponentiellen Erhöhung der Geschwindigkeit bis zum Erreichen des Maximums.

Wenn es Zeit zum Abbremsen ist, gilt derselbe Algorithmus, der die Geschwindigkeit langsam und exponentiell verringert, die Geschwindigkeit verringert und die Geschwindigkeit verringert, wenn die sichere Geschwindigkeit erreicht ist, wodurch der Motor abrupt gestoppt werden kann.

Der eigentliche Code, der all das unter Verwendung eines Motorola 68HC05-Mikrocontrollers ausführte, benötigte ungefähr 500 Bytes (das interne EPROM betrug insgesamt 8 KB und der RAM 128 Bytes). Es wurde in Assembler geschrieben.

Wenn Sie über die Hardware für Mikroschritte verfügen, können Sie alle Erwähnungen zu Geräuschen und Vibrationen ignorieren. Sie benötigen weiterhin eine Beschleunigung in S-Form, wenn Sie die übliche Höchstgeschwindigkeit überschreiten möchten. Da es jedoch unabhängig von der Geschwindigkeit keine Vibrationen gibt, können Sie die Verzögerung so niedrig einstellen, wie Sie möchten.

Die Lehren aus dem Rechteckwellenantrieb halten noch an. Das heißt, für den effizientesten Weg zum Ziel möchten Sie, dass die Verzögerung auf der Frequenz knapp unter dem Punkt liegt, an dem das Motordrehmoment für ein abruptes Anhalten und Starten ausreicht.

Christian Gingras
quelle