2. Building a Bipolar H-Bridge Motor Circuit

(article continued from previous page)

The schematic on the previous page is generic. That is, it doesn’t list the part numbers. That was purposeful by me, because I want to implement this circuit using three different sets of transistors in order to compare their performance on a robot motor.

(Note: I chose hobbyist-friendly through-hole TO-92 transistor packages. More powerful bipolar transistors exist in larger semiconductor packages.)

SetQ1,Q3Q2,Q4Transistor Cost Per H-Bridge*Performance
'Classic'2N39042N3906$0.28Poor
'Intermediate'2N2222A2N2907A$0.40Moderate
'Professional'ZTX1049A**ZTX968$3.50Outstanding

*Prices are worst case. Shopping around or buying in quantities greater than 1 or 2 provides substantial cost savings.

**ZTX1047A was used when the article was first written.

As for the other parts, the resistors (R1-R4) in the H-bridge can be almost any brand, material, or wattage you want. The maximum current passing through them will be about 9 mA, so wattage isn’t a concern. Also, the resistance doesn’t have to be exactly 1000 ohms, so precision isn’t a concern.

The diodes (D1-D4) can be any of the commonly used parts: 1N914, 1N4001, or 1N5817. The 1N5817 is superior, and is the type I personally use in my motor drivers.

You can get these electronic components from almost any seller: Solarbotics, DigiKey, Jameco Electronics, Mouser Electronics, Electronic Goldmine, BGMicro, etc. However, the high-performance ZTX (Zetex) transistors are only available from Mouser and DigiKey.

To help you wire it up, the motor driver circuit is laid out on a solderless breadboard in the photograph below. The only tricky part is to note the orientation of the transistors. The top transistors (Q4 and Q2) are flat-side down. The bottom transistors (Q3 and Q1) are flat-side up.

Bipolar transistor hbridge motor driver circuit on a solderless breadboard.

Bipolar transistor hbridge motor driver circuit on a solderless breadboard.

Connect the positive end of a battery to the very top row of the board (+VDC). Connect the negative end of a battery to the very bottom row of the board (+GND).

To try it out, connect a wire from GND to the right-side of R2. Then, connect a wire from +VDC to the left-side of R3. The motor should spin forward.

Many robot builders and electronic hobbyists grew up using the classic 3904/3906 bipolar transistor combinations to drive motors. Many designers still use those transistors today. How can we tell if they stink?

Let’s find out...