A4988 Schrittmotor Treiber

By | 19. Februar 2017

Das Modul eignet sich zum besonders einfachen Ansteuern von Schrittmotoren (bis 35V/2A). Es genügen dabei nur 2 Leitungen um einen Schrittmotor anzusteuern. Neben den üblichen Voll- und Halbschritt, beherrscht dieses Modul auch Mikroschritte (1/4 Schritte, 1/8 Schritte und 1/16 Schritte). Ein Standardschrittmotor mit 200 Schritten pro Umdrehung, kann dadurch also eine Genauigkeit von 3200 Schritten pro Umdrehung erreichen. Dadurch lassen sich präzise Aufgaben bei ruhigerem Lauf erzielen.

Der maximale Strom für den Schrittmotor wird über ein Poti (Regler) auf dem Modul fest eingestellt. Dadurch können nahezu alle bipolaren Schrittmotoren bis zu einer Stromstärke von 2A ansteuern. Die Nennspannung der Motoren ist in diesem Fall nahezu unerheblich, da sich diese durch die Stromregelung automatisch ergibt. Es ist nur wichtig, das die Nennspannung der Schrittmotoren unter der Motorspannung liegt, je deutlicher das der Fall ist, desto mehr Kraftreserven können im höheren Drehzahlbereich erreicht werden.

Die Treiberbausteine A4988 kommen ursprünglich von der Firma Pololu und werden vorzugsweise im Bereich der 3D-Drucker Steuerung eingesetzt. Es gibt es sehr viele Kopien aus unterschiedlichen Quellen und eine etwas höhenwertige Ausführung mit der Bezeichnung DRV8825, die höhere Spannungen und höhereStröme verträgt und über mehrere Schrittweiten-Einstellungen (siehe Tabellen) verfügt.

Mittlerweile gibt es auch ein verbessertes Nachfolge-Modul: A4988POW ist der verbesserte Nachfolger. Das neue Modul ist pinkompatibel, die Ansteuerung und Nutzung erfolgt also auf die gleiche Weise. Der wesentliche Unterschied zum Vorgänger besteht darin, das das neue Modul noch einen Überstromschutz besitzt.

Die A4988-Treiber können für folgende Schrittweiten (Microstepping) konfiguriert werden:

MS1 MS2 MS3 Schrittweite
0 0 0 1 -> Vollschritt
1 0 0 1/2 -> Halbschritt
0 1 0 1/4 -> Viertelschritt
1 1 0 1/8 -> Achtelschritt
1 1 1 1/16 -> Sechzehntelschritt

Dazu müssen die Pins MS1-MS3 auf dem Board mit den jeweiligen Bit-Werten angesteuert werden. Standardmässig ist der Vollschritt-Modus eingestellt.Beim höherwertigen DRV8825-Treiber von Pololu sind wie schon erwähnt mehr Möglichkeiten gegeben:

MS1 MS2 MS3 Schrittweite
0 0 0 1 -> Vollschritt
1 0 0 1/2 -> Halbschritt
0 1 0 1/4 -> Viertelschritt
1 1 0 1/8 -> Achtelschritt
0 0 1 1/16 -> Sechzehntelschritt
1 0 1 1/32 -> Zweiunddressigstelschritt
0 1 1 1/32 -> Zweiunddressigstelschritt
1 1 1 1/32 -> Zweiunddressigstelschritt

Neben der präzisen Einstellmöglichkeit mit Mikrosteps, die immerhin statt 200 Steps pro Umdrehung ganze 6400 Steps ermöglicht, bringen Mikrosteps noch den Vorteil des besseren Einschwingverhaltens beim Anfahren einer Position. Die Motoren sind nämlich nicht in der Lage einfach den Punkt genau anzufahren, sondern schwingen sich um den Zielpunkt ein. Die Mikrosteps reduzieren die Schwingungen erheblich.

Einstellen der Spannungs- und Stromwerte

Diese Treiberbausteine müssen eingestellt werden, denn die Bausteine und die Schrittmotoren können ja mit einem großen Spannungsbereich betrieben werden. Die meisten Schrittmotor-Treiber stehen bei Auslieferung ca. in mittlerer Potentiometer Stellung.
Da die benötigte Stellung je nach den verwendeten Schrittmotoren sehr unterschiedlich sein kann, sollte immer mit einer niedrigen Spannung anfangen und dann langsam hochdrehen. Die Nennspannung des Schrittmotors ist aber eigentlich völlig uninteressant. Entscheidend ist der Strom, – zumindest, wenn man über einen Schrittmotortreiber steuert. Die für uns entscheidende Formel lautet:

