Friday, March 29, 2013

H-Bridge Motor Driver using MOSFET's and Transistors

In this post, we shall be covering on how to construct a H-Bridge Motor Driver circuit using simple MOSFET's and Transistors. The main feature of this H-Bridge is that the motor can be driven in both directions.  

An H-bridge is a circuit that allows a voltage to be applied across any load, like a motor in our experiment, in dual directions. The 'H' here just represents the formation of the circuit and has no reference to anyone.

 The H-Bridge can be realized using simple switches first:-

The H-bridge arrangement is generally used to reverse the polarity of the motor and to let the motor 'free run' to a stop, as the motor is effectively disconnected from the circuit. The following table summarizes operation, with S1-S4 corresponding to the diagram above.

S1S2S3S4Result
1001Motor moves right
0110Motor moves left
0000Motor free runs





 Now let us realize the actual circuit using MOSFET and Transistors:

 To download Schematic: Click Here (JPEG) & Click Here (PDF) 

We have used IRF9540 for P-Channel MOSFET and IRF510 for N-Channel MOSFET. Respective NPN and PNP Transistors are used to drive the MOSFET's which can be seen in the circuit diagram. We have used Arduino to give the logic signals to the pins to turn on and off the MOSFET's. The diodes are provided to prevent back EMF generated by the motor

Direction 1:
Pin1: Logic 1
Pin2: Logic 1
Pin3: Logic 0
Pin4: Logic 0

Direction 2:
Pin1: Logic 0
Pin2: Logic 0
Pin3: Logic 1
Pin4: Logic 1

After reading the above, you  might be wondering why not short the respective PIN's with the same logic. Well you can, that's what we have implemented and its easier to drive the motor in both directions with using only two I/O pins from the Arduino.



 This is the implemented circuit tested in our RnD lab. Below you can see the Working video.
   

Now you can view the motor in slow motion:



1 comment:

  1. Hi, Hbridge schematic resistor value is wrong. Upper side mosfet gate pins to 12v resistor must be higher than gate to bjt resistor. I'm swap 10k and 4.7k and it is worked.

    ReplyDelete