(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.)
Set | Q1,Q3 | Q2,Q4 | Transistor Cost Per H-Bridge* | Performance |
'Classic' | 2N3904 | 2N3906 | $0.28 | Poor |
'Intermediate' | 2N2222A | 2N2907A | $0.40 | Moderate |
'Professional' | ZTX1049A** | ZTX968 | $3.50 | Outstanding |
*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.
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...