Failsafe on turnigy evolution
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
- Failsafe: Valid pulse range settings: minimum length: 885, maximum length:2115
- 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.
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%
picture of failsafe channel settings list
Bind with receiver
betaflight will show only 1000 as the minimum, still not good.
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%
picture of endpoints channel settings list
picture of betaflight now showing 900
re-bind with receiver
test 1
- turn transmitter off
- betaflight throttle jumps up from 900 to 1000 (still not good)
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%
picture of the endpoint showing the new -120% value after briefly moving the throttle stick up and back down again.
Press 'setup' to set the new value.
Betaflight shows 900 with transmitter on
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
test
- raise the throttle somewhere just above 1000
xxxxxx picture missing
- turning transmitter off
- betaflight will now show 900 (that's it!)
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
- 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!!!