by DerekZahn » Sun Jan 14, 2007 8:20 pm
by DerekZahn
Sun Jan 14, 2007 8:20 pm
A long time ago, shortly after the HSR-5995TG servo started to become available but supply was a problem, I got a good deal on a bunch of JR servos so I grabbed them. Since I have them I have decided to use them in Bing's arms.
The biggest drawback of these servos is that although their mechanical range is not horrible (about 180 degrees) the range they actually achieve with applied pulses is less than 120 degrees. That's not sufficient for the arms. So time for some customization!
Opening up the servo reveals the guts. Unlike the Hitec servos, the motor is not soldered directly to the circuitry, which makes this servo much easier to work with.
bigger:
http://happyrobots.com/jr1.jpg
Prying up the electronics board shows the connection to the potentiometer, and a cavity above the potentiometer with enough room to add some stuff!
bigger:
http://happyrobots.com/jr2.jpg
To increase the range, I want to change the resistance of the potentiometer so that a larger range of motion corresponds to the same voltage values on the central tap of the pot. This can be adequately done by adding two resistors.
Another thing that has to be done is isolate the potentiometer from my external A/D circuitry. Although an A/D port is pretty high impedance, I have found that hooking the central pot voltage directly to an external microcontroller can change the circuitry and this the response of the servo. To get around this, I isolate the value using an op-amp configured as a "voltage follower", which is just about the simplest thing you can do with an op-amp and provides a super high impedance isolation. So here's the circuit that I want to stick into the servo:
I have a pile of op amps and resistors laying around, and some blank circuit board material, so I decided to try using the mill to make the circuit boards so I didn't have to order anything and wait for delivery. Here's the mill working on it. It is using a 0.012 inch end mill (0.3mm).
bigger:
http://happyrobots.com/jr4.jpg
And here's the resulting board. The three holes at the top will attach directly to the potentiometer pins, and the 5 holes at the bottom are for the three potentiometer wires, one wire to go out to my external microcontroller, and one +V wire for the op amp power supply.
bigger:
http://happyrobots.com/jr5.jpg
To make life easier, I tin the board with some solder, as soldering components directly to copper board is not always as simple as I'd like.
bigger:
http://happyrobots.com/jr6.jpg
Surface mount resistors would work better, but I had some little normal ones sitting around so I used those.
bigger:
http://happyrobots.com/jr7.jpg
Attaching and tinning the wires gets everything ready for the implant:
bigger:
http://happyrobots.com/jr8.jpg
And here is the result, with the surgery complete. I now have the position feedback on a wire, and 180 degrees of travel in the servo
bigger:
http://happyrobots.com/jr9.jpg
One servo done, 7 to go. Sigh.
A long time ago, shortly after the HSR-5995TG servo started to become available but supply was a problem, I got a good deal on a bunch of JR servos so I grabbed them. Since I have them I have decided to use them in Bing's arms.
The biggest drawback of these servos is that although their mechanical range is not horrible (about 180 degrees) the range they actually achieve with applied pulses is less than 120 degrees. That's not sufficient for the arms. So time for some customization!
Opening up the servo reveals the guts. Unlike the Hitec servos, the motor is not soldered directly to the circuitry, which makes this servo much easier to work with.
bigger:
http://happyrobots.com/jr1.jpg
Prying up the electronics board shows the connection to the potentiometer, and a cavity above the potentiometer with enough room to add some stuff!
bigger:
http://happyrobots.com/jr2.jpg
To increase the range, I want to change the resistance of the potentiometer so that a larger range of motion corresponds to the same voltage values on the central tap of the pot. This can be adequately done by adding two resistors.
Another thing that has to be done is isolate the potentiometer from my external A/D circuitry. Although an A/D port is pretty high impedance, I have found that hooking the central pot voltage directly to an external microcontroller can change the circuitry and this the response of the servo. To get around this, I isolate the value using an op-amp configured as a "voltage follower", which is just about the simplest thing you can do with an op-amp and provides a super high impedance isolation. So here's the circuit that I want to stick into the servo:
I have a pile of op amps and resistors laying around, and some blank circuit board material, so I decided to try using the mill to make the circuit boards so I didn't have to order anything and wait for delivery. Here's the mill working on it. It is using a 0.012 inch end mill (0.3mm).
bigger:
http://happyrobots.com/jr4.jpg
And here's the resulting board. The three holes at the top will attach directly to the potentiometer pins, and the 5 holes at the bottom are for the three potentiometer wires, one wire to go out to my external microcontroller, and one +V wire for the op amp power supply.
bigger:
http://happyrobots.com/jr5.jpg
To make life easier, I tin the board with some solder, as soldering components directly to copper board is not always as simple as I'd like.
bigger:
http://happyrobots.com/jr6.jpg
Surface mount resistors would work better, but I had some little normal ones sitting around so I used those.
bigger:
http://happyrobots.com/jr7.jpg
Attaching and tinning the wires gets everything ready for the implant:
bigger:
http://happyrobots.com/jr8.jpg
And here is the result, with the surgery complete. I now have the position feedback on a wire, and 180 degrees of travel in the servo
bigger:
http://happyrobots.com/jr9.jpg
One servo done, 7 to go. Sigh.