Tweedledee and Tweedledum are a set of robots that I was working on a few years ago that were going to act in a cat and mouse manner where one chases and the other runs and hides. It is a great project that I will probably work on again in the future. What stopped me as far as this project (besides time constraints) was my difficulty with getting an H-bridge to function properly. All of the books will give you diagrams like the ones below. The trouble is that none of these actually work .... in the manner that you would expect.


Another method to control a motor is like the picture below. It uses a relay to switch the direction of the motor. This eliminates a lot of problems with the solid state version but introduces some problems of its own which I'll explain later.

OK, let's talk about these little buggers! When I started learning about H-bridges I followed the diagrams and became quite confused when they did not produce rotary motion of the motors. Mostly they produced smoke! This stumped me for the longest time. I experimented with many different types of transistors. Some of them actually worked for low current situations. The 2SC1983 Darlington transistor which is equivalent to a TIP 111 seemed to work fairly well for low current but still wasn't great.

Here is what I was missing: NPN transistors only turn on fully when a voltage above the voltage being switched is applied to their base. This voltage is something like .7V higher if I remember correctly. This of course explains why the NPN H-bridges didn't work for me. I was driving them with the same voltage that I was switching. I am still not sure why the NPN/PNP H-bridge did not work.

One of the problems that you will run into with h-bridges is that voltage spikes from the motors can blow out the transistors. You can prevent this by putting diodes across the collectors and emitters of the transistors. As for problems with the second type of circuit that I am showing that has a relay, you can get voltages spikes from the coil of the relay just like you did with the motors. More importantly though are a few problems with the switching of the relay. The contacts of a relay are rated for a specific current. It has been my experience that if you exceed the current rating even by a little bit, the contacts will blow rather spectacularly (when you are working with higher power applications). Relays cannot really be paired up in a H-bridge because even if the relays are from the same batch, they will trip in slightly different amounts of time. This causes one of the relays to take way more current than you would want for an instant. That may be enough to blow it out or it may just cause the life of the relay to be a lot shorter than it was designed for. Finally, the relay takes a few miliseconds to switch. If you require your motor to rapidly change direction, it is probably not the best choice.

I spent quite a lot of time and quite a lot of money to figure out that it wasn't worth it to build my own H-bridge. I started to pursue other methods to control my motors. Pretty much you just have to drive a NPN H-bridge at a higher voltage. You can either do this by having your motor and electronics run at different voltages or by using a voltage booster. One man wrote to me about how he had used a MAX232 line driver to drive his H-bridge at 12V. He said that it worked quite well. Another method that I have seen used with success is to use the HIP4081A driver chip to drive your H-bridge. This has been used by Team Minus Zero at Battlebots. You can check out their design at the Open Source Motor Controller website.

After all of this experimentation I have arrived at the conclusion that perhaps I shouldn't re-invent the wheel. You can get H-bridge chips that are ready to go as is. I'll present them in no particular order. One solution is National Semiconductor's LMD18200, LMD18201, and LMD18245 which can drive loads of up to 55V and 3 amps! Another solution that I have personally used is the Unitrode L293D chip. It is a nice chip that can drive two small motors. It can only draw 600 ma per motor so this may not be enough power for even smaller motors. I bought some of these from Wirz. Its price is right as 5 of them can be bought for $19.00. Wirz also has a small board that can do 800 ma at 5V.

The L298 can drive two motors at up to 46V at 4A. Zetex makes the ZHB6718 and ZHB6790 which can drive up to 20V/2.5A and 40V/2A respectively. Texas instruments makes a chip called the SN754410 that can do 36V/1A. The UDN2993 can do 30V/.5A and the UDN2998 does 50V/3A.

Perhaps you are saying "That's great but I need to control LOTS of current. If you havn't checked out the Open Source Motor Controller, now would be a good time. Another good source of speed controls are R/C car speed controls. Not all of these provide for a reverse direction though. Finally there are two other sources for BIG speed controls. The first is 4QD which has controls which (I believe) take an input from a rheostat. One of the Battlebots guys offers a kit that will allow you to hook these to a RC receiver. Vantec Makes some really good speed controls. They even come with a warrantee! They make models that accept RC input or digital control. They make all sizes of speed controls some of which can run really massive motors.

I hope that this page has given you a start in the right direction. I certainly would have liked to come across a page like this when I started researching H-bridges.