A4988 Überblick
Der A4988 ist ein Motortreiber, der Steppermotoren z.B. in 3D-Druckern oder CNC-Fräsen steuert. Sein extrem niedriger Preis uns die eingebauten Features wie z.B. eine Abschaltung bei zu hohen Temperaturen macht ihn extrem interessant. Darüber hinaus ist dieser Baustein sehr einfach anzusteuern.
A4988 Pinout
Technische Daten
Betriebsspannung | 8 V – 35 V |
Dauerstrom pro Phase | 1A |
Maximumstrom pro Phase | 2A |
Logikspannung | 3 V – 5.5 V |
Microstep-Auflösung | full, 1/2, 1/4, 1/8, und 1/16 |
Beispielschaltung
Das Arduino wird mit 5V+ und GND des A4988 verbunden. Die digitalen Pins 4, 5 und 6 steuern den Treiberbaustein. Enable wird auf HIGH gesetzt, dann wird ein Step ausgeführt, sobald ein Puls am Step-Pin ankommt. Der Dir-Pin legt die Drehrichtung fest (LOW = Richtung1, HIGH = Richtung2).
Es ist übrigens egal, ob die ihr die Spule des Steppers verwechselt. Es ist nur wichtig, das eine Spule an Pin 1A und 1B, die andere an Pin 2A und 2B anliegt.
Wenn du nicht weißt, welche Kabel vom Stepper-Motor zusammen gehören, muss einfach mit einem Widerstandsmessgerät an zwei der vier Kabel. Ist der Widerstand unendlich, gehören die Kabel nicht zu einer Spule. Ist ein Widerstand (sehr klein) zu messen, hast du ein Paar gefunden.
Code
int stepCounter; int steps = 2000; void setup() { pinMode(6, OUTPUT); // Enable pinMode(5, OUTPUT); // Step pinMode(4, OUTPUT); // Richtung digitalWrite(6, LOW); } void loop() { digitalWrite(4,HIGH); // im Uhrzeigersinn for(stepCounter = 0; stepCounter < steps; stepCounter++) { digitalWrite(5,HIGH); delayMicroseconds(500); digitalWrite(5,LOW); delayMicroseconds(500); } delay(1000); digitalWrite(4,LOW); // gegen den Uhrzeigersinn for(stepCounter = 0; stepCounter < steps; stepCounter++) { digitalWrite(5,HIGH); delayMicroseconds(500); digitalWrite(5,LOW); delayMicroseconds(500); } delay(1000); }
Im Grunde schalten wir ein HIGH oder LOW auf den Richtungspin, dann stimulieren wir den Step-Pin mit einer An-Aus-Logik.
Microstepping
Ist die Auflösung der einzelnen Steps zu gering, lässt sich am A4988 Microstepping bis zu Sechzehntel-Schritten aktivieren. Hierbei musst du aber beachten, das Microstepping Einfluss auf das Drehmoment des Motors hat.
Zum Einschalten des Microstepping Modus kann man einfach ein logisches HIGH Signal an die jeweiligen Pins anlegen.
MS1 | MS2 | MS3 | Microstep Auflösung | Arbeitsmodus |
---|---|---|---|---|
L | L | L | Full Step | 2 Phase |
H | L | L | Half Step | 1-2 Phase |
L | H | L | Quarter Step | W1-2 Phase |
H | H | L | Eighth Step | 2W1-2 Phase |
H | H | H | Sixteenth Step | 4W1-2 Phase |
Mehr Infos
Hier habe ich schon mal was zum Thema Stepper-Motoren erklärt: Motorsteuerung eines Schrittmotors
Datenblatt des Allegro A4988 Chips: https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs
Die Kommentarfunktion ist deaktiviert.