H-bridge with forced freewheeling without burning MOS

Thread Starter


Joined Sep 18, 2013
Hi All,

I explain my application:
one CC motor driven by an H-bridge with cw and ccw possible operation.
A lever is fixed to the motor shaft and the user can move this lever in both direction (independent from the cc or ccw driven motor), in one direction its movement is eased by the motor, in the other way the motor makes the task harder (the motor is geared and reversible). The purpose of the motor is to help the user move the lever, as the lever is connected to an other mechanism very hard to move.

Here are the possible movement scenarios considering the motor cw (the cases with ccw are just the same)

1) The motor is cw and the user move the lever ccw.
No problem, both motor and driver can withstand these currents. The user finds the lever hard to move.

2) The motor is cw and the user don't touch the lever.
No problem, the lever stands still as the motor alone has not enought torque to move the mechanism.

3) The motor is cw and the user slowly move the lever in cw direction.
No problem, the lever move and the user feels an helping force coming from the motor.

4) The motors is cw and the user move very fast the lever (faster than the motor no load speed).
Here I have the problem!
In this case I need the motor to rotate freely like he had the terminals unwired. As soon as the speed decrease under the motor no-load speed, the motor must again help the user.

I have tried the following options:
1) Just leave the motor connected and turn off all the bridge mos.
I burnt 2 driver, I think because the reverse voltage built up on the motor terminals is higher than the maximum h-bridge MOS voltage.
The voltage build up because it cannot dissipate through the freewheeling diode as I have connected a diode in series with the power (to not feed inverse current in the power supply). Adding capacitor does not help here because there is a lot of current coming from the motor as long as the user is making it spin.
2) Use a relay to disconnect one motor terminal when the speed is high.
Yes, it does work but I don't like the idea of having a mechanical relay.
3) Use a high current high voltage MOS to disconnect the motor.
Not tried but it could be an accettable solution.

Do you know if there are any other working solutions? How can I sense when the speed is higher than the motor no-load speed without having an encoder or an external supply higher than the motor supply?