How do servos work?

Translate This Thread From English to

Threaded View
I'm wondering if anybody here has a link to a website that explains *in
detail* how servos (like Hitec and Futaba) work? I found a few websites
but none of them really dig into the logic of the servo controller.

Here's why I'm asking: when I was first exposed to servos (in an EE
class), I thought that the control was based on the length of the duty
cycle. It wasn't until lurking around here for a while (yay ivy league
education) that I finally realized that it was actually based only on
the length of the positive pulse, hence the name.

So if you send servo pulses at 25khz instead of 50khz, you substantially
improve the torque? This leads to the question, when manufacturers quote
torque in the tech specs, what refresh rate are they generally using?
And also, what is the relationship between refresh rate and torque. If I
double the refresh rate, does that double torque? Or is it log(2)?

Finally, if this is what PWM truly refers to, then when we use a similar
technique on a DC motor (varying the duty cycle by keeping a constant
refresh rate and changing the pulse widths), is that still considered
PWM? Because its really more like duty-cycle modulation, with true PWM
seeming to refer to the scheme that servos use.

So if my understanding is right, how do servos actually work? I
understand that they compare the desired signal to the actual signal,
and I think the response is proportional (?) to the error signal. But
how often does this compare-respond cycle operate...just when positive
pulses are received? If so, then 50khz seems very low to provide the
torque that I know servos have. Thanks for any light you can shed--

Mark

--
|\/|  /|  |2  |<
mehaase(at)sas(dot)upenn(dot)edu

Re: How do servos work?



I meant, of course, "hz" everywhere where I put "khz" above.

Thanks

--
|\/|  /|  |2  |<
mehaase(at)sas(dot)upenn(dot)edu

Re: How do servos work?


There are two varieties of servos, analog and digital. I have not been
inside a digital servo, so all I could offer is speculation. Analog
servos have not changed substantially since the mid 1970's. Mitsubishi
makes an IC that is widely used in the analog servos: M51660L and the
data sheet was avalibble as a PDF file from their website. If it is not,
email me and I will send you a copy.

In a thread a few months ago, someone measured torque vs input data rate
and posted about it. I think it might have been Gordon McComb who did this.

Good Luck,
Bob



Re: How do servos work?



While Gordon was involved in that thread, I believe it was Dan
Michaels who did the experiment and posted the results.  However, I
think Gordon correctly predicted the outcome to a large degree before
the experiment was performed :-)

-Brian
--
Brian Dean
ATmega128 based MAVRIC controllers
http://www.bdmicro.com/

Re: How do servos work?



Thanks for the pointers. I did a little bit of research. Here is a link
to some preliminary tests done by Paul Crouch:

http://www.outsider.plus.com/Overclock_Servo.html

Dan Michaels did a lot of testing with a GSW servo, but didn't test this
aspect too heavily.

Here's a good explanation of the servo, the one that I was looking for:

http://groups-beta.google.com/group/rec.models.rc/browse_frm/thread/66eb0
3c59cafd62b/aba918e5e3636ead?lnk=st&q=servo+torque+frame+rate&rnum=6#aba9
18e5e3636ead

But still no in depth data on torque vs frame rate.

My hypothesis?

The pulse stretcher circuit in the motor doesn't produce square pulses,
instead they seem to demonstrate exponential decay. (If there's an RC
circuit controlling it, which I think there is, then this would be
expected behavior.) So at 50hz, the motor is receiving new input pulses
before the old pulse has completely decayed. So this means that maybe
the motor voltage is about 10% of Vcc. When the frame rate is doubled,
the new pulse is coming in when the motor voltage is somewhere between
20% and 10% of Vcc, say 15%. So if we integrate this function, the
increase in voltage is nowhere near double. So I suppose that the
relationship can be modeled as

t = k log(fr)
or
t = k log^2(fr)

Where t is torque and fr the frame rate (refresh rate).

Maybe if I get bored at work I will put some more thought into this.

--
|\/|  /|  |2  |<
mehaase(at)sas(dot)upenn(dot)edu

Re: How do servos work?

I have seen sites that answer the nitty gritty, but do not recall them.

The reason for this scheme, is that all the pulse widths are encoded in the
packets being sent by the transmitter. There is some sort of start pulse of
some sort, followed by pulses for each servo. The start pulse comes at about
60 hz, the servo pulses are shifted in time relitive to the start pulse.


If yous send pulses twice as fast, you in effect double ( or some increse )
the duty cycle of the current at the motor. I have burned out servos doing
this.


Pulse width is pulse width. I suppose one could get into the semantics of it
all...

I think internally it involved converting the square wave into a saw tooth
wave by integrating it or some such. It was an entirely analog process. The
feedback pot and the back EMF of the motor figured into the analog mixing
internally, if I remember correctly.

Now I have to imagine it is digital in the new digital servos. They can be
parameterized via their signal line, which implies a microcontroller. They
take a much faster PWM rate as well, something like 300 Hz if memory serves.
Digital servos have improved deadband because they can take a single pulse
and act on it instantly.



http://webpages.charter.net/rcfu/HelpsHints/RadioOps.html
http://www.airmedia.se/Receiverfacts.htm
http://www.veetail.com/HowRCworks.shtml



Re: How do servos work?




There is no start pulse - the gap between the "packets" of pulses is used to
delimit the packets.
Early R/C decoders were simple counters, with the outputs of the counter
feeding individual servos - the counter was reset by an RC network with a
time constant less than the inter-packet gap, but longer than the inter
pulse gap.

Deep.



Re: How do servos work?

Yup, my bad, I over simplified things.




Re: How do servos work?


Current PPM decoders still use the RC network to load a single 1 into
the shift register that drives all the servo channels. I bought a Hitec
receiver last summer and opened it up to pick off the serial data stream
so I could decode all the transmitted channels with a single timer.
Other than surface mount IC's and 74Cxxx parts instead of 74Lxxx parts,
the design is almost identical to the ones I messed with in the late 1970's!

I have heard from a friend that did the same thing with a PCM receiver
that the JR PCM receivers also use a shift register to convert a single
output from the microcontroller into the 8 outputs for individual
servos. The microcontroller translates the proprietary PCM data stream
from the receiver into the familiar 1-2mS pulse stream for the servos.

Bob

Site Timeline