Electronic – arduino – Running stepper motors fast

arduinostepper motor

I have ordered these stepper motors. I asked the seller how many revolutions the motor can achieve in a minute and they answered 43. I calculated (13 + 212/289) * 200 * 43 / 60 to determine how many steps I would need to step in a second to achieve 43 rpm. This results to roughly 1950 steps per second. However, when I try to run the stepper motor with 1950 steps per second, it stalls. It vibrates but doesn't turn. After reducing the steps per second to 1300, the stepper starts moving again.

I'm using TB6600 drivers from eBay, set to ignore microstepping and to supply 0,5 A current with 12 V. I'm controlling the driver with an Arduino Mega 2560 and AccelStepper library.

Why can't I run it with higher speeds? I've had this problem with other steppers, too.

Best Answer

Stepper motors generally have two speed specifications, the absolute maximum speed, and the maximum single step start/stop speed, which is much less.

The single step start/stop speed is the maximum speed for which you can just start supplying pulses from rest, or conversely, the maximum speed it can run at, and, when you stop supplying pulses, come to a stop without overshoot.

If you run above the max start/stop speed, you must smoothly accelerate and decelerate the motor.

Both speeds are a function of the driver, both the supply voltage, and the current limit.

Unfortunately your data sheet is a bit coy on any speeds, so it's up to you to experiment, and find out what the two speeds are.