Thread: Capi's Gyro 101
View Single Post
Old 04-07-2009, 07:39 AM   #19 (permalink)
Registered Users

Join Date: Feb 2009

I could be wrong, but I believe your description of the difference between analog and digital servos is incorrect.

Analog servos measure the pulse width and convert this to a voltage which they store in a capacitor. They compare the stored voltage to the servo position and output a 'difference signal' to the motor. They *do* remember the last signal until they get the next signal.

The problem with analog servos is subtler -- they have no history information. All they know is where the servo is and where it should be. Why does this matter?

Suppose the servo is very close to where it should be. The motor will see a very small signal. Otherwise, the servo would overshoot its target and oscillate like crazy.

So suppose the servo is not moving and at 90 degrees and you command 91 degrees. An analog servo will send a very small signal to the motor. But you want it at 91 degrees *NOW*. The servo has no idea it's not moving, it just knows it's only a mere one degree off. It can't send a large signal to the motor because if it always sent a large signal when it was one degree off, it would never stop.

The signal is perfectly correct if the servo was making a large movement and is almost done. But it's totally wrong if the servo is at a stop and needs to make a small movement starting now. The servo cannot distinguish these two cases, and must handle them both the same. You get a small signal to the motor.

A digital servo has a processor that keeps history. It knows the servo is one degree off, but not moving at all. So it can send a powerful, but brief, pulse to get the motor moving *now* and then another pulse to stop it without overshooting. (An analog servo can only send a 'reverse pulse' to stop the motor if it has overshot its target. If you think about it, it should be obvious why.)

In other words, digital servos are smarter about getting where you want them without overshooting. Analog servos can only move with power if they're way off where they should be.

Also, digital servos can take a higher frame rate because they don't have to 'hand off' the signal from an integrator to a storage/comparator. Analog servos have to store the previous signal before they can receive the next signal, so they can't start receiving the next signal until they've moved the newly received signal into the active area and reset their integrator. This limits their frame rate. Digital servos have no such limitation. But this is incidental to why they *move* faster.

Correct me if I'm wrong, I'm going from memory from quite some time ago.
AMA 603884
JoelKatz is offline        Reply With Quote