An H bridge is an electronic circuit that can be used for loads such as motors to be driven in both directions, forward and backwards. H bridges are available as integrated circuits but here, we will explain H-bridge build from discrete component. We will see which problems may occur during control and how to fix those problems. H-bridge is modeled as 4 switches that can be controlled to achieve various voltage forms to the load. In real design, switches are made by transistors.
By type, load can be different, but for our example we will imagine that our load is DC motor which we want to drive in any direction (forward and backward). The term H-bridge is result of typical graphical representation of this circuit as letter “H” as it shown on picture.
As you can notice, if switches 1 and 4 are turned ON motor rotates in one direction and if switches 2 and 3 are turned ON motor rotates in other direction. If motor has same voltage on his terminals, it will brakes motor (switches 1 and 3 are ON, or switches 2 and 4 are ON).
As we mention as switches are used transistors. Which transistor to use depends on voltage and current requirements of supplied load (not only motor). The easiest way o make H bridge is to use PNP (or P MOSFET) transistors instead switches 1 and 3, and NPN (or N MOSFET) instead of switches marked as 2 and 4. But, there is a problem with transistor technology between P and N transistors. It is impossible at the moment to make good PNP (or P MOSFET) transistors for high current and voltage capabilities that match their pair designed in NPN/N MOSFET technology. For best performance it is recommended to use 4 equal transistors designed in N technology. There is a problem how to turn on N MOSFET in upper side of the bridge (1 and 3) since voltage on terminals of load can be variable and it is known that is needed positive voltage between gate and source for proper working. This problem can be fixed with bootstrap capacitor. Read article “Which MOSFET topology?” for more information. Today, there are a lot of integrated chips that do necessary adjustments for proper transistor driving.
In this article we present solution for driving DC motor (in our case Maxon 20W) using special integrated circuit from International Rectifier IR2112. The IR2112(S) is a high voltage (up to 600V), high speed power MOSFET and IGBT driver with independent high and low side referenced output channels. Floating channel are designed for bootstrap operation. Logic inputs are compatible with standard CMOS or LSTTL outputs, down to 3.3V logic. The output drivers feature a high pulse current buffer stage designed for minimum driver cross-conduction. Propagation delays are matched to simplify use in high frequency applications. The floating channel can be used to drive an N-channel power MOSFET or IGBT in the high side configuration which operates up to 600 volts. For more information read IR2112 datasheet.
In general, most of MCUs has multiple PWM outputs. For H-bridge we need 4 outputs for each MOSFET switch, so we need two IR2112 chips for one full H-bridge. If you are good programmer you will assure that MOSFETs in one half H-bridge never ON at the same time because you will actually connect power and ground through 2xRon resistance that is very small (typically much less than 1Ω). Use shutdown pin of IR2112 during configuration of MCU to avoid this state.
When transistors 1 and 2 have inverted logic (when 1 is ON, 2 is OFF, and vice versa), it is important that there is delay that will avoid short circuit between power and ground, even if this timing is infinitesimal. At high frequencies in time this will cause MOSFET to heat and at the end it will broke due to overheating. Some integrated solution already has implemented matching delay between high and low side of one half H-bridge. Mentioned IR2112 has matching delay of 30ns.
We wanted to assure that never will happened short circuits so special hardware logic was implemented. Also, we wanted to avoid calculations that are shown in Matching MOSFET drivers to MOSFETs application note. Our solution is shown in picture below.
As you can notice, our schematics has own supply, separate for logic and motor. As inputs there are four signals: GND, DEV_EN (Device Enable), PWM_MAG (PWM magnitude) and PWM_SGN (PWM Sign). So, we use only one PWM output of MCU and one digital pin for sign/direction of motor. For explanation we will use only one channel (CHA-H1). Inverter IC1 assure that high and low MOSFETs never turned ON at the same time. Resistor R1, diode D1 and capacitor C1 make delay circuit. Values are chosen for delay of 4ms. Follow the logic and you will easy figured out how it works. It is important to mention that capacitors C5 and C10 are bootstrap capacitors, diodes D8, D9, D10 and D11 are not necessary because MOSFETs has embedded one (we use BUZ11 MOSFET), for higher frequencies it is recommended to put resistor (about 100K) between gate and source of MOSFET for faster transient response. In our case Vbat is 12V, Vcc is 5V, and that’s it. It works 100%. On picture bellow you can see how that looks practical and we hope that a video will be added soon.
Special thanks to Evgenije Adzic for his contribution on this article.