Texas Instrument's SN754410 is know to be a half-bridge driver suitable for low power applications it's rated current is 1A per channel. Costing only $1.55 it's a great choice for small robots on a budget.
Now what do you do if you need more power ? Multiply! Bruteforce ! Without much talk below is the schematic:
This schematic is easier to explain in words , than to follow. First note that "DOUBLE" near SN754410, this means that each chip is doubled by soldering another chip on top of it, I also added a heatsink:
Each SN754410 chip has 4 input channels: 1A..4A , and four corresponding output channels 1Y..4Y. We combine channels 1 & 2 and then 3 & 4. Thus each of our driver's input will use 4 channels (2 from each chip each capable of 1A).
As far as enable inputs we combine 12EN & 34EN for each chip. This is where we'll send our PWM signal.
If confused have a look at SN754410 Datasheet. I promise it's not that complicated ! According to page 2 of the datasheet SN754410 already has clamping diodes that should protect the chip from back EMF.
I built my driver on a perforated board using hook-up wires. With so many inputs and outputs it's easy to get confused so everything was labeled using my label maker. Have a look at the result:
Before running 4amps through the driver it's a good idea to test it:
All looks good, now let's drive that robot already! My tracked robot has 2 gearmotor with a stall current of about 3.7 amp. Octodriver should handle up to 4A per motor. But I also used 2 resettable fuses with hold current of 2A , that would trip at 4A. Better safe than sorry :)
Here is the OctoDriver in it's mom's belly:
Finally I am including a video of the controller working in a robot. I have to mention that this is a 4 pound bot that will get heavier. Let's have a look how it goes through obstacles: