Sunday, April 17, 2011

Adding a second hinge point to a common hobby servo

When using servos as joints in robot limbs it is helpful to have a second axle point on the rear of the servo, opposite the servo output shaft, to increase the rigidity of the joint and reduce stress on the servo shaft bearings. Many high-end servos meant for robotics come with rear axles points built in, but I don't have the budget to afford those servos. There are a few alternatives that work with common hobby servos.

Attempt #1: Lynx Motion press-on plates

The first thing I tried, and where I got the initial idea from, was the Lynx Motion injection molded servo hinge. This is a plastic case that presses on to the back of any standard servo and adds a hinge point. It's fairly cheap and easy to use, and I used it on a few servos, but ultimately I found it unsatisfactory. There are several basic flaws here. The press-on hinge adds significant thickness to the servo, making it hard to retrofit into an existing design. The press-on plastic plate covers two of the servo case screws, so you have to remove it to open the servo up to replace broken gears or re-grease the gearbox. The piece is pressed on with pressure-sensitive adhesive, so you have to rip it off to open the servo. The adhesive isn't very strong, so the piece can tear loose by itself, and the plastic pin that makes up the hinge point also breaks or wears away easily. It's a good idea, but it's possible to do much better.

Attempt #2: Cutoff epoxied screw head

My first idea for making my own hinges was to cut the head off a self-tapping wood screw, then epoxy the head to the back of a servo. I used a phillips head, flat countersunk finishing screw, with the widest surface I could find, and sanded the plastic surface where it attached to the servo to try and make the epoxy joint as strong as possible. This seemed to work well enough, but I didn't test very long with this design before having a new idea.

Attempt #3: Weld nut epoxied to servo case.

The problem I found was that having a fixed post as a second servo hinge made it hard to assemble the servo into a single-piece bracket. A hinge that could be attached to the servo after the servo was placed in the hinge would make assembly easier, so I bought some weld nuts and epoxied them to make second hinge points on servos. I could then place the servo in the bracket, and then insert a screw and sleeve bearing through the hinge hole on the bracket into the weld nut. The sleeve bearing made for a smooth wear-resistant second hinge point. This design worked very well for several versions of my quadruped robot.

The failing of this design was the epoxy joint between the weld nut and the servo. Even with sanding the servo case and experimenting with several different kinds of epoxy and cement, a weekend of running the robot at a convention would result in several broken hinge joints as the weld nuts came free from the servo cases. I was also having a lot of problems with epoxied structural joints elsewhere in that version of the robot breaking. When I set out to redesign and rebuild my quadruped again, I set out to have no load-bearing epoxy joints anywhere in the design.

Attempt #4: Weld nut inside the servo case.

I have just recently purchased a full set of MG996 servos to rebuild my demo walker robot. I had expected these to be similar to the MG995 servos I'd used previously: barely usable crap needing lots of rework before I could use them. I was therefore very surprised to discover that the MG996 servos were a vast improvement on the prior model. Better electronics, better quality plastic and tighter construction, glue securing every wire, and most astonishingly brass bushings on the intermediate gear shafts, where the MG995 servos had been so prone to failing. They still don't have rear hinge points, of course, so I set about adding them.

I didn't want to epoxy a weld nut to the outside of the case, so I'd have to put it inside the case, with the barrel of the weld nut extending through the servo case. I hadn't wanted to use any solution that meant intrusion through the servo case, but I didn't see any other way to securely attach the hinge. I disassembled the servo and carefully measured the interior to make sure I'd have room to fir the weld nut without interfering with the motor, control PCB, or any other part inside the servo.

Here's the rear case, drilled out, and with a trimmed weld nut.

I used a larger weld nut than before, one with a 5/16 inch barrel diameter, mostly because it was what I had on hand. This one was slightly too large to fit inside the servo rear case, so I had to slightly trim it with a Dremel to fit snugly inside. I then pressed it in and used two-part epoxy to secure it in place. This does not violate the rule of no load-bearing epoxy, as the epoxy is only being used to hold the weld nut in place until the hinge is fully assembled.

On the left: Servo case inside with a weld nut epoxied in place. Middle: same thing, seen from the outside. On the right is the fully assembled hinge point, with washer to spread the load across the plastic case, bushing pressed around the weld nut barrel, and 1/4-20 machine screw holding the whole assembly together. Last step in assembly before putting the servo back together is to place a small piece of tape over the inside of the weld nut as a final step to prevent it from shorting out any exposed electrical conductors inside the servo.

Finally, a fully assembled servo with a very heavy-duty rear hinge point, inline with the servo output shaft. This can be used to make a mechanically rigid hinge in a robot leg, which I'll be showing next update as I reassemble my quadruped walker.