Digital Servos
2008-10-01 18:38
I have a question on servos.
I've used several types. At least two different pinouts. I've dismantled them, I've modified them for continuous rotation, I've programmed a PWM output from a microcontroller, I've even programmed a microcontroller to decode the incoming PWM from an R/C receiver.
Thought I'd seen it all.
I understand that most of the servos we use around here operate by sending a pulse of 1-2ms in length, notionally every 18.5ms (50 or 60Hz-ish). I've been given to believe that there are digital servos out there which operate at 300KHz-ish. I believe I have some of these, 'cos my servo driver won't drive them.
Info is sketchy on them, but from what I read, I understood that this frequency was actually the update rate of the PID loop rather than the input frequency.
Anyone any experience on this?
These folk say that the control input signal is identical for analog and digital servos. But what's all that nonsense about "programming" a servo? Surely he's talking about programming his R/C transmitter?
There's no way I can drive a PWM of 300KHz from a 20MHz microcontroller. Not with any appreciable resolution.
The servos are "TowerPro MG995 DIGI HI-SPEED" and I've read that they are the worst servos in the world. I'm reasonably sure the pinouts are the same as the Hitec / Futaba standard (sig / +ve / Gnd).
On a lighter note, this guy has too much free time.

Digital servo differences
Digital servos accept the same pulse width and pulse repetition rate as regular analog servos. The differences are :
The higher update rate means the digital servo is typically stronger and faster than the analog cousin. Want your analog servos to perform better? Send them pulses more then every 20 ms, but I think 10 ms is about the limit. Other things, like gyros and motor speed controls don't respond as well to higher input pulse rates.
The programmability part of digital servos can vary from manufacturer to manufacturer, but what it usually means is that you can change the center position, the deadband (stop time period) around the center, the end points,reversing the direction of response. So you are actually programming the micro inside the servo to change its' PWM drive.
If your servo drive ain't making those digital Towers servos move, it sounds like the servos are trash, not the driver. That's what some of those folks messages you posted seemed to say.
The old addage
Thanks.
As I suspected. The high frequency is an internal closed loop control rate.
I wonder now if the servos have lost their default settings (presumably stored internaly in EEPROM), or if I've deprogrammed them by some fluke.
I read a technical paper on the analog servos, too and they reckoned teh original design for the board needed at least 6ms off time after a pulse. The ACOMS R/C transmitter I have sends a pulse every 18.5ms. If I take itup to about 50ms, I definitely loose torque.
The digital servos are supposed to be a drop-in replacement for analog ones. I only bought these because they advertised high torque and metal gearboxes. It would appear I've fallen foul of the old addage: "if it looks too good to be true, it probably is."
Really pissed about this...
76.3 Hz servo update
I've played with IsoPods which can give servo signals off both the PWM pins and the timer pins. In IsoMax, the PWM pins can only be slowed down to pulse at 76.3 Hz (13.1 ms), a bit above the normal 50 Hz (20 ms) update for servos. Initially were tests just to see if the update rate would work, and discovered it was fine. Later noticed the servos seemed to be a bit stronger, faster. It was then it turned up how they worked, The other RC electronics may operate differently, not aceptiong the higher update, and I don't know if digital servos will take the faster update. Will be interesting to try. At least the timer pins can be set down to 50 Hz.
I've heard and seen what you are talking about, servos getting weaker and sluggish with pulses sent at a lower rate. I've known some that use this as a definite stop rather than pulsing 1.5 ms, since that center can drift with supply voltage.