The A4988 Stepper Motor Driver Carrier is a compact and versatile microstepping driver designed for controlling bipolar stepper motors. It enables precise control of motor position, speed, and torque, making it ideal for applications requiring high accuracy and smooth motion. The A4988 features adjustable current control, built-in over-temperature protection, and a straightforward interface, making it suitable for a wide range of projects, from 3D printers and CNC machines to robotics and automation systems.
Parameter | Value |
---|---|
Motor Type Supported | Bipolar stepper motors |
Operating Voltage (Vcc) | 8 V to 35 V |
Logic Voltage (Vdd) | 3.3 V or 5 V |
Maximum Output Current | 2 A per coil (with sufficient cooling) |
Microstepping Modes | Full, 1/2, 1/4, 1/8, 1/16 steps |
Current Control | Adjustable via potentiometer |
Protection Features | Over-temperature, short-circuit, under-voltage lockout |
Dimensions | 20 mm x 15 mm |
Pin Name | Pin Type | Description |
---|---|---|
VMOT | Power Input | Motor power supply (8 V to 35 V). Connect a capacitor (at least 47 µF) across VMOT and GND. |
GND | Power Ground | Ground connection for motor and logic power supplies. |
VDD | Power Input | Logic power supply (3.3 V or 5 V). |
STEP | Logic Input | Controls the step signal. Each pulse moves the motor one step. |
DIR | Logic Input | Sets the motor direction (high or low). |
ENABLE | Logic Input | Enables or disables the driver (active low). |
MS1, MS2, MS3 | Logic Inputs | Selects the microstepping mode (see table below). |
RESET | Logic Input | Resets the driver (active low). |
SLEEP | Logic Input | Puts the driver into low-power sleep mode (active low). |
A1, A2 | Motor Output | Connect to one coil of the stepper motor. |
B1, B2 | Motor Output | Connect to the other coil of the stepper motor. |
MS1 | MS2 | MS3 | Microstepping Mode |
---|---|---|---|
Low | Low | Low | Full Step |
High | Low | Low | Half Step |
Low | High | Low | Quarter Step |
High | High | Low | Eighth Step |
High | High | High | Sixteenth Step |
Power Connections:
Motor Connections:
Control Pins:
Adjust Current Limit:
Current Limit = VREF / (8 × RS)
Enable the Driver:
Below is an example of how to control the A4988 with an Arduino UNO:
// Define pin connections
#define STEP_PIN 3 // Connect to STEP pin on A4988
#define DIR_PIN 4 // Connect to DIR pin on A4988
void setup() {
pinMode(STEP_PIN, OUTPUT); // Set STEP pin as output
pinMode(DIR_PIN, OUTPUT); // Set DIR pin as output
digitalWrite(DIR_PIN, HIGH); // Set initial direction (HIGH = one direction)
}
void loop() {
// Generate a step pulse
digitalWrite(STEP_PIN, HIGH); // Set STEP pin HIGH
delayMicroseconds(1000); // Wait for 1 ms (adjust for speed control)
digitalWrite(STEP_PIN, LOW); // Set STEP pin LOW
delayMicroseconds(1000); // Wait for 1 ms
}
Motor Not Moving:
Motor Vibrates but Does Not Rotate:
Driver Overheating:
Erratic Motor Movement:
Q: Can I use the A4988 with a unipolar stepper motor?
A: No, the A4988 is designed for bipolar stepper motors only.
Q: What happens if I exceed the current limit?
A: The driver may overheat and enter thermal shutdown. Always set the current limit appropriately.
Q: Can I control multiple A4988 drivers with one microcontroller?
A: Yes, you can control multiple drivers by assigning separate STEP and DIR pins for each driver.
Q: How do I calculate the VREF voltage for current limiting?
A: Use the formula: VREF = Current Limit × 8 × RS
. For example, for a 1 A current limit and RS = 0.1 Ω, VREF = 0.8 V.