Hitec servo control question

Hi!
I’m rigging up a pan/tilt mechanism. To drive it I’m using an HSR5990-TG for the tilt and an HS-985MG for 180-degree pan. I’m very new to servos, so my reason for picking these was to get decent torque for the tilt and 180-degree rotation for pan. Aside from that, I thought that both of these servos were controllable with the 3-wire interface (gnd,pwr & pwm-signal). Then I get the stuff, and I notice on the HSR-5990TG box that the interface is HMI Protocol, “Serial Interface” PWM. I also noticed that the 3 wires on the HSR-5990TG are not black/red/yellow. They’re black/black/brown.
Anyway, it doesn’t appear that there is much information available from HITEC. I plan to interface directly to this with some IO pins on a processor. I tried it out on the HS-985MG using 900usec-2100usec PWM pulses and it worked like a charm. However, I’m hesitant to try the same on the HSR-5990TG. Can someone tell me if the HSR-5990TG is controlled with the same kind of PWM or do I need to interface to it with the “HMI Protocol”?
Also, I looked at the HSR-5990TG data sheet (robotshop.ca/PDF/HSR5990TG.pdf) and also the HITEC general serov info (robotshop.ca/PDF/Servomanual.pdf) and one says that the voltage range is 4.8-6v and the other says 6-7.4v. Which one do I believe?
Thanks for any help.
Ed

Hi,
I have my pan/tilt controller working. I am using PWM to control both servos, and in general its doing well. The problem I’m having now is that the servos are vibrating. Even when I feed them solid fixed-width pulses, once they move to the requested position, they vibrate.
I recall reading somewhere that the servo will attempt to maintain the position it is put in, so I’m guessing that this is why it is vibrating; however, I really don’t understand why it would have to do any automatic adjustment, since I’m putting literally no load (except for the SPT-200 itself) on either of the servos.
Any idea what might be causing this? I’m powering both of the servos with 5V and my control signal is also 5V. That’s ok, right?
Thanks in advance…
Ed

I do have everything grounded to a common point, and as far as I can tell on an oscillocsope, the signals are quite clean. As I adjust the position, the rising edge of both signals stay fixed and the pulse width adjusts accordingly.
I’m using two power supplies for this, one 12V to power the microprocessor board and one 5V to power the servos. The 5V supply is rated at 4amps, and the signals from the micro to the servo are through opto-isolators with the output of both optoisolators pulled up to 5V through a 1K resistor.
I assuming 4amps is plenty for two servos right?

The only thing I see (after thinking more about power and ground, thanks
to your suggestion) is that I may need a little bit heavier guage wire for connection of power/ground on the servos.
Thanks…

Hmmm…
Does the “Robonova-1 Humanoid Robot” just connect to the 3-wire connector
coming out of the HSR-5990TG?
The docs you pointed to refer to the control interface as RS-232-like;
however, there’s only 3 pins on the HSR-5990TG conector, 2 of which
I’m assuming are power and ground. Are you referring to something that is internal to the servo or is this some kind of bi-directional single-pin (i.e. open collector) driver?
All I’m looking for is the interface that is on the 3-wires coming out of the HSR-5990TG servo, 'cause I plan on controlling this with my own controller.
Thanks
Ed

Ok, now I see (shoulda looked at the schematic earlier).
Thanks…
Ed

Well, I finally had time to try the batteries. Made no difference at all.
I’m out of ideas at the moment.

Well, I really can’t do that at the moment; however, I have got some more information. Recall that I am using an HSR5990-TG for the tilt and an HS-985MG for pan.
Based on interaction with you and my own intuition, I had been assuming that the problem was either signal integrity (pulse-width and/or frequency),
power/ground (as you suggested) or too much torque on the tilt axis.

Today I tried disconnecting the pan motor, and ALL vibration/oscillation
in the system stopped. Quite honestly, I hadn’t even thought to do that simply because I wasn’t suspicious of the pan axis.

Based on that observation, I removed the load entirely and just tried to apply some pressure to the two different axis’ to see how much it would take to cause the vibration. When I pushed against the tilt axis I could not cause any vibration. When I ever-so-slightly pushed against the pan axis it almost immediately started to vibrate. I then swapped the two control connections (used the tilt driver to control the pan motor and visa versa). The problem stayed with the pan motor. So, is this likely to be a problem with the servo or based on this new information, can you think of any other explanation?
Thanks much
Ed

Yea, I guess I’ll have to try that. Since yesterday, I looked a lot closer at my power and ground wiring. Still need to increase the guage, but as a quick test, I tried using a lab supply so that I could easily adjust the voltage just a bit and also so that I could see the current draw. I’m well within the range of my power supply’s current capability, and fluctuating the voltage a bit didn’t seem to matter at all.
I do notice quite clearly that if I manage the miniscule (really, its miniscule) load on the servos that the oscillating comes and goes. It makes me think that this problem is the servo itself trying to compensate for some load; however, these are relatively strong servos, and the only load is a few wires hanging off the end. That can cause a small amount of drag on the pan and load on the tilt; however, its just so miniscule that that can’t be the problem
(could it?).
I’ll try the battery idea; meanwhile, are there any internal adjustments that can be made to these servos to make them a bit less senstive?
Any additional suggestions are certainly welcome! Thanks for your help.
Ed

Can you post a picture of your setup please?

It may be a good idea to exchange the servomotor. Please submit a ticket to the Support Center so we can issue you a RMA number for the exchange.

Adding full rated load to a servo should not produce such results in theory. I am still leaning towards the source power supply as a possible cause that needs to be eliminated.

These digital servos can be programmed:

robotshop.ca/hitec-hfp20-servo-programmer.html

The HSR-5990TG does in fact operate from 6-7.4VDC.

The HMI Protocol is used by the Robonova-1 Humanoid Robot to control the servo motors.

Here is information about this protocol from Robosavvy:

robosavvy.com/Builders/i-Bot/HSR8498HB%20Servo.pdf
robosavvy.com/Builders/limor/HMI_Info.html

The most common cause of glitchy servos is not using a common ground strategy. Make sure all grounds for the devices in the system are tied together. Check your connections and any outside sources of RF interference.

If this does not help, look again at the signal you are sending to the servo motor. If you have timing fluctuations on your microcontroller it can cause problems. ideally, test the servo with a servo tester to confirm that there are no electromechanical (potentiometer) problems.

Referring to the documentation, specifically:

robosavvy.com/Builders/i-Bot/HSR8498HB%20Servo.pdf

If you are using a TTL level microcontroller, the data pin on the servo connects to a UART at 19200bps and allows advanced functionality.

You may however use it in square wave PWM mode like normal servo motors:

The width of pulses sent to the servo determines the mode:
Pulse width 550 to 2450 Microseconds = Standard Pulse Mode

Have you attempted powering with batteries? This may resolve the issues. Some manufacturers clearly state not to use a lab power supply because it causes problems. Hard to tell until you try honestly.