The art of stopping a motor

When starting to develop a motor driver system, most of the attention is focused on initially spinning the motor. But soon after the successful spin, you may find that it is also very important and even more challenging to stop the motor properly. You can easily get a motor up and running with one of our highly integrated DRV8x solutions, but you might end up spending weeks dealing with more complicated system levels issues such as braking. In this blog, I would like to discuss the various methods of braking a motor.  

Motoring and regenerating

A motor has an interesting feature in that it is reversible in energy conversion. Normally it transforms the electrical power to kinetic energy as motoring action. Inversely, when it is forced to rotate faster than driven or driven with reduced power, it becomes a generator. The Back Electromotive Force (BEMF) will force the current back through the driver thus charging the power supply (VM) bus. Every coin has two sides, and sometimes the regenerated electrical power is useful to enhance system efficiency. Other times, this power is harmful to the application system and we need to reduce or get rid of the regeneration.

Benefit and harm of regenerating:

The total system efficiency is enhanced if the regenerative energy is properly transferred back to the power supply. This saves power consumption with the same total mechanical energy output. This is very important to battery applications such as e-bikes, e-cars and other electric vehicles.

The harmful side of regenerating is the voltage overshooting to the VM bus. Without proper handling of the regenerating energy, as our power supply is usually not designed to absorb the current, the VM bus can easily be charged to 1.5x to 2.5x of the normal voltage. For most applications, it is not possible or cost acceptable to make all parts in the system endure this high voltage margin.

There is a common practice to add a large electrolytic capacitor connected to VM and GND for most motor drivers. This capacitor acts as a “current storage tank”. When the motor is started, the tank provides heavy output capacity for high startup current and limits the bus voltage drop. When a motor is stopped, the tank absorbs the regenerating current and smoothes the voltage overshooting.

Besides adding big cap to VM, we also have other measurements to control the inverse current and reduce the overshooting by controlling the H bridge logic.

Three braking operations

Here we only take a brushed DC (BDC) motor and H-bridge driver as an example. For brushless DC motors (BLDC), the mechanism is basically the same.

  • Coasting: The motor is stopped by turning off all the FETs and Hi-Z the H bridge outputs. If BEMF<VM the motor is actually disconnected from the driver. The motor will coast to zero speed slowly by frictional force. If BEMF>VM regenerating braking will take place at first due to the body diodes of the H bridge conducting, returning a minimal amount of energy to the supply. Coasting will not cause bus overshooting but doesn’t stop the motor very quickly.



  • Dynamic braking: In dynamic braking, the regenerating energy is dissipated by the H-bridge internal RDSON (SLOW decay braking) or external braking resistor. The mechanical energy is converted to electrical power, and finally dissipated as heat. The motor acts as a brake and stops quickly. But, this method can dissipate quite a bit power via the RDSON of the FETs or external resistor. For high voltage, high current applications an external resistor is typically used, such as high power PMSM servo motor system, whereas SLOW decay braking is widely used in low voltage small power DC motor applications, such as toy motors or vibration motors. The majority of DRV8x devices support SLOW decay braking.

      • Regenerating braking (reverse braking): Regenerating braking will recharge the current back to the VM bus. The reverse current is decayed more quickly in this way. The mechanical energy is stored in the battery or in VM capacitor and causes VM overshooting.  

      The same technique can be used to brake the motor very quickly and is called “reverse braking.” Instead of using the motor’s energy to re-charge the battery, it is used to quickly stop the motor, and will stop the motor even faster than dynamic braking. To reverse brake, just directly change the H-bridge to the other driving direction. In this case, all the BEMF will add to VM total. The motor’s current will counter with the driving current and decay rapidly. The motor will also stop suddenly and try to run the other direction. If you just want a quick stop and don’t care about the big VM overshoot, just give several tens of milliseconds of reverse braking and then dynamic braking to zero speed. The below picture show a large overshoot on VM (pink) when applying reverse braking.

      Thanks for your reading. Stay tuned for part 2 of this topic on how to reduce VM overshooting.