A better motor driver?
For my first post here I've decided to present a tip rather than a robot build. While working on a my first robot I became frustrated with the selection of motor drivers available. I wanted to power my robot with either 4.7 V NIMH battery pack or a 3.7V lipo. Also I had to be able to handle the 1.8 amp stall current that the motors on a Mr. Basic can pull. I looked at the L293 driver and found that it can't handle the stall current. The L298 driver could handle the stall current but the voltage drops across the outputs were too high for the batteries I was intending to use. I scoured the net looking for a motor driver that I could handle both my criteria. I found that whatever came close to my specifications was packaged as a surface mount with teeny tiny pins that impossible for me solder. Finally I stumbled onto a driver that was perfect - the BD6212 from Rohm. So I'd like to share some of the specs and pro/cons of this chip to encourage other robot builders out there to use this chip.
1. Low supply voltage - supply range 3v to 5.5v; perfect for nimh or lipo.
2. High current(relatively)- can handle up to 2amps; just right for the Mr. Basic’s mabuchi motors.
3. Built in overcurrent protection; not that you would ever try exceed current ratings, but it's nice to have so you don't have to buy a new motor driver every time you robot hits the wall.
4. Low voltage drop across the outputs: this chip uses mosfets with an RDSon of 1ohm. My measurements while running a Mabuchi motor installed in the Mr. Basic showed a 280mVdrop. A lot better than the multi volt drop across the bipolars in the L298.
5. Compatible logic - driving inputs are similar to the L298 and L293. Programming for the micro-controller would require minimal alterations to existing code.
6. This IC is readily available from Mouser or Digikey
1. This IC is only available in a surface mount package - the HRP7 package. Fortunately this package is equivalent to the TO-263-7/7 lead ddpak packages and a surface mount to SIP adapter is available. I don't find this too much of a con because the lead pitch (.05 inch) is big enough to easily solder to the adapter board
2. To pwm this chip for speed control one of the direction pins must be the input for the pwm signal and the signal has to be 20khz to 100khz to function. This can be mitigated by using the Vref pin on the chip, but this input only takes analog voltages to control speed, not pwm. Using an RC integrator on your Micro-controller to Vref would be a simple workaround.
3 Since this IC only one channel, two will have to be purchased for a two motor design like Mr. Basic. In addition two adapter boards will have to be purchased. At mouser the bd6212 is currently $3.25 per and the adapter boards cost $2.99.
Now that I'm finished pimping this chip (No I'm not a Rohm sales rep) let me show you how I implemented this IC. To make this chip work on a breadboard I needed find a TO-263-7/7 lead ddpak pcb adapter. Searching the web I found an ideal solution. The online vendor Proto-Advantage sells an adapter to fit this chip. The part number is SIPN07-1. The website is http://www.proto-advantage.com
Here's some pics:
The bd6212 and Adapter board
Board with bd6212 and right angle header soldered on.
Board installed on arduino proto shield mounted to mr.basic.
Hopefully this tip will inspire others here to experiment with this chip.