Sensing if dc motor is stopped

Thread Starter

rousku

Joined Jan 31, 2009
2
I have a 250w 24V brushed dc motor. To control its rotating direction i have a hip4081 based full h-bridge driver. This motor belongs to a 80kg robot.

The problem is that if the robot is going forward and I suddenly change direction control to reverse, the back emf will break the circuit or at least shorten the lifetime of the system. How can I sense when the motor is stopped, so the controller known when it's safe to change direction of the motor?

I could take bicycle speedometer approach (add magnet to the wheel and so on..), but could I add some nice circuitry parallel to motor, which has digital output like stopped = 0, rotating = 1
 

bertus

Joined Apr 5, 2008
22,277
Hello,

With current sensing you can tell when the motor is stopped (the current will be zero).
With current sensing you can also tell if the motor is blocked (a higher as normal current is seen).

Bertus
 

retched

Joined Dec 5, 2009
5,207
Agreed. A hall sensor (opposed to a in-line high side sensor) could go right over the wire leading to the DC motor.

If the motor is operating, you will have a signal from the sensor. When the motor has stopped, you will have no signal from the sensor.

Many hall effect sensors contain an amp (if not most) to give a useable voltage directly from the sensor package itself.
 

BillB3857

Joined Feb 28, 2009
2,570
If you have shut down the H-bridge, monitor motor voltage. If it is still spinning, you will see the results of the generator effect. If you are latching either the positive or negative legs of the H-Bridge in the on-state for dynamic braking, you would need to monitor current from the motor.
 

DonQ

Joined May 6, 2009
321
With current sensing you can tell when the motor is stopped (the current will be zero).
Bertus
Actually, that only tells you that the applied torque is zero, as suggested by:

...you can also tell if the motor is blocked (a higher as normal current is seen).
Bertus
So if the motor is stopped, the current will either be zero/low or high? (it could also actually be anywhere in between.) That probably isn't much help for the amount of effort.

There actually is a relatively simple relationship between current, terminal voltage, torque and rotational speed, but it's not as easy as just reading the current, or voltage. It's the relationship between them.

Depending on your level of control, what you may want to do is just always slow the motor first, then stop and finally reverse it. The best is a linear velocity change, but anything is better than what is known as "bang-bang control" (called that for a very good reason.)

Another solution is to just introduce a time delay.
 
Top