Protect your BLDC motor drive with cycle-by-cycle current limit control – part 1

Brushless DC (BLDC) motors are popular because of their high efficiency, high torque-to-weight ratio, low maintenance and long life. A three-phase brushless DC motor consists of a three-phase wound stator and rotor with permanent magnets. The absence of brushes in a BLDC motor necessitates an electronic drive for proper commutation of current in motor winding.

The most common power-electronic drive for a BLDC motor is a three-phase H-bridge inverter. Motor-winding current is commutated based on the position-sensor feedback or sensorless algorithms. The BLDC motor is driven by 120-degree trapezoidal control in which only two windings are conducting at a time. The winding current is controlled with unipolar switching (soft chopping) and there each switch of the three phase inverter conducts for 120-degree electrical period. Calculate the winding current of the BLDC motor at any instant, using the electrical model of the motor as given in Equation 1. 

where V is the applied voltage across the two conducting windings, R is the line-to-line motor-winding resistance, L is the line-to-line motor-winding inductance and E is the line-to-line back electromotive force (EMF).

Equation 1 shows that instantaneous winding current depends on the back EMF, motor resistance, inductance and applied voltage. The motor’s back EMF is proportional to its angular speed; thus at a stall condition (zero speed), the back EMF is zero. This means that when the motor is stalled, the steady-state current in the motor winding is limited by the motor resistance only. When the motor gets saturated at high (over) current, the inductance drops, and current rises even quicker than at the nominal current level.

Consider an example of a BLDC motor rated for 400W, a rated DC voltage of 220V and a rated RMS winding current of 3.6A. The motor has a winding resistance of approximately 6Ω. Therefore the stall current = V/R = 220V/6Ω = 36.67A. This means that if you do not have proper current-limit protection, the inverter stage must be rated for 36.67A.

If the motor-drive system is allowed to carry the stall current:

  • The inverter stage must be rated for carrying the stall current, which makes the inverter stage bulky and costly.
  • Allowing the motor winding to carry stall current for a long time makes the motor overheat. This may cause burning of the winding. Also, the permanent magnets may get demagnetized due to high temperature or high demagnetizing current.

If you design the motor-drive system for a nominal current rating, you will need proper winding over current protection to protect the inverter stage and the motor. To implement winding over current protection, the first step is to sense the winding current.

Ideally, you could measure the three-phase winding current by placing current sensors in series with all of the phases, or placing current sensors in all of the inverter legs. Alternatively, you could sense two phase currents and determine the third phase current by equating the algebraic sum of all the phase currents to zero.

During trapezoidal control of a BLDC motor, for each 60-degree electrical commutation period, only two inverter legs are active and delivering power to the motor; the third inverter leg is kept in a high-impedance state by switching both the high- and low-side switches off. At any time only two phases are on. This implies that you can measure the winding current by sensing the DC bus current. You could place a low-cost sense resistor at the DC bus return to sense the motor current, as shown in Figure 1.

For a unipolar two-quadrant drive, apply pulse-width modulation (PWM) only to the high-side switch of one active leg. The low-side switch of the other active leg will remain on for the entire 60-degree electrical commutation period.

Consider a commutation period in which phases A & B are active. When the top-side switch is on, the two-phase winding will be energized and the current path will be as shown in Figure 1(a). When the top- and bottom-side switches are on, the DC bus current is the same as the winding current. When top-side PWM is low, the top-side switch goes off and the winding current will freewheel through the diode of Q2, as shown in Figure 1(b). During this freewheeling period (where the top-side switch is off and the bottom-side switch is on), the winding current is not flowing through the DC bus; hence the DC bus current is zero. The current does not increase during freewheeling, but decreases. This indicates that the DC-link current measurement is sufficient for winding overcurrent protection. Figure 2 shows the motor-winding current and DC bus current in 120-degree trapezoidal control.

Figure 1: Current path when top and bottom switches are on (a); current path when top-side switch is off and the bottom-side switch is on (b)

Figure 2: Winding current and DC bus current in 120-degree trapezoidal control


From my explanations thus far, you can see that it’s possible to control the motor-winding current by sensing the DC bus current. You can implement peak current-limit control by sensing the DC bus current and designing your inverter for the nominal motor current rather than overdesigning for the stall current. For low-inductance BLDC motors (typically from a few micro-henries to a few tens of milli-henries), a high winding resistance-to-inductance ratio leads to a high rate of winding current rise. The current-limit protection must be fast (well below 1µs) and act in every PWM cycle to avoid any short current spikes.

In part 2, I will discuss on how to implement the cycle-by-cycle over current protection by sensing the DC bus current and using an ultra-low power microcontroller.

Additional resources: