An introduction into basic H-Bridge theory and operation, this article covers the fundamentals you need to know to make a working H-Brigde with N and P Channel MOSFETs
Since I began building sumo robots in late 1999, I’ve been wrestling (no pun intended) with motor drivers. At first I used single chip solutions like the L298 in “Chomp” which worked well most of the time, with only the occasional burnout. What most of you who know me and my robots probably don’t know is that Chomp had a twin named “Fatal Discharge”. It was built with almost the same design, with the main difference being the motors. On this robot, the L298 worked occasionally, burning out most of the time. It just wasn’t adequate for the motors, and at the time I didn’t have enough electronics knowledge to make it work. As such, Fatal Discharge never made it to competition.
Since then, I’ve built more robots, and have gained much more experience making motor controllers. This document is meant to provide some vital information on making a “bullet proof” motor driver, based upon my experiences and research into the field.
I in no way guarantee that I haven’t made any mistakes, and I am not liable for any damage that may be caused by using circuits discussed in this page. If you spot any errors, please let me know.
Be careful when dealing with large batteries and H-Bridges. They require care in design and construction, and carelessness can lead to components overheating, and catching on fire.
So Why Make My Own Motor Driver?
It’s a commonly known fact to roboticists why motor drivers are needed. 99.99% of the time, the micro controller or control circuitry of a robot just can’t provide the current needed to power motors. For motors with small current draw, single chip solutions such as the L293 or L298 can be used, however these are only useful for a range of less than one or two amps.
In the world of 3kg (and the now obsolete 5kg) autonomous sumo, having motors that can output high power is necessary, especially when vacuum systems are used. These motors are driven in extreme conditions, requiring abrupt speed and direction changes, as well as being subject to high loads. When driving motors under these conditions, an L298 will work only for very efficient motors in the lower power ranges, but these super efficient motors are not always easy to find when you are on a budget. Some motors produce plenty of output power, but can also be very inefficient, thereby causing many problems with associated control circuitry, and a simple single chip solution will no longer cut it.
For my 3kg robot “Event Horizon”, I made the switch from pre-made motor drivers to rolling my own mosfet h-bridges. There are plenty of designs out there, and I went for simplicity using P-channel mosfets for the high side of the bridge, and N-channel mosfets for the low side of the bridge.
H-Bridge designs using only N-channel devices are out of the scope of this article, although many of the concepts discussed in this article still hold valid. Eventually, I may make another page regarding the design of h-bridges using N-channel devices only.