Zaite12, an RC Airplane enthusiast, added a flight system (TwinAir project) to a custom made RC air plane make it safer to fly in the case of engine failures.
Zaite12 and a friend have been flying RC model airplanes for a number of years and have watched many twin engine aircraft tragically crash – mostly due to one engine failing. A plane can be landed safely after an engine fails, but it is no trivial task.
The pair had been talking about building a twin engine airplane and this got Zaite12 thinking about how to more reliably deal with the inevitable loss of an engine. Humans are not reliable enough for this task, but a computer is. He got to work on a system to manage a long list of tasks. While the Teensy 3.1 he started with quickly ran out of inputs and outputs, a Teensy 3.6 had what he needed to make the project happen.
The key features included in the system are:
– PWM edges from the 8 output channels of the RC receiver have to be accurately timed
– Output/control of all servos
– Engine RPM
– Ground logic through the use of a proximity sensor (possibly in future we will use squat switches)
– RPM synchro using a PID loop to make the aircraft “sing” and not “wah wah wah”
– Telemetry downlink and voice annunciations on the FrSky X9D Taranis Plus transmitter we use (e.g. “Right engine fail”)
– Execution flow is critical and must not block for any significant time, under any circumstances, even if a sensor fails or physically disconnects
– Fallback assumptions in the event that one or more sensors fail (e.g. ground proximity)
– Datalogging of all important data for subsequent analysis
Soon the initial design goals were complete and they pair could deliberately cut an engine in flight, the rudder was managed automatically by the new flight system, and the aircraft could still be flown.
Here is an example of the telemetry data displayed on the receiver
In this video their custom RC aircraft experiences a genuine engine failure and they are able to keep it flying.
Code for the project can be found in this forum post.