Using a Futaba FASST internal RF board

Like B&Q for homebrew radios
Post Reply
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Using a Futaba FASST internal RF board

Post by MaxZ »

Hi,

I am building Phil's DigiSpark 3-channel propo encoder for a friend who is converting an old Robbe Kompakt 2ch to 2,4 GHz (and 3ch). He will be using a Futaba internal 2.4 RF board. Can someone confirm that the PPM config. (positive or negative pulses) is suitable with the sketch as is? I had a bad experience with my Flysky RM0003 module which needed the opposite of a RM0002 as it turned out, so I'd better ask since I will not be doing the conversion myself, and reprogramming afterwards is a bit of hassle when everything is soldered up. So my question concerns the Futaba module (out of a T6EX Tx).

Cheers,
Max.
Last edited by MaxZ on 20 Jan 2020, 20:19, edited 1 time in total.
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using FASST internal RF boards

Post by MaxZ »

I have tried to find some info on the old Futaba internal RF board, among which here: https://www.rcgroups.com/forums/showthr ... ransmitter
They seem to suggest that the RF board is sensitive to the width of the pulses, quoted figures are 400-480 us.
I see in your sketch that you use 300 us if I am correct, would there be any problem to experiment with longer pulses within that range?

Cheers,
Max.
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using FASST internal RF boards

Post by MaxZ »

I am getting more and more convinced that I should in turn convince my friend to drop the idea of using the T6EX RF module. Somewhere else on RCG I found a report of a person messing with the ppm pulse train, and he found that even on the 6ch Tx, the internal ppm is 8ch, and the RF would not work without those 8 channels.
https://www.rcgroups.com/forums/showthr ... 7-channels
So the current sketch won't work with the T6EX RF board, unless the missing 5 channels are added (which I'm not prepared to embark on..).

Cheers,
Max.
Last edited by MaxZ on 20 Jan 2020, 20:11, edited 1 time in total.
User avatar
Phil_G
Posts: 597
Joined: 15 Feb 2018, 23:32
Contact:

Re: Using FASST internal RF boards

Post by Phil_G »

The very first S/C emulation encoder I ever did, back in 2009, used a Futaba 6EX FASST RF board and 415uS pulses. This was prior to the Frsky betas and was the forerunner to the current S/C encoder, the one demo'd to Shaun in 2009. I remember the secondhand FASST board was expensive, but it was early days.

On the 2.4 FASST RF board Futaba use the PPM pulse width (which if course isnt normally part of the timing) to control failsafe position and RF output power, so you need to replicate the 'normal' mode pulse widths.
I based the 415uS timings on the Multiplex project "Legacy Radio Going FASST" documented on RC Groups in a thread started by Julez in 2007:
https://www.rcgroups.com/forums/showthr ... ransmitter
It worked perfectly but I never flew it, I was never confident with the PPM constraints, even though they got away with a very crude 555 timer arrangement in their version 1. In fact I still have it in my stash somewhere, and also a couple of spare FASST boards. The article does state that PPM polarity doesnt matter.

If you notice, in the Attiny version they use the schottky-diode method to emulate an open-collector drive, just like we had to do with the V8 Frskys and the Coronas. The 555 version is simply 5v PPM pulses via a 1k resistor (which I think is what I did). All my pulses were fixed at 415uS, no variation, so it was permanently in 'normal' mode - no failsafe or low power. I think it worked ok with just 4 channels. My old PIC experiment appears to be a 'work in progress' as compound mode sends 4 channels and sequential sends 8 - must have been some sort of channel count test I was doing at the time.

Here are some notes I copied from somewhere (it was 11 or 12 years ago...)
It suffers from a bit of dodgy translation... but the jist is there

Code: Select all

<400us     Transmitter remains in the operational error flashing mode
400-420uS  operating mode with no fail-safe
425-440uS  secure Failsafe mode with adjusted Failsafe value on channel 8 
445uS      Transmitter diodes flash, when like if them in the power down mode
 would be. Whether that the case is real could not because of to large housing 
 ranges despite walls not be verified. And also not yet whether that switches 
 off automatically power down. The second COUNT down bleeper does not 
 function anyhow


