Sunday, 10 May 2015

A better motor arming system for OpenTX

With the high power available from modern e-flite motors, motor safety is of increasing importance. In this post I'll review a couple of so-called safety features, explain why they're actually unsafe, and describe a couple of simple and secure solutions for OpenTx.

Throttle check

On most radios including OpenTx, the first line of defense against accidental spinups is the 'throttle check':

It seems like a good idea... the radio is blocked from transmitting unless the throttle stick is in the idle position. 

There are however a couple of issues:

First, most pilots do their radio checks in the pits. That means the pilot is left unprotected while carrying the model to the flight line - the most risky phase.

Secondly, when checking the transmitter on its own, it's easy to get in the habit of skipping the check altogether, then forgetting when you have the real model.

Throttle lock

Some transmitters offer a throttle lock function, whereby the throttle control can be disabled by a switch. It's better than a simple throttle check. However, it's only secure if the pilot keeps the switch in the correct position. 

Is there a better solution?

Virtual switch

The solution I use (a) doesn't rely on physical switches and (b) can be activated only when needed. To arm the motor the pilot carries out a simple sequence, much like a game controller:
  1. Motor to idle
  2. Up elevator + right aileron, and hold
  3. Pull momentary switch until confirmation (2 seconds)
  4. Release
To disarm the motor, it's a quick pull on the momentary switch. (Some folks prefer that the throttle should be at idle before disarming. No problem, it's just another logical switch or two. This is OpenTX, remember!).

One slight drawback of a virtual switch solution like this, is the lack of a tactile cue as to the state of the arming system. To get round this, the system generates a short beep every 12 seconds while the motor is armed. And if you're using a tx with colour LCD, my ShowItAll widget has an option to display the armed state.

Smart switch

Another method is to use a 'smart' switch. It's just a bunch of logical switch sitting behind a real switch. At startup, the LS reports 'off' regardless of the position of the real switch. In order to arm the motor, an explicit transition is required from off to on. 

This method allows quick arming/disarming, and provides a visual cue as to the arming state. However it's not as secure at the first method, and so is better suited to advanced users. 

Goodbye to startup checks

Using either method, the motor is off by default, so no startup switch checks are needed. (I hate startup checks.)

In the field

Both the above arming methods have been tested with my MPX Cularis. To minimise the risk window, I arm the motor immediately before launching, and disarm immediately upon landing. Very reassuring.


Here's a code snippet for safe arming system. All my e-flight templates incorporate a choice of safe arming gestures.

Taranis and Multiplex Cularis testbed for E-soaring setup


Unknown said...

Using a momentary button for power is a great idea.
I think I will adapt that.

RC Soar said...

Hi Tilman, FYI the code is modified from this virtual latch. The state of L3 would be ANDed with the motor switch.

Miami Mike said...

I'm just getting into OpenTX and currently setting up my new Taranis Plus for a Shadow 2-E. (a 6-servo electric-powered sailplane.) I've looked over your arming system and it sounds great, but I'm worried that if I accidentally pull up the SH switch while flying then I'll have to pull up-elevator to re-arm the motor, and that might be a really bad thing to do if I'm at a low altitude.

I'm thinking of doing something with the right slider (RS) instead. The sequence would begin with the motor control at idle (off) and RS fully down. To arm the motor, move RS fully up, then down to center. With the motor armed, moving RS up would have no effect, but moving it down would disarm it.

I don't know if this is even possible but I'll see if I can figure it out. Meanwhile, I'll keep checking back here. Thanks,

RC Soar said...

A simple solution which I'm already using is to set a minimum pull period on SH, say 2 seconds, so a quick pull won't kill the motor. It'll be integrated in the next versions of E-Soar and ESP. Meantime, the mods are described here

Unknown said...

I can't get the motor to arm using the steps listed above...full right ail and full up the pull switch for two seconds...HELP flying a radian pro..

RC Soar said...

If you're stuck, suggest look at one of the E-Soar templates to see how it's done. Also make sure that your sticks are properly calibrated.

Al said...

Very useful. Thank you.