Freitag, 7. Januar 2022
Freitag, 7. Januar 2022
Schrittmotor-Ansteuerung mit Arduino
In diesem Beitrag möchten wir Euch zeigen, wie ein bipolarer Schrittmotor im Open-Loop-Betrieb für die Richtanwendung eingesetzt werden kann. Dabei wird ein Richtwinkel, eine Beschleunigung und eine maximale Motordrehzahl vorgegeben. Aus diesen Größen soll die schnellste Möglichkeit gefunden werden zu richten. Richten heißt hierbei, eine bestimmte Bewegung durchzuführen um einen Zielwinkel zu erreichen. Diese Bewegung kann entweder langsam oder schnell erfolgen ... so schnell wie möglich heißt dass die Steuerung wissen muss wie die Trägheitsverhältnisse sind damit die Hardware gerade eben noch der Sollvorgabe folgen kann. Um die maximale Dynamik aus der Anwendung herauszuholen ist die Kenntnis der maschinendynamischen Verhältnisse wichtig. Sollte die Steuerung eine Bewegung versuchen umzusetzen und die Mechanik kann dieser nicht folgen, so ergibt sich ein sehr großer Schleppfehler und die Schwingungsbildung nimmt überhand.
Dabei kommt das bekannte Bewegungs-Trajektorien-Verfahren zum Einsatz. Im besten Fall kann im Dreieckverlauf das Ziel angefahren werden. Dabei ergibt sich aus der Beschleunigung eine Drehzahlrampe dessen maximale Drehzahl nicht die Motordrehzahl überschreitet.
Im Falle von größeren Verfahrwegen kommt man schnell an die maximale Motordrehzahl und nach Erreichen dieser muss dann mit Konstantfahrt bewegt werden, ehe dann rechtzeitig abgebremst werden soll. Diese Bewegung nennt man Trapez-Trajektorie.
Diese zeitoptimalen Richtvorgänge kommen immer dann zum Einsatz wenn z.B. Roboter im gleichen Arbeitsraum agieren und ihre Bewegungen zueinander synchronsiert werden müssen ... um eine Kollision zu vermeiden.
Hintergründe zum mechanischen Aufbau von Schrittmotoren und zur Bestromungslogik finden Sie hier.