I’ve got a servo/robotics project that currently suffers from a lack of repeatability and precision. At the moment the project uses a 555 timer circuit and a potentiometer to move the servos. I think the lack of accuracy comes from a lack of precision in the potentiometer (despite what it may say in the catalogue)
What I want to achieve is to be able to reliably move my input device (rotary pot, linear pot or anything else) to a pre-determined position and be confident that the servo itself will move to exactly the same position that it moved to before.
I’m planning to use an arduino to generate the PWM (pulse width modulated) signal that controls the servo. Assuming that the arduino can accurately control the servo, I still need to accurately control the arduino itself. If I try to use a pot, then I’m still likely to have similar problems with a lack of accuracy. I’ve looked at various rotary encoders, but from what I can tell they generate pulses when the knob gets turned, so you can’t actually get an accurate position when it’s not moving, also, I understand that if the encoder gets turned too quickly then pulses can get missed.
In an ideal world I’d like to be able control the servos with a mini-joystick like this one Thumb Joystick - COM-09032 - SparkFun Electronics? but having played with this on other projects I know that it also suffers a lack of precision.
To summarize my question, what’s the best (smallest and lightest) way to accurately control a couple of servos using an arduino?