Basic H-Bridge with switches
Figure 1 very basic H-bridge.

H-Bridge Motor Control with Power MOSFETS

by Lewis Loflin

Permanent magnet DC motors have been around for many years and come in a variety of sizes and voltages. Their direction of rotation is dependant upon the polarity of the applied voltage. Reverse the voltage, the direction of rotation reverses. One of the most common solid-state controls is known as the H-bridge.

In figure 1 we have a very basic H-bridge using two spring-loaded, single-pole, double-throw switches. The normally closed (NC) contacts are grounded and normally open (NO) contacts are connected to +12 volts. A DC motor is connected between the two commons. In its normal state, both motor connections are grounded through the switches. Both switches are spring loaded.

If we press Sw1 the NC contact opens and the NO closes supplying +12 volts to one side of the motor while the other side is still grounded through Sw2. The motor will spin at full speed say counter-clockwise. Release Sw1 and press Sw2 and +12 volts is supplied to the '+' side of the motor while the negative side is grounded through Sw1. The direction now is clockwise. Press both switches and both sides of the motor will be at +12 volts and won't run.

using MOSFETs for H-bridge
Figure 4.

In this example we use four power MOSFETs and this circuit operates in an identical manner as the two switches in figure 1. Q1 and Q2 operate as NC contacts while Q3 and Q4 act as NO contacts. The two switches Sw1 and Sw2 could be replaced by transistors and switched on/off with a micro-controller. As is Q1, Q2 are always on switched to ground.

When switch Sw1 is pressed the voltage on the gates of Q1 and Q3 goes to zero turning off Q1 and turning on Q3. This creates a current path from Q3, the motor, and Q2. When Sw1 is released the motor turns off.

When Sw2 is pressed Q2 turns off and Q4 turns on creating a reverse current path through Q1, the motor, and Q4.

Parts list:
Q3, Q4, P-channel MOSFET IRF9630
Q1, Q2, N-channel MOSFET IRF630

H-bridge schematic
Figure 5.

In this variation we have an enable pin to turn the H-bridge on/off and a separate direction pin. A 'HIGH' turns on Q7 driving its collector 'LOW' and through Cd4011b being used as an inverter produces a 'HIGH' on the gate of Q5 turning the MOSFET on, thus the motor will run. Note the power connections for the Cd4011 not shown.

With a 'LOW' or zero volts on the Direction pin the collector of Q6 is 'HIGH' Q1 and via Cd4011a Q4 are turned on (Q2 and Q3 are turned off) creating a current path through Q1, the motor, and Q4. When the Direction pin goes 'HIGH' (5-volts) Q6 switches on driving its collector to 'LOW' switching off Q1 and Q4 and turning on Q2 and Q3 creating a reverse current path through Q2, the motor, and Q3.

There are few calculations to be done with this circuit. The ratings of Q1-Q5 depends on the motor and the operating voltage is limited to 15 volts due to the Cd4011. This was designed to connect to a 5-volt microprocessor.

Parts list:
Q1, Q2, Q5, N-channel MOSFET IRF630
Q3, Q4, P-channel MOSFET IRF9630

CD4011 pin connections
Figure 6. Cd4011 pin connections.

using MOSFETs for H-bridge
Figure 7. Another variation of the above circuit.
Might not work for a direct connection to a 5 volt microprocessor.

using MOSFETs for H-bridge
Figure 8.

In this case I've used opto-isolators to switch the MOSFETs on/off. This circuit is fully functional and will operate from 5 volts to 30 volts.

The above can be used in the same manner as ATMEGA168/Arduino with the Ta8050 Motor Controller project. The opto-couplers isolate the microprocessor from motor noise and the higher voltage.