ServoMaster: Future Plans & Crazy Ideas
The cable from the servo controller to the servo has to be very short. The reason for this is that the signal from the controller to the servo is PWM, which makes it prone to degradation and picking up noise. While the regular circuits react to the noise with more or less graceful degradation, noise on PWM signal makes the servos jitter, which in some cases makes them completely unusable. The longer the cable, the higher the chance to render the servo unusable.
There are ways to fight this phenomenon: put a capacitor between the ground and Vcc, put a signal amplifier (a.k.a. servo booster) next to the servo, shield the cable, make it thicker, etc. All these solutions do work to some extent. Depending on the length of the cable, they may or may not be sufficient. But all of them have the same basic problem: they are analog, consequently, they can alleviate the problem, but not eliminate it completely. In my extreme case (a requirement to control a servo that is 100+ feet from the computer), they are unlikely to work (this remains to be seen, but something tells me I'm right :()
So, to eliminate the problem, the paradigm shift is required.
There is a solution that is known to work reliably over reasonably long connections. It is called 1-Wire® Protocol. There is a whole family of devices working using this protocol (here), and the guys did a great job on putting together the API for communicating with those devices (here). These device are controllable, and the whole concept is beautiful.
Getting to the point, I can use a 1-Wire® device to control the PWM oscillator that is, in turn, controlling the servo that is right next to it. The 1-Wire® devices usually have a small footprint and are cheap (the most expensive I've bought so far was under $5, not counting the controller, which is $10), so this solution is just about as good as any other, except one fact: it is reliable and exact by definition. It is digital.
Too bad it is slow as hell. However, there are applications where it is appropriate, so not all hope is lost.
Details are to be defined. Stay tuned.
Several years after this article was written, Nic van der Walt did put together a servo controller based on DS2890 1-Wire® chip. I never asked him if he followed up on this article, or did it all by himself, but knowing him, I may just as well suppose that he did it totally on his own. So, whereas I can't take credit, I can certainly appreciate someone else implementing my dreams and especially donating working prototypes :)