I’ve been building large remote control and robotic vehicles for a long time. I’ve found that building larger usually means they are cheaper and more robust, except for one thing, steering servos. You can buy some very cheap small servos but as soon as you get into the larger stuff, they get very expensive. Building an RC car out of a mobility scooter costs me approx $300 AUD, so adding a servo like this to do the steering would increase the cost to over $1,300.
One of my roles while helping to develop Drones and other robotic applications has been to test new software by pushing the software and the vehicle it is in to its limits. There have been plenty of days where I have blown a couple of thousand dollars destroying a new plane (see below) while testing new software.
Since Drones and Robotics are so prevalent these days, I am not sure I could justify risking $1,000 anymore. To keep the price of my land vehicles as low as possible, I looked around for open source options and there several available but none quite fit what I was looking for (see below).
I decided to build my own giant servos with the following specifications:
- as small as possible
- easy to mount
- components are easy to buy
- high holding torque with minimal to no power required
- can handle abuse - the vehicles wheels hitting objects at speed
- DC 12v powered
- as fast as a standard RC servo
The best way to achieve this is to use a DC gear motor that is made in huge numbers and designed to last a very long time. There are a couple of options:
- electric seat motors
- gear motors from ebay
- car window motors
- car wiper motors
- stepper motors
Using any of these options means I need to add position feedback so that the software knows where the servo has moved to. The one option from above that may not require this are car wiper motors from the rear window. Some rear wiper motors do have a potentiometer in them but I found them to be:
- very large
- limited in their mounting options
- the output shaft connects directly to internal gears, which makes them less robust
- require the fabrication of an output shaft
I considered using planetary gear motors like electric seat motors and they fit all of my requirements except one - you need to install feedback on the output shaft which would be quite difficult to make robust and be done cleanly.
I considered using stepper motors but they require very high power to hold a position and high torque ones are very big.
I decided to use car window motors as they fit all of my requirements (including having an internal dampener to deal with bumps) except being easy to mount, though could be debatable.
I drilled out a hole in the metal cover and installed a magnet.
Used a magnetic encoder chip to detect rotation
Used a Pololu motor driver to drive the window motor
Wrote some arduino code.
In this configuration they work perfectly.