I am developing a human dexterity telerobotic arm. Since the focus of this project is optimal cost/performance ratio the skeletal structure is all plastic, incorporates water cooling for the servos and uses standard R/C servo and radio/receiver hardware.
Currently I’m using Hitec 5995 TGs for the servos, but they’ve been discontinued. The new 5990s (the “replacement” for the 5995s if you need the 416 oz/in torque) only travel 60 deg. under R/C control. These servos are to be used under computer control and require a wider range of pulse width to get to 180 deg. travel.
So, my question is how can I most cost-effectively operate the 5990s wirelessly from a potentiometer-equipped exoskeleton? Is there a simple circuit that could take the square wave output from an R/C receiver and expand it to what’s needed for the 5990s?
Ultimately, having a computer in the teleoperation loop is a benefit as domestic robots should clearly have an intuitive way for an operator to correct autonomous sequences gone awry or simply to program motions (via telepresence). The question then becomes how to use a PC to scan an exoskeleton’s potentiometers and thereby control (probably using an SSC-32 and bluetooth as described elsewhere) the robotic arm in real-time.
The 5990 and 5995 are the same servo just different case and electronics. They both have the same torque specs but the 5990 is the new and improved 5995.
And the 5990 will do 180 deg out of the box off an r/c receiver. Mine do. You can also use Hitec’s Digital servo programmer to set the range.
The 5995’s are also still widely available and will be for a while I would guess.
As for wireless control via potentiometer based inputs, you could hack an r/c controller if you want to save money. Problem is that most controllers have only 4 proportional channels. The more expensive 6 8 and 9 channel transmitters often have 1 or 2 extra proportional channels giving you 6.
A wireless datalink via RS232 to an ssc-32 servo controller would work if you use a microprocessor to interpret the pot inputs from your exoskeleton controls and use those inputs to send corresponding positions to the servos. This would require your own programming though.
I had talked to Tony Ohm, the Hitec Service Manager, and he told me the servo programmer could not be used (I assume he meant the HFP-10, which I have but have yet to use and I don’t think the HFP-20 has shipped yet) and that getting 180 out of a 5990 required a wider pulse width than R/C transmitters supply.
Where did you buy your 5990s that are 180 out of the box? Have you actually reprogrammed them and, if so, can you briefly outline the procedure or point me to it.
I use the System 3000 R/C transmitter/receiver set which has 5 fully proportional channels and one channel with two positions. It is about $120 from Tower Hobbies (no servos). I believe Futaba makes it, as I think I’ve seen their marks on the board.
most r/c transmitters are not going to send muchmore than the standard 1.0ms to 2.0ms pulse range which corresponds by default to +/- 45 degrees. servo controllers such as the ssc-32 can send much wider range of pulse width typically 0.5ms to 2.5ms which will get you the +/- 90 degrees if the servo supports it. digital servos probably can’t hurt themselves if they don’t support the full range, but be careful about analog servos as there is little to protect them from trying to go somewhere they mechanically can not go and you could get the krunchy krunchy noises.
This sounds like you are building an R/C arm using R/C equipment. In this type of setup, communication is one way (R/C transmitter to the arm). As far as I know, there will be no way for the arm to send any info back to what ever is sending the control signals. Unless there is a specific need to use the traditional R/C tx/rx setup for communication, you may need to use something like the bluetooth tx/rx components for bidirectional communication between the arm and the control (I assume a computer would be used). For clarity, you may need to detail what the end design goal is for the arm.
I was also told not to use the HFP-10 on the servos with an R in the part number as in HSR. I just tested a 5990 right out of the box. It does about 45° with the 1.1mS to 1.9ms range. I tediously found the range of accepted pulse values is actually 549uS to 2449uS. Bad thing is if the servo is at 1500 and you send it 548uS it will not move. True with 2450uS as well. So you must keep the range within the limits for movement. The servo is probably intended to react to 550uS to 2550uS but is off a bit. I have to assume the crystal in the SSC-32 is far more accurate than the CR in the servo itself. Also the specs on the box are totally wrong.
A cool feature I found is the servo will hold whatever position it’s at on power up. But the first real pulse it receives will cause the servo to move slowly to that first position.
Another cool thing I found is the SSC-32 will remember the last commanded servo number. So if you want to send new positions for that servo you only need to send p??? commands. 8)
I bought them at Trossen Robotics and on a JR XP6102 transmitter and R700 Receiver with end travel set to 150% and -%150 I get 90 deg in both directions.
I’ll try it with a Futaba 9SCAH and see if I get the same results.
I know a Laser 4 and Laser 6 only get 45 deg in each direction.
And I didn’t know about the programmer not working with the 5990. Sorry about that.
Looks like the JR R/C setup can be bought at Hobby Lobby for $250–including four servos which I don’t need. Also, the web site recommends a different receiver. If the Futaba works, is it a cheaper approach?
For the programmable radios, can each channel be set for overtravel so that I can run servos with different throws? I presume the overtravel function is a linear scaling across the range of square wave pulses.