I love these little servos, they are so cheap. I will show you how to convert them to continuous rotation servos. Sure, you could buy them already as continuous servos here:
But where is the fun in that!?
For my project, I needed four 9g servos. Two are going to get converted into continuous rotation. At the time I am writing this, Amazon Prime has a pack of four SG90 servos for $13.69. Done.
Servos are cool. They use a tiny little motor and add a set of gears to improve the torque of the motor – giving it more power to do work. Servos also have the ability to know where they are as they sweep back and forth. The drive shaft is connected directly to the potentiometer, which is a variable resistor. As it turns with the shaft, its resistance changes. Armed with this data, a computer can control the servo’s speed and position.
My project uses two regular servos converted to continuous drive servos. The robot ends up being heavier than I thought, so we will need the two-wheel drive to get enough traction to keep things moving.
The servos I am using in this project are HXT900 (or SG90). There are a lot of rebranded servos that are identical to the ones I use. These 9 gram servos are so tiny and light. Size and weight really matter since in my project. The servos are also cheap! At this writing, the servos list for $2.69 each. It’s a good thing, too, because I think I ruined three of them as I learned how to convert them to continuous drive.
Servos have potentiometers that report position. If this were a one wheel drive robot, I could have left the potentiometer alone and adjusted the speed with the software or manually in the UI. However, I will be running two servos off of one PWM channel and I need them to spin at the same rate.
- Remove the stickers and four screws. Carefully lift off the top of and bottom of the case.
- Clip off the plastic nibs that stop the drive gear from freely rotating. Make sure it is smooth.
- Drill out the the center hole on the main gear you just modified. It is fits on a D shaft that turns the potentiometer, but you want it to spin freely. You will drill out the flat “D” part molded into the gear and make the hole a perfect cylinder. This mechanically bypasses the potentiometer.
- Solder together a Y using two 2.7K resistors, essentially a voltage divider. Twist one lead together on each resistor forming the letter “Y”. Then bend the two arms of the Y straight down to make the letter M. Now you have the little circuit that will replace the pot. This will replace the pot by tricking the electronics into thinking it always lives in the perfectly centered position. This is the most reliable way to ensure the two servos will perform identically. Be sure to clip one wire at a time to you don’t get them mixed up. Start with the center wire since that corresponds to the center lead on the pot. There is very little room in the case, so make everything as compact as possible. Insulate your work as not to short out anything.
- Cram everything back in the case. and reassemble.
Note: There are easier ways to do this mod but I wanted to be thorough and explain the “right” way. If you have a servo tester, you could find the perfect neutral position for each pot and drop a dab of superglue to seize the pot right where you need it. In fact, if your project doesn’t gang servos together and you don’t mind tweaking your code to accommodate wherever the pot happens to be, you can ignore the pot altogether. You always have to clip the nubs and drill the gear, though.