Author Options:

PPM vs PWM, why choose PPM over PWM and how does PPM work? Answered

I understand the basis of operation of PWM, however, PPM is what confuses me. What is it, and why would I choose to make a system for data transmission using it over PWM? What are the benefits? and also the drawbacks?

I have a Skyfly 6 Ch radio Tx and Rx, it is even remotely possible to squeeze a slow serial data communication (9600 baud) down one of the channels reliably? I was wondering for simple non critical auxiliary mode control, I could have more than one thing controlled by a single channel on the radio, such as lights on or off, acro mode, GPS hold, and GPS return to home mode switch, and other auxiliary things by using a output of a microcontroller to multiplex all of those things with a serial data Tx. I do not want to make any major modifications, possibly use the S video port-like thing on the underside where another slave remote control can go.


PPM = pulse position modulation. If you're transmitting an analogue
signal, the DENSITY of the pulses represents the analogue level. In
radio control the position of the pulse in the frame of the transmission
represents position. The frame repetition frequency in
an RC model system is only about 50HZ, so you can't push data at 9200baud/

There's an argument that model control isn't PPM, because the width of the pulse is significant, even though they are in specific framing period.

By density, do you mean the duty cycle of a PWM cycle? From what it look like, there are an initial 3 pulses a fixed distance apart and a final 3 pulses a fixed distance apart, and as a input is manipulated (possibly though a variable resistor or pot) The distance between the initial 3 pulse and final 3 pulses changes is what is changed. Is this correct?

There is no extra throughput that is gained with PPM vs PWM, as each set of pulses carries one analog value every 16ms, correct? Supposedly this method somehow gains a servo holding power. How can it do that?

No, in true PPM you have a fixed pulse width, but you have more of them the higher the demanded output. Here, you have PWM, but multiple frames of them.

The control signal to the model servo has nothing to do with holding power. It is the feedback action inside the little box that matters.

We are very sloppy about talking about "servos", on Instructables its always taken to mean the little boxes used in model planes. In real engineering a servo is any system where feedback is used to control and stabilise a process. A thermostat in domestic heating system makes a temperature control servo.

Ok that makes sense? But I would suspect that would have a disadvantage at low levels, when the signal pulses are spread far apart, the refresh rate would be low in that case, right? Likewise with high values would modulate as many pulses per unit of time and therefor have a high refresh rate.

If I bypassed the PWM/PPM modulating circuitry entirely and then would I be able to transmit digital serial data? I will probably have to use something like i2C because I only have one spare channel to use and only the transmit channel. Is the 'receive' necessary for 12C to work?

When a Tx species number of channels, does that really mean there are, say, 6 transmitters transmitting at very close frequencies? Or is the modulation necessary to get the signal to the receiver and prevent interference with other non-binded transmitters?

Also, From what I understand, these newer Tx's can actually frequency hop. How does the receiver always "stay tuned" to the correct instantaneous frequency?

Radio comms and modulation schemes are a seriously difficult area of electronic engineering which I studiously avoided for other tricky areas when I was a student. The bandwidth of PPM means that the "refresh rate" is designed to be constant, it is designed to transmit the signal range of interest. Communications theory distinguishes between information and data. For example, human speech takes around 2400 Hertz of spectrum to transmit, but the information content is around 1 or two Hertz

In a standard RC transmitter, data is transmitted in multiple frames, not in different frequencies.

Spread-Spectrum radio ("frequency hopping") is more complex than I care to go into in a brief note like this. Suffice to say the receiver needs to know the pattern that the transmitter is using, which it can do using encoding schemes buried in the data. GPS uses spread spectrum techniques, and the wikipedia article is a good starting point


Ehh. In other words it will be too difficult to mod this, I was hoping for something simple like replacing the switch with a data wire to an arduino or similar.