Page 1 of 1

rc model rx

Posted: Thu Apr 28, 2011 10:20 am
by franky
hi at all!
someone can help me?
i would like to do an quadricoper but i don't know how to read a ppm sum signal from the rx..
any idea?
for example whit arduino micro there is a function called pulsin that read the signal.. i need something like that
thanks!

Re: rc model rx

Posted: Thu May 12, 2011 12:57 pm
by echase
Just try goggling for PIC servo. E.g. http://www.mcmanis.com/chuck/robotics/p ... servo.html has a circuit and ASM code.

Re: rc model rx

Posted: Thu May 12, 2011 1:18 pm
by Benj
Hello,

For my quadrocopter I did the following.

PC/Phone -> Bluetooth Dongle -> Bluetooth Module -> RS232 -> ECIO -> Servo Component -> Brushless ECU x 4 -> Brushless motor x 4

The ECIO also had connection to an accelerometer sensor to allow it to detect tilt, roll etc.

This way the ECIO takes full control of the motors to do the balancing and movement etc. All the controller has to do is say what power to send to the motors and the ECIO then takes care of ramping up/down the motor speed and maintaining balance etc.

Re: rc model rx

Posted: Wed May 18, 2011 2:42 pm
by franky
thanks Benj,

but i would like to use the radio to control the quadricopter..

Benj wrote:Hello,

For my quadrocopter I did the following.

PC/Phone -> Bluetooth Dongle -> Bluetooth Module -> RS232 -> ECIO -> Servo Component -> Brushless ECU x 4 -> Brushless motor x 4

The ECIO also had connection to an accelerometer sensor to allow it to detect tilt, roll etc.

This way the ECIO takes full control of the motors to do the balancing and movement etc. All the controller has to do is say what power to send to the motors and the ECIO then takes care of ramping up/down the motor speed and maintaining balance etc.

Re: rc model rx

Posted: Wed May 18, 2011 4:56 pm
by Benj
To directly read the signal from a receiver you are basically looking at the timing for the on and off portions of the cycle.

To do this I would probably do something like this.

Wait for the input pulse to go high, start a timer interrupt running on a fast interrupt frequency, continue monitoring the input pin while counting the interrupts as they occur. When the input pin goes low again disable the timer interrupt and use the count value as your control signal.