PPM Pulse Positon Modulation
All information on this page is measured from the existing system and the written text is based on assumptions, there is no confirmation from FUTABA for this information. All corrections and additions are welcome.
All today's normal R/C servos (not high-speed digital servos for helicopter tail etc.) that I am aware of are controlled with a pulse length of 1-2ms sent periodically around every 20ms (this value is not so critical). To get a better overview the next image shows a servo-arm related to it's control pulse:
Not all servos deflect to left (when looked from top) with shorter pulse and to the right with longer pulse. Note also that in FUTABA systems the servo center is defined with 1.52ms pulse.
The voltage levels of the control signal (that is usually generated by the receiver) differ from type to type. FUTABA PPM (standard FM) receivers used to have from 0V (low) to almost input battery voltage (high), some FUTABA PCM receivers use from 0V (low) to 3.3V (high). This is a common cause of problems when using these types of FUTABA PCM receivers with some other company servos or speed controllers (I did experience erratic behavior with GRAUPNER/JR servos in conjunction with FUTABA PCM receiver, which made me to look for a reason). All FUTABA own servos or speed controllers seem to work without any problems with the 3.3V control signal.
Now that you understand how a single servo is controlled, comes a question how to control many servos over one communication channel (this is what the R/C transmitter and receiver are doing, as they usually all have 2+ channels that they control over a single radio channel). There are two wide known techniques for this: PPM and PCM.
I will explain PPM first. The name PPM comes from Pulse-Position-Modulation. PPM signal coding is quasi digital, meaning there are only two levels for the signal (high and low), but the pulse length is analog - it is not quantized.
Here you can see a PPM signal measured at 7-channel RC coder chip NE5044 output pin 11 (this chip was very popular in standard non-computer model transmitters in the 90's and is still used in some simpler models today):
Notice the frame length of 18ms (note that this value varies from type to type). With the measured system the signal is repeated every 18ms (so approx. 50 times per second). In a frame you can see the 8 high pulses. As NE5044 is a 7-channel encoder, (maximum) 7-channels are sent each surrounded with a constant length high pulse. The long (approx. 8ms) low pulse at the end of the frame is the sync pulse, also called as reset while it tells the receiver to reset it's channel counter. Here's a better image of the PPM frame:
Channel data is sent as negative pulse width, which length varies. All channels are sent in series after which a reset pulse tells to start counting the channels from start again.
As you can see, the PPM (also called "FM") receiver actually does not have much signal processing to do - just to divide the pulses to each of it's servo outputs and watch out for the synchronization pulse to reset the channel counter.
As already mentioned before, the high signals have a constant length (350µs here as can be seen on the next zoom-in picture. The length varies from system to system, but usually is between 200 and 400µs and stays constant within one system).
No matter what encoding (PPM or PCM) the teachers transmitter is sending out, the signal communication between the transmitters is performed with PPM coding. Pin2 of the DIN6 FUTABA trainer cable is the PPM output, pin3 the input (ground is the shield). Notice that FUTABA trainer port is using inverted PPM coding (the signal in vertically mirrored). Here's the measurement of FUTABA FC-28 trainer port pin2:
In the next picture it will be clearer:
Some FUTABA systems use 0V (low) up to battery voltage (high), some (like FC-28) use 0V (low) 3.3V (high) trainer port signal levels. With FC-28 the separation pulse is 400µs long:
There is one special-case with FUTABA. If using PLL-Synthesizer module, then the signal sent is non-reversed PPM and with split reset pulse as can be seen here:
The reason must be not to generate a single pulse longer as 6ms. Why? Because of system stability? If you have an idea, please post it to me.
Anyway this "special" PLL-module PPM modulation causes some problems:
- . Usually when using FUTABA's PLL-module, you MUST use FUTABA's own receiver
- . When using the system as a student transmitter or with a simulator program you have to remove the PLL-module, as no other transmitter or simulator that I am aware of can understand this special variation of PPM. Even connecting this signal to another FUTABA FC-28 did not work.
As I mentioned at the beginning of the page, there is another well-known coding technique - PCM, Pulse-Code-Modulation. PCM coding is fully digital, it has fixed signal levels and also fixed signal (bit) width.