Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Drv8825 and stepper blocked detect

I am using a pololu DRV8825 driven by a DSPIC32 microcontroller.
I added a 0.01R resitance in series from the Vmot pin and an INA180 for the amplifier to measure the current of the stepper.
I compared the current when the stepper is working properly and when the stepper is stuck.
But when it is blocked, it has no more current, and the waveform of the current is almost the same as in normal operation.
Who has a solution to detect the stepper blocked by the current?

Thank you


While you can implement that kind of setup with a brushed DC motor to detect stalls, the automatic current limiting on our stepper motor drivers makes doing that with stepper motors trickier since the stepper motors cannot draw more current than the driver allows. Instead of measuring current, you might consider using a stepper motor driver that has the ability to measure the motor’s back EMF to detect stalls. Unfortunately, the DRV8825 does not have that functionality, but we do have two drivers that do, our High-Power Stepper Motor Driver 36v4 and our AMIS-30543 Stepper Motor Driver Carrier. Keep in mind though, using those features will require some tuning for your particular setup.

- Patrick

Yes, this is a solution, but back EMF have some limitation: at low speed, we don’t have it, and that i see in other forum, that is difficult to calibrate it and we have lot of false detection.
I have detect that we have some difference in frequency spectrum of the current between stall and not stall stepper.
More noise when stall.
Are you see some manufacturer who have integrated noise detection on current on a chip?

I have a solution without calculating the FFT: when I have more than X consecutive decreasing points of the current, I have a stall stepper.
X depends on the engine and the acquisition chain.
In my case, when I change step (the current returns to 0), I only have one consecutive decreasing point.
This solution is independent of the speed, we only have the current speed of the acquisition chain more than 10 * the step speed.
Thank you

I am glad to hear that you might have come up with a solution for your setup.

Unfortunately, we do not know of any stepper motor drivers with integrated noise detection like what you described.

- Patrick

I add for other users that we must to nead to add second process for detect stall because it depend of stepper and driver limit current.
In fact, the stepper current in level of power supply, have a saw blade form as a capacitor charge and discharge very spedly for all the steps.
Some case i have observate,when stepper is stall that the maximum of the level of blade is changed about 30 of more or 30% of less than the others.
Then the algoritm is to detect two concecutive peak who have 30% or more level différence.
And for the two proccess i wait 15 step of motor before to apply proccess.