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 .8v The VREF is set to .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'm using a simple test sketch that switches STEP from HIGH to 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?

There are two stepper drivers on the board, I've highlighted one of them.



Pololu has a pretty good tutorial on wiring their A4988 board and a video for adjusting Vref. Maybe you have missed something.

Never disconnect the motor leads while the circuit is powered, or you will instantly destroy the chip.

Your configuration will never work as long as you are pulling EN to +5V, because: EN is ACTIVE LOW! and by pulling it to HIGH, you DISABLE the driver.

So remove the connection to +5V (remove the resistor in series on your circuit). Thus EN will get a logical LOW by the pulldown resistor on board of the A4988 and will enable the driver.

See this excerpt from the original datasheet of the A4988:

Enable Input: This input turns on or off all of the FET outputs. When set to a logic high, the outputs are disabled. When set to a logic low, the internal control enables the outputs as required.

When I brought that section over from the RAMPS schematic, I didn't notice that Enable was routed to a pin on the microcontroller, so I thought that it was supposed to be held high ilke RST and SLP. I cut the traces to the enable pins and it works.

So you could mark this thread as SOLVED in the headline.