DC Motor with BJT H-bridge motor driver

DC Motors are widely used in various applications such as robotics, toys, and electric vehicles. These motors can be controlled by controlling the voltage and current applied to the motor terminals. One of the most popular methods of controlling the DC motor is by using an H-Bridge circuit. An H-Bridge is a circuit that allows the direction of current flow to be reversed in a DC motor. This makes it possible to rotate the motor in both clockwise and counterclockwise directions. The H-Bridge can be implemented using bipolar junction transistors (BJTs). Here the working principle of a BJT based DC motor H-bridge driver is explained with animation. 

A BJT H-Bridge motor driver consists of four BJTs arranged in an H-shaped configuration. The base of each BJT is connected to a control input, which determines the direction of current flow through the motor. When the control inputs are high, current flows through one pair of BJTs and the motor rotates in one direction. When the control inputs are low, current flows through the other pair of BJTs and the motor rotates in the opposite direction.

The following shows the h-bridge dc motor driver using two general purpose bipolar junction transistors 2n3904 NPN transistors and two 2n3906 PNP transistors.

h-bridge using BJT transistors

The H-bridge has four inputs A, B, C and D. Pulse signal are applied at these inputs to rotate the DC motor in clockwise and counter clockwise. Also diodes are used across each of the transistors. These diodes are used to protect the driving circuitry because high voltage spikes maybe generated when the transistors are turned on and off at high rate. The high voltage generated is called back emf or flyback voltage and the diodes used for this application are called flyback diodes.

Following is table showing the sequence of pulse or transistor state(on or off) which dictates the behavior or state of the DC motor.

DC motor control sequence

From the table, to rotate the DC motor in forward direction, the input A and D are high and the inputs B and C are low. This just means that transistor connected to inputs A and D are ON while the transistors connected to inputs B and C are OFF. In this configuration, the current flows from +12V through the transistor Q1 into the DC motor then into transistor Q4 and finally to the ground. This current flow is shown below.

current flow in forward direction

Similarly when the input at B and C are high and the inputs at A and D are low, the DC motor rotates in backward direction. Because the input at B and C are high the transistor Q2 and Q3 are turned on while the other transistors are off. In this case the current flows from +12V into transistor Q2 then into the DC motor then passes through Q3 transistors and then into ground. This current flow for backward direction is shown below.

current flow in backward direction

The other two states in the above table is to stop the DC motor. This happens when A=1, B=1, C=0,D=0 and A=0, B=0, C=1,D=1.

The following video shows animation of DC motor rotation using the BJT based H-bridge driver.


The BJT H-Bridge motor driver has several advantages over other types of motor drivers. For example, it is relatively simple to design and construct, and it is capable of handling large currents. Additionally, BJTs are readily available and inexpensive, making them a popular choice for hobbyists and DIY enthusiasts.

However, there are also some disadvantages to using BJT H-Bridge motor drivers. For example, they can generate a lot of heat when handling high currents, which can be a problem if the motor is being driven for an extended period of time. Additionally, BJTs can be damaged by overloading, which can be a concern if the motor is being driven at high speeds.

To avoid these issues, it is important to choose BJTs that are rated for the maximum current that the motor is expected to draw. Additionally, it is important to use proper cooling and heat dissipation techniques, such as using heat sinks or fans, to keep the BJTs cool.

In conclusion, the BJT H-Bridge motor driver is a simple, inexpensive, and effective way to control the direction of a DC motor. However, it is important to choose the right BJTs and use proper cooling and heat dissipation techniques to ensure reliable and safe operation. 

Here the operation of H-bridge DC motor driver implemented with BJT transistors was explained. FET transistor will be better and more powerful H-bridge dc motor driver because (1) FET transistor can handle more current which is required in driving dc motor, (2) FET transistor does not heat up as much as BJT (3) most FETs have build in flyback diode so external diodes are not required.

Instead of making h-bridge dc motor driver with discrete BJT or FET, one can also dedicated motor driver IC such as L293D or L298N or motor module. If you are interested in using H-bridge motor driver in your electronics projects then see the following tutorials on using L293D, L298N and motor shield as below.

- Arduino L298N DC Motor Speed control with PWM

- DC motor control using L293D Motor Shield and Arduino

- DC Motor Control using ATmega32 and L293D

Post a Comment

Previous Post Next Post