Monday, 25 February 2019

Crow-aware adaptive elevator trim

Crow brakes are an essential aid on modern F3X ships. However in order maintain neutral pitch trim a compensation curve is required, and this can be a pain to adjust.

In this post, I describe an adaptive trim system which allows the curve to be adjusted transparently whilst flying the model, using nothing more than the regular elevator trim lever.

Landing approach with full crow

Quick revision: crow compensation

Crow brakes are brilliant for increasing your model's rate of descent. However they also generate an unwanted side effect, in the form of an upward pitching moment. To get around this, we typically use a crow-to-elevator mix, together with a curve. The curve is required because relatively more compensation is required at small flap deflections.

Compensation curve on author's Stribog (manually adjusted)

On my F3X templates, as with many high end radios from Jeti and Futaba, the slope of the curve is adjustable in flight. However the intermediate points on the curve must be adjusted manually, which means landing the model each time.

Wouldn't it be nice if we could optimise the whole thing using the regular elevator trim, whilst flying the model? Well, thanks to OpenTx and Lua, we can! The key is to make the elevator trim adaptive.

A better mousetrap

With the crow-aware adaptive trim, the pilot uses the regular trim lever to correct trim deviations regardless of the amount of crow deployed. It really is that simple.

Behind the scenes, the elevator trim lever is radically repurposed. Instead of applying a trim offset directly, it bends the compensation curve. The curve points are selected automatically according to the amount of crow, so the pilot doesn't need to look at the screen.

How it works

The heart of the system is a Lua script. The script runs in the background, waiting for a trim action. When a trim click is detected, the script reads the crow value, identifies the nearest points on the compensation curve, and adjusts those points up or down. It also handles repeats and beeps.

The changes to the curve are reflected in real time in the Curves menu. In addition a custom telemetry screen shows the compensation curve, crow value, and active curve points:

Telemetry screen (X9D, X9D+, X9E). Vertical bar is crow value.

OpenTx Widget (X10, X12S)

Programming discussion alert! For this to work the trim lever must be completely decoupled from the elevator stick so it acts as a dumb on/off/on momentary switch - this can be done within OpenTx (no soldering required!).

Flight testing

For the flight tests I used my Stribog with my X9D+ and a modified version of my F3F template. The model normally uses around 5mm of compensation, however I initialised the trim curve to provide zero compensation throughout the crow range.

During the flight I applied varying amounts of crow, using the elevator trim to trim out any pitch deviations. The trimming process was completed successfully despite a 40 mph wind, and I was able to land the model normally.

During the trimming process, I never felt any need to look at the screen.

Below is a video showing (a) the script running on my X9D+ and (b) the result of the flight test. Note that an early version of the script was used, with 4 points instead of 5.

Download the script

The Lua script and a demo setup can be downloaded here. At the time of writing, the script supports the X9D, X9D+, X9E, X10 and X12S.

Instructions for integrating the script into your own setups are in the script comments. A key requirement is a spare GVAR. If you're using one of my F3X templates, a little creativity may be required to release a GVAR (tip: the GVAR for reverse diff can be freed up with minimal changes).

Note 1 (July 2019): A new version will be released soon which offers the option of using two logical switches to store the trim state, instead of using up a valuable GVAR. It will be backwards compatible with the previous version.

Note 2: As you may have gathered, a good working knowledge of OpenTx is required in order to modify your setups. If you're using my F3X templates, then do have a look at the Excel reference before diving in.


My thanks to Lothar Thole for porting the original script to the X10 and X12S. Also to MiamiMike, L Shems, and hisroyaldudeness on RC Groups for their invaluable input.

No comments: