A4988 Troubleshooting

I’m having trouble getting my stepper to engage, or power up with the A4988. I copied the schematic from RAMPS for running a NEMA14 from an Arduino Micro. With my DMM I am seeing:

STEP and DIR: 5v or 0 depending on what I set it in the sketch.
SLEEP and RST: Connected to each other, reading 5v
Enable: 5v
MS1-2: 5v or 0 depending on jumpers
VDD: 5v
VMOT: 12v
All of the GNDs have continuity to the ground plane
100uf capacitor connected to VMOT and GND reads 12v
Each of the pins of the motor connector have .6v

The motor is silent. No vibration, no noise, no torque. I’ve tried two different motors and drivers, adjusted the pot.

I set up a driver and a micro on a breadboard, and can get the motor to buzz. The only difference between the breadboard and the PCB is the breadboard didn’t have a capacitor on VMOT, no resistors for EN and MS1. The breadboard used different pins on the Micro for STEP and DIR.

I know the issue isn’t the Arduino, because I can set STEP and DIR high or low, or make it switch back and forth. I reused the capacitor from another board, but even if there is an issue with it, I still get 12v on VMOT. RST and EN are high. I can’t think of where else to look for problems. If all of the wires to the stepper have voltage, why is the motor dead?

I don’t have the sketch on hand to paste, but at the moment I’m using a simple test that switches STEP HIGH and LOW followed by a delay. pinModes are OUTPUT, and set to HIGH during setup.

If I check the voltage for each motor wire to gnd, should I see current on all of them, or only 1 or 2 of them?

Hello,

I am sorry you are having problems with your A4988 stepper motor driver. Does your stepper motor hold its position when not stepping in your breadboard setup? If not, we should probably start by getting your setup to a point that the stepper motor does hold. What did you set the VREF voltage to when you set your current limit? What are the voltage and current per phase ratings of your stepper motor. Can you post some pictures of your setup showing all connections?

You will not necessarily see voltage on all the outputs; the outputs will vary depending on the micro-stepping mode and where the stepper is in the step process.

-Derrill

I figured it out, it was Enable. In the RAMPS, the enable pin is routed to the microcontroller, and to VCC through a resistor. My circuit doesn’t connect it to the MCU. I didn’t realize it was supposed to be held low, rather than high like RST and SLP. I cut the trace at the enable pin and the motor worked

Troubleshooting was also complicated by some of my drivers being bad. It seems to be easy enough to fry these, that when I try a different driver I might be trying a different, dead driver. I killed one by messing with the enable pin on the breadboard.

Thank you for letting us know you found the problem. I do not expect those drivers to be particularly fragile, so if you have multiple dead drivers, I suspect a problem with your setup or handling. In particular, it seems very strange that a driver would break while messing with the enable pin unless a high voltage was applied to it. Please let me know if you know would like to do some troubleshooting to see what might have happened.

-Derrill