Let me explain my problem further and perhaps you can give me some insight into whether I will be wasting my time:
The servos are there to move a regular pendulum. Typically the pendulum will be about 4 - 5" long with a 3.3 to 4.4lb weight at the end. That comes out at a torque of between 211.6 to 352.7 oz-in. to hold the thing horizontal, by my calculation…
So if i went with the less rigorous case, say 3.3lb at 4", what are the chances that the HSR-5995TG will cope at a supply of 6.0V?
But perhaps I shall be chasing down Hitec for a discount on those HSR-5990TGs. Thanks for the help!
Just an addition onto my last post, but what about making two servo’s do the work of one?
I don’t have any limits on space and my NiMh battery can push a solid 50 Amps before it catches the train out of town… so adding actuators is not a problem.
If I were to interface two servo’s together to move one thing collectively, what kind of problems am i likely to run into?
Thats quite a nifty cable. But it would be unsuitable for my application since the two servo’s will most likely be mounted facing each other (on either side of the pendulum mount), so if i tell one to move CW by 5 degrees, the other would move CCW by 5 degrees simultaneously.
And if they fought each other on it I worry that they may cause the other to fry…
So I would need them to be pretty well matched so the error is small enough that they don’t cause a cookout.
You should take a look at the Dynamixel AX-12 actuators. I’ve used them on several projects. They have tons of features including feedback support for about $50.00. Just Google “AX-12â€.
You solve the two servo opposite rotation in the operating software (or possibly internal modification of the servo). Actual position of the rotating mechanical parts of a servo is a value from a pot that is attached to the rotating mechanical parts. A pot external to the servo could be used for position determination (or possibly the internal servo pot).
You can buy a Y harness to connect the two servos, that has a reverse built in to switch one of the servos and also a small pot to adjust slight offset so the servos match.
This is the cheap and effective way to do it aside from using a regular Y harness, which I wouldn’t recommend in a rigid mounting system.
It is also good to match the servos by checking them on the Hitec programmer. And using a matchbox will also ensure that they travel exactly the same distances at the same speed. This is the more expensive solution, but very effective. I’ve used up to 6 of these matchboxes on one aircraft and they never fail and perform flawlessly.
I should clarify why the AX-12s are a good choice. Probably the simplest reason is cost. For under $50 you get 220 oz-in of torque with position, voltage, and load feedback over a TTL network. The command set is easy to use and you don’t need a PWM servo controller, special cables, or configurations.
Can you talk to an AX-12 from a Linux box, i.e., without running any Robotis software which requires Windows? I know that the CM-5 controller will talk to a PC over a serial line, but will it act as a simple protocol converter out of the box, or are you forced to run some Robotis code on the PC just to talk to it?
The AX-12s are not platform dependent. Each AX-12 has a microcontroller inside that does all the heavy lifting. If you can send/receive a command like one below at 1 Mbps you’re good to go.
It’s not that simple. The AX-12s use a shared TX/RX data line; you cannot talk to them over an RS-232 serial line. You need some piece of hardware to handle the multiplexing for you, i.e., a protocol converter. If you’re not looking to build your own custom hardware, then you need to be able to use the CM-5 controller to interface between your computer’s RS-232 serial port and the AX-12s. My question was: can you use the CM-5 this way without running any Windows-specific software?
It is that simple. You might want to lookup multiplexing. Anyway, under the sheets the CM-5 is an Atmel microcontroller programmed in open source version of C. The source is free too. So yes, the CM-5 would be right at home on any platform.
Open source is always good. But I don’t want to have to go find a compiler for this thing that will run on my Linux system. I just want to talk to the servos. My impression from your reply is that if I plug a CM-5 into my Linux PC’s serial port, and attach an AX-12, nothing useful is going to happen. I have to load code into the CM-5 first. Which means I have to get that code from someplace, and I have to have software on my PC to do the loading.
Do you know what tools people are using to work with the CM-5 under Linux? I don’t feel like reinventing the wheel.
I know that there is a lot of information up on the robosavvy forums about interfacing the AX-12 or the like to a PC or gumstix and the like. There is also a TikiWiki that summarizes these projects up at: bioloid.info/tiki/tiki-index.php?page=User+Projects
If you connected a CM-5 to your Linux box and the CM-5 to an AX-12 network then issued the following command through your favorite terminal application at 56700
go 3 512
67 6F 20 33 20 35 31 32 0D
will move the AX-12 with the ID of 3 to position 512.
In spite of all the hype and hoopla I see about position feedback from servos, I don’t think I’ve seen an actual working project that uses it. Before spending a lot of $$$, it might pay to find some working instances to see if it is really a useful asset.
Tekkotsu already uses this on the AIBO, in several ways.
If your robot starts out in an unknown state on power-up, and you want to bring it to a good state, you need to know where its limbs are so you don’t thrash around wildly. This is a real problem with the Hitec servos since there’s no way to use the SSC-32’s speed control feature if the servos’ starting positions are unknown.
We also use force feedback to allow the user to “mold” the AIBO’s body by pressing on it; the system senses this and relaxes the servos a bit so the limb can move.
We used force feedback to allow the AIBO to press keys on a keyboard without applying too much pressure, see this video demo.
But what we really want this feedback for is fine control of gait on a hexapod.
Position feedback is used on the RoboNova in a similar way.
You can read the servo positions on power up and set those as the current position for later point to point moves.
Some work has been done using position reading for force feedback, since the difference of actual position from desired indicates the torque applied, though fairly coarse, it does work.
The most used facility is the catch and play where you move limbs to the desired position and capture the pose to make up programmed moves.
To go back to the original post. If the type of servo can be changed, then the open servo based on a gear motor may be an alternative. This would allow a more powerful motor, or two motors to be used without problems. It will have position feedback
It would be good to know more of the mechanical configuration. A pendulum can be made to perform with a very wide range of power demands. Also with gear motors you can trade torque for speed.
Well, if you have an ssc32 and a HS-422 servo, and are willing to do a little testing, then you could quickly find out if you can get useable position feedback from the HS-422. If you are inerested in doing some actual testing, then start a fresh discussion on the subject on how to do the testing.