MCU drives H bridge to power permanent-magnet dc motor

Article By : Luca Bruno

Here is an alternative circuit that drives only the H bridge's two low-side switching transistors.

A traditional method of driving a low- to medium-power permanent-magnet dc motor involves using four MOSFET or bipolar transistors in an H-bridge configuration. For example, in figure 1, the motor connects between collector pairs C1 and C2 and C3 and C4. Turning on diagonally opposite transistor pairs Q1 and Q3 or Q2 and Q4 steers current through the motor and allows for reversal of its direction of rotation. However, this method requires that each of the four transistors receive its own control input. Depending on the motor's voltage requirements, the upper two drive signals may require electrical isolation or a level-shifter circuit to match the microcontroller's output-voltage limitations.

[EDNAOL 2016JUN16 AN 01Fig1]*Figure 1: A pair of flip-flops configured as a monoshot and a toggle flip-flop debounce a simple, inexpensive pushbutton switch.*

This article describes an alternative circuit that drives only the H bridge's two low-side switching transistors. In a standard bipolar-transistor H bridge for bidirectional motor control, Q1's and Q4's bases connect to Q3's and Q2's collectors through resistors R3 and R4 (figure 2). Inputs VINA and VINB each control a pair of switches. When Q2 turns on, resistor R4 and diode D6 pull Q4's base low, saturating Q4 and pulling current through the motor and Q2. Similarly, turning on Q3 pulls Q1 into saturation and drives the motor in the opposite direction. Diode D5 ensures that Q1 remains off when Q4 conducts, and D6 performs the same function for Q4 when Q1 conducts. Resistors R1, R2, R7, and R8 increase the switching speed of their associated transistors, and resistors R5 and R6 limit base-current drain from the microcontroller's 5V high-logic-level outputs to approximately 15 to 20 mA. Resistors R3 and R4 set Q1's and Q4's saturation base currents. Their value depends on the motor-supply voltage and Q1's and Q4's dc current-gain according to the following equation: R3=R4≤[VCCVBE(ON)(Q4) VF(D6)VCE(SAT)(Q2)]/[(IMOTOR)/hFE(MIN)(Q4)]. For best performance, select bipolar-junction transistors with low collector-emitter saturation voltages, VCE(SAT), and high values of dc-current gain, hFE. Currently available medium-power transistors compete favourably with MOSFETs by offering these characteristics in combinations that minimise collector-power dissipation and require little base drive.

[EDNAOL 2016JUN16 AN 01Fig2] *Figure 2: Trace 1 is the voltage across the clock of IC1, Trace 2 is the output of IC1, Trace 3 is the voltage on capacitor C1, and Trace 4 is the output of IC2.*

Discrete devices such as On Semiconductor's NSS40200LT1G PNP and NST489AMT1 NPN bipolar transistors work well in the circuit in figure 1. For a more compact implementation, you can select an integrated H bridge, such as Zetex's ZHB6790, which operates at power-supply voltages as high as 40V, with 2A continuous and 6A peak pulse-current collector ratings. Its minimum current gain of 500 at a collector current, IC, of 100 mA can decrease to 150 at IC of 2A. At a worst-case collector current of 2A in Q2 and Q3, achieving a saturation voltage of 0.35V or less requires a base current of 13 to 20 mA. Fortunately, many microcontrollers' outputs can source or sink as much as 25 mA and thus directly drive the H bridge independently of the motor's power-supply voltage. To further reduce drive current or to use a standard CMOS or TTL IC as a drive source, you can buffer Q2's and Q3's inputs with small-signal transistor inverters. As an option, you can connect fractional-ohm resistors between the emitters of Q2 and Q3 and ground. This approach can provide analogue voltages proportional to motor current, allowing the microcontroller to detect a stalled or overloaded motor.

This article is a Design Idea selected for re-publication by the editors. It was first published on March 15, 2007 in

Leave a comment