H-bridge DC Motor Control Using Complementary PWM, Shoot-through, and Dead-time
Learn about the role of non-overlapping or complementary pulse width modulation (PMW) in DC motor control using an h-bridge circuit, taking into consideration PWM shoot-through and dead-time PWM.
Motor control is a fundamental aspect of electronic design in almost any electromechanical application. Fields like robotics and electric vehicles (EVs) require circuitry and firmware control of motors to reliably influence the motion of a given device.
Each type of motor comes with its own control requirements, requiring unique circuitry and understanding for proper operation. In this article, we’ll take a look at DC motor control, the H-bridge circuit, and control techniques such as complementary PWM.
H-bridge Operating Principles—What is an H-bridge Circuit?
When it comes to driving and controlling a DC motor, the most basic and widely used circuit is the H-bridge. An example can be seen in a datasheet from TI.
The H-bridge, as shown in Figure 1, consists of four switches, which are usually implemented using metal–oxide–semiconductor field-effect transistors (MOSFETs) in an “H” shaped topology around a DC motor.
Figure 1. The standard H-bridge Circuit for DC motor control
An H-bridge can be a useful circuit for DC motor control, as it controls the direction and speed of a motor by selectively turning a series of these switches on and off.
As shown in Figure 2, by turning on SW1 and SW4 while SW2 and SW3 are off, we can control direct the flow of current in a specific direction across the motor, thus causing it to turn in one direction.
Figure 2. Selectively turning these switches on and off will control the speed and direction of the motor
To turn the motor in an opposite direction, we do the opposite, leaving SW1 and SW4 off while turning on SW2 and SW3 simultaneously.
Non-overlapping or Complementary PWM
In practice, the switches in the H-bridge are actually implemented using MOSFETs, as shown in Figure 3.
Figure 3. H-bridge implementation using MOSFETs
While not always the case, H-bridges are generally designed so that the high-side switches (i.e., the FETs connected to VDD) are implemented as PMOS devices. While the low-side switches (i.e., the FETs connected to GND) are implemented as NMOS devices.
When it comes to driving the motor, the main two things we aim to control are its speed and direction. To do this in practice, it is standard to drive the MOSFET gates using PWM. With PWM we can control the speed of the motor by controlling its duty cycle (i.e., the percentage of time it is on), that way we can supply the motor with as much or as little power as desired.
Further shown in Figure 3, the gates of Q1 and Q4 and the gates of Q2 and Q3 are driven by signals that are complementary to each other. This control scheme, where multiple gates are driven by PWM signals 180° out of phase [video] with one another, is known as complementary PWM.
As shown in Figure 4, this setup ensures that when the gate of Q1 is LOW, the gate of Q4 is simultaneously HIGH.
Figure 4. Complementary PWM signals
Since Q1 is PMOS and Q4 is NMOS, this action simultaneously closes switches Q1 and Q4, allowing for the forward flow of current across the motor. During this, Q2 and Q3 must be open, which implies that the gate of Q2 is HIGH while the gate of Q3 is LOW.
Motor Control Safety: PWM Shoot-Through
One major consideration when working with complementary PWM in an H-bridge is the possibility of a short circuit, also known as a “shoot-through.”
As shown in Figure 5, the H-bridge configuration creates the possibility of a direct short between power and ground if two switches on the same leg are turned on simultaneously.
Figure 5. Shoot-through can occur if two switches on the same leg are turned on simultaneously
This scenario can be extremely dangerous, as it can lead to overheating and damage to the transistors and the circuit as a whole.
Shoot-through becomes a major consideration in FET-based H-bridges due to intrinsic device delays and non-idealities such as gate capacitance and diode reverse recovery effects. The result of these effects is that a MOSFET is not an ideal switch, and there is a small time delay between when the gate control signal is turned on/off and when the MOSFET itself turns on/off.
Due to this delay, complementary PWM signals can accidentally cause H-bridge MOSFETs on the same leg to turn on simultaneously, causing shoot-through.
PWM Dead-time for DC Motor Control
To account for shoot-through caused by FET non-idealities, a standard solution is implementing dead-time into the PWM control.
In the context of DC motor control, dead-time is a small amount of time inserted between the switching edges of PWM signals which drive switches on the same H-bridge leg (Figure 6).
Figure 6. Dead-time between complementary PWM signals. Image used courtesy of Widodo et al
By leaving a buffer of time between when one FET turns off and when the other turns on, dead time prevents shoot-through by ensuring that no two transistors on the same leg will be on simultaneously.
While dead-time circuits exist, it is often implemented in firmware, where advanced microcontroller (MCU) timers can generate the desired dead-time between complementary signals.
I have had some success with replacing the Vdd side Fets with Diodes. Then it’s a simple matter of turning on the correct low side Fet to get the direction and PWM controls the speed. All the PWM control circuitry is ground related, which makes for a simplified design.