Big Change, From Continuous-rotation Servos to DC Motors:

 Robot Side View DC Motors

As may be obvious to many the lessons on this website are used to teach a class entitled Computer Science and Engineering. A different news posting talks about the content and its relationship to Career and Technical Education, usually referred to as CTE.


One requirement of CTE is that the content complement whatever career or follow-on education the student may pursue. For this to be true we are constantly revising and adding lessons.


For a special summer workshop this past June we made a significant change to our approach to the Rolling Robot, that appears in Lessons 14 and 18. This robot is essential to teaching the material because it integrates the content of the previous lessons and also requires students to apply this content to new situations.


The change is that we dropped the continuous-rotation servos in favor of DC motors. Because this rippled through many of the lessons the change was not made lightly. But we believe that for both cost and learning opportunity reasons it is worthwhile.


Why CR servos discarded:


To be sure, servos are widely used for rolling robots for some good reasons. They are relatively simple to control, the means of controlling them is generalizable to standard servos as well as brushless motors driven by ESCs (Electronic Speed Controllers), and that they are reliable.


But they also come with some problems, particularly for those seeking to teach large numbers of students. One reason is cost. CR servos are expensive. Where a standard servo of acceptable quality can be purchased for about $5, continuous rotation servos tend to run between $15 and $18. Two of these plus wheels amounts to well over half the overall cost of the materials for a relatively complete rolling robot, excluding the price of the Arduino.


Another downside is speed. They just aren't very fast, even the high-speed servos that became available from Parallax two years ago.


Looking for Alternatives:


Two years ago we began looking for a practical substitute. By practical is meant a replacement for the servo as a robot propulsion motor. The VEX model 393 with its speed controller was considered. This motor is powerful, can be configured for speed or power, has the same control protocol as does a servo, and is durable. But since it is designed to work with the entire VEX infrastructure , it comes with mounting challenges and no clear or simple way to attach wheels. Adapting them to the rolling robot chassis was not practical.


Further, the current requirements exceed that which can be provided by ordinary alkaline AA cells. Adding a nickel-metal hydride rechargeable battery (NiMH) introduces safety concerns that did not complement the content of our base set of lessons. So, while we use these motors for special projects they were not adopted across the program.


Then this past year Sparkfun introduced their Hobby Gearmotor and it's companion wheel. This is motor easily Gearmotorattaches to our rolling robot body and looks great. It's fast and responsive. And best of all, a pair with their wheels can be had for a total cost of only $7. Not only that, but the motors and wheels are available from multiple sources, should they be discontinued by Sparkfun.


New Problems, New Opportunities:


No solutions come without problems, and the DC motor presented two. First, these are brushed motors and, as such, are electrically noisy. The first prototype robots we built couldn't be controlled from more than a few feet away if the motors were turning. We were, however, able to turn this into a learning opportunity and added content about noise suppression to one of the lessons.


Second, to change direction a DC motor needs to have the polarity of the voltage applied across its Wheel for DC Motorterminals reversed. While Arduino pins can be programmed to do this the Arduino cannot provide enough current to run these motors under load. So a polarity switch had to be added. Commonly called an H-bridge we created a lesson for learning about what an H-bridge circuit does and how to control a motor with one. We then reused the components in this lesson to assemble a robust H-bridge breakout board in a How-To.


The total parts cost for this H-bridge is about $6, including the circuit board and will be available as a kit, should anyone wish to do their own experimenting. All together, then, the total cost of motors, wheels, and electronics comes to about $13 which, when compared with the $36 cost of servos and wheels is quite a bargain. Plus, the resulting robot looks cool and is very responsive. We are pleased with our decision, as were our summer students. We hope you will be too.


Image H-bridge Top ViewH-bridge breakout circuit board. Assembly instructions are in How-To #9, Assemble an H-bridge. This device can be used by itself or plugged into the Motor Controller.