A4988 minimum motor current?

Allegro’s technical support is almost nonexistent…

I’m using a Pololu A4988 driver to run a small stepper motor using a 30 V supply. The stepper is rated for only 300 mA winding current, and I would like to use even less at times. Starting with a target of 1.4 * 300 mA, I set Vref to 228 mV with the little pot, then connected my motor (with power off). The motor steps fine (full steps) and has a strong holding torque, but the idling winding current is almost 600 mA peak, 530 mA average (measured with a DC current probe and a scope). When I reduce Vref, even to zero, the winding current barely goes lower than this.

The duty cycle on my windings is about 7.5%, and goes only slightly lower when I reduce Vref below 228 mV. I don’t see a minimum duty spec’d in the Allegro data sheet anywhere.

Does anyone know if 7.5% is about the minimum duty, or why I can’t reduce my winding current below 600 mA peak? Thanks for any help!


Problem solved. I needed to increase the value of ROSC (R4 on the Pololu driver board). According to the Allegro data sheet, ROSC sets the OFF time for the PWM. The nominal is 30 us, but with ROSC = 100k it’s more like 120 us. The minimum ON time for the A4988 seems to be about 1 us (although it isn’t spec’d), so increasing the OFF time allows me to set my winding current to be very low. The downside is more current ripple in the motor windings because the PWM frequency is lower.