"Position Data Feedback"

Hi there,

This i think will be my first post of many!

First of all would just like to thank you guys for the topic on the HSR-5995TG servos. It was a very educational discussion, and has caused me to modify my own preliminary robot design. To the chase:

I am using two of the HSR-5995TG servo motors in a sort of universal joint arrangement, and I need to know the positional angles of the two servo motors. The microprocessor will easily be able to figure out where I told them to go last, but i need to know where they actually are from moment to moment. Now I have read that some other websites (that shall not be scorned by me here for their unscrupulous publishing of inaccurate specs) have mentioned the phrase “positional data feedback”.

How does this work?

and then:
If the HSR 5995TG does not have it, is there a better servo that does?
(and may it also have a feature like a heatsink and some other parts that aid in self preservation? Or a better steady state torque value…)

Look at the HSR5990-TG…
lynxmotion.com/Product.aspx? … egoryID=38

o auto shutdown
o position feedback
o heatsink body

I was wondering if this was possible to do with the HS-422 servo’s?

If the HSR-5995TG meets your needs (size, torque) except for the position feedback, then you should replace them with the HSR-5990TG.

The 5990 supports the version 1.1 of the Hitec HMI interface wich allows position feeedback by both pulse width and serial interface.

See the infomation here for more detail:
lynxmotion.net/viewtopic.php … highlight=

The innacurate specs on the 5995 came from Hitec themselves, it is just that Jim is much more aware of his product and communicative than most suppliers. It even says that the 5995 does position feedback on their box. Maybe you should chase Hitec for a discount on the 5990.

The serial interface to a PC or micro is very easy, but let us know if you have problems.

That would be great!

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?

If you mean connecting two servo’s to one cable,you can try this
lynxmotion.com/Product.aspx? … egoryID=44

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.

chiefaircraft.com/rcmsec/Mod … sions.html
http://i138.photobucket.com/albums/q253/gfisher2002/EXP_EXRA325.jpg

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.

horizonhobby.com/Products/De … ID=JRPA900
http://i138.photobucket.com/albums/q253/gfisher2002/JRPA900-450.jpg

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.

Tx - center
FF FF 07 05 03 1E CD 00 05

Rx - status packet
FF FF 07 02 00 F6

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

  1. You do not need a CM-5 to talk to an AX-12.
  2. The Atmel micro in the CM-5 comes programmed.

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.

go 3 512 512 (half speed)

go 3 512 512 512 (half speed and torque)

DUMP - grab all value from the AX-12 table

SEARCH - find all AX-12s on the network

Theses are just a few commands

Thanks, kurte and agavejoe. This is the information I needed.
I’m looking forward to experimenting with servos that give position and torque feedback.