Servos, potentiometers and accuracy.

Hi,

I’ve been working on a project that involves setting the position of a servo using a joystick.

I’ve done some experimenting, and it’s apparent that if I set the position of the servo programatically I get extremely good accuracy and repeat-ability.

If I use the joystick to set the position then I get very poor accuracy, and poor repeat-ability. Initially I thought this might be a deficiency in my programming. But after connecting the joystick to a multi-meter I discovered that potentiometers in the joystick seem to be low quality, the resistance is non-linear (despite being a linear pot) and the value it returns is inconsistent (example - the resistance in the mid point might be (say) 500 ohms, I then waggle the joystick and return it to the mid-point and it then gives a value of 600 ohms, I waggle it again and return it back to the center point and this times it says the resistance is 400 ohms).

If I do the same with a random set of cheap pots I discover this performance is quite typical.

The servo itself also includes a tiny little pot. to provide internal feedback, however, this one must be really accurate because the servo position can be set very accurately.

My question is this… how come a cheap and crappy servo can have such a good quality pot in it when a more expensive joystick can’t, and where can I get a similar pot?

thanks

There are several sources of inaccuracy in a pot...

the track may be nonlinear - this wouldn't affect repeatability

The wiper resistance may be high and variable - this would affect repeatability.

If you use the pot as a potentiomer, not a variable resistor, and the load on the wiper is much higher resistance than the pot value, this would largely remove this latter effect...

regards

Allan

If you use the pot as a potentiomer, not a variable resistor, and the load on the wiper is much higher resistance than the pot value, this would largely remove this latter effect...

Sorry Allan, but can you clarify what you mean here by 'load on the wiper'? - when connecting the joystick to an arduino I connect one end of the pot to 0v, one to 5v and the wiper direct to an analogue input pin.

The analog input of an arduino is a very high impedance, and should be fine

regards

Allan

Hi, The problem is not so much the crappy pot in the joystick, but the mechanical backlash in the joystick mechanism. It will not always return to the exact same mechanical centre position.

The servo pot is part of a feedback system, and the pot shaft, [u]is rigidly fixed[/u] to the servo shaft.

The joystick mechanism is not rigidly fixed to the outside world.

Tom..... :)