Let's Make Robots!

H Bridge Matrix


Description

An H-bridge circuit typically provides motor control in robotic designs. Low voltage, low amperage control signals (TTL) are used to control motors. The H-Bridge can interpret these signals into a Motor Go Forward, Motor Go Backward, Motor Stop commands. Often speed can be implemented using PWM (Pulse-width modulation) through a H-Bridge. H-Bridges are extremely important in robotics. It is like the connection between the brains and the muscle of a robot. The brains being a computer or micro-Processor, and the muscles being a motor. This Matrix (when it is somewhat completed) should help you step through the process of selecting an appropriate H-Bridge design for your application.

 Terms

  • Ampere  - (symbol A) the unit of measure for electrical current
  • BJT - a common often inexpensive transistor
  • Ground - the negative part of a battery :)
  • Inductance - The magnetic field that is generated when a current is passed through an inductor, typically a wire coil. Important, because a motor which is spinning is also a generator. The current generated from this can (and has) put many H-bridges in Magic Smoke mode.
  • Load - the work a motor is doing
    • No-load - is the speed and current drawn by a motor when there is no external load
    • Stalled - is the current and torque of a motor when so much load is put on the shaft, the motor does not turn
    • Rated - maximum load conditions which the motor can be operated continuously
  • Magic Smoke - (slang) the smoke released from your circuit, which previously made it work. When a circuit becomes overloaded and components burn, they make magic smoke.
  • MOSFET - a silicon switch which is capable of switching a considerable amount of current, typically more than BJTs. Due to the fact that MOSFETs conduct less when heated, they can be ganged together to provide massive current capability. BJTs in contrast conduct more when they get hot, and will destroy themselves in similar conditions.
  • Ohm - a unit of measure for electrical resitance
  • Ohm's law - a helpful formula for figuring out how much work your circuit can do, before going into "Magic Smoke" mode. I = V/R. Current = Voltage / Resistance
  • Shoot Through - a term describing when some of the switches in an h-bridge do not open or close at the appropriate time. Shoot through shorts the power and can lead to circuit destruction. It is a good thing to avoid when possible. Some h-bridges are designed to prevent shoot through, other designs leave it to control circuitry.
  • Short - a term describing power from a circuit going directly to ground without resistance. Another good thing to avoid. It can destroy batteries, circuits, and the wire or trace which was shorted.
  • VCC, VDD, V+, VS+, PWR, + Positive supply voltage
  • VEE, VSS, V-, VS-, GND, - Negative supply voltage
  • Volt- (symbol V) the unit of measure for electrical potential/pressure
  • Sign Magnitude - a method of using 2 inputs to an h-bridge, in which one input signals direction, and a PWM input gives the magnitude of drive.
  • Locked Antiphase - input method where direction and magnitude are a single PWM input. At 50% duty the motor is stopped, lowering the duty percent would increase drive one direction, raising the duty cycle would increase in the opposite direction. Offers true 4 quadrant control of motors (CW driven, CW regenerating, CCW driven, CCW regenerating), but increases switching which increases heat.

How it works

 

 How to select the appropriate H-Bridge design

Measure resistance of the coil of your motor To find the stall current of your motor use Ohm's Law V/R=I (Current = Voltage/Resistance). For example if you measure the resistance of a motors leads at 2.4 Ohms and your battery is 24 volts, your stall current will be : 24 volts / 2.4 Ohms = 10 Amps. So if your motor stalls, your circuit should be protected or capable of handling 10 amps.

 BOA's Brilliant Hybrid H Bridge

BOA's Brilliant Hybrid H Bridge
DescriptionBaseOverApex's design of a great Hybrid H-bridge. The hybrid is a combination of relays and MOSFETs. The relays are for forward and reverse switching. The MOSFETS can accept a high frequency PWM for speed control. This design has been built (not just theory) and is currently powering one of BOA's great bots. Hopefully he will post a version of the PCB art - although it might be good to rework it so that the PIC is not part of the design, as others might be using different methods of control.
Original AuthorBaseOverApex
Built ByBaseOverApex,
Max Current10 Amps
Max Voltage12 Volts
Build Time3 Days?
Pros 
ConsSchematic is completely wrong at the moment - will fix
Max PWM Frequency 
Featuresforward, reverse, pwm speed control, current overload protection, fuse
Parts List 
Schematic
BreadBoard
Gerber

 

 BOA's Brilliant Hybrid H Bridge - Robologist Mod

