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.