# The art of stopping a motor – VM pumping

In my last post we talked about methods to stop a motor. As a refresher, check out the table below.

In this post, we will dive deeper into the VM pumping mechanism and how to avoid the pumping.

When and how is VM pumping up?

In one sentence, the VM bus is charged higher when the current is flowing into the power supply. So what conditions cause the pumping?

DC motor decelerating

Use a PWM controlled H Bridge to drive a DC motor in one direction. The H Bridge is configured as SLOW decay during PWM off time. If we suddenly change the PWM duty from 100% to 50%, what happens? The motor starts decelerating. If you catch the VM bus voltage, you may get the following waveform taken from the DRV8840 DC motor driver.

Figure 1

Green: current; Yellow: VM; Purple: OUT1; Blue: OUT2

From an energy conversion point of view, the motor’s driving power is reduced because of the PWM duty decreasing. The motor’s kinetic energy is then transferred back into the power supply. But, how is the current able to reverse into the supply when the BEMF < VM? Let’s zoom in on figure 1 and look a bit closer.

Figure 2

Green: current; Yellow: VM; Purple: OUT1; Blue: OUT2

Detailed descriptions are shown below.

Usually the motor’s BEMF is smaller than the VM voltage. So, how is the current able to flow into the supply? This answer is the inductance of the motor.

Block A shows the beginning of the deceleration process. When PWM is at off time, BEMF is always trying to generate current flow opposite to the driving current. But, at the first several cycle, the current direction remains from the supply to the motor. The trend is the reverse current getting larger every PWM cycle. The smaller the PWM duty at decelerating, the sooner current reversed.

When at block C, the real current direction is already the opposite. The BEMF generated a large current in the low side loop. Once the PWM OFF state switched to ON state, the inductance will maintain the current to VM through the driving path in block (D). It is said that the self-induction electromotive force plus the BEMF cause a much higher voltage than VM. That is why current can flow back into the supply.

There are three other conditions where you will see the VM pumping up. If you can find the point where current flows into the power supply, then VM pumping is happening.

• DC motor reverses the direction suddenly
• Stepper motor is missing step alignment at certain speed
• Stepper motor is coasting (all bridge Hi-Z) suddenly at high speed

Reduce VM pumping

From the above analysis, if we want to lower the VM pumping, the goal is to avoid or reduce the reverse current flowing into the supply.

Decelerating slower is the most straight forward way to reduce the reverse current. If we control the input PWM duty from 100% to 30% immediately, there is big VM pumping. But if we control the PWM duty from 100% to 30% gradually within 5 or 10 seconds, the peak pumping voltage is much lower.

An interesting fact is that if we decelerate by decreasing input PWM duty directly to 0% at slow decay mode, then there will be no pumping at all. But, the H bridges should be able to handle the huge current caused by BEMF.

Decelerating with coast configuration also has no VM pumping. Because in coast method all FETs are off during PWM off time. No reverse current can be built up and also the BEMF < VM will prevent the current flow into supply.

Application examples

Below are some examples of applications that need good braking methods:

• E-bike during quick deceleration or downhill.
• Fan in windy conditions.
• Quick release/stop the power tools.
• Beat simulation in a massage chair with motor running back and forth all the time.
• Quick valve on/off action driven by motor.

Besides thinking of ways to avoid VM pumping, we should also select components voltage rating with proper margin. Below are some experienced values.

Thanks for reading and your comments are welcome.

• Hi Wilson

Thank for the article which is most interesting, is there useful guideline to consider sizing of buffer capacitor to limits voltage. I have 3 phase generator (24V) with rectifier so generator will not absorb energy which leave capacitor to do the work. Due to space constraint, is there guideline to work out sizing of the capacitor. The Motor in question is 4 pole BLDC, maximum 50W power. It is used as servo actuator (or CNC) with screw. I know Ed ask this before in 2014 but no provided answer.....

• Hi UDO, For DRV8842, as shown in figure2 of datasheet, when braking the motor, current goes through the low sides cycle without passing Rsense. So that braking current is not regulated. At the beginning of the braking, this current is just the same as the driving current, but when the speed goes down and the lossing mechanical energy will transfer into this current cycle, so the braking current will increase greatly (BEMF/Rdson_total), could be higher than the OCP threshold and cause fault.

• Hmm. That's only partially true. If the current leaves the motor through one of the high-side FETs it must enter the motor through the low-side FET on the other side. So looking at Fig. 1 there should be a negative current, i.e. negative voltage at ISEN. The question is: Does the DRV8842 react to that. In Fig. 1 there is just a single OP acting as a comparator, so probably not. Am I right?

• Udo, good question.  See datasheet Figure 1; the current limiter looks at the voltage on ISEN.  But when VM pumping occurs, it's due to current flowing through the high-side FET, which doesn't increase the ISEN voltage.

• I am wondering: If you use are current-limiting driver, e.g. DRV8842 will it also limit motor in braking mode, i.e. when it results in reverse current to the supply? We had been observing that a sudden change from 100% to 20% PWM results in an over current error of the DRV8842 even though the driver is supposed to limit the current. Conversely a sudden change from 20% to 100% does not cause over current.