BOA's Brilliant Hybrid H Bridge - Robologist Mod
DescriptionBaseOverApex's design of a great Hybrid H-bridge. The hybrid is a combination of relays and MOSFETs. The relays are for forward and reverse switching. The MOSFETS can accept a high frequency PWM for speed control. This design has been built (not just theory) and is currently powering one of BOA's great bots. Hopefully he will post a version of the PCB art - although it might be good to rework it so that the PIC is not part of the design, as others might be using different methods of control.
Original AuthorBaseOverApex robologist
Built By 
Max Current15 Amps - limit by relay
Max Voltage12 Volts to 15 Volts
Build Time3 Days?
Prosstrong, low cost
Consnot quicklyswitchable forward to reverse, limit by relay
Max PWM Frequency 
Featuresreverse flyback diodes, MOSFET driver
Parts List
Desig  Qty  Part#           Each  Total    Dist      Description
*K1,K2 2 PB897-ND $4.44 $8.88 Digikey Tyco PCLH-202D1SP,000 12VDC/75 mA coil, 15A relay
*Q1,Q2 2 IRFZ44NPBF-ND $1.89 $3.78 Digikey IRF IRFZ44NPBF 49A 55v N-chan FET TO-220
*Q3,Q4 2 P2N2222AGOS-ND 0.36 0.72 Digikey On Semi P2N2222AG 600mA 40v NPN GP BJT TO-92
*D1-D8 8 497-2753-5-ND $1.09 $8.72 Digikey STMicro STPS1545D 15A 45v Schottky rectifier diode
*U1 1 TC4427CPA-ND $1.05 $1.05 Digikey Microchip TC4427CPA 1.5A MOSFET driver
*C1 1 4035PHCT-ND 0.81 0.81 Digikey Vishay 220 uF 35 v Electrolytic Cap
* Total $23.96
Schematic
BreadBoard
Gerber

 SINGLE CHIP N-CHANNEL FET BRIDGE

SINGLE CHIP N-CHANNEL FET BRIDGE
DescriptionDesign which contains a very small amount of components for a very large capacity H-Bridge.
Original AuthorGroG
Built By 
Max Current30 Amps
Max Voltage50 Volts
Build Time3 Days?
ProsVery small number of components, includes a under current protection line, will not "shoot through"
ConsSchematic is completely wrong at the moment - will fix
Max PWM Frequency 
Featuresforward, reverse, pwm speed control, current overload protection
Parts List 
Schematic
BreadBoard
Gerber

 

 

 SIMPLE LOW POWER NPN PNP H-Bridge

SIMPLE LOW POWER NPN PNP H-Bridge
DescriptionDesign which contains a very small amount of components for a very small capacity H-Bridge. The NPN transistors can be substituted with a variety of differently rated components. 2N2222 TIP120, etc.
Original AuthorGroG
Built By 
Max CurrentDependent on the transistor used - 2n2222 can sink ~800 mA, a TIP 120 can drive 5 amps with proper heat sink
Max Voltage50 Volts
Build Time 
Prossmall, inexpensive
Consno protection of shoot through, will only drive small motors
Max PWM Frequency 
Featuresforward, reverse, pwm speed control
Parts List 
Schematic
BreadBoard
Gerber

 SINGLE CHIP CONTOLLERS

SINGLE CHIP CONTOLLERS
DescriptionDesign which contains a very small amount of components for a very small capacity H-Bridge. The NPN transistors can be substituted with a variety of differently rated components. 2N2222 TIP120, etc.
Original AuthorKrumlink
Built ByKrumlink - It is being implemented in my revised AREV-RSPF232
Max Current1.2 Amps per line
Max Voltage4.5 VDC to 40 volts (Forgot max but it is around 40 VDC) for motor lines / VCC2
Build Time 
Prossingle chip, no external peripheral stuff needed, just hook up the motors, input and enable lines and you are good.
ConsThe SN754410 does not have build in clamp diodes, so you need to add them. The internal diodes are for ESD protection  Pulldown resistors may be wanted to prevent the enable lines drifting high Low max voltage for motors but with internal diodes it drops the voltage to 3.1VDC anyways.
Max PWM Frequency 
FeaturesSimple to hook up, you do not need PWM and it is easy to throw together and use with LED's too
Parts ListSN754410 - optional pulldown resistors (1-10k usually)
Schematic
BreadBoard
Gerber 

 Simple P-channel over N-channel h-bridge

Simple P-channel over N-channel h-bridge
DescriptionBasic low part count P over N h-bridge
Original Authorrobologist
Built By 
Max Current80 Amps?
Max Voltage12-15 Volts limit by driver and configuration
Build Time2 hours?
ProsVery few parts, cheap
Cons

