Sunday, January 26, 2014

Making a Continuous Rotation Servo

NOTE!  There are a couple of different designs of these servos, even from the same vendor.
  • The written notes below are for a through-hole style board
  • The video covers the non-through-hole syle
  • One kind of Potentiometer has rotation stoppers which must be broken off.
  • One kind of Potentiometer rotates freely and doesn't need to be modified.
  • If you don't need to modify the pot, you don't have to remove the stack of gears.

Continuous rotation servers are popular for cheap robotics projects because a pair of them give you a complete drive train (motor, controller, and gears).  A pair of 9 gram servos (such as the popular HXT900 from hobbyking) should be less than $7 or so.

Start by testing your servo, either with a servo tester or with an arduino sketch that drives the servo back and forth.  There's nothing more discouraging than having bad results, only to find out that it's not your fault because you started with a bad unit!  Likewise, be sure and test your battery voltage.

Start by removing any stickers and the four screws on the bottom of the servo.
The top and bottom parts of the case will open up.

There's a stop on the large gear, designed to prevent it from moving past the servo limits.  Snip it off.  You may have to
Take a moment to look at how the gears are arranged on the shaft.  You'll have to reassemble the pieces in the same order.
The electronics are accessible via the bottom.  There are three components:  a DC motor, a potentiometer, and a PC board.
The PC board pulls out of the case.  The wires are wrapped together, so untwist everything as it comes loose.
You'll see two wires going to the motor, and three wires going to the potentiometer.  Note the location of the center wire and two side wires.  The side wires are interchangable, but it's important to note where the center wire attaches to the PC board.

The motor wires are minimally soldered, and may come loose from the PC board as you're working through the steps below.  If that happens, just resolder onto the proper position.

We need to (a) remove the potentiometer wires and (b) clean up the through-holes where the wires were attached to the board.

NOTE: you may not have through holes on the board.  In that case, you will just solder the resistors directly to the board as per the video.
Position the board with the wires facing down. Pull down gently on one of the wires and touch the solder joint with your iron.  The wire should immediately come loose from the board. If it takes more than half a second you're doing something wrong.  You want to avoid heating up and possibly disturbing the other solder joints on the PC board.  I did this at 800 degrees F.
Clean up the hole with a solder sucker.  Cock the trigger, and position the solder sucker directly under the solder joint.  Support the PC board with the solder sucker.  Touch the solder joint with your iron and almost immediately push the trigger on the solder sucker and move your iron away.  The whole process should take less than a second.
A resistor should fit easily in the cleaned hole.  If there's still solder filling the hole, try again.
Take 2 1/4 watt 2.2K ohm resistors and solder them together.
Just a little solder is needed.  You can actually do better than I did in this picture -- offset the resistors just a bit, so that the "barbell" ends are offset.  this will allow them to fit together in a parallel position and take up less space (important, as we'll see below).
Trim one of the resistor leads so they're sharing one lead.  The shared lead is going to go into the hole where the center potentiometer wire was connected.
The other two leads go into the holes where the non-center wires were connected.  I used some pliers to pull the leads through, and sort of jiggled everything into place.  There's not a lot of space on the board, so make sure you're not introducing any shorts.
Solder the three leads and trim off excess.

I saw a photo of some 9 gram servos where the three wire through-holes were right next to each other, and just the right size for bridging some 0804 sized SMD resistors.  If this applies to your servos, it will certainly make it easier to put the case back together.

Potentiometers contain end stops to restrict the range of motion, so now we need to fix (or bust, depending on your point of view!) the potentiometer so that it can rotate freely.  In bigger servos this isn't typically necessary, but in this size servo the potentiometer usually holds the gear shaft in place.

It will pop right out of the hole.
NOTE: don't do this if the pot already spins freely already.
Start by snipping off the three potentiometer leads.
You'll see a tiny C ring holding the shaft into place.  Remove it.  You don't need to be careful about it, just twisting it off with your cutters will suffice.
Once you've done that, the pot will open up.
You'll see the bits of metal that act as the stopper mechanism.  Two things are mounted onto the gear shaft, and two things are in the potentiometer case.
Cut, bust, or otherwise remove the stoppers from the gear shaft.  Some other instructions on the web recommend removing the stoppers in the pot case, but in my experience you'll end up busting the pot case as well.

However you do it, just make sure you can spin the pot freely.  Keep busting off pieces until you get it right.
Now it's simply a matter of putting everything back together.  Put the gears back on the gear shaft and fit everything together on the top.
Put the PC board back into the bottom.  Resolder the motor wires if you happened to break them off. Twist the wires as they were orginally twisted so they'll fit back in the case taking up as little room as possible.
Most likely, it will be a tight fit with the extra resistors.  You can get some extra room by trimming off the end of the case bottom.
Screw everything together and you'll be good to go!  The video above shows how you should expect the servos to run.

No comments:

Post a Comment