Detecing when a stepper motor is not receiving any power

I want to be able to detect when a stepper motor is not receiving any power from the driver (e.g. like the driver failed, the motor failed or there was a power loss); and I want to do this electronically. I have thought about using a current sense resistor on both phases connected to one side of a voltage comparator with the other side connected to a 6V reference (the motors are run at 12V). The comparator will run high when the voltage is enough, and low when is not. Additionally, I plan to use this signal to control a hobby servo (the one’s that are pwm controlled). It only has to have 2 states, fully open or fully closed.

Question to the analogue engineers; would this method work? If not what would?

@ Gmod had the MegaMotor module which gave you motor currents, using it in my rover.

A little more info here

Hmmm, interesting. Currently I have a similar challenge. But I need “free” which I dont know anything about. Is “free” possible with all stepper motors? And does it use power?

I think a stepper motor is similar to a brushless motor.
In this, the induced voltage is tried to be measured.
At a higher speed that should work even with a stepping motor?

just a idea

@ njbuch - What do you mean by “Free”? Free as in cost or free as in free running.

@ VB-Daniel - Ah, but unlike a brushless we want to know even if the motor is just holding position (no BEMF induction there). So the idea is to read the voltage of coils; however both or either can be on at various times. It’s only off if both coils are off; where off could be high impedance.

Actually, I just though of something. The voltage across the coil has to be measured with a comparator each. Those comparator outputs are then combined with a diode OR gate to give the proper result. :open_mouth: But would it? How do I even test this

What stepper motor controller are us using? Is it the ST L6470 by any chance?
Can you move the stepper motor to determine if the stepper motor has power?

We use shaft encoders with FPGA logic to detect a mismatch in steps sent to the stepper motor and pulses returned from the shaft encoder, allowing for some difference in the count when the stepper motor is been pulsed.

I was hoping to try the L6470 in the new year to see if we can design out the shaft encoders. Our application is a medical instrument, so we like to monitor each move.


@ Mr. John Smith - free running without power consumption

(Wow, it’s been 5 days since I asked this question?)

@ PHITEK - It is the L6470 that I’m using. No, I cannot move the stepper to determine if it has power, the system is a robot and it must hold it’s location until otherwise instructed. So encoders that rely on movement (like hall effect sensors) are a no go. Knowing that that shaft didn’t move is supposed to be a feature of the driver however I have as yet figured out how to use it.

@ njbuch - So you want to detect if the ammeter is moving on it’s own? Sure if it’s moving there will be a voltage on the coils whose amplitude and frequency are proportional to the velocity. If you use a scope (or multimeter) you can determine what the BEMF comp should be for that motor.