New product in the DIY Drones store: 8-ch PPM encoder

The best way to read RC signals is PPM, which is a sequential stream where each channel is output in turn on a single wire. But traditionally the only way you can get that is to open up your RC receiver and solder a wire to a special pin. Fortunately the Paparazzi team designed a board that will convert up to 8 channels of regular PWM servo signals to one PPM signal, with no RC hacking required. We've now modified it a bit to work with our failsfe multiplexer and released a version as a DIY Drones product ($24.95).

BTW, the forthcoming ArduPilot Mega will use this technique, as well.

From the product description:"This improved & reduced PPM encoder board, based on a Paparazzi design, plugs into the servo output ports on a R/C receiver and encodes them into a PPM pulse suitable for the paparazzi autopilot and other projects. This allows you to use any R/C equipment with the paparazzi autopilot or read up to 8 servos with a single I/O pin of your uController. Modifications to the R/C receiver are not necessary. Connect the wires from your receivers channels to the PPM and one wire to the PPM in of your system. If you decide to use the tiny board to power the receiver, make sure you put-in a jumper and plug something between the 8th channel and the receiver.

The whole project is based around the ATMEL ATMEGA168/328 AVR processor and all timing is done
within interrupts so accuracy and stability is optimized
It is now also possible to select the PPM waveform shift, negative or positive.

Firmware is free and was created by Hendrix and Moa, with tiny modifications by Jordi Muñoz that allows control an extra failsafe multiplexer.

Views: 8072

Comment by Roberto Hawkowski on December 12, 2009 at 4:38am
This is a very useful product.
There was a dicussion about "Multi-channel RC servo signal to RS232 converter". Your new product is similar one discussed on that blog. May I ask if "8-ch PPM encoder" supports both Type-1 and Type-2 forms of signals?

Comment by 13brv3 on December 12, 2009 at 8:40am
I've done some testing on the universal style PPM converters (QuadroPPM, TT-RecEnc, and Paparazzi), trying to find one that works well with the type-2 form in your example. The one problem they all have is that they can't keep up with the frame rate from the receiver.

In my test, I set up a Futaba FASST 8 channel receiver, with each converter. I put channel one of the scope on channel one of the receiver, and channel two of the scope on the PPM output of the converter. The scope was set for single sweep, with a fairly long timeframe. After a sweep was captured, I counted the number of single receiver pulses being input to the converter, and the number of PPM outputs. Ideally these would be the same, but they're not, and almost can't be.

QuadroPPM- 28 input, 18 output
TT-RecEnc- 28 input, 12 output
Paparazzi- 29 input, 16 output

As you can see, about 50% of the input frames are dropped, which probably sounds worse than it really is. I think the only time you'd ever notice it is when making a very fast stick movement, which should result in a slightly (maybe very slightly) jerky movement of the servo.

Bottom line is that the Paparazzi is as good as any that I've tested for the type-2 form, and it's also small and cheap. I'd like to see someone make a converter that could keep up with the receiver though, because it would make the quadrocopter world happy.

Comment by bGatti on December 12, 2009 at 9:52am
If you write new firmware for this board, it could sell as an 8 output spi servo driver. - or if tx is exposed as serial servo driver etc... multi leg robots and arms use such boards.
Comment by Pbreed on December 12, 2009 at 10:24am
I've done this with a NetBurner MOD5213 going to 115200 k baud serial.
9 Channels at 3 hex digits per channel 10 bit times per byte is * 50 Hz is 13.5 k bit/sec of data on 115200k bits/sec channel so the latency is less than 10%, works with both type 1 and type 2. In actuality the output from my 2.4Ghz spectrum 9 ch reciever is not really exaclty like type 1 or type 2, it has some spread to the output pulse, but multiple pulses overlap.
Comment by Pbreed on December 12, 2009 at 10:57am
I also built the attached little board to provide isolation between the servo drives and the cpu system.
Isolation.pdf I can provide the gerbers or protel source files for anyone that wants it.
Comment by Jack Crossfire on December 12, 2009 at 12:25pm
For the love of God why? Why couldn't they convert it to checksum protected PCM? This is why we don't make any money on this stuff. This economy is completely backwards.

3D Robotics
Comment by Chris Anderson on December 12, 2009 at 12:28pm
Jack, you can covert it to anything you want. The firmware is open source. The hardware will work the same either way.
Comment by Angus Peart on December 12, 2009 at 4:59pm
ArduPilot Mega is starting to sound a lot like the old Paparazzi Classix.
Dual AVR's and PPM servo input...
Comment by Jhon on December 12, 2009 at 11:32pm
why not include this circuit in the arduino mega already? more compact everything.
Comment by Pokoleo on December 13, 2009 at 1:58am
...I was just thinking about the mega, and that I haven't heard about it in a while....


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service