Whether o.a. the values still tension and temperature influences are not subject 
are at present well-known. Since it more meaningfully is rather in " for problems; 
Not Failsafe" - " range as in; PowerDown" - Range to come is recommended the 
pulse width rather to the 425µs to select thus approx. 430µs and NOT 440µs. 

Attention, from this follows because of " Battery Failsafes" in the receiver:
If Failsafe generating pulse widths > 420µs is transferred, is it because 
Grundsender longer impulses has or evenly a inpulsverlängernde circuit is 
used as by Christian. So 3 compellingly gas/Steller must be attached to plugs. 
If the elevator would there e.g. be as with Graupner, with receiver undervoltage
 on one for the model lethal excursion would be rather surely. Means vice versa: 
 If one wants to use such T6-Adaptationen with the original model attitude 
 reached with 35MHz, the pulse width under 420s MUST be; thus like e.g. with 
 the simple inverter and the mc22. 

72=450
70=435 failsafe works, low power
69=425 failsafe works, full power
68=420
To be honest its all a bit hazy now, its been so long since I used a commercial radio that I cant even remember how to bind a Futata FASST receiver.
It is perfectly doable, just dont go below 400 or above 425 uS, but its a lot of faffing about compared to current modules :D


EDIT:
Hi Max, I'd nowt else to do tonight so I dug out an old FASST RF board, patched the 12-year-old fasst variations into the current S/C encoder, and it works great. The green LED on the fasst board indicates that its in full power, 'normal' mode which is good, and this confirms that four channels of positive-going PPM with 415uS pulses works just fine. It wasnt as much of a faff as I remembered after all. The main board of the 6EX is actually a carrier, if you were enthusiastic enough (I'm not) you could separate them and just use the smaller board. You'd have to provide the regulated 5v of course, and the two leds. The arduino could supply 5v straight from the rail (if it has the larger regulator). I didnt bother, I just wired the carrier board.
I'd say its definitely a go-er. In fact I might use it for a project - I've a few R617's.

Which encoder is your friend going to use?
the 7ch update optionally does 400uS or is easy to change to 415... likewise the Reeduino is easy to change too.
Cheers
Phil





Cheers
Phil
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using FASST internal RF boards

Post by MaxZ »

Hi Phil, thanks so much for testing the set up! I had already given up on the T6EX RF board, and told my friend it was not going to work, but I'll bring him the happy news rightaway.
The Robbe Kompakt he wants to convert is a 2 stick 2 channel affair, but he wants to change the throttle stick to be self-centering, and add a third pot for throttle control. The encoder we want to use is the DigiSpark 3-channel propo encoder.
As far as I can see, this encoder generates 6 channels, right? When I change the pulse timing, which I guess is just a matter of changing the "ppmPulse" constant (although it has not been defined as a static int, which makes me a bit uncertain..) from 300 us to 415 us, I am adding 7x110=770us to the total, but the frame rate of 17000 us still seems ample for that, unless I am missing something.
Onwards and up!

Cheers,
Max.
Last edited by MaxZ on 21 Jan 2020, 12:19, edited 1 time in total.
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using FASST internal RF boards

Post by MaxZ »

Phil_G wrote: 21 Jan 2020, 10:19 Yes if you add 115 to each pulse then you need to subtract 115 from each channel to compensate.
To do this just change the definition of neutralPulse from 1200 to 1085, that should do it.
Or preferably 'neutralPulse = 1500 - ppmPulse' which is the same thing but nicer.
I'll try it later. Frame rate isnt critical, I always aim to keep it slightly below 20ms.
Yes, of course, the relevant servo pulse timing is from rising flank to rising flank of the ppm (or both dropping flanks), so you have to compensate for any changed ppm pulse timing.

Cheers,
Max.
User avatar
Phil_G
Posts: 597
Joined: 15 Feb 2018, 23:32
Contact:

