Sean Breheny wrote: > Hi Ariel, > > It IS actually PWM, just PWM where the maximum "on" time is not 100% > of the period. The frequency is usually around 50Hz, and the "on" time > varies between 1 and 2 milliseconds (which would be 5 and 10% duty > cycle). > > The signal received by the receiver is PPM encoded, but the receiver > converts this into PWM for each servo. Note that unlike regular PWM, > this is not used to directly drive a motor but rather to send a > command. Actually, in most early (non digital) R/C setups the pulse DOES drive the motors directly. The leading edge triggers a monostable whose period is set by the current servo position. An exclusive-or of the incoming and position pulses go to an H bridge, whose direction is set by which edge fell first. The result is pulses to the motor (at the frame rate) that are portional to the position error. I know this because when we were developing C-Leg (prosthetic knee) I raised the pulse rep rate to 300 Hz to get a faster response from the R/C servo we were using to position the hydraulic valve controling the knee. The receiver demultiplexes the PWM (not PPM) train using a simple counter and monostable to detect end of frame (and reset the counter/mux). See figure 2 for a schematic of a decoder. http://www.seattlerobotics.org/encoder/200009/Servos.html Robert -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist