Posted by Chris Anderson on December 11, 2009 at 10:52pm
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.
Frederic, here's a video showing the correct behavor. If yours isn't doing this, then it may not have had its firmware loaded at the factory. You can send it back to be fixed, or do it yourself if you have an AVR programmer.
If you want a quick fix and the outputs of your r/c receiver occur sequentially "OR" the signals together using either an "OR" logic gate or attach each recevier output to one terminal of a diode and the other end of the diodes to a resistor attched to ground (see the image). See the link and attached image for details. Of course if your receiver outputs signals all at the same time then this wont work. If it doesnt your problem should be fixed assuming your input capture interrupt can handle the new PPM
Well, honestly, I wish I could worry about the output... The point being that the led is solid blue and if I recall well, it should be blinking when it sees that all the channels are connected and the internal clock is working. I checked that all channels respond to the xmitter by conecting servos. The PPM converter is getting a clean 5 volts (checked that too with the voltmeter...). I guess that once I can get over the hurdle of understanding why the inputs are not being recognized, I will put the logic probe to the output....
I just purchased 2 PPM encoder boards from DYI Drones. And I am experiencing the same condition as was described by others here. The board is conneced to a Futaba 6008HS FASST receiver. All 8 channels are connected and tested working by connecting a servo. Channel 3 is connected to the throttle. The board powers up and the blue LED glows steady. I tried setting the throttle as suggested above, but to no avail. I put a voltmeter to the various lines and I see the voltage changing in function of the position of the control. When I measure the voltage at the PPM output line, I get a steady 0.46V. What else can I do? I would really like to wrap this quad up. Thanks in advance,
We're using the ppm encoder in a logging project. For this purpose we don't need any failsafe functions. When a channel is removed we still want to log all other channels. How can we change the software to achieve this?
Furthermore we want to be able to attach servo inputs after the starting up process. So a channel or the whole ppm encoder output should never disable (e.g. failsave or last value captured) itself completely.
Thanks Jordi,
That would be great. Are there any tests that i can do now to test functionality. All 8 PWM inputs are 5V when the rx is completely disconnected. Is this trypical behaviour?
Nick
I have recentrly purchased the PPM Encoder from DIY Drones site. However I have a similar problem to the others as my LED light is on continuously even when i turn on my transmitter. I am following the ArduIMU Quadcopter project making my own quad so I am only using 4 channels. Is it necessary to connect the Gear channel of the receiver to channle 8 of the PPM encoder? Is it necessary to jumper the unused channels (channels 5-8)? I also have the same board as the picture in the blog post so I have no crystal. Does that mean that I have to reprogram the board with the a new hex file? If so do i need an AVRISP or can i use an FTDI cable?
Any help would be greatly appreciated.
Nick
Hello JORDI, I connected my programmer on the multiplexer, and I have make a reading and there is no program inside, I am ready to charge the program that you sent to me, but before I would like to know the configuration of fuse bites, (see the screen printing).
++ DODY
Comments
Frederic
We're using the ppm encoder in a logging project. For this purpose we don't need any failsafe functions. When a channel is removed we still want to log all other channels. How can we change the software to achieve this?
Furthermore we want to be able to attach servo inputs after the starting up process. So a channel or the whole ppm encoder output should never disable (e.g. failsave or last value captured) itself completely.
Thanks a lot in advance.
That would be great. Are there any tests that i can do now to test functionality. All 8 PWM inputs are 5V when the rx is completely disconnected. Is this trypical behaviour?
Nick
I can PM my address and i will check it for you...
Regards.
Any help would be greatly appreciated.
Nick
++ DODY