2.4 GHz radio receivers

Post Reply
chronister
Posts: 14
Joined: Fri Nov 28, 2014 2:17 am

2.4 GHz radio receivers

Post by chronister »

Hi. I found that some of the 2.4 GHz radio receivers will send out all their servo control pulses at the same time -- instead of one at a time like the older radio receivers. Is the MultiWii capable of dealing with this type of radio? If so, how is it accomplished? Thanks for your help.

brewski
Posts: 483
Joined: Tue Apr 29, 2014 12:04 am
Location: Cleveland Qld Australia

Re: 2.4 GHz radio receivers

Post by brewski »

chronister wrote:Hi. I found that some of the 2.4 GHz radio receivers will send out all their servo control pulses at the same time -- instead of one at a time like the older radio receivers. Is the MultiWii capable of dealing with this type of radio? If so, how is it accomplished? Thanks for your help.


I think you are referring to PPM Sum output where all flight controls & Aux functions are sent on one signal + ground cable & 5V servo cable. MW can accept this signal & decode it for the functions but your RX must be PPM output compatible.

chronister
Posts: 14
Joined: Fri Nov 28, 2014 2:17 am

Re: 2.4 GHz radio receivers

Post by chronister »

Actually I'm talking about a receiver that has separate pins for each channel. An example is the Spektrum AR6335. It has a separate connector for each servo, but instead of sending the servo pulses sequentially, like all the old 72 MHz radios, it sends them at the same time, on different pins. It's very easy to interface the old 72 MHz radios with a microcontroller, but I can't figure out how to measure pulse widths when they all come at the same time.

brewski
Posts: 483
Joined: Tue Apr 29, 2014 12:04 am
Location: Cleveland Qld Australia

Re: 2.4 GHz radio receivers

Post by brewski »

If your RX is PPM only & you want to view individual channels try a PPM decoder http://www.nghobbies.com/cart/index.php ... Hi6wBtxnIU . You realy don't need one though because MWConfig shows decoded signals for all outputs so you can see thely the PWM ranges graphically as well as numeric range.

waltr
Posts: 733
Joined: Wed Jan 22, 2014 3:21 pm
Location: Near Philadelphia, Pennsyvania, USA

Re: 2.4 GHz radio receivers

Post by waltr »

chronister wrote:Actually I'm talking about a receiver that has separate pins for each channel. An example is the Spektrum AR6335. It has a separate connector for each servo, but instead of sending the servo pulses sequentially, like all the old 72 MHz radios, it sends them at the same time, on different pins. It's very easy to interface the old 72 MHz radios with a microcontroller, but I can't figure out how to measure pulse widths when they all come at the same time.


That is considered a "standard" RC RX and has a "PWM" output for each control channel. I use this type of RX with MWC and it is the default RX interface in the MWC code.
However, it does not output all pulses at the same time. They are sequenced to each of the RX output pins within an approximate 20ms window.


"I can't figure out how to measure pulse widths when they all come at the same time"
What are you wanting to do??? Measure the pulse widths on an O'scope? Or measure the pulse widths with a micro-controller (Atmega)?
It is easy either way.

chronister
Posts: 14
Joined: Fri Nov 28, 2014 2:17 am

Re: 2.4 GHz radio receivers

Post by chronister »

I want to measure them with a microcontroller. I'm actually using the BasicX24. It's a similar setup to the NanoWii, just using a different microcontroller. I can use the PulseIn function to measure the pulse widths. However, in this particular receiver, the pulses actually do come at exactly the same time, so I have to wait through four of those 20 ms cycles in order to read the four receiver channels that I want to read. It implies that each channel can only be updated once every 80 ms, which is kind of slow. Do you know if there is a better way to do this?

waltr
Posts: 733
Joined: Wed Jan 22, 2014 3:21 pm
Location: Near Philadelphia, Pennsyvania, USA

Re: 2.4 GHz radio receivers

Post by waltr »

Yes there is a better way.
Setup a free running hardware timer.
Run a tight, fast loop which reads to port which has the RX channels connected.
Check for a change in the logic level, low to high is a pulse rising edge (start of pulse), high to low is a falling edge (end of pulse).
On each edge detect read the timer value. For the rising edge store the timer value for that channel. On the falling edge, subtract the rising edge timer value from current timer value to obtain the pulse width time.

This is a very common coding method for micro-controllers. Do not use any of the Basic functions like Pulsein() since these you restrict what the processor can actually do. If you go to an Arduino board then study the MultiWii code to see how its done.

chronister
Posts: 14
Joined: Fri Nov 28, 2014 2:17 am

Re: 2.4 GHz radio receivers

Post by chronister »

Thank you. That is very helpful! I'm going to get the Arduino board and try it out.

waltr
Posts: 733
Joined: Wed Jan 22, 2014 3:21 pm
Location: Near Philadelphia, Pennsyvania, USA

Re: 2.4 GHz radio receivers

Post by waltr »

chronister wrote:Thank you. That is very helpful! I'm going to get the Arduino board and try it out.

Ok, good idea.
Go to the SoR (Society of Robots) web site and check the Robot tutorials and search i/read the forums for more about coding this.
Also do searches for Arduino projects that read/measure servo pulse widths. There is good stuff on this out there.

Post Reply