Re: Using FASST internal RF boards

Post by Phil_G »

OK i tried the 3 channel DigiSpark with the FASST RF board and it works great.

There are a few changes to make where there are hard references to the pulsewidth:

In the variable decarations, two changes: ppmPulse = 415, neutralPulse = 1085
Edit: neutralPulse = 1500 - ppmPulse

In the "// format the frame" section, the reversing line, change 2400 to neutraPulse*2

[see edit below]
3ch_fasst_digispark.jpg
;

...also...

this line in "//Format the frame":
channel[ch] = constrain(channel[ch], neutralPulse-600, neutralPulse+600);

also in the mixer:
channel[5] = channel[4] + (.4 * neutralPulse*2) - channel[5];


I will make these last ones permanent changes to the file, for neatness I should have referenced "neutraPulse" in the first place. With these changes it works great. After a brief red/green flash, make sure the green LED on the FASST board goes solid, if you're too close to 400uS it flashes which isnt mentioned in the T6 documentation so best avoided unless we find out what it means ( I think "error")

Not being certain of the FASST board circuitry, I think I'd suggest 1k protection resistor in the PPM line, just to be safe. I didnt and mine was ok, but it was only a brief test.

I since had a few times when the green LED would flash on power-up. Mostly it would settle on solid, but occasionally it would stay flashing rapidly.
So I made up an encoder with a pot controlling the PPM pulse width from 350 to 450uS.
I paralleled the PPM meter and the FASST module with a Y lead, and what I've found is that it actually changes mode AT 410uS. At 408 it flashes every time. At 412 its solid every time. This is utterly repeatable.
So I suggest a value of 415. I'll edit this into my previous posts.

With the slight variations of clock speed between DigiSparks, I would check the completed encoder is actually generating 415uS pulses.

Cheers
Phil

Edit: I've tidied the 4ch and 3ch DigiSpark encoder sketches to simplify changes like this.
No code changes but using derived values rather than absolute, for example
int ppmPulse=300, neutralPulse=1500-ppmPulse; // rather than neutralPulse having an absolute value
also the absolute values in the mixer, reversing & constrain stages mentioned above now use derived values.
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using a Futaba FASST internal RF board

Post by MaxZ »

Some results of the "newmap" version, pulse timimg adjusted for Futaba module:

Ele/Thr/Rud/Ail calibrated at 1066 us/ 1450 us/ 1837 us with slight variations (no mid for Throttle)
Frame rate varies, especially with Rud/Ail. Lowest seen is about 17460, highest 18420
ppmPulse (set at 415) 402 us

Now that raises the question how that should be changed to 415 effective. I could simply specify 428 us and check if the result is around 415 us, but the channel pulses would be out by the same amount. Nothing dramatic, but there is some comment in the sketch re adjusting the OSCCAL value. The whole line is commented out, should I reinstate it and fiddle the number (98)?

I am measuring the ppm stream with Phil's pulse analyser: viewtopic.php?f=41&t=155&start=10, based on a Nano board.

Cheers,
Max.
MaxZ
Posts: 330
Joined: 31 Jan 2019, 11:48
Location: Boskoop, Netherlands

Re: Using a Futaba FASST internal RF board

Post by MaxZ »

Phil_G wrote: 22 Jan 2020, 17:59 OK Max, glad you have it sorted.

I have a small 'calibration' sketch that I run on all the DigiSparks I send out.
I trim osccal until the timing is spot on, then note the osccal value, and patch that into the encoder sketch.
If your pulses are too wide, increase osccal, too narrow, reduce it. I start at 100 and trim, adjusting in 5's
then by 1 to get it as near as poss. Around 100 is common.
Its trial & error as the frequency change isnt directly proportional to osccal, its not linear,
but a lot are bang on & dont need osccal.
Cheers
Phil
Done. One board was spot on without calibration, for the other I had to get the OSCCAL value down to 77 to get it right.

Next up: install it in the donor Tx. That will not happen before sometime next week, due to other pressing business for my friend.

Cheers,
Max.
Post Reply