Rs ist der auf der Treiberplatine verbaute Widerstand. Der Rs ist laut Datenblatt beim DRV8825 0,1Ohm und beim A4988 mit Rs = 0,05Ohm angegeben.

Die Referenzspannung kann recht leicht auf dem Motortreiber gemessen werden. Legt man vom Multimeter eine Seite einfach irgendwo auf Masse kann man am Schleifer des Potis auf dem Treiberbaustein die Spannung messen.

Pinnbelegung

GND: Minuspol/Masse

VDD: Logikspannungseingang (3,3V oder 5V). Kann einfach mit 5V oder 3,3V Pin gebrückt werden.

ENABLE: Dieser Logikeingang kann auf Low oder High gesetzt werden. Dadurch kann der Motor ein oder ausgeschaltet werden, also die Motorspannung abgeschaltet werden.

MS1 / MS2 /MS3: Diese drei Logikeingänge bestimmen die Schrittweite. Wenn diese unbeschaltet bleiben, dann arbeitet das Board im Vollschritt-Betrieb.. Das bedeutet bei einem herkömmlichen Schrittmotor braucht dieser dann 200 Schritte (Impulse) bis er eine Umdrehung erreicht hat. Für viele Aufgaben sind aber kleinere Schritte günstiger weil er der Motor so präziser gesteuert werden kann und auch von den Vibrationen und Laufgeräuschen ruhiger arbeitet. Unsere Empfehlung wäre 1/4 Schritt Modus. Dazu muss lediglich MS2 mit High (+5V/3,3V) verbunden werden, danach sind 800 Schritte für eine Umdrehung notwendig.

RESET: Bringt den Schrittmotor in einen definierten Ausgangszustand. Nähere Infos dazu im Datenblatt des Chips (auf Robotikhardware DVD).

SLEEP: Dieser Logikeingang kann auf Low oder High gesetzt werden. Dadurch läßt sich das Modul in einen Stromsparmodus versetzen wenn der Motor gerade nicht gebraucht wird. Nähere Infos dazu im Datenblatt des Chips (auf Robotikhardware DVD).

STEP: Dieser Logikeingang kann auf Low oder High gesetzt werden. Jeder Impuls (steigende Flanke) bewegt den Motor genau um einen Schritt. Es ist sinnvoll diesen Eingang mit einem Controllerboard zu steuern. Ein Controllerboard kann Schrittimpulse beispielsweise mit einem Timer erzeugen. Zählt das Controllerboard die Impulse mit, so weiß dieses genau wie weit sich die Welle gedreht hat. Dadurch sind ganz präzise Steuerungen möglich.

DIR: Dieser Logikeingang kann auf Low oder High gesetzt werden. Dadurch wird die Drehrichtung des Schrittmotors bestimmt. Es ist sinnvoll diesen Eingang mit einem Controllerboard zu steuern.

VMOT: An diesen Pin wird die Motorspannung angelegt. Die Motorspannung kann zwischen 8 und 35 Volt liegen. Sie sollte deutlich höher sein als die Nennspannung des angeschlossenen Schrittmotors, mindestens 2V höher. je höher die Spannung, desto mehr Kraftreserven besitzt der Motor im höheren Drehzahlbereich.

1A / 1B/ 2A / 2B : An diese vier Pins werden die beiden Wicklungen eines bipolaren Schrittmotors angeschlossen. Bei Schrittmotoren mit 6 Kabeln ist wird gewöhnlich eine Mittelanzapfung einer Wicklung nach außen geführt, diese wird nicht benötigt und kann/muss weggelassen werden

Steuerung eines Schrittmotors mit dem Arduino und dem A4988 Treiber Baustein

Man erkennt an dem einfachen Aufbau wie wenig Aufwand erforderlich ist. Der Arduino liefert nur die Versorgungsspannung für das Board und steuert mit 2 Pins den Motor, der allerdings über eine externe Spannungsversorgung angeschlossen wurde. Hier wurde zur Sicherheit zwischen Motor und GND noch ein Kondensator eingebaut, um das Board vor Spannungsspitzen zu schützen.

 

nn