Friday, 8 September 2017

Advanced snapflap mixing with OpenTx and Lua

In this post, I'll describe a snapflap mix with the emphasis on 'trimmability'. It offers full control over the snapflap curve, with all adjustments via dedicated controls. The mix is in use in both my Needle 115 and Stribog setups, so is well tested.

F3F turn: Phil Taylor's T-Master rounds base A. Shot at ~6fps.

Enhanced functions

'Snapflap' is of course just a fancy term for an elevator-to-flap mix. The purpose is to minimise drag during the apex of the turn, when the wing is generating maximum lift.

On a decent R/C system the user may adjust snapflap volume in flight. However other adjustments like expo and deadband will typically require reprogramming, which makes it impossible to compare settings in real time.

With OpenTx we can do better! My goal was to be able to adjust the following parameters dynamically, and independently, whilst flying the model:
  • Volume - max snapflap deflection
  • Deadband - elevator stick deflection at which snapflap starts.
  • Saturation limit - elevator stick deflection at which max snapflap is reached. 
  • Expo - snapflap exponential
These four parameters may be represented as follows:

So how do we make these parameters adjustable in flight?

Volume and expo may be implemented using stock OpenTx features. However deadband and saturation limit present a problem: these correspond to intermediate points on a curve, and like other systems OpenTx doesn't allow these to be altered dynamically. However, unlike most other systems, OpenTx can call on a helping hand, in the form of an integrated Lua interpreter. This allows us to create and apply a curve on the fly.

Lua pre-processor and mixing

The first stage of the pipeline is the Lua script. This performs the function of a regular elevator to flap mix, except it takes two parameters deadband and saturation limit whose values are derived from tarnsmitters controls and can therefore be varied in flight.

The script build a crude snapflap curve whichi is applied to the elevator value. The output of the script represents a raw flap command in the range -100 to +100.

Finally expo and volume are applied, their values also supplied via transmitter controls. (Note: expo works best with values from -100 to +100, so must be applied before the volume scaling. This corresponds to the way OpenTx's mixing works, so expo and volume can be applied in the same mix.)

Snapflap mix operation

User interface

With four parameters to adjust, careful consideration must be given to the user interface. I've found the following works well on my Taranis X9D:
  • Volume - adjusted via the throttle trim. 
  • Saturation limit - adjusted via a rotary knob.
  • Expo - adjusted via the right slider.
  • Deadband - preset in the Script menu as I didn't feel it would require much adjustment. In retrospect I feel it should be adjustable and the script could easily be modified to assign it to a control (it's on the to-do list!).

Audio alerts

Audio alerts are triggered when snapflap starts and reaches the maximum. Easily done two logical switches and two special functions. These are a help when adjusting deadband and saturation limit. The alerts can be switched off when not needed.

Sample snapflap curves

Below are sample curves which can be generated by the system (the data was recorded using a second script). These are by way of demonstration only.

In the field

This is the method I use for trimming snapflap:
  • Deadband - set deadband to help suppress snapflap when making minor pitch corrections on the straight. Audio alerts help with this adjustment. 
  • Volume - start with snapflap travel as recommended by the manufacturer, adjust as necessary during flight tests.
  • Saturation limit - set this to match typical elevator stick values when rounding the bases. Audio alerts help again here.
  • Expo - set this to linear (zero) for first flights and tune for a smooth turn with minimal speed loss.

Author's Needle 115 with Taranis X9D


The enhanced snapflap system was easy to incorporate in my existing setups and has proved particularly useful for trimming out snapflap in my Needle 115. Not only has it speeded up the whole process, it has also provided a deeper insight into the adjustments.


No comments: