www.webx.dk Start page
MY little Radio Control page
EVO trainer UHF wireless

All RC plane instructors know the feeling of having trouble with the trainer cable -
This cable goes from the student RC transmitter to the instructor RC transmitter.
I am a quite active instructor of my local club, so I could really use a cool wireless trainer system,
my old first wireless system was a disappointment, too much interference and low range.
so I decided to make a new try with UHF by modifying  my old student transmitter, from wired to wireless.
(UHF - Ultra High Frequency is the frequency band from 300 to 3000 MHz)

Just a picture to explain what this is all about.

The TX (Student) part:

First I removed the original circuit board, to get a nice clean start.

Then I made a little vero board construction with an Atmel AVR microcontroller Atmega88, and a Micrel MICRF620 transceiver module.
(Transceiver = A single unit that both transmits and receives radio or electronic signals.)
The 4 analogue inputs are connected directly to the centre taps of each potentiometer, the side pins goes to +3.3 and GND
Each analogue line has a 1nF cap. note the 6 pin ISP connector (In Circuit Programming) 
The TX-RX-GND connector is only used for RS232 to a PC for simple debugging.

The AVR run at 3.3V made by a LM2941 low drop regulator (LDO)
On the 3 SPI (Serial Protocol Interface) lines and the RS232 serial line in 3.3V level -
I have 1k8 and 9k1 resistors to lower the voltage into the MICRF620 (2.5V)
The other 4 resistors at the bottom, are 61k used to pull down the signals from the DIP Switch.
The 2.5V for the transmitter is simply made with a 1N4148 from the 3.3V and a decoupling capacitor 4u7.
I have added a minimum load of 3k3 to keep the voltage within spec when the module is in power down mode.
The TX board DIP SW:

1 2 TXPOWER (range min-max) 3 4 FREQ:
off off 400uW (5m-10m) off off secret0.600 MHz
on off 1mW (10m-20m) on off secret1.000 MHz
off on 3mW (20m-50m) off on secret1.400 MHz
on on 10mW (50m-200m) on on secret1.800 MHz

The transceiver module has 7 power levels, but I only use 4 of them to make it simple.
The frequency I use is kept secret for you :-)
The serial format I transmit on UHF is in FMS format (Flight Model Simulator)
The first byte is the sync byte, 240 + number of channels so in my case 246.
The next byte is the buttons on some FMS interfaces, 0 = all inactive.
This data stream is send in 9600 Baud:
246, 0, ch1, ch2, ch3, ch4, checksum1, checksum2
ch1 to ch4 contain values from 100 to 200 corresponds to 1.00mS to 2.00mS
with a resolution of 100 positions from min to max.
since I go wireless I needed to add a safe checksum, and to be FMS compatible
I choose this way:
Now both checksum bytes are within the 100-200 range, and will also show up in the FMS PC screen.

How the ADC result is calculated here only one channel shown:
The cal0min=360 and cal0max=643  // so I get 283 counts from min to max pin travel.
analoggain=cal0max-cal0min;    // find the gain (283 in this case)
if(analog>cal0max) analog=cal0max; //limiter
if(analog<cal0min) analog=cal0min; //limiter
analog=analog-cal0min; // remove min offset
flyder=(float)analog/(float)analoggain; // 0-1 in 32bit floating point resolution
analog=(flyder*100)+100; //100-200  nicely calculated to fit the pin travel

Update speed:
it takes about 9mS to send the serial data, and 4mS to do all the AD converting and calculating,
I have added a 8mS extra loop delay to have a repeat time of about 21mS

I only need 3.3V so by using a LDO anything from 3.3 to 7 V will be fine, so I am just using 4 NIMH cells.
Note the ISP connector extension cord, nice, now I can upgrade the firmware without having to open the cover.

Inside the cover : the ISP wires secured with heat glue, 
note the 3A poly fuse ! to protect charge cable and NIMH cells in case of external short circuit.

Full size Ready done, the wireless trainer is ready for use. the orange wires are the antenna hot and cold part.
The battery voltage indicator is used, I added a 5V1 zener diode and a 3k3 resistor, now the range is perfect for my 4 Cells.
I will have about 56hr TX time at full power, and 85hr at min TX power level, so this battery size is fine for me.

The RX (Instructor) part:

This little circuit board contain almost the same parts as the TX board.
but this one is kept in RX receive mode, the AVR reads and decodes the FMS protocol serial data stream, and generates PPM pulses
exactly as the PPM pulses from all other RC transmitters in student mode. Only if the checksum is correct the PPM will be generated.
The Royal Evo software will automatically switch over to instructor control if external PPM is missing.
(PPM = Pulse Period Modulation) 

The bottom side of the RX board. The beeper will make alarm sound if over 5 UHF frames are corrupted or recieved badly
and then it will stop generating PPM, if only 1-4 frames are bad, the RX board software will generate PPM pulses from the last ok values.
Just like any other PCM digital system or IPD with software generated pulses if some are missing.
The digital PPM signal from the AVR goes into a BC547 NPN transistor, this drives the open collector signal to the Royal Evo.

The RX board DIP SW:
1 2 FREQ:
off off secret0.600 MHz
on off secret1.000 MHz
off on secret1.400 MHz
on on secret1.800 MHz

Making the UHF RX module to trainer EVO9 connection:

The first testing where made with my normal cable and plug connected into the Multiplex Royal EVO transmitter.
I Used Stereo audio cable, RED BLACK and SHIELD

How to set up the EVO software

Settings - Trainer:
pictures and bla bla bla.. look in manual..
Here you assign each EVO input to a trainer output when enabled.

Here a 3 channel PPM signal. a 4 Channel signal just have one more pulse, and so on :-)
The channels transmitted from trainer is defined as channel 1 first then 2 and 3 and so on.
Here all 3 channels are at centre position = 1.6mS each pulse time from edge to edge,
The low pulse width is not critical normally about 400 to 500uS

You can make the trainer control ailerons and elevator only if you like. (good for real green beginners)
The Evo will even trim and remember trims on the trainer !
The EVO switch is intelligent, so it automatically switches trainer off if cable falls out or PPM pulses missing.
Remember the Servo - Monitor only works with trainer signals, if EVO is in RF transmit mode !
more info in the Royal Evo Manual at page 92 and page 93

RX board inside the EVO9

The size of the RX board was intentionally made this small, so it will fit inside my EVO9
it makes most sense to have it here always, so I don't have to worry about it,
just turn on my student transmitter and bingo now my EVO instructor transmitter is ready.
I will change the RX board software to go into power down mode when no good UHF frames are available,
then wake up every 2 sec and check the radio, then back to sleep, so the power consumption will be close to nothing,
but full function and fully automatically. I will make some beep sequences so I know when I have: good, bad or no UHF signal,
Why not use Morse code ? I am a radio amateur so I find this cool, (even Nokia thinks it's smart: the SMS sound is morse)
-.- (K) normally used for OK.
-... (B) for Bad, to warn if 1 to 4 packages are having a bad checksum.
--- ..-. ..-. (OFF) the most important code, send all 3 letters.

Here is a closeup picture of the RX board installation, quite easy to do.

Thomas Scherrer OZ2CPU - May 2006