H-Bridge Motor Drive Dynamics: Identification of Current Spikes

Expand your knowledge of the H-bridge by including flyback diodes and a DC motor mechanically coupled to a high inertial load. The model will inform your selection of MOSFET switches as well as your programming techniques.

What is an H-bridge?

An H-bridge which employs four semiconductor switches is often used to control a DC brushed motor or a single-phase DC to AC inverter. When properly controlled by a microcontroller, the H-bridge allows both velocity and direction control of the DC motor. In an inverter, the H-bridge can produce a sinusoid signal.

The H-bridge motor controller is traditionally presented as four switches with a motor in the middle. These switches are included in Figure 1 as S1 through S4. The motor (M1) is included in the middle of the bridge. This assembly is reminiscent of the letter H with the motor as the horizontal member with a switch on each vertical arm.

Figure 1: Electromechanical model of the H-Bridge constructed using MultisimLive.

Fundamental operation of the H-bridge

At a fundamental level, the H-bridge is controlled by simultaneously activating two switches as seen in Figure 1. For example, activating S1 and S4 applies a positive polarity to the motor causing a CW rotation. While activating S2 and S3 applies a reverse polarity to the motor causing a CCW rotation.

This complementary switch model is useful and true, yet insufficient. It does not account for the motor electromechanical dynamics. For example, the motor’s winding has inductance. This causes a voltage spike when a switch is turned off. Diodes D1 through D4 are required to commutate this flyback voltage to protect the semiconductor switches. Likewise, the motor has kinetic energy as represented by the flywheel shown in Figure 1. This is a surprisingly large source of kinetic energy that must be accommodated as incorrect operation S1 through S4 can cause significant current spikes. This could damage the semiconductors. It could also damage the mechanical assembly as the motor unexpectedly decelerates.

The purpose of this engineering brief is to identify the dynamic nature of the system with a focus on the associated currents. This will lead to a better understanding of the semiconductor switch requirements as well as the software control program.

This article is part of a larger series which includes the articles listed below. The first two articles are especially important as they introduce the bridge arm which are typically composed of MOSFETs. Figure 1 features two bridge arms which have been highly simplified as the MOSFETs, and their associated drivers have been replaced with switches. However, the body diodes D1 to D4 are retained as they have a significant, but often overlooked impact on the operation of the H-bridge.

*Guide to Bootstrap Operation in a MOSFET Gate Drive Circuit

*Breadboard a Bootstrapped MOSFET Motor Driver with Arduino PWM Control

  • H-Bridge Moto Driver with Arduino PWM under development

Model of a DC motor

We will now examine the model of a DC motor to improve our understanding of the H-bridge. This model as shown in Figure 2 is based on the 24 VDC Crouzet motor 89890911 with permanent magnets. There are three parts to the model including the armature resistance, the armature inductance, and the back EMF which is proportional to the rotational velocity of the motor.

Figure 2: Electrical model of the Crouzet 89890911 DC motor.

Figure 2: Electrical model of the Crouzet 89890911 DC motor.

Tech Tip: For a motor at rest, the back EMF is zero. If you apply 24 VDC directly to the Figure 2 motor, the start-up current is limited to approximately 35 A by the armature resistance. This Ohm’s Law calculation is reflected in the motor’s datasheet. Recall that a motor’s back EMF increases as the velocity increases. Consequently, the running current is significantly less than the starting current. At no-load speed, the back EMF is approximately equal to the source voltage.

On a related note, suppose the motor/flywheel assembly was at full speed with a back EMF of approximately 24 VDC. If we disconnect the source and then short the motor’s terminals, a current spike of approximately 35 A would occur. This acts as a brake quickly stopping the motor.

For a worst-case scenario, consider a motor at full speed. Now, quickly reverse the polarity. There are now two voltages feeding the 0.7 Ω armature resistance including the 24 VDC source and the 24 VDC back EMF. This results in a current spike of about 70 A as the motor quickly brakes and then reverses direction.

Note that the H-bridge can perform each scenario described in this tech tip. The programmer must take proactive measures to protect the semiconductor switches.

Motor simulation

The classic DC motor response is shown in Figure 3. At time index 1 second the motor is turned on. The start-up current is limited to approximately 16 A via the 0.7 Ω armature resistance in series with the 0.75 Ω current limiting resistor as shown in Figure 1. It takes a few seconds for the motor to spin up the flywheel. The motor is switched off at second 4. The flywheel energy is then dissipated by the mechanical load which is simulated as a 5000 Ω resistor as shown in Figure 1.

Tech Tip: Simulations may use electrical components to stand in for their mechanical counterparts. In this simulation, the flywheel (moment of inertia) and mechanical load (damper) are simulated as a capacitor and resistor respectively. The capacitor stores energy like a flywheel and the resistor dissipates energy like a mechanical load. We could extend this analogy to represent a torsion spring as an inductor.

Figure 3: Classic step response of the DC motor featuring an oversized flywheel.

DC Motor interaction with the H-Bridge.

