FRSky X8R receiver question

Cant get your radio to work? General Hardware issues?
Post Reply
aeroanpl
Posts: 3
Joined: Tue Nov 07, 2017 2:14 pm
Country: -

FRSky X8R receiver question

Post by aeroanpl »

Hello all
I am an undergrad aerospace engineering student working on a project at my school which involves converting the output from an frsky-X8R receiver (5 channels) from a square wave PWM signal to a 0-5V DC signal.
This is being done by an electrical engineer more talented than myself, based on information about the PWM waves I gathered using an oscilloscope we have in the lab. He now requires more information that I can't figure out how to work out for myself:
He wants to know if all the channels are synchronized, in terms of their rise time.
Is there a way for me to check this, or does anybody know about this receiver if the channels are synchronized or not?
Thanks in advance for any help, greatly appreciated.
Happy new year to all!

User avatar
MikeB
9x Developer
Posts: 17992
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: FRSky X8R receiver question

Post by MikeB »

Well, if the 'scope is dual trace, just put servo channel 1 on one trace, and see how the other channels are timed relative to that one.
If I was to try to answer the question, that is what I would have to do.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
aeroanpl
Posts: 3
Joined: Tue Nov 07, 2017 2:14 pm
Country: -

Re: FRSky X8R receiver question

Post by aeroanpl »

I'll try to do that, thanks!
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: FRSky X8R receiver question

Post by Kilrah »

Note that the behavior may vary between different receiver firmwares (notably EU/rest of world) so be sure to check in all configurations you intend to support.
User avatar
Escrich
Posts: 12
Joined: Tue Feb 27, 2018 9:09 pm
Country: Spain
Location: Spain 28500

Re: FRSky X8R receiver question

Post by Escrich »

hi Aeroampl, i go to give you a generic answer, yo have pulses from 1100 uSecs. to 1900 uSecs., on each channel every 20 mSecs., once the channel one receives the burst, starts the two, then the three and so on, no channels starts receiving his signal at same time, just one after other, convert the servo signal to pwm, it's too easy, easiest way, Arduino or any other Atmel uController, look:

//Lectura de la entrada de pulsos desde el receptor
EntradaPulsos1 = pulseIn(In_1_RC_Channel_5, HIGH, 50000); //Lectura del pulso de entrada 1 sin timeout o con 50 mS de timeout
EntradaPulsosReal1 = EntradaPulsos1; //Guardamos el valor real de la entrada 1 de impulsos antes de corregirlo

Sorry to have it in Spanish, in the variable EntradaPulsos1 you have a value between 1100 and 1900 or zero, if the emmiter is off, i always scale this signal, like here:

if (EntradaPulsos1 < servolimitLow)EntradaPulsos1 = servolimitLow; //Vigilamos los limites de la señal de entrada 1 y los ajustamos si están fuera de rango
if (EntradaPulsos1 > servolimitHigh)EntradaPulsos1 = servolimitHigh;

look at the alarm generation, using the lack of pulses on channel:


if (EntradaPulsosReal1 == 0 || AlarmaTemperatura == HIGH || AlarmaBateria == HIGH)ErrorSignal = HIGH;
else
{
ErrorSignal = LOW;
}

now i have a clear range of signal, 800 points i can scale to my PWM signal, and the zero pulse state to generate an alarm, i'm using this program in some devices.

I hope this will help you
Trying to learn something and help the others

Post Reply

Return to “Hardware”