Failsafe on turnigy evolution

From wikipost

I wrote this page to properly get RC Receiver Failsafe working on my quadcopter.


What is Failsafe?

Failsafe (in the world of Remote Controlled Planes and Quadopters) is the term used to describe techniques to prevent a device (e.g. the plane/copter or the transmitter) from damaging itself or its environment. Two common failsafe implementations are:

  • Receiver Failsafe

To prevent a plane from flying away when the RC transmitter signal is lost (e.g. when it goes out of range or when the transmitter batteries have depleted).

There is also the possibility that the RC receiver (on the quadcopter) has somehow lost the communications link between it and the flight controller. This could be due to a broken cable, a connector that slowly vibrated out of its socket, or maybe the receiver is stuck in a code loop. Even when the transmitter is still talking to the receiver, the received signals are not being sent to the flight controller anymore.

In both these scenarios (transmitter fail or comms between FC and radio are not working) we can instruct the flight controller to take action. In most cases we want actions to minimise any potential damage to the quad or its environment. The flightcontroller can do fancy things such as;

- wait with taking action for short time to make sure the lost comms wasn't a brief glitch

- set the flight mode into Angle or Horizon mode to level the quad

- gradually take the throttle down

- turn the motors off completely after 5 seconds

- turn on a beeper and/or LEDs so the quad can be easily located


  • Transmitter Failsafe

To prevent the situation where the transmitter doesn't have enough battery power to safely bring back or land a plane. Modern RC Receiver modules are also sending back telemetry to the Transmitter. Usually this is RSSI (received signal strength indicator) and Vbatt (the voltage of the plane's battery). In the latter case it is possible to set up a failsafe for the plane's battery and when triggered, will sound an audible alarm on the transmitter whenever the plane's battery has reached a certain minimum voltage.



On this page I mainly focus on Receiver failsafe when the link with the Transmitter is lost.


Modern RC receivers often have failsafe features built in. This will allow certain values to be communicated to the flight controller whenever the link with the transmitter has been lost. With my Turnigy Evolution I configure these failsafe settings in radio's menu system and then store them into the receiver module when I bind with it. Binding usually only needs to be done once; both the radio and the receiver will remember their settings when powered off.


Below, we demonstrate the default behaviour when no failsafes are set, why just setting failsafe isn't enough, and lastly, the correct way to get the flight controller to detect Receiver Failsafe from a lost transmitter signal.



Transmitter: Turnigy Evolution Receiver: Turnigy iA6C Flight controller: Seriously Pro F3


Step 1 - Reset Endpoints and Failsafes and demonstrate the problem.

In the transmitter settings, set:

  • all endpoints to 100% (low) and 100% (high)
  • Subtrim all to 0%
  • Failsafe for all channels to OFF

Then do an RX-bind to set these values in the receiver


In Betaflight:

  • Configuration: ESC Motor features: set Minimum Throttle to 1035 and Maximum Throttle to 2000

Bf 01-esc.png

  • Failsafe: Valid pulse range settings: minimum length: 885, maximum length:2115

Bf 02-failsafe.png

  • safe and reboot fc in betaflight


First test:

- with the throttle at the minimum position, betaflight will read 1000

- turn off the transmitter

- betaflight will STILL show throttle at 1000.

Bf 03-throttle1000.png


Second test:

- turn the transmitter back on

- arm the quad (remember, no props!)

- raise the throttle lightly (you may need to hold the quad in your hand as otherwise the motors can spin out of control)

- turn off the transmitter

- the motors will continue to run, failsafe does not kick in.


Although this is default behaviour, it will not allow detection of a lost transmitter signal to the flight controller and could potentially mean your quad will fly out of control if the signal is lost.



Step 2 - Set up failsafe on the transmitter and bind the receiver

In the failsafe menu, set the value for channel 3 to -100%. Notice how you cannot get the indicator bar any lower and into the left pocket.

picture of setting failsafe to channel 3 (throttle) at -100%

TE menu 01.jpg

picture of failsafe channel settings list

TE menu 02.jpg

Bind with receiver

betaflight will show only 1000 as the minimum, still not good.

Bf 03-throttle1000.png

Don't worry if you are no longer able to arm the quad, we'll get to this at the end.



Step 3 - set endpoints

set Channel three minimum value endpoint to (minus) 120% (the maximum value I could set)

picture of setting ch3 minimum endpoint to -120%

TE menu 03.jpg

picture of endpoints channel settings list

TE menu 04.jpg

picture of betaflight now showing 900

Bf 04-throttle900.png

re-bind with receiver


test 1

- turn transmitter off

- betaflight throttle jumps up from 900 to 1000 (still not good)

Bf 03-throttle1000.png

Don't worry if you are no longer able to arm the quad, we'll get to this at the end.



step 4 - re-set endpoints

Enter failsafe menu for ch3. Notice how the indicator bar has now moved into the left-most pocket.

Initially it will show -100%, but when you move the stick, it will go further down to -120%.

picture of the endpoint showing the original -100%

TE menu 05.jpg

picture of the endpoint showing the new -120% value after briefly moving the throttle stick up and back down again.

TE menu 06.jpg


Press 'setup' to set the new value.


Betaflight shows 900 with transmitter on

Bf 04-throttle900.png

turning transmitter off, leaves value at 900 (almost there)



- now enter endpoints menu and set back to 100%

xxxxxx picture missing

- betaflight will show minimum value with transmitter on at 1000

Bf 03-throttle1000.png


test

- raise the throttle somewhere just above 1000

xxxxxx picture missing

- turning transmitter off

- betaflight will now show 900 (that's it!)

Bf 04-throttle900.png


step 5 - update valid ranges

- failsafe settings: set minimum length above the 900 (or whatever minimum value you had) but below 1000.

xxxxxx picture missing

- usually somewhere around 980 is fine.

- save in betaflight and reboot flightcontroller


test

- arm quad (should work now)

- receiver page in betaflight should show 1000 for throttle when at minimum

Bf 03-throttle1000.png

- raise throttle lightly (no props!! hold quad)

- turn off transmitter

- failsafe kicks in, cuts motors and does whatever is configured as failsafe actions

- betaflight should show throttle at the setting we set in step 5

xxxxxx picture missing



Do not bind the receiver again, as this will reset the endpoints!!!