This tutorial shows how to modify and minimize small servos. 3.7g and 2.5g servos are very handy in small designs because they are cheap, small, and have built in controller and gearbox. However to use them in continuous rotation mode some hacking is necessary. I'm using these servos on my nano sumo robot so I also have to modify servos to be smaller.
Picking your servo:
There are two kinds of small servos that interest me: 2.5g and 3.7g. These are the smallest rotary servos I could find from internet. Both of them are easily modifiable and easy to use. Differences between them are:
- bigger one is cheaper
- smaller one has weird connector
- bigger one has extra support ring on output shaft (eq. longer output shaft)
- bigger one has four metal screws, smaller has none
- smaller one has 1mm shorter body
So they have minor cosmetic differences but the insides is exactly the same - same motor, same gearbox, same electronics.
So getting it to continuous rotation is the same as with other servos: Pop out the potentiometer and solder two 2.2k resistors on its pads. Now to the hard part - making it small.
My goal was to fit two servos and wheels to nano sumo size (25x25x25mm). Also I wanted that my wheels were on same axis. After lots of measuring and drawing I came to conclusion that the only way to accomplish my goal was to make the gearbox shorter. So, lets do it!
Hacking the thing!
Warning: I destroyed about 4 servos while making first prototype.
- Dissemble everything.
Cut away half of the middle plastic piece. I recommend to use dremel with cutting wheel on low speeds. To understand what to saw look at the picture.
- Cut away two little ears on servo.
- After that cut off the excess white shaft so the motor will be L shaped. Now you can rig the electronics and clue two of these together to get differential robot mechanics. This kind of motors were used in Kobold 1.0 mechanics.
- Or, you can continue on the next step.
Modding the gearbox:
- Dissassemble the gearbox.
- Take old gear away from motor
- Take plastic base, find axis hole that was nearest to motor and drill it to 3mm.
- Find single plastic gear, the one on the right on the picture.
- Put motor through the hole and glue the gear on the motor, smaller gear closer to motor center.
- Then put the other gears in their right place (reference the picture above)
Modify the top case as you like (I cutted off the sides) and put it back to its place.
- Press motor closer to other gears, into your newly drilled hole. The idea is to make the gears to fit.
- If you are really sure the gears are fine then glue the motor in the place.
Electronics need hacking too. You need to unsolder the potentiometer leads and solder two 2.2k resistors in place. The value of the resistors is important, servos I used had 4.7k pots and according to servo driver ic chip I can't solder whatever to there.
Both resistors connect to pad where the pots middle lead was connected. On my board it was unfortunately the left one. For maximum smallness I soldered one resistor in 0603 package from center pad to left one and other one standing on right one. Then I used piece of pin to connect other end of resistor to left pad. Its ugly but small and most important of all - works.
And because this is after all Kobold mechanics tutorial then I have to include how to make Kobold compilable wheels. First, take M5 wide washer (DIN 9021) and a random servo horn. then press them together. Then apply some glue and cut off everything you don't need. Yai! Now more pictures.
The goals of the first version electronics is to have simple enough board for home etching and to test all ideas and components I had. Also this was my first SMD project so I didn't dare to compress everything too small. The smallest things are in 0603 package.
The board uses atmega88 MCU with 12Mhz resonator. It has in circuit programming connector but unfortunately no debug/UART connector. It uses LDO 3.0V regulator in SOT23-5 package. I chose 3.0V because all components work on so low voltages and lipo battery gets to 3.2V when almost empty. There is MAX1555 IC for charging. It charges with maximum current of 200mA, so fully charging takes about 2.5 hours. Input voltage must be between 5 and 6V. It features charge contacts so no help is needed for charging. Also there is a voltage divider so the MCU can measure voltage in battery and go to charging at the right time. For output it has two LEDs: one green, the other one - red. Also there is plugs for servos and battery.
It has four infrared LEDs controlled by one mosfet. LEDs are for communication and distance measurement. They are rated about 1.2V and 50mA, but I use them at 1.5V. Next to every LED there is a phototransistor. Every phototransistor is connected to different ADC port and they can be used for ambient light detection, distance measurement, communication and angle measurement. On top of everything there is a 38kHz modulated IR receiver. I plan to use it for remote controlling, beacon finding and also to test how possible is to use it for distance measurement. Finally there are two whiskers in the back, they enable the robot to sense if it is on conducting surface like metal.
- Etching from factory - 5€
- atmega88 - 3€
- resonator - 0.7€
- MAX1555 - 3€
- 4X ir LED - 0.2€
- 3.0V voltage regulator - 0.2€
- phototransistors - 0.8€
- mosfet, leds, resistors, capacitors - 1€
- Total: 14€
The schematic and the board can be downloaded from here. Its a tar archive with eagle files in it.
Drive mechanism uses two 3.7g servos from ebay. Both are modified for continuous rotation and cases are striped down to minimum. They are quite slow, but also ridiculously strong. I have tested its strength with 200g soldering tin and the robot had no problem dragging it around.
There are two small plastic gears glued to servos to act as wheels. Gears were used because they are easy to come by and they have reasonable grip. On the downside the grip isn't so reasonable on floor and the narrow gears get stuck in some carpets.
On the back there are two contacts. One for charger ground connector, other for sensing if floor is made out of conductor. There are two problem with those two skids. First - they float in air, second - the robot rocks back and forward. First problem could be fixed by using iron whiskers instead of copper ones. Second one was fixed with plasticine. On the top there is horn for charging.
The middle layer is the battery. I use single cell 400mAh lithium battery for whole robot.
- 2x servo €4.2 ($5.5)
- battery €3 ($3.9)
Total: €7.2 ($9.4)