Press "Enter" to skip to content

H-Bridge Fundamentals

The Simplified Model

If you don’t know the basics behind H-Bridges, this section will go over the principles of how an H-Bridge controls the direction of rotation of a DC motor. If you already know the basics of how H-Bridges work, you can skip ahead to page 3.

Imagine an H-Bridge as an array of four switches, as shown below:

Figure 2-1:
Figure 2-1: Simplified H-Bridge

You can alter the states of these four switches in order to manipulate the voltage across the motor, and through that the direction of current flow and rotation of the motor. In Fig 2.1, you can see that all the switches are open, and the motor terminals are disconnected from the circuit. This state will allow the motor to spin freely.

Figure 2-2:
Figure 2-2: S1 and S4 Closed

If we close two of the switches, S1 and S4 as show in Fig 2.2, the motor terminals are connected to the voltage supply, and a potential difference across the motor is created, which will cause the motor to begin rotating in one direction.

Figure 2-3: S2 and S3 Closed

Now, if we open S1 and S4 again, and close S2 and S3 as in figure 2.3, the voltage across the motor is switched around, and this will cause the motor to rotate in the opposite direction.

Figure 2-4: Active Braking
Figure 2-4: Active Braking

What happens if we leave S1 and S2 open while S3 and S4 are closed? The motor terminals will be short circuited. This will cause the motor to brake, and rapidly slow down.

Figure 2-5: Short Circuit
Figure 2-5: Short Circuit

Now, what will happen if we close S1 and S3 at the same time? This will cause a short circuit from V+ to ground. This is known as “Shoot Through” The motor will not spin, and excessive current will flow through the switches, wires, and power supply. In a Mosfet H-Bridge, this can cause Mosfets and batteries to overheat and free trapped smoke, or even explode!! This is dangerous, and you should avoid short circuiting your h-bridge like this at all costs.

Next page…

Pages: 1 2 3 4 5 6


  1. darling
    darling December 21, 2017

    am using RFP30N06LE mosfet for pwm based heating coil giving pwm from arduino. 15v applied to drain and mosfet is heating fastly . when i calcute current thruogh coil is 0.8 amps and gate voltage is getting dropped …can you plz suggest me any chnages….????

    • Roger
      Roger December 21, 2017

      When you say that 15v is applied to the drain, do you mean that the drain is connected to the power supply, and the source is connected to the coil? If so, you’re using what’s known as a “high side” arrangement. In order to turn on the n-channel FET in that arrangement, you will need to supply it with a higher voltage than 15v in order to turn it on.

      Instead, try putting it on the “low side”, so the drain is connected to the coil, and the source is connected to ground. This way, you can turn it off by driving it to ground.

      You may want to also use a gate driver (either a dedicated chip, or a simple transistor ) to drive the FET, as the Arduino’s I/O pins may not be able to supply enough current to rapidly turn the FET fully on and off with PWM. This will also have the added benefit of bringing the lower Arduino voltage to the full supply voltage at the FET’s gate, ensuring it’s fully turning on and off.

      I suggest reading through the rest of the pages in this article (Specifically Page 4), as I explain FETs and their driving requirements in more detail.

Leave a Reply

Your email address will not be published. Required fields are marked *