Figure 4 presents several operating modes for the DC motor and H-bridge. For this chart T will be used to indicate the second and S will be used to indicate which Figure 1 switch was closed.

  • T1 to T2: S1 and S4 closed resulting in a CW acceleration
  • T2 to T4: all switches open energy is being dissipated in the mechanical load
  • T4 to T5: S2 and S4 closed causing a rapid deceleration as energy is dissipated in the motor winding resistance
  • T6 to T7: S2 and S3 closed resulting in a CCW acceleration
  • T7 to T9: all switches open
  • T9 to T10: S2 and S4 closed causing a rapid deceleration

Note that the current spikes at T4 and T9 are entirely dependent on the kinetic energy stored in the motor. Whereas the spikes a T1 and T6 are from the 24 VDC supply.

Figure 4: Graph showing the dynamic operation of the motor as the H-Bridge switches are operated.

Tech Tip: There are two fuses in Figure 1. One fuse is associated with the supply, and one is associated with the motor. Improper operation of S1 through S4 will cause the fuses to open. I challenge you to experiment with the MultisimLive model. See what it takes to open each fuse. Hint: There are two sources of energy. Also avoid shoot through by activating the S1/S2 or the S3/S4 pairs.

Commutation via the diodes

The previous experiments were conducted using switches S1 through S4. Up to this point we have not considered the diodes other than to say that they “catch” the flyback voltage from the motor’s inductance. Also, the previously mentioned bootstrap articles mentioned in the diode is an integral part of the MOSFETs typically used for DC motor control.

With respect to Figure 4, we could have generated the T4 and T9 current spike using a single switch. For example, consider the situation just prior to the T4 braking event. All switches are open and there is still significant energy in the motor/flywheel. The motor acts as a battery with the positive terminal on top. If we close S2, we complete the circuit through the motor and through D4. The non-intuitive circuit path is represented in Figure 5. A similar circuit could be constructed for the T9 event using S4 and D2pair. Likewise, similar circuit can be constructed for the S1 and S3 switches. For example, at T4 we could also brake the system be activating S3 with the corresponding current flowing through D1. In all cases, a single switch/diode combination will brake the motor.

Figure 5: Non-intuitive circuit that brakes the motor at T4 as shown on Figure 4.

Figure 5: Non-intuitive circuit that brakes the motor at T4 as shown on Figure 4.

Mitigating hazards

A high-power H-bridge can be challenging to control. As explored in this article, there are many ways that things can go wrong. The shoot through from the S1/S2 or the S3/S4 pairs is an obvious problem. Instantaneous reversal is also hard on the semiconductors. As explained in the Tech Tip, this relatively small 3.5 pound Crouzet motor will demand nearly 70 A. Also, inappropriate activation of a single switch can cause a high current spike if the motor is running.

Software mitigation

These hazards point to the necessity of generous time delays or an encoder to detect shaft velocity before switching direction. With either method, we do not switch until most of the system’s kinetic energy has been dissipated.

As an example, consider the polarity identified in the T1 to T2 timeslot of Figure 4. Assume a constant S4 drive and a PWM for S1. When it comes time to reverse the motor, we should no instantaneously activate the S2/S3 pair. We should wait, or deliberately slow down the motor, but not too fast as we want to avoid high current spike and mechanical jerk. The best braking program will monitor the shaft velocity and then PWM S2 for a smooth stop.

Hardware mitigation

There is a cost balance to consider when selecting hardware. We could select MOSFETs to handle the worst-case situation as 70 A continuous. We could also select a MOSFET to handle the high startup with a reasonable overhead. Consider the Nexperia PXN012-100QSJ as an example. This modern MOSFET with small MLPAK33 package can supply 50 A continuous with a 200 A 10 us peak current. You could include independent circuitry to sense a fault condition and then shut down the system.

Tech Tip: Motors such as the Crouzet motor may be purchased with a mechanical brake. This is generally used to hold the shaft in position such as when a robot arm is stationary when the motors are turned off. Avoid stopping the motor via the mechanical brake, use electrical methods when possible.

Parting thoughts

Motor drives are complex. At first glance, the H-bridge with its 4 “simple” switches doesn’t look all that difficult. However, the complexity quickly increases when we include the flyback diodes and a high current motor connected to a system with appreciable kinetic energy. Commutation mistakes can result is high currents. Surprisingly, a single switch turned on at the wrong time can cause problems. To a limited extent we can mitigate the problem in hardware. Perhaps we can explore software methods another day.

Stay tuned for the next series article, where we breadboard an H-bridge to control a DC motor.

Your comments and suggestions are welcome. Please leave them in the space below.

Best wishes,

APDahlen

Related Information

Please follow these links to related and useful information:

About this author

Aaron Dahlen, LCDR USCG (Ret.), serves as an application engineer at DigiKey. He has a unique electronics and automation foundation built over a 27-year military career as a technician and engineer which was further enhanced by 12 years of teaching (partially interwoven with military experience). With an MSEE degree from Minnesota State University, Mankato, Dahlen has taught in an ABET-accredited EE program, served as the program coordinator for an EET program, and taught component-level repair to military electronics technicians. Dahlen has returned to his Northern Minnesota home and thoroughly enjoys researching and writing educational articles about electronics and automation.

Highlighted experience

Dahlen is an active contributor to DigiKey’s Technical Forum. At the time of this writing, he has created over 200 unique posts and provided an additional 600 forum posts. Dahlen shares his insights on a wide variety of topics including microcontrollers, FPGA programming in Verilog, and a large body of work on industrial controls.