Drift of the setting for the idle position of continuous servos

Hi, Pololu Team!

I’m using a continuous rotation servo under control of Micro Maestro and send the commands from a Linux computer via bash with the script from the Maestro manual (this is for motorizing a microscope along the vertical axis). The intention is to keep the setup powered on almost all the time or at least while the computer is on. Overall, the setup works good, and I love how easy was the programming behind it, but I experience a distrurbing issue that gets worse: there is a random drift of the idle position for each servo.

From the Maestro Control Center there is an impression that the setting for idle position should be 1500 or slightly less, but for me it was always less (somewhere in the range 1460-1490) and different for each servo (which is fine). I tested several AR-3606HB and one FS5106R (the last one got uncontrollable on the third use for no obvious reason).

However, my problem is instability of the number for the idle position. The servo can be idle for quite some time with 1488, but then start slightly moving and require sending something like 1480 or 1475. And next it can start moving again. I observed this behavior from very first tests, and initially it didn’t bother me since I can program first sending something close to the idle position like 1485, waiting for some time (didn’t test exact number, but 0.1 or 0.2 s should be fine) and then sending 0 for complete stop (with sending just 0 the servo keeps moving for too long).

But recently my AR-3606HB started acting too random, and sometimes I cannot find the setting for the idle position at all. Today it was like 1420 and then drifted back to 1485. The microscope focusing is a bit difficult to control with such a crazy behavior.

Could you give me a hint at what can be wrong? Sorry, I could not find similar topics on the forum.

Thanks!

Hello.

Analog servos typically have a potentiometer accessible to adjust the neutral position; usually you can find it just above where the wire enters the servo housing. It is possible that the potentiometer is moving over time (e.g. from vibrations in your setup). However, with analog systems, it could also just be affected by changes in the environment. Either way, I would generally recommend using that potentiometer to correct for drift instead of constantly updating your Maestro settings to account for it.

If you keep having problems with it drifting, you might try switching to a digital servo.

Brandon

1 Like

Hello, Brandon!

Thank you for the quick response! The idea about the vibrations certainly makes sense. My housing for the servo makes it difficult to access the potentiometer when the servo is installed in the setup, but I’ll try to check it out somehow.

Your suggestion about a digital servo is really helpful. I just couldn’t figure out what are the practical differences between two servo types when I was choosing the components.

Thanks a lot!