Great robot shield ideas gleaned from LMR members
September 13, 2012
I just felt like commenting on how much I have learned from others on Let's Make Robots. This was recently brought home to me when I decided to build a robot shield for the Hobbybotics Hobbyduino Mini. This is a custom bare-bones Arduino compatible board created by LMR member brooksware2000.
I had a prototype of this board that I was given for evaluation. I'd always planned to add a shield to it, and finally I have. This blog is about how people on LMR share and learn. Since this board was designed and built by one of our members, with input from myself and other members, it seemed good place to start.
To design my shield, I must admit I referenced some of the great designs done by Ro-bot-X. I've reviewed several of his designs, and I am always impressed at how well thought-out his boards are. He packs a lot of functionality in to a small space. In fact, his first Arduino robot shield benefited from input and comments from many LMR members. So once again, we see the collaboration and sharing.
I used the popular sn754410 motor driver, just like Ro-Bot-X. I included a filtering cap for Vcc on the chip, again following Ro-bot-X's lead. I implemented a 3-pin servo-style layout for all the digital I/O pins, which is something Chris the Carpenter is especially fond of doing. In fact, he fairly insists this is the best and only way to do it. Who am I to argue?
The Hobbyduino Mini has a small 5V voltage regulator on board. I wanted to use a 7.2V battery pack. I also wanted to be able to keep the servos and motors powered separately from the 5V logic. Solution? I used a trick I learned from OddBot. By including two series diodes between the battery and the voltage I provide to the V+ pin of the 3-pin digital I/O interface, I drop the voltage from 7.2 to 6V. I route battery power directly from the 7.2V battery to the Vcc2 pin of the motor driver. So my motors get full battery voltage (minus the ~1.5V drop through the driver), and my servos don't blow up.
My own humble improvement is to include two shunt jumpers so that I can bypass one or both of the diodes in case I am running the board from a lower voltage source and don't want to cut the voltage by 1.2V (~ 0.6V per diode).
What else? Oh, yeah. Here's another goodie. Frits recently posted a preview of what is to be a new Start Here robot project. In this post he makes reference to buffered outputs. What is that? His new Instant Robot Shield includes two digital outputs that are buffered with a transistor to provide up to 500mA of current. Since a normal microprocessor can only source or sink a few tens of mA, this is great for driving how power devices like motors. So I included one of these outputs to drive a motor in my project. (It only needs to go in one direction, so no h-bridge was needed.)
I pretty happy, and proud of my little motor shield. I'm even more proud to be part of a community that has taught me so much. Thank you, LMR!