A4988 missteps after a minute or so

I have an A4988 driver board connected to a Mitsumi M49SP-LK bipolar stepper motor advertised as 24v, 1Amp. Logic input is from a Mac Classic floppy drive port. The 12V power for the motor is from a ATX power supply rated at 9. amps. The board is wired according to your documentation; from the Mac are +5v, Gnd, Step and /Enable. Dir is jumpered to either +5v or Gnd by the usual pin jumper. Reset is connected to Sleep. The Ms1-3 pins are not connected. There are 10uf and 47uf capacitors across the power inputs and ground. I calibrated the board with a meter in one of the motor leads, no stepping, and set the current to .7 amps.

The test program on the Mac is an infinite loop that lowers /Enable and raises Step about three times a second. Slow enough to tell what’s happening. This runs fine for a minute (~150 steps) and then begins to misstep. This condition worsens with more erratic stepping, including some backward steps. Changing the Dir input jumper rightly caused the motor to turn in the opposite direction, but does not relieve the problem.
This motor is a 24v motor running at 12v. The motor gets warm, and will continue to heat up as long as I continue the test. The A4988 chip gets hot but not quit enough to leave a burn mark. The missteps seem to be related to the motor temp, hotter causes more problem, cooler - less. Same problem with another similar though smaller motor.

If it weren’t for the backward steps and the heating, I might think it’s a problem at the Mac end.

Should I lower the current below .7 amp? I could just try that, but I’m curious if you have an explanation.

Thanks, Ken


It sounds like the driver is overheating, but I would expect it to be okay at the currents you are talking about. However, you also shouldn’t be able to get 0.7 A at 12V for a 24 V, 1 A motor. Those ratings mean that the coil resistance is such at if you supply 24 V, 1 A will flow through the coil. For a motor like that, you should not be able to get more than 0.5 A per coil with a supply voltage of 12 V.

- Ben


Are you toggling the enable line with every step? I don’t know what that would do, but I don’t recommend it.

- Ryan

Thanks Ben. Of Course it turns out the missteps were mine. After taking a more serious effort at the calibration (correctly setting the current to .35A) this setup is working fine and running cool. The Pololu A4988 driver is a very handy solution for my project.

Yes, Enable is toggled at each step.

The Mac floppy drive interface runs through a chip with a mind of its own (IWM), not like the PC parallel port. While it does pass through some control signals set by the user, it resets those after a short period. I didn’t realize this until I built a breadboard with some leds to experiment with. I’m still researching to find out why and if there is some way to avoid this reset.

Do you think toggling Enable will damage the A4988, or cause it to misstep, or cause the motor to loose its position?

The enable pin enables/disables the motor h-bridges. Turning them off between steps will mean that the stepper motor will not hold its position. It is also possible that, if you step quickly enough, the delay associated with turning on and off could hurt performance. A more typical way to use enable would be to disable the driver’s outputs when you have not issued a step command in a while and do not need to hold position against externally applied torques.

- Ryan

That’s what I thought. I’m beginning to think about putting a latch between the Mac Drive Enable line and the driver, if I can’t come to a better understanding of how to keep the Mac floppy drive interface from resetting.

This application is to control an indexing head on my milling machine. It will rotate the indexer a bit and the indexing head is then locked in position for a cutting operation
(as in gear cutting), then unlocked and rotated to the next position. The only load on the stepper is from friction so it isn’t likely to lose position between steps. Still, it should be done right.

You guys are quit helpful.

Is it ok to float the MS1,2,3 pins on the A4988 stepper driver? That is the way I have mine setup as well. I am noticing severe erratic stepping when my router is turned on (this is what the EasyDriver did when setup right beside the stepper -

  • the Pololu A4988 is doing the same thing, even with it a few feet away). It is stable otherwise. Should there be any noise filtering caps on the step & dir lines? I do not have any on the power lines, but they are barely 12 inches long and are coming from a PC power supply. I thought the problem was either the EasyDriver (it was skipping around as well) or the long data lines (I had the driver right beside the stepper). So I swapped out the EasyDriver, put in the A4988, reduced the data line (increased the power lines from the driver to the stepper).

Also, when I had the unit setup at my friends house, the unit was stable. There’s something weird going on with the power around this driver, and I’m not sure where to start to diagnose / clean it up.

I’m going to try the rc noise filter I saw in another post.

I cheaped out - I found a bunch of chokes. That cleaned up the noise - at least for now.

flyinglow.ca/flyinglow/2012/ … sting.html

I’m glad you got it working. It should be fine to leave the microstepping pins unconnected on the A4988 because they have internal pull down resistors. Note that not all of the microstepping pins on the A4983 have pull down resistors.

- Ryan