Currently, I am looking for a back-EMF solution for brushless DC motor drive. My input voltage for motor driver is 48V (which starts at 50V level and starts to decline until 35V as a feature of fuel cell). However, as I try to accelerate DC motor back and forth during motion, I observe a regenerative power on the input of the motor driver. (after 56V the motor driver disables itself)

Do you know if there is any strategy to compensate this back-EMF on DC bus? Is there any suitable product which I can use for this purpose?

Here is what I saw on the screen of oscilloscope (I just supplied the motor driver with 28V) Here is what I saw on the screen of oscilloscope (I just supplied the motor driver with 28V)

Supplied with 48V. The driver shut downed itself Supplied with 48V. The driver shut downed itself

  • \$\begingroup\$ You might want to store it, either via a battery charger or perhaps in a large capacitor, depending on how much generated power you have to deal with. \$\endgroup\$
    – user16324
    Sep 23, 2016 at 16:24

3 Answers 3


If you can put enough capacitance on the DC bus to absorb the energy without going overvoltage that would be the simplest solution without wasting energy.

If not, a common approach is to use a bank of resistors and a comparator on the DC bus. When the voltage approaches the maximum allowable the comparator will turn on, which turns on a MOSFET and puts the resistor bank across the DC bus to dissipate the energy as heat. The comparator should have some hysteresis to avoid high frequency chatter.

Lastly there are more complicated regenerative schemes to store the recovered energy in a battery or regenerate it onto the AC line.

  • \$\begingroup\$ Is there any easy topology for designing that comparator you know? \$\endgroup\$ Sep 23, 2016 at 17:53
  • \$\begingroup\$ Wouldn't a simple (but big) zener be appropriate for this purpose? \$\endgroup\$
    – dim
    Sep 23, 2016 at 18:44
  • \$\begingroup\$ @dim A zener or TVS would not be accurate enough. You have to turn on well before the abs max OVP setting, maybe 54V and you have to be completely off well before the max operating voltage, maybe 51-52V. Getting a zener with that sharp a knee and accuracy would be hard enough, but it will shift substantially with temperature as well. \$\endgroup\$
    – John D
    Sep 23, 2016 at 19:21
  • \$\begingroup\$ The comparator design is relatively simple. You just use a resistor divider feeding into a comparator with reference and hysteresis. The comparator switches a low-side NFET that's large enough to handle the required current/power. \$\endgroup\$
    – John D
    Sep 23, 2016 at 19:25
  • 1
    \$\begingroup\$ My former employer built and sold more or less what you need, though I'm not sure about the power levels you need, and it would be a custom voltage setpoint for them.... www.bonitron.com \$\endgroup\$ Sep 23, 2016 at 20:07

This is only partially related to the BackEMF of an electrical machine.

Assuming you have a 4-quadrant controller & you are ACTIVELY decelerating the rotor, what is occurring is the transfer of energy from the rotor ( \$\frac{1}{2}J\omega^2\$ ) and the stator inductance ( \$\frac{1}{2}LI^2\$ ) onto the DCLink capacitance (\$\frac{1}{2}CV^2\$)

The voltage on the capacitance must rise as the energy is transferred.

Three ways to minimise or deal with the increased voltage

  1. Increase the DClink capacitance close to the H-Bridge.

With an increase in capacitance the final voltage for the same energy transfer will have been reduced

  1. Decrease controller bandwidth

It is not stated whether you have a form of PI closed loop control, nor whether you have a speed loop, but reducing its bandwidth and the rate it can decelerate will reduce the rate of energy tranfer which will reduce the end voltage

  1. Incorporate a resistive brake circuit

By placing a Resistor + FET across the DClink (plus a freewheel diode across the resistor) & a DClink hysteretic monitor (comparator), the FET will "chop" the DClink between predefined thresholds (say .. 54V -53V). As long as the resistor value and power rating have been appropriately selected, the DClink will be maintained below the level of concern


I believe what you are looking for is a flyback diode on your DC motor. Could you put one of these inline with your DC supply to the motor? That way when the current reverses on the line you would block it and allow the motor to play out the stored energy. These are used a lot in automotive industry to deal with coil collapse induced back EMF. Look for Flyback Schottky Diodes and see if this is what you are looking for.

  • \$\begingroup\$ That won't work. The actual terminal voltage on the motor doesn't reverse polarity as it does when a coil collapses. What is needed, as mentioned above, is either a regenerative controller (which isn't going to work well with batteries), or a buss voltage controller to dump excess power into a resistor. \$\endgroup\$
    – R Drast
    Sep 26, 2016 at 16:21
  • \$\begingroup\$ The terminal voltage doesn't reverse but the current direction does. Wouldn't a diode stop the current flow in the wrong direction? \$\endgroup\$
    – Ken Mendez
    Sep 27, 2016 at 20:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.