Arduino & Full Bridge Motor Drives
by Josehf Murchison in Circuits > Arduino
9424 Views, 148 Favorites, 0 Comments
Arduino & Full Bridge Motor Drives
Many of you may recognize this circuit but you may not agree on its name. Most reversible motor drives are called one of three names; Full Bridge Push Pull, Full Bridge Inverters, and H Bridge circuits. Just like one electronics engineer calls a vacuum tube a vacuum tube and another electronics engineer calls a vacuum tube a valve, I include the different names to avoid confusion.
I am working on an autonomous solar robot; this is not easy where I live since six months of the year we do not get enough light to power a solar garden light let alone a mobile robot. I have been working on a number of possible brains for my robot Including using Arduino and I have worked it down to one circuit for reversing the motors direction using a full bridge circuit.
Full Bridge Circuit A
With circuit A there are 4 transistor inputs and it works the same as all other full bridge circuits.
You can attach a PWM, (Pulse Width Modulator) to line A, too turn the motor on and off or control motor speed. You can also connect source voltage to line A and the PMW to the transistor inputs to reverse the motor and control the motor speed.
Close transistor QC and QE and the current flows from terminal A to terminal B through the motor, making the motor turn in one direction.
Close transistor QB and QD and the current flows from terminal B to terminal A through the motor, making the motor turn in the other direction.
Downloads
Arduino and a Full Bridge IC
The L293D IC is called a QUADRUPLE HALF-H DRIVER, the ICs works just like all other full bridge circuits but it takes 2 motor inputs and an enable to control a single motor.
Move the switch one way the motor turns one way, move the switch the other way and the motor turns the other way.
Full Bridge Circuit B
Unlike circuit A this full bridge circuit only has 2 transistor inputs and although the circuit looks different they work basically the same.
You can attach a PWM, (Pulse Width Modulator) to line A, too turn the motor on and off or control motor speed. You can also connect source voltage to line A and the PMW to the transistor inputs to reverse the motor and control the motor speed.
Close transistor QB1 and QB2, and the current flows from terminal A to terminal B through the motor, making the motor turn in one direction.
Close transistor QC1 and QC2, and the current flows from terminal B to terminal A through the motor, making the motor turn in the other direction.
Downloads
The Logic Circuit
This is the logic circuit and the brain of my reversible motor drive, a single transistor inverter gate with the same logic input and output as a hex inverters gate.
The bridge circuit to use with the single transistor inverter is one consisting of NPN and PNP transistors.
When the output of the inverter gate is connected to the transistor inputs, and the logic input to the inverter is 0 and the output is 1 the NPN transistors are closed and the PNP transistors are open making the current flow from terminal B to A making the motor run in one direction.
When the logic input to the inverter is 1 and the output is 0 the PNP transistors are closed and the NPN transistors are open making the current flow from terminal A to B and the motor run in the opposite direction.
For circuit protection I used high speed diodes on the transistor inputs.
Parts
Although I salvaged most of my parts, if you were to buy all the components on the circuit board it would cost less than a dollar.
5 volt power supply
solderless breadboard
assorted jumpers
1 x 5 volt DC motor
1 x 33Ω resistor
1 x push button switch for testing logic
2 x 1N4148 fast switching diode
2 x 2N4403 PNP transistor
3 x 2N4401 NPN transistor
5 x 100Ω resistors
Circuit Testing
Amazingly this circuit does what the Arduino circuits in this Instructable do using only one transistor.
I always build test circuits on a solderless bread board, if you use a prototype board and solder the joints any changes you need to make can be a pain.
I used a push button switch to simulate data inputs and ran the motor at full power, you can see the motor twist as it goes from forward to reverse and back in the video.
As is this circuit would make a good bump bot drive.