About a year ago, I decided to build a robotic platform to perform some experimentation with various robot guidance systems. My objective was to get the platform up and running with a minimum of fuss. To do this I decided to use as many off-the-shelf components as possible.
For my microcontroller, I decided upon the Parallax BS2. I already had one lying around, so the cost was moot. I’m not against other controllers and should my experimentation prove fruitful, the resulting project will undoubtedly need a larger, more capable controller.
My mobile platform was a recycled remote control vehicle liberated from Radio Shack many years ago. This platform has track drive with each track driven independently by a separate DC motor. As this is a small platform, I could comfortably keep my power requirements to around 2 amps max at 9 volts. Keeping this in mind, I first decided to build a couple of H-Bridge circuits out of discrete components. I certainly have what I needed in my junk box to do so. However, my objective was to use off-the-shelf components. I reconsidered and decided to find an affordable, pre-built alternative.
The Basic Stamp has quite a few usable I/O lines, but I really wanted to keep as many free as possible for my guidance experiments. I decided that the best course was to find an intelligent controller which I could command serially. I searched the usual sources, but I couldn’t find one I thought was reasonably priced. I always buy in minimums of two. That way, just in case I destroy one, I have a spare. The minimum price I found from the usual sources was $30, so two were going to cost $60 – too much!
That’s when I turned to eBay. Lo and behold, my search was successful. I found the DMC-1 Serial Dual Motor Controller.
The DMC-1 is a dual motor controller from IMS,LLC that can be controlled with standard 5V TTL signals at 2400 – 19200 baud or by I2C protocol. Each controller can handle 1.2A per motor continuous (3A peak) at 2.5 – 15V. The best part is the price: $12.95 each!.
When I received my controller, I was shocked at the size. This thing is small! So small that I was worried it wouldn’t be able to withstand a continuous current of 2.6 A (two motors).
First, I read the documentation. The DMC-1 has nine connection pins. A positive and negative connection for each of the two motors consumes 4 pins. SCL and SDA pins for communicating with the controller using serial TTL or I2C accounts for two. One pin for 5V logic supply, one pin for the 2.5 – 15V motor supply and one pin for ground rounds out the complement of nine.
Connecting the DMC-1 to my BS2 and the motors on my platform was a piece of cake. Plugging in the controller to my breadboard, I used the regulated 5V supply from my BS2 protoboard to supply the logic. I connected the positive and negative leads from the motors to the appropriate rows on my breadboard. I used a 9.6V RC battery to supply the motors. I selected two pins from my BS2 to communicate with the DMC-1 and connected a common ground for the controller and motor supply. Now I was ready to communicate with the controller.
Although the manual is more than adequate, IMS, LLC supplies a sample BS2 control program to get you started. I fired up the Basic Stamp editor, loaded the program, made a few adjustments on pin assignments, compiled the program, downloaded it to the stamp and it worked!
Of course, I had to tweak the code for my application, but it was easy to do and the controller worked flawlessly. Earlier I said I was worried that the controller might need a heat sink. I am happy to report that during my use, the controller doesn’t even get warm, so I think this was an unnecessary concern.
The DMC-1 is a well made, inexpensive, flexible dual motor controller for small platforms. If you are in need of just such a controller, I recommend you check it out. It will certainly take more time to build an H-bridge from your junk box and you won’t have the flexibility of a serial controller. I haven’t had the opportunity to test the I2C capability, but plan to do so in the not to distant future. When I do, I’ll post about my experience.