top of page

H-bridges:

 

H-bridges solve a few of the main shortcomings of the Arduino. First, due to constraints of the ATMEL microcontroller at the heart of an Arduino, it can only supply a limited voltage/current (they're meant more to control things, not to power things). H-bridges allow you to manipulate larger voltages for controlling motors, solenoid valves, and other higher voltage/current devices by using the 5V signals from the Arduino digital IO pins to effectively gate a (usually) larger supply voltage. Second, these voltages can also be negative, by connecting a load (such as a bipolar or stepper motor) across the outputs.

H-bridges are usually dual h-bridges set up where each side is a full "bridge", e,g, a bipolar motor will be connected to either OUT1&2 or OUT3&4 (a bipolar stepper will use all four). A unipolar load like a solenoid valve can be controlled by wiring it from OUT1&GND. In this case, the main advantage to use an H-bridge over a transistor, which can also be used as a switch, is that you can control up to 8 solenoid valves (e.g. for making an olfactometer) and the presence of protection diodes, which otherwise must be added for inductive loads (i.e. anything with a coil).

 

L293D chip:

For the OpenMaze shields, we recommend using the L293D dual h-bridge due to the presence of these protection diodes. Other h-bridges like the sn754410 can carry more current but don't have the diodes, so they have to be added externally, which makes the circuit a little more complicated.

 

AC signals:

Since some have asked me this in the past, it should be noted that h-bridges can't be used to gate AC signals. You have to use something like a traditional relay to gate these. They're a little slower, but somewhat eaise to use.

 

Pinouts:

Each quarter (half half) of the h-bridge consists of an input ("IN", for the digital output from the Arduino), an output ("OUT"), which goes to +Vs when IN is HIGH/5V, and goes to GND if IN is low, or less than something like 1V. The center pins are all GND (connect all of them for extra heat sinking. IMPORTANT: This GND needs to be connected to both the Arduino ground and the Vs GND in order for things to work (i.e. all of the components need to agree on what GND is). The outer pins are either +5V which powers the chip itself, Vs which is the larger supply voltage you are wanting to gate (e.g. +12V for solenoid valves), or ENABLE pins, which must be toggled to HIGH/5V in order for each side to work. You can generally keep these ON unless you are trying to save power or are working with something like a stepper motor, which will have current running through it constitutively unless you toggle this input.

 

This page gives instructions for controlling stepper motors, which we have integrated into the OpenMaze shields with stepper control:

http://www.arduino.cc/en/Reference/StepperTwoPins

 

 

bottom of page