Posts Tagged ‘Mikroschritt’

Stromregler als Ursache für Positionierfehler im Mikroschritt

Sonntag, September 4th, 2016

Schrittmotor-Treiber ICs werden immer leistungsfähiger, kleiner und preiswerter. Mikroschrittauflösungen von 1/16 oder 1/32 sind heute bereits Standard, Auflösungen bis 1/256 eines Vollschritts sind ebenfalls verfügbar. Dass diese höhere Auflösung nicht mit der erreichbaren Positioniergenauigkeit gleichzusetzen ist, wurde hier bereits im Beitrag „Die Bedeutung des Lastwinkels bei Schrittmotoren“ diskutiert. Neben den mechanischen Einflüssen wie der angetrieben Last und der Fertigungsqualität des Schrittmotors gibt es aber einen weiteren, nicht zu unterschätzenden Einflussfaktor: Die Schrittmotorsteuerung selbst.

In verschiedenen Foren zu den Themen 3D-Druck und low-cost CNC finden sich Hinweise, dass es speziell bei einigen mit A4988 oder DRV8825 bestückten „Shields“, z.B. von Pololu und deren Nachbauten (z.B. StepStick), Genauigkeitsprobleme bei langsam laufenden Motoren gibt. Dabei scheint der Motor einen Mikroschritt auszulassen bzw. zu überspringen. Besonders kleine Motoren mit niedrigen Strömen sind für diesen Effekt anfällig. Eine kontroverse Diskussion dazu findet sich z.B. im deutschen Teil des Reprap-Forums unter dem Titel „A4899 / DRV8825 Decay Hack“ (Achtung, Zahlendreher im Thread-Titel. Richtig ist A4988!). Ein übersprungener 1/16-Schritt scheint auf den ersten Blick kein großes Problem zu sein. Der dabei entstehende Winkelfehler beträgt lediglich 0,1125°, was besonders bei mechanisch einfachen Aufbauten wenig erscheint. Wie sehr sich dieser Fehler z.B. beim 3D-Druck auf die Oberflächen-Qualität auswirken kann, zeigt das Beispiel des Reprap-Users „lukie80“ aus o.g. Diskussion. Anhand der gedruckten Musterbeispiele erkennt man deutlich den Einfluss der Treiber-Einstellungen auf die Bauteilqualität, wenn der Extruder von einem Treiber angesteuert wird, der das hier besprochene Problem aufweist.

Durch Mikroschritt-Abweichungen verursachte Artefakte beim 3D-Druck [Quelle: Reprap-Forum, user

Durch Mikroschritt-Abweichungen verursachte Artefakte beim 3D-Druck [Quelle: Reprap-Forum, user „lukie80“]

Was ist nun eigentlich die Ursache für dieses Problem? Vereinfacht gesagt schafft es das Treiber-IC nicht, den Wicklungsstrom in der Nähe des Nulldurchgangs fein genug zu regeln. Der für den ersten Mikroschritt nach dem Nulldurchgang nötige geringe Strom fällt dadurch zu hoch aus, so dass der Motor bereits beim ersten Mikroschritt weiter dreht als eigentlich gewünscht. Beim nächsten Mikroschritt fällt die Bewegung entsprechend kleiner aus. Neben der Positionsabweichung kann der ungleichmäßige Lauf auch zu störenden Geräuschen und Vibrationen der angetrieben Mechanik führen. Allegro MicroSystems weist im Datenblatt des A4988 explizit auf diese Problematik hin und liefert gleich eine mögliche Lösung mit. Einen Hinweis darauf gab es bereits 2012 im Blog von Hydraraptor. Die dort diskutierte Verlängerung der Ausschaltzeit t_off führt dazu, dass der Stromregler so langsam wird, dass er im hörbaren Bereich arbeitet. Beim A3977 oder dem in der Tiny-Step II verwendeten Nachfolger A3979 kann dagegen über ein RC-Glied auch die minimale Einschaltzeit (und die Dauer der Fast-Decay Phase) beeinflusst werden, wodurch die Schaltfrequenz höher ausfallen kann und der Effekt abgemildert wird.

Abweichung vom Stromsollwert nach dem Nulldurchgang bei Slow-Decay [Quelle: Datenblatt A4988].

Abweichung vom Stromsollwert nach dem Nulldurchgang bei Slow-Decay [Quelle: Datenblatt A4988].

Ob dieses Problem auftritt, hängt also davon ab, welche Art der Stromregelung das verwendete IC in welcher Phase benutzt. Moderne Treiber-ICs unterstützen verschiedene Betriebsarten der Stromregelung (Slow-, Mixed- und Fast-Decay) und müssen vom Schaltungsentwickler entsprechend auf den jeweiligen Motor angepasst werden. Bei der Entwicklung universell einsetzbarer Schrittmotorsteuerungen (die also nicht für einen konkreten Motor entwickelt werden), muss ein geeigneter Kompromiss zwischen den Vor- und Nachteilen der verschiedenen Betriebsarten gefunden werden. Eine nachträgliche Anpassung durch den Anwender ist in der Regel nicht vorgesehen und würde viele Benutzer wohl auch überfordern. Beim L297 konnte man den Effekt beim Wechsel von slow decay auf fast decay (dort noch Phase bzw. Inhibit chopping genannt) leicht durch Ausprobieren herausfinden, z.B. auf der 3D-Step durch Änderung des Jumpers „MODE“. Heutige Treiber unterstützen deutlich mehr unterschiedliche Einstellungen, die z.T. durch Anpassen von Bauteilwerten justiert werden müssen. Die Unterschiede im Regelungsverhalten treten außerdem nicht mehr so deutlich zu Tage wie beim L297.

Bei den Motorshields mit A4988 und DRV8825 wurden die Hinweise in den Datenblättern offenbar übersehen, nicht verstanden oder aus anderen Gründen nicht umgesetzt. Im Blog von Cabristor findet sich eine Problemanalyse zum Thema. Als Abhilfe-Maßnahme werden dort zusätzliche Dioden in den Zuleitungen zum Motor eingesetzt, was aber entsprechende Verluste in den Dioden verursacht, die effektiv an der Wicklung liegende Spannung reduziert und somit letztlich die Dynamik des Motors reduziert. Wirksamer ist unter Umständen eine Anpassung direkt auf dem Motorshield. Anwendern der betroffenen Module bleibt damit die Möglichkeit, selbst zum Lötkolben zu greifen und die Shields zu patchen, wie es auch im Reprap-Forum beschrieben ist. Beim A4988 muss der Pin ROSC auf Masse (GND) gelegt werden, um Mixed-Decay auch in Phasen des Stromaufbaus zu aktivieren. Diesen Betrieb unterstützt der DRV8825 nicht. Es bleibt nur die Möglichkeit, vollständig auf Fast-Decay umzuschalten, indem Pin19 (DECAY) auf +5V gezogen wird. Nachteil ist ggf. ein höheres Betriebsgeräusch der Motoren durch den höheren Ripple-Anteil im Motorstrom. Bei offenem Pin arbeitet der Treiber zwar mit Mixed-Decay, allerdings nur in Phasen in denen der Strom abgebaut werden soll.

Inzwischen sollen Motorshields mit den genannten Treibern erhältlich sein, die bereits entsprechend geändert sind. Ob die Änderungen für größere Schrittmotoren ebenfalls optimal sind, muss man im Zweifelsfall ausprobieren. Bei Motor-Treibern mit Konfigurationsmöglichkeit über eine digitale Schnittstelle (wie SPI oder I²C) bieten sich je nach konkreter Realisierung der Schrittmotorsteuerung auch für den Endanwender Möglichkeiten, den Treiber an den verwendeten Motor anzupassen. Bei ICs mit externer H-Brücke bzw. externen FETs kann sogar das Zeitverhalten der H-Brücke angepasst werden. Interessante Konfigurationsmöglichkeiten bietet z.B. der DRV8711 von TI, den ich auf meinem neuen Schrittmotor-Treibermodul smOOver.drv einsetze. Durch die guten Einstellmöglichkeiten ergibt sich bei optimaler Anpassung auf den verwendeten Motor ein besonders weicher und ruhiger Motorlauf.

Ansteuern von Schrittmotoren mit Arduino

Montag, Mai 5th, 2014

Ein Arduino Controller kann verwendet werden, um eigenständige interaktive Objekte zu steuern oder um mit Softwareanwendungen auf Computern zu interagieren (z. B. Adobe Flash, Processing, diverse Skriptsprachen, Terminal etc.). Arduino wird beispielsweise auch an Kunsthochschulen genutzt, um interaktive Installationen aufzubauen. Die Hardware besteht aus einem einfachen I/O-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung verwendet die Programmiersprache Processing, die auch technisch weniger Versierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern soll. [Quelle: Wikipedia]

Um es Einsteigern in die Welt von Elektronik und Mikrocontrollern möglichst einfach zu machen, gibt es für die Arduino-Plattform eine große Vielfalt an steckbaren Erweiterungsmodulen, so genannte „Shields“. Auch für die Ansteuerung von Motoren sind diverse Shields erhältlich. Sie bestehen oft nur aus einem Treiberchip mit der minimalen Basisbeschaltung. Über die kleine Platine kann kaum Verlustleistung abgeführt werden, zudem fehlt es für größere Motoren an ausreichend dimensionierten Pufferelkos. Auch Schutzbeschaltungen (Kurzschlussschutz, Optokoppler in Richtung Controller) sind die absolute Ausnahme. Das Experimentieren mit Motoren kann so schnell zu einem frustrierenden Erlebnis werden, wenn mit den Motoren „reale“ Lasten angetrieben werden sollen. Im folgenden Beitrag wird gezeigt, wie man mit einem Arduino mit Hilfe der AccelStepper-Bibliothek über wenige I/Os nahezu alle Schrittmotorsteuerungen mit Takt-/Richtungsinterface ansteuern kann.

Zur Arduino Entwicklungsumgebung gehört auch eine einfache Bibliothek zur Ansteuerung von Schrittmotoren. Sie geht jedoch davon aus, dass die Motorwicklungen direkt oder mittels zwischengeschalteter Transistoren über die I/Os des Prozessors angesteuert werden (Verwendung von zwei Ausgängen je Motorwicklung, insgesamt 4 Ausgänge). Beschleunigungs- und Bremsrampen sind nicht vorgesehen. Durch diese einfache Ansteuerung lässt sich nur ein geringes Drehmoment bei niedrigen Drehzahlen erreichen. Die AccelStepper-Library unterstützt dagegen auch so genannte 2- und 3-Draht Interfaces sowie den Typ „Driver“. Gemeint ist damit die Ansteuerung von integrierten Treibern über Takt- und Richtungssignale. Es ist auch möglich, eigene Interface-Definitionen einzuführen, wie im Beispiel zu diesem Beitrag gezeigt wird. Wie der Name andeutet, implementiert die Lib außerdem Beschleunigungs- und Bremsrampen. Über die Bibliothek können zudem mehrere Motoren gleichzeitig angesteuert werden, was die Anwendungsmöglichkeiten von Arduino für Projekte mit Motoren deutlich erweitert.

Anschluss der Tiny-Step Endstufe an den Arduino Controller

Anschluss der Tiny-Step Endstufe an den Arduino Controller

Das Bild zeigt den Anschluss der Takt-Richtungsendstufe Tiny-Step II, welche auf dem A3979 von Allgero Micro basiert. Der Treiber realisiert Motorströme bis 2,25A bei bis zu 35V bei Mikroschritt-Auflösungen bis 1/16. Durch das durchdachte Kühlkonzept werden die genannten Leistungsdaten auch im Dauerbetrieb sicher erreicht. Der integrierte, selbstrückstellende Kurzschlussschutz sichert die Schaltung vor Schäden durch falsche Beschaltung. Neben den Anschlüssen für Takt und Richtung (grün und gelb) werden auch Ausgänge für Enable (Einschalten der Endstufe) und Stromabsenkung ausgegeben sowie ein Fehlersignal von der Endstufe über einen Eingang eingelesen. Diese Signale sind optional. Der fertige Aufbau ist im folgenden Bild zu sehen, angeschlossen ist ein Nema17 Motor mit 0,5Nm Haltemoment. Auch kleinere Nema23 Motoren können mit diesem Aufbau angesteuert werden.

Testaufbau mit Arduino, Tiny-Step und Schrittmotor von Nidec Servo

Testaufbau mit Arduino, Tiny-Step und Schrittmotor von Nidec Servo

Nach dem gleichen Prinzip und hier sogar mit der identischen I/O-Beschaltung lassen sich aber auch deutlich leistungsfähigere Endstufen an den Arduino anbinden. Das folgende Bild zeigt einen Aufbau mit einer Endstufe vom Typ LAM DS1078 (bis 14A bei bis zu 90V), die einen Nema34 Motor mit 3,1Nm antreibt. Die DS10-Serie ist eine industrietaugliche Serie von Schrittmotorendstufen mit SPS-kompatiblen I/Os. Durch den Einsatz dieser Kraftpakete ergeben sich mit dem Arduino ganz neue Möglichkeiten.

Testaufbau mit LAM DS1078

Testaufbau mit LAM DS1078

Das Programmierbeispiel (Arduino-Projekte werden auch Sketch genannt) ist auf Git-Hub frei zum Download verfügbar. Ich würde mich über Rückmeldungen zum Einsatz der Accellib freuen.

Literatur zu Schrittmotoren

Freitag, Juni 8th, 2012

Wer anfängt, sich mit Schrittmotoren zu beschäftigen, findet im Web eine Menge an Quellen, anhand derer man sich einen ersten Überblick verschaffen kann. Zu empfehlen ist zunächst der Wikipedia-Artikel zum Schrittmotor. All denen, die halbwegs englisch sprechen bzw. lesen können, sei die Webseite von Professor Jones ans Herz gelegt. Auch meine Homepage zum Schrittmotor möchte ich nicht unerwähnt lassen…

Was aber, wenn man tiefer in das Thema Schrittmotor einsteigen will? Ältere Semester werden sich erinnern: Richtig, dann könnte man ein Buch zur Hand nehmen. Aber welches? Ich habe im Folgenden eine Übersicht über bekannte und weniger bekannte Bücher rund um den Schrittmotor zusammen gestellt. Allen gemein ist, dass sie schon einige Jahre auf dem Buckel haben. Viele Titel sind außerdem nicht mehr neu erhältlich, sondern nur noch gebraucht über eBay, Amazon und Co.

Neuere Entwicklungen wie Mikroschritt, Stall-detection (Überlasterkennung) oder sensorlose Regelung bleiben bei den Büchern also außen vor. Doch bevor man sich intensiv mit diesen Themen beschäftigt, lohnt es sich, ein gutes Grundverständnis vom Schrittmotor und dem zugrunde liegenden Wirkprinzip aufzubauen. Dann lesen sich die Datenblätter und Applikation Notes der IC-Hersteller deutlich leichter. Und wer dann immer noch nicht genug hat, wird in Unibibliotheken fündig. Hier gibt es tatsächlich eine Reihe neuerer Veröffentlichungen in internationalen Magazinen (z.B. verschiedene IEEE Publikationen) und natürlich Dissertationen, die noch mehr in die Tiefe gehen.

Literaturübersicht:

Übersicht Bücher zum Thema Schrittmotoren

Eine Auswahl an Büchern zu Schrittmotoren und elektrischen Antrieben

Felix Schörlin: “Mit Schrittmotoren steuern, regeln und antreiben”. Franzis, 1995. ISBN: 3-7723-6722-4
Sehr schönes, leicht verständlich geschriebenes Buch für Einsteiger. Betrachtet auch Resonanzen und einfache Versuchsaufbauten. Mit verschiedenen, ausführlich erläuterten Schaltungsbeispielen (TCA3717, L6203, diskrete Endstufen mit MOSFET und IGBTs), die allerdings nicht mehr dem aktuellen Stand entsprechen. Auch für 5-phasige Motoren einsetzbar. Das Controller-Beispiel mit dem ST6225 ist nicht mehr up to date, kann aber leicht auf andere Controller übertragen werden.

Friedrich Prautzsch: „Schrittmotor-Antriebe“. 3. Aufl., Franzis, 1996. ISBN: 3-7723-2183-6
Sehr kompakt, bietet einen schnellen aber nicht zu oberflächlichen Einstieg in das Thema. Elektrotechnik-Grundwissen ist von Vorteil. Nicht mehr ganz auf dem letzten Stand.

Erich Rummenich et al.: „Elektrische Schrittmotoren und –antriebe“. 3. Aufl., Expert 2005. ISBN: 3-8169-2458-1
Inhaltlich nicht mehr auf dem Stand der Technik. Interessant wegen der einfachen Versuchsaufbauten und für historische Betrachtungen

Takashi Kenjo: „Stepping motors and their microprocessor controls“. Oxford Science Publications, 1984. ISBN 0-19-859339-2
Sehr umfangreiches englisches Buch, bietet einen guten Einstieg mit historischem Überblick. Viele interessante Abbildungen von älteren Geräten und Realisierungsbeispielen. Dynamische Betrachtungen incl. der mathematischen Zusammenhänge, Schaltungsbeispiele mit Logiktabellen sowie Versuchsaufbauten. Mit Literaturverzeichnis zu jedem Kapitel

Dierk Schröder: „Elektrische Antriebe – Grundlagen“. 3. Aufl., Springer, 2007. ISBN: 978-3-540-72764-4
Allgemeines Buch zur elektrischen Antriebstechnik mit einem Abschnitt über Schrittmotoren. Umfangreiches Literatur- und Sachverzeichnis

Gert Hagmann: „Leistungselektronik – Grundlagen und Anwendungen in der elektrischen Antriebstechnik“. 3. Aufl., Aula, 2006. ISBN:978-3-89104-700-2
Gutes Grundlagenbuch für alle, die selbst Schaltungen zur Ansteuerung von Motoren entwickeln möchten. Gutes Sachverzeichnis.

Paul Acarnely: “Stepping Motors: A Guide to Theory and Practice”. 4th edition, Institution of Engineering and Technology, 2002. ISBN: 978-0852964170
Englisches Fachbuch. Das Thema Mikroschritt fehlt leider. Sonst sehr detailliert, incl. der zur Beschreibung und Berechnung erforderlichen Mathematik. Weitere Themen: Open und closed loop Betrieb, statische Betrachtung der Momente, Highspeed Betrieb, Resonanzdämpfung. Umfangreiche Literaturverweise.

Handbuch Elektrische Kleinantriebe [Gebundene Ausgabe]
Hans-Dieter Stölting (Herausgeber), Eberhard Kallenbach (Herausgeber). 4. Aufl., Hanser, 2011. ISBN-13: 978-3446423923
Habe ich selbst noch nicht gelesen, sollte aber trotzdem nicht unerwähnt bleiben, weil es gerade in neuer Auflage erschienen ist. Somit besteht die Chance, auch zu neueren Themen Informationen zu finden.

China-Endstufen im Test bei c’t Hardwarehacks

Mittwoch, Mai 2nd, 2012

Der c’t Redakteur Carsten Meyer widmet sich in seinem Testbericht auf Heise Hardware-Hacks den inzwischen sehr belieben 3- oder 4-achsigen Schrittmotorendstufen auf Basis des Toshiba TB6560AHQ. Im Test nimmt das Design genauer unter die Lupe und entdeckt einige Ungereimtheiten. Fazit: Wo Licht ist, ist auch Schatten…

Zum Testbericht auf Hardware-Hacks

Anwendungsmöglichkeiten für Schrittmotoren in der Produktions- und Automatisierungstechnik

Freitag, August 19th, 2011

Durch Auswahl der für die Anwendung optimalen Schrittmotor-Steuerung lassen sich Schrittmotore deutlich schneller und einfacher in die verschiedensten Anwendungen integrieren. Der folgende Beitrag gibt einen Überblick über die Möglichkeiten und nennt einige Anwendungsbeispiele von der animierten Produktfotografie bis hin zu Drosselklappensteuerungen oder Wickeleinrichtungen.

Schrittmotoren als Ersatz für langsam laufenden Gleichstrom-Getriebemotoren

In vielen Anwendungen werden Antriebe benötigt, die lediglich eine konstante und oft niedrige Drehzahl bereitstellen müssen. Beispiele sind Antriebe für Zuführeinheiten, Band- oder Kettenantriebe für den Produkttransport, Stationen zum Einschleusen von Bauteilen in Montageprozesse usw. Aufgrund der niedrigen Drehzahlen werden hierfür oft Getriebemotoren eingesetzt, vielfach noch mit bürstenbehafteten Gleichstrommotoren. Aufgrund ihrer hohen Polpaarzahl und des vergleichsweise hohen Drehmomentes bieten sich Schrittmotoren als alternative Antriebsform an. Die Vorteile liegen auf der Hand: Besseres Störverhalten (EMC) durch Entfall des Bürstenfeuers und vor allem deutlich niedrigere Ausfallraten, da die verschleißanfälligen Komponenten Getriebe und Bürsten entfallen. Durch den Wegfall des Getriebes ist die Lösung mit Schrittmotor zudem oft auch preiswerter. Dank moderner Ansteuerverfahren mit Mikroschritt stehen Schrittmotoren anderen Antrieben in Hinblick auf das Geräuschverhalten in nichts nach.

Für den einfachen Einsatz in der Anwendung muss allerdings ein Taktsignal für die Schrittmotorsteuerung bereits gestellt werden. Auf Basis des Timer-ICs NE555 kann mit wenigen Bauteilen eine Schaltung aufgebaut werden, die ein über Spindeltrimmer einstellbares Taktsignal erzeugt. Das Bild zeigt den Schaltplan mit dem NE555 in der Grundschaltung als so genannter Multivibrator. Über den Spindeltrimmer kann die Frequenz innerhalb von mindestens einer Dekade verstellt werden. Durch Variation des Kondensators (z.B. Weglassen von C2) kann der Frequenzbereich zusätzlich variiert werden. Eine entsprechende Leerplatine ist über mechapro.de erhältlich. Die gleiche Grundschaltung wurde in der Schrittmotor-Endstufe Tinystep II verwendet (nur in den Ausführungen „plus“ und „Tragschienen-Gehäuse“. Andere Motortreiber enthalten einen Mikrocontroller, der die Ansteuerung der Endstufe übernimmt. Ist ein Controller vorhanden, bietet es sich natürlich an, diesen auch für die Takterzeugung zu verwenden. Die Treiber der DS10-Reihe von LAM bieten so die Möglichkeit, über I/O zwei parametrierbare Frequenzen auszuwählen.

Beschaltung des NE555 als Multivibrator zur Takterzeugung

Bei größeren bewegten Massen oder Bewegungen mit höheren Drehzahlen benötigen Schrittmotoren eine Anlauframpe. Neben umfangreich programmierbaren Treibern (wie z.B. der DS30-Serie von LAM) gibt es Lösungen mit analoger Sollwertvorgabe für die Drehzahl. So kann eine übergeordnete Steuerung direkten Einfluss auf die Drehzahl des Schrittmotors nehmen, ohne Frequenzen bis in den zweistelligen kHz-Bereich erzeugen zu müssen. Die bietet einen Eingang für +/-10V, mit dem die Drehzahl bis 5U/s eingestellt werden kann. Neben den zuvor genannten Anwendungen können Schrittmotoren so auch für Registerregelungen, Wickelvorrichtungen usw. eingesetzt werden.

Vielfältige Möglichkeiten mit frei programmierbaren Schrittmotorsteuerungen

Frei programmierbare Treiber wie die DS30-Serie von LAM ermöglichen den Einsatz von Schrittmotoren für vielfältige Anwendungen, ohne das eine permanente PC-Verbindung oder eine komplexe SPS erforderlich wären. Digitale und analoge Ein- und Ausgänge synchronisieren das interne Programm mit dem Verhalten der Anlage. Um z.B. eine Drosselklappenverstellung abhängig von einem analogen Sollwert zu realisieren, wird in der Steuerung der Wert des analogen Eingangs mit der Sollposition des Antriebs verknüpft. Beim Einsatz in Wickelvorrichtungen kann der Analogwert hingegen zur Anpassung der Geschwindigkeit des Wicklers eingesetzt werden. Zur Steuerung von Drehtellern für die Produktfotografie können z.B. feste Wegstrecken eingestellt werden, die dann entweder über einen Eingang oder voll automatisch ausgelöst werden können. Durch den Einsatz von Wartezeiten und eines Ausgangssignals kann ggf. sogar die Ansteuerung der Kamera integriert werden, so dass nach Ablauf eines Fotoshootings nur noch die Bilder von der Kamera auf einen PC übertragen werden können. Noch komfortabler geht es nur noch durch den Einsatz eines USB-Controllers und einer auf die Anwendung abgestimmten PC-Software…

Falls eine Referenzfahrt oder ein Freigabesignal erforderlich ist, kann dies problemlos über die digitalen Eingänge gelöst werden, während die digitalen Ausgänge z.B. Fehlerzustände, Bereitsignale u.ä. signalisieren können. Zusätzlich steht ein analoger Ausgang zur Verfügung, mit dem z.B. die aktuelle Geschwindigkeit des Motors ausgegeben werden kann. Für alle Eingangswerte und die internen Variablen stehen mathematische Funktionen zur Verfügung, so dass auch komplette Regler realisiert werden können.

Abseits von reinen Schrittmotor-Endstufen mit Takt-/Richtungssignalen erschließen Schrittmotor-Steuerungen mit Zusatzfunktionen ein breites Anwendungsfeld. Ich hoffe, ich konnte Sie mit den vorgestellten Beispielen inspirieren und würde mich über Ergänzungen aus Ihrer beruflichen Praxis freuen.

Resonanzen bei Schrittmotoren

Donnerstag, Juli 28th, 2011

Gesteuert betriebene Schrittmotoren weisen, je nach Last und Art der Ansteuerung, unterschiedlich starke Resonanzbereiche auf. Der folgende Beitrag gibt einen kurzen Überblick über die Ursache und mögliche Lösungen, mit denen das Auftreten von Resonanzen und damit letztlich ein Schrittverlust vermiedenen werden kann.

Resonanzen bei Schrittmotoren lassen sich grob in zwei Bereiche unterteilen, die unterschiedliche Ursachen haben. Im unteren Frequenzbereich (bis ca. 250 Hz) handelt es sich um mechanisch angeregte Schwingungen, die im Bereich der Eigenfrequenzen der Mechanik Aufgrund mangelnder Dämpfung kritisch werden können. Im mittleren bis oberen Frequenzbereich hat man es dagegen mit einer geringer werdenden Dämpfung aufgrund der induzierten Gegenspannung (EMK) und Wechselwirkungen mit der Treiberschaltung (Endstufe) zu tun.

Resonanzen im unteren Frequenzbereich

Bei der Betrachtung des Lastwinkels wurde bereits diskutiert, dass ein Schrittmotor nur dann ein Drehmoment erzeugt, wenn der Winkel zwischen dem elektromagnetischem Feld und Rotor ungleich null ist. Wir der Motor ohne Last mit konstanter Frequenz betrieben, ergibt sich bei jedem Umschalten einer Wicklung eine schlagartige Änderung dieses Winkels. Der Rotor bewegt sich jedoch annähernd gleichförmig, so dass der Lastwinkel stark schwankt. Es ergibt sich ein starkes Pendelmoment. Nur der Gleichanteil dieses Pendelmoments steht zum Antreiben von Lasten zur Verfügung. Bei niedriger Dämpfung und ungünstiger Anregungsfrequenz wird der Rotor zum Schwingen angeregt und das System schaukelt sich weiter auf. Die betroffenen Frequenzen hängen stark von der angekoppelten Last und der damit verbundenen Reibung ab. Umso geringer die Reibung und die Trägheit im System sind, umso größer ist die Gefahr von Resonanzproblemen. In weniger „geschönten“ Drehmomentkurven sind Resonanzstellen gut durch Einbrüche im Drehmomentverlauf zu erkennen. Das vorhanden sein eines solchen Einbruchs bedeutet aber nicht, dass der Motor im entsprechenden Frequenzbereich kein oder kaum Drehmoment erzeugt. Ist der Motor entsprechend belastet, erzeugt er sehr wohl ein entsprechendes Moment. Man muss aber darauf achten, dass die Last oder die Reibung nicht zu klein werden können.

Resonanzen im unteren Frequenzbereich sind besonders bei Ansteuerung im Vollschritt und zum Teil auch bei Halbschrittbetrieb ausgeprägt. Der Betrieb von Schrittmotoren im Vollschritt kann daher allgemein nicht empfohlen werden. Deutlich weniger Resonanzprobleme treten bei Ansteuerung im Mikroschritt auf. Probleme kann aber auch die anzutreibende Mechanik machen, wenn sie nicht ausreichend steif ist und Eigenfrequenzen in Bereichen aufweist, die vom Motor angeregt werden können. Sind die kritischen Frequenzbereiche bekannt und liegen sie unterhalb der Arbeitsgeschwindigkeit, empfiehlt es sich, den Motor schnell durch die kritischen Bereiche hindurch zu beschleunigen. Auch die geeignete Wahl von Getrieben oder anderen Übersetzungsstufen kann helfen, Resonanzbereiche zu meiden. Falls das nicht ausreicht, können mechanische Dämpfer Abhilfe schaffen. Diese gibt es z.B. als preiswerte Flanschdämpfer, die zwischen Motor und Mechanik montiert werden. Oder als Silikongel Dämpfer in Scheibenform, die z.B. auf das hintere Wellenende eines Schrittmotors montiert werden können. Diese Lösung ist aber vergleichsweise teuer. Flanschdämpfer verschlechtern dagegen die Kühlung des Motors über die Struktur der Mechanik, da kein direkter Kontakt mehr besteht. Außerdem stellen sie eine zusätzliche Nachgiebigkeit zwischen Motor und Last dar und verringern so die Positioniergenauigkeit. Gute Ergebnisse erreicht man auch durch den Einsatz eines Zahnriemens statt einer Metallbalgkupplung zwischen Motor und Last. Allerdings muss das möglichst schon in der Planungsphase berücksichtigt werden, da sonst größere Änderungen an der Mechanik erforderlich werden.

Mechanische Dämpfer für den Einsatz an Schrittmotoren. Links: Flanschdämpfer, rechts Wellendämpfer.

Resonanzen im mittleren Geschwindigkeitsbereich (engl. „midband resonances“)

Resonanz Erscheinungen im mittleren Frequenzbereich sind meist deutlich weniger ausgeprägt als im Bereich der mechanischen Eigenfrequenzen. Während die mechanische Dämpfung (aufgrund von Reibung usw.) mit der Geschwindigkeit leicht ansteigt, erreicht die Dämpfung aufgrund der Gegen-EMK ein lokales Maximum und fällt dann wieder ab. Dieses Verhalten ist auf die Wicklungsinduktivität zurück zu führen, die dafür sorgt, dass mit steigender Drehzahl der Winkel zwischen induzierter Spannung und dem daraus resultierenden Strom größer wird, was die (Verlust-)Leistung kleiner werden lässt. Durch ihren hohen Innenwiderstand haben moderne Choppertreiber keinen zusätzlichen dämpfenden Einfluss auf den Motor. Es ergibt sich somit ein Geschwindigkeitsbereich, in dem die Dämpfung des Systems mit der Drehzahl abnimmt. Zusätzliche Probleme können sich im oberen Drehzahlbereich ergeben, wenn der Stromregler aufgrund der Wicklungsinduktivität und der schnellen Umpolvorgänge keine Wirkung mehr hat. Der Treiber arbeitet dann wie ein einfacher L/R-Treiber, so dass der Motorstrom direkt von der Versorgungsspannung abhängt. Ist diese nicht ausreichend mit Kondensatoren stabilisiert, kann es bei ungünstigen Verhältnissen (Ansteuerung des Motors mit einem Vielfachen des Netzripples) zu einem Aufschwingen des Motors kommen.

Abhilfe schaffen z.T. schaltungstechnische Maßnahmen, die aber nicht trivial sind und immer auf den jeweiligen Motor abgestimmt werden müssen. Schwingungsvorgänge lassen sich als eine dem Betriebsstrom überlagerte Sinuskomponente messen. Die Messung kann in der Zuleitung zu den Endstufentransistoren erfolgen. Über eine Filterstufe kann dann der Wechselanteil identifiziert werden. Zur Schwingungskompensation gibt es zwei mögliche Vorgehensweisen. Eine Möglichkeit besteht darin, eingehende Schrittimpulse mehr oder weniger stark zu verzögern. Dadurch ergibt sich eine zusätzliche Phasenverschiebung zwischen Rotor und Feld. Die andere Möglichkeit besteht darin, die Motorströme so zu modulieren, dass der Strom erhöht wird, wenn der Rotor zu stark nacheilt und reduziert wird, wenn der Motor zu sehr voreilt. Der Aufwand zur wirksamen Unterdrückung von Schwingungen kann also je nach Aufbau des Systems erheblich werden.

Resonanzen bei Closed-Loop Betrieb

Inzwischen lässt sich ein Trend erkennen, auch Schrittmotoren geregelt zu betreiben. Die Firma Nanotec bietet z.B. schon seit einiger Zeit verschiedene Treiber an, die einen Encoder-Eingang haben und neben einer reinen Schrittverlusterkennung auch einen geregelten Betrieb ermöglichen („closed loop“). Trinamic zielt mit seinen Stallguard-2 Treibern in die gleiche Richtung, vermeidet aber den Aufwand für einen Drehgeber, in dem eine sensorlose Lastwinkelerkennung zum Einsatz kommt. Aber auch mit geregelten Antrieben ist man vor Resonanzen nicht sicher. Zunächst einmal müssen Regler vernünftig abgestimmt werden, was eine gewisse Erfahrung erfordert. Zu hohe Reglereinstellungen führen zur Instabilität des Systems, zu niedrige Einstellungen bedingen hohe Nachgiebigkeiten und damit niedrigere Dynamik und Positioniergenauigkeit.

Aber auch die beste Regelung nützt nichts, wenn die anzutreibende Mechanik nicht steif genug ist, wie folgendes Beispiel aus der Praxis verdeutlicht. Im Rahmen eines Beratungsprojektes sollte ein Schrittmotorantrieb für eine Dosierpumpe optimiert werden, die über einen Zahnriemen angetrieben wurde. Nachdem man im gesteuerten Betrieb bei hohen Drehzahlen gelegentlich Schrittverluste festgestellt hatte, wurde das System auf geregelten Betrieb umgestellt. Jetzt traten allerdings (abhängig von weiteren Einflüssen, die nicht publiziert werden dürfen und hier auch nicht relevant sind) Störgeräusche auf. Mittels Messungen konnte eine extreme Drehmomentwelligkeit im Antriebsstrang nachgewiesen werden, obwohl es auf der Lastseite hierfür keinen erkennbaren Grund gab. Die auftretenden Frequenzen lagen (drehzahlabhängig) bei wenigen Hertz, die Amplitude erreichte z.T. mehr als ein Viertel des Motornennmomentes.

Neben einer ungünstigen Auslegung des Zahnriemens selbst (zu geringer Umschlingungswinkel und zu geringe Zähnezahl) konnte letztlich der federbelastete Riemenspanner als Hauptursache der Probleme ausgemacht werden. Obwohl die Spiralfeder subjektiv eine hohe Steifigkeit aufwies, führten Lastwechsel im Riementrieb dazu, dass sich die Riemenspannung über den Vorspannmechanismus lastabhängig variierte. Nachdem die Feder entfernt und der Riemen statisch vorgespannt wurde, konnten die Reglereinstellungen deutlich erhöht werden. Der Antrieb lief anschließend geräuschlos und mit deutlich reduziertem Drehmoment-Ripple.

Stromregelung von Schrittmotoren – Auf das Abschalten kommt es an

Sonntag, Mai 15th, 2011

Bei der Ansteuerung von Schrittmotoren haben sich schon längst Treiber mit Konstantstromregelung durchgesetzt. Ansteuerungen mit Konstantspannung findet man nur noch vereinzelt, z.B. bei Zeigerinstrumenten im Automobil, siehe vorletzter Beitrag. Entscheidend für die Performance einer Schrittmotor-Endstufe mit Konstantspannungsregelung ist, neben der Höhe der Versorgungsspannung und dem Wicklungsstrom vor allem die Phase, in der der Strom in der Wicklung wieder abgebaut wird. Die unterschiedlichen Verfahren erläutert der folgende Beitrag.

Induktivitäten versuchen, aufgrund der in ihnen gespeicherten Energie, nach dem Abschalten der Spannung den durch sie fließenden Strom aufrecht zu erhalten. Je nach dem, wie die Wicklung abgeschaltet wird, wird der Strom schneller oder langsamer abgebaut. Davon hängt letztlich auch ab, wie schnell der Strom in die Gegenrichtung aufgebaut werden kann, wenn der Schrittmotor schnell läuft und die Wicklungen oft umgepolt werden. Beim slow decay erfolgt der Stromabbau langsam, was bei hohen Drehzahlen (d.h. häufigem Umgepolen) dazu führen kann, dass der Strom nicht schnell genug abgebaut werden kann. Insbesondere im Mikroschritt ergibt sich dann eine deutliche Abweichung von der gewünschten, sinusähnlichen Stromkurve, die auch zu hörbaren Geräuschen durch Schwankungen im Drehmoment führen kann.

Stromverlauf bei slow decay Stromregelung

Stromverlauf bei slow decay Stromregelung (Quelle: "A new microstepping motor driver IC", Kongress-Paper über den A3977 zur PCIM 2001, Allegro Micro).

Beim „slow decay„, also dem langsamen Abklingen des Stromes, wird die Wicklung zunächst (während der deadtime) über die Dioden der Vollbrücke kurzgeschlossen, bevor einer oder beide unteren FETs bzw. Transistoren der Brücke eingeschaltet werden (prinzipiell können alternativ auch die oberen FETs eingeschaltet werden).  Man kann die beiden FETs gedanklich auch gegen 2 Widerstände ersetzen, die mit der Motorwicklung in Reihe geschaltet werden. Die Phase zwischen dem Ein-Zustand und dem Kurzschließen der Wicklung (Deadtime bzw. Totzeit) wird durch die Dioden überbrückt. Bei FETs wird diese Aufgabe automatisch von den internen Body-Dioden übernommen, bei Transistorbrücken müssen unbedingt schnelle externe Dioden verwendet werden. Wird anschließend nur ein FET eingeschaltet (Q4 im Bild), läuft der Strom auf der Gegenseite über die Diode. Da der Spannungsabfall über den Dioden meist größer ist als der in den FETs, schalten moderne Treiber meist beide FETs ein. Das Verfahren wird auch „synchronous rectification“ oder „synchronous decay“ genannt. Das folgende Bild zeigt die sich ergebenden Strompfade.

Strompfade bei slow-decay Stromregelung

Strompfade in einer FET-Brücke bei slow-decay Stromregelung

Deutlich schneller geht der Stromabbau beim „fast decay„, also dem schnellen Abklingen des Stromes. Nach der deadtime wird die Wicklung durch Umpolen kurzgeschlossen, bis der Strom auf Null abgeklungen ist. Auch hier kann der Kurzschluss entweder über die Dioden oder über gezieltes Schalten der FETs erfolgen. Dabei wird die in der Wicklung gespeicherte Energie in die Versorgung zurück gespeist, was zwar die Verluste mindert, aber auch zu einem höheren Ripple im Strom und in der Versorgungsspannung führt. Außerdem kann der schnelle Stromabbau dazu führen, dass bei niedrigen Drehzahlen der Mittelwert des Wicklungsstromes deutlich kleiner ist als eigentlich vorgesehen.

Strompfade bei fast-decay Stromregelung

Strompfade in einer FET-Brücke bei fast-decay Stromregelung

Im „mixed decay“ werden die Vorteile beider Verfahren vereint. Der Strom wird zunächst bis zu einer (meist in mehreren Stufen einstellbaren) Schwelle per fast decay abgebaut, bevor auf slow decay umgeschaltet wird. Zusätzlich wird in Phasen, in denen der Strom aufgebaut werden soll (also vom Nulldurchgang bis zum max. Phasenstrom) nur mit slow decay gearbeitet, wärend im 2. Teil der Halbwelle mit mixed decay gearbeitet wird. Das folgende Bild veranschaulicht die unterschiedlichen Phasen am Beispiel des A3977 im 1/8 Schritt Mikroschritt.

Phasenstrom mixed decay

Phasenstrom bei mixed decay Stromregelung, Unterteilung in Phasen des Stromauf- und -abbaus (Quelle: Datenblatt A3977, Allegro Micro).

Der unterschiedliche Verlauf des Motorstroms sieht dann in den mixed decay Phasen wie folgt dargestellt aus:

Stromverlauf mixed decay

Stromverlauf mixed decay (Quelle: "A new microstepping motor driver IC", Kongress-Paper über den A3977 zur PCIM 2001, Allegro Micro).

Weitere Literatur zum Thema: „Current Recirculation and Decay Modes“, Application Report SLVA321–March 2009, Texas Instruments

Übersicht über gängige integrierte Schrittmotor-Treiber

Mittwoch, April 27th, 2011

Soll für eine Anwendung eine neue Schrittmotor-Steuerung entwickelt werden, geht die Suche nach den geeigneten Treiber-Bausteinen los. Neben den „alten Bekannten“ wie z.B. L293D, L297/L298 oder PBL3717A gibt es heute eine interessante Auswahl an voll integrierten Lösungen mit Mikroschritt und vielen weiteren interessanten Funktionen. Die folgende Tabelle gibt eine Übersicht über die bekanntesten ICs und deren wichtigeste Eigenschaften. Nicht zu allen Bauteilen sind über die Hersteller Demo-Boards erhältlich. Daher sind, soweit bekannt, exemplarisch einige Produkte aufgeführt, in denen die genannten ICs enthalten sind. Um die Darstellung übersichtlich zu halten, sind nur die Basisdaten genannt. Eine umfangreichere Darstellung steht zum Download zur Verfügung.

 

 

 

 

 

Bauteil Hersteller max.
Mikrostep
Nennstrom Spannung I/O Anmerkungen
Produkte
Amis30624 On Semi 0,57A 7-29V I²C int. Motioncontroller
Amis30522 On Semi 1/32 1,5A 6-30V Takt-/Dir,
SPI f. Konfig.
mit Stalldetection
A3959
(=IMT-903)
Allegro Micro beliebig 3,0A 10-50V Takt/Dir Slider SFX,
SMCI33
A3977
A3979
Allegro Micro 1/8 / 1/16 2,5A 8-35V Takt/Dir Tiny-Step II
A3986 Allegro Micro 1/16 >5,0A 12-50V Takt-/Dir HEM-545,
SMCI47-S
LMD18245 National Semi beliebig 3,0A 12-55V Brake/Dir
L293 ST 1,0A 5-36V parallel, incl. Enable
L297 ST Voll/Halb Takt/Dir f. externe H-Brücken
3D-Step
L298 ST 2,0A 8-46V parallel, incl. Enable 3D-Step
L6506 ST beliebig Takt/Dir f. externe H-Brücken
HP-Step.pro
L6201/L6202
L6203
ST 1,5A/4,0A 12-48V parallel, incl. Enable HP-Step.pro
L6208 ST Voll/Halb 2,8A 12-52V Takt/Dir µStep m. ext. DAC
L6219 ST 1/4 0,75A 10-46V Phase/Current µStep m. ext. DAC
PBL3717A ST, Ericsson 1/4 1,0A 10-46V Phase/Current µStep m. ext. DAC
PBL3770A
UC3770A
Ericsson, TI Voll/Halb 1,5A 10-40V Phase/Current
TA8435H
(=IMT-901)
Toshiba 1/8 1,5A 24V Takt/Dir Step3N (Fa. Lewetz)
TB62201
(=IMT-902)
Toshiba 1/16 1,2A 20-34V parallel, incl. Enable
TB6560A Toshiba 1/16 3,0A 5-34V Takt/Dir Imax f. HQFP: 1,5A
TMC236
TMC246
Trinamic 1/16 1,5A 7-34V SPI (12-bit) TMC246 m. Stalldetection
TMC239
TMC249
Trinamic 1/16 >4,0 7-34V SPI (12-bit) TMC249 m. Stalldetection
TMC261
TMC262
Trinamic 1/256 1,2A/>5,0A 9-59V Takt/Dir,
SPI f. Konfig.
lastabhängiger Strom

schrittmotortreiber.pdf