No shoot through protections, uses 4 inputs, untested

Could be improved by connecting upper and lower inputs, then adding an inverter attached between right and left sides for lock antiphase single input drive. Test shoot-through with uppers/lowers connected for feasibility.

Max PWM Frequency 
Featuresforward, reverse, pwm speed control
Parts List
Desig  Qty  Part#             Each  Total    Dist      Description  
*U1,U2 2 579-TC4427ACPA $1.36 $2.72 Mouser Microchip TC4427CPA 1.5A MOSFET driver
*Q1,Q2 2 726-SPP80P06P $3.02 $6.04 Mouser Infineon SPP80P06N P-ch 60V 80A FET TO-220
*Q3,Q4 2 726-IPB080N06NG $2.11 $4.22 Mouser Infineon IPB080N06N G N-ch 60V 80A FET TO-220
*C1 1 647-UVY1E221MED1TA 0.11 0.11 Mouser Nichon 220 uF 25 v Electrolytic Cap
*total $13.09
Schematic
BreadBoard 
Gerber 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Good explanation!

HI,

    How would one go about incorporating pwm for motor speed control while using the L293 ? I am using an arduino. Right now the arduino simply drives the H-bridge for motor direction. How do I use pwm from the arduino to control the speed of the motor? Thanks. I'll continue to look for some suggestions in the hopes that someone can point me in the direction in this forum. Thanks.

PWM simulates an effective voltage that the motor sees, so lower on-time or duty cycle gives less voltage to the motor, slowing it down.

Just connect the ouputs from your micro to the inputs of the L293, and you should be fine. Connect 1 PWM pin to the 1A input, and have a regular IO pin to the 2A, then have another PWM pin to the 3A input, and have the 4A conenctoed to an IO pin. THen JUst PWM on the motors while holding the other pin high or low for direction. You'll need to remember the 75% duty PWM one direction will become 25% when the direction changes, and program accordingly.

Or you could connect PWM to 1A, and then add an inverter and connect the inverted PWM to the 2A pin and run locked antiphse PWM. 

 

You'll need to remember the 75% duty PWM one direction will become 25% when the direction changes, and program accordingly.

Never seen this phenomenon before. Why would this be the case?

 

Makes complete sence!

If this were being controlled by a picaxe it would already be pulled down! I just tried it, I shorted the input to ground and success. With the input grounded, I am getting .03V on the output. --Close enough to 0V for me! --Thanks guys, this seems to be a complete success. --Well, that is until tomorrow when I hook up motors and actually pull some amps through this thing.

 Oh, and congrats... 3 PAGES!! Woo-Hoo!

Well, as I pat myself and others on the back for my new-found success, I have found one little problem...

When nothing is triggered, i.e. no 5v signal going into the FET driver, I am still getting between 1.6 and 2.3 volts "bleed through" on the output (both outputs). These couple volts will reverse +/- when I click the relays. Any ideas? Do I need some pull-down resistors anywhere? --For pratical purposes, my motors won't run at this low of a voltage so it probably won't affect anything but it will still would be nice to have a wicked-clean 0V when the sucker is off.

Gimme what-cha got.

Seems pretty strange, but I'd guess that whatever is providing the switching may not be sharing a ground with the h-bridge board. Maybe. It would seem there could not be any switching if there weren't a shared ground to start with though. I guess you could try a pull down on the input of the TC4427, to see if it works.  Trying to see if anything else in the circuit could be trying to pull anything up. Are the FETs getting warm? Oh, just thought, is there a 0- volt input to the FET driver, or is it just disconnected? An actual 0 v ground signal is needed, floating inputs can do many things. Maybe a pull down on those inputs could be a safety measure if the driving micro fails.

Are you sure you have 0V at the input? Can you measure it? How come you have 1.6 AND 2.3? Is that different readings for each output?

I can explain the current reversing when you click the relays... Do I need to?

First, yeah I got the reversing idea -I just added that so you guys could better diagnose where in the circut this could be happening.

Here we go, I have 12.06V from a computer power supply going into the input. To trigger the driver and relay transistors, I am using a 3 AA battery pack -The ground is tied to the 12V ground and the + lead I am simply touching to each of the data inputs. I am using a meter on the output. As for the 1.6 and 2.3, I have gotten different readings at different times and variances from each output. Generally, it is about 2V or so.

I suspect your data inputs are floating. Try touching gnd to each data input instead of +V to see if that stops the output.

If it does, you probably don't need to make any changes, as the PIC output will pull down when asserted low anyway.