Sensing if dc motor is stopped

Discussion in 'General Electronics Chat' started by rousku, Sep 23, 2010.

  1. rousku

    Thread Starter New Member

    Jan 31, 2009
    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
  2. budo

    New Member

    Sep 23, 2010
    You could sense the motor current or flyback voltages.
  3. bertus


    Apr 5, 2008

    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).

  4. retched

    AAC Fanatic!

    Dec 5, 2009
    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.
  5. BillB3857

    AAC Fanatic!

    Feb 28, 2009
    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.
  6. DonQ

    Active Member

    May 6, 2009
    Actually, that only tells you that the applied torque is zero, as suggested by:

    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.