Society of Robots - Robot Forum

General Misc => Misc => Topic started by: Gertlex on November 25, 2008, 10:55:29 PM

Title: What to do with an off-center servo?
Post by: Gertlex on November 25, 2008, 10:55:29 PM
I recently bought my first metal gear servo off ebay... a used one. (HS-645MG or something like that)

It works, but it's not properly calibrated.  I've disassembled it and verified that the center position does not place the potentiometer in a center position. Thus, it doesn't have full range in the counter-clockwise direction.

As I understand it, I have two options here: I can either modify the case slightly to let the limiting pin on the largest gear rotate that last bit, or I can do something with the potentiometer... (replace, wire in a resistor, etc...)

Is sending a different range of PWM signals a workaround?

And yes, I think I'll stick to buying new servos rather than used ones in the future :P

Thanks,
•Gert
Title: Re: What to do with an off-center servo?
Post by: szhang on November 25, 2008, 11:51:46 PM
Yeah sending a different PWM range works.  Servos aren't known to be very accurately centered.  Just take the two extreme values, average them, and that is the real center.
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 02:35:51 AM
Hmm... oh ya... my other problem: My preferred way of controlling my servos is a servo controller controlled by my Axon.  Can't set that particular servo controller's actual range :/

Ahh well. For the time being, I have a rather specific task for the servo by itself, so I'll just use the Axon directly when I have time to actually do this.

I'll also note that it's off center by like 30º.  Probably qualifies as damaged by previous owner.
Title: Re: What to do with an off-center servo?
Post by: ArcMan on November 26, 2008, 08:50:37 AM
If I remember correctly, you should be able to re-mesh the pot gear to the gear train.  Give your servo some 1500 uS pulses so it will move to where it thinks is center.  Remove power and dis-assemble the servo, being careful to not move the pot position.  Un-mesh the gears and move the main shaft to the center position while keeping the pot in the same position.  Re-mesh the gears and re-assemble.
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 09:37:50 AM
That doesn't work because the gear that turns the pot can only mesh with the pot in two ways...  It's the same gear that has the limiter on it, too. (And of course, it's the only gear that turns 180-oddº, all other turn far more times; and pots are usually single turn of course)
Title: Re: What to do with an off-center servo?
Post by: ArcMan on November 26, 2008, 10:14:18 AM
OK.  How about removing the gear from the pot shaft and then re-press it on in the centered position.  Or is it a "D" hole in the gear?
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 11:03:32 AM
It's a double D hole and a metal gear, so no re-pressing. I suppose one possibility is to try and remove the limit pin and drill a new hole and put it in that...

I'd need to regrease the gear after that, probably.
Title: Re: What to do with an off-center servo?
Post by: Razor Concepts on November 26, 2008, 11:29:24 AM
Just get rid of the limiting pin. Since your servo has metal gears, the pin should just be friction fitted on. Take some pliers and pull it out.
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 01:04:16 PM
Additional problem is that the potentiometer itself if "centered." That is, it rotates an equal amount in each direction from it's physically centered position.  Thus I can't solve this mechanically; it's the calibration of the electronics that's the problem.

Back in my room now... So I'm playing with it now.

I've got the potentiometer out of the servo, but still wired to the pcb, of course.  In the mechanically centered position, I'm getting 1810Ohm/1796 Ohm between outside terminals and center terminal.... Which is good. But why am I getting 2000Ohms between the two outside terminals?  Is there presumably a low resistance on the circuit somewhere that's reducing the resistance in parallel? 3.6*N/3.6+N = 2 -> N + 4.5Kohm. Obviously I shouldn't ideally be measuring items that are on a circuit board already :P oh well.

Now I can see that the potentiometer is acting as a voltage divider, and not a simple variable resistor.

I shall proceed to see if a resistance in parallel between one or the other outside terminals and the center one has any effect on centering position...
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 01:23:40 PM
Working notes:

Wires: Red - Yellow - Green

At centered position (Z = resistance AKA impedence)

Z R-Y = 1888
Z Y-G = 1701
Z R-G = 2000 (just checking)

Since this is a voltage divider, the ideal ratio is 1.888/1701 for ZRY/ZYG = 1.1099

I want to get this ratio in the centered position...  Right now I have 1800/1800 for centered (approximately)

1.1099* 1800 ~= 2000 Ohms  2000/1800 gives me the ratio needed.

But I can't raise the resistance, d'oh.

1800/1.1099 ~=1621.7 Ohms 1800/1621.7 gives desired ratio, too.

Now to find what resistor to put in parallel:
1621.7 = 1800 * N / (1800 + N)

Solving for N gives:
1800*1621.7/ (1800 - 1621.7) = 16373 Ohms -> 16kOhm resistor = Brown Blue Orange

Now I'll find one when I go home this evening and continue working to see if this works.
Title: Re: What to do with an off-center servo?
Post by: Gertlex on November 26, 2008, 05:24:20 PM
When I made the previous post, I suspected that this change would probably make the voltage divider non-linear.

Indeed I was right, but the effect is small.  I did the calculations and plotting in Mathematica.
http://img.photobucket.com/albums/v215/ERelson/temp-81.png