The OctoDriver is an open-source 8-amp Motor controller. Connect it to your Arduino, Propeller, or PICAxe to control more powerful motors!
I've been working on a dogie door for a while - while the software is straightforward, finding a suitable motor controller has been more difficult.
The problem is that a lot of the inexpensive motor control shields are just too meager to control anything but the most dinky motors. ladyada's Arduino shield only does 600mA continuous, 1.1A peak . Pololu makes beefier motor controllers, the DMC 01 can do 13 amps, but it's pretty expensive (about $100).
So I've been on the lookout for a high power, inexpensive, and easy to control circuit - I was flipping through starlino's website and I spotted exactly what I was looking for. His idea is pretty simple: why not combine 2 motor controller IC's to split the load?
He calls the circuit the 'OctoDriver', it combines 2 h-bridges to provide 8 amps peak, 4 amps continuous. I asked him if I could put it on a PCB, and he thought it was a great idea. I couldn't think of a better name, so I call my version "The OctoDriver".
I also put it on a Propeller Platform compatible footprint, so it can be used on a breadboard, perfboard or with a Propeller microcontroller. The design is available under the MIT license, so anyone is free to hack away.
The OctoDriver is also available as a kit from Gadget Gangster.
Flip to the next step and I'll give you some more technical details on the OctoDriver and show you how to use it.
What are the Specs?
The OctoDriver is an 8 amp motor controller, capable of controlling 2 motors @ 8 amps. It uses four TI SN754410 (datasheet) Quad Half-H drivers, 2 per motor. The SN754410 is 'juiced-up' version of the classic L293D. Here are the key specs of the OctoDriver
4.5V - 36V
5 Vdd, inputs will accept 2.0v - 5.5v
-40c to 85c (-40f to 176f)
2 Bi-directional DC motors / linear actuators, or 1 stepper
ESD Protection, Thermal Shutdown, No 'Power Up Glitch'
.1" pin spacing for Breadboard / Protoboard. 2 OctoDrivers can be stacked on a single Propeller Platform, as well.
I didn't include servo headers because it's super easy to connect a servo to a Prototyper module and controlling servos with a Propeller is easy, too.
Do I really need that much power?
When you check out the specs on a standard servo, it's often something like 150mA. So what's the point of a 4+ amp motor driver?
Here's the deal - that 'current-draw' number is at NO LOAD. In other words, if you actually wanted to move something with the motor, your current-draw will be higher. How much higher depends on your load, but the highest draw would be if the motor were stalled (Stall Current).
Take this typical servo. With a 6V power source, no-load draw is a measly 220mA... until you actually make it move something! Maxing it out brings you to 1.3 amps of current draw. And that's a ONE standard servo.
Moving anything but the smallest motor requires real power, and 800mA bridge doesn't cut it.
Will the OctoDriver work with Arduino / PICAxe / Workbench 1.3?
Yes. Using it is super-simple. At the end of this howto, I'll show you how it's done.
Is it hard to build?
No - it's really easy to put together. If this is your first time soldering, it will probably take 15 minutes. If you're a seasoned pro, it should take longer for your soldering iron to warm up than assemble.
Here's a video demo of Starlino's OctoDriver in action: