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 „lukie80“]
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.
Tags: 3D-Druck, A4988, DRV8825, Extruder, Mikroschritt, Pololu, Reprap, Shield, Stepstick
Sehr guter Artikel. Danke für das veröffentlichen. Ich denke das wird vielen Leuten helfen.