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. The script takes two parameters deadband and saturation limit which it uses to build a 4-point virtual curve. The actual arguments are provided by transmitter controls and can therefore be varied in flight.

The script reads the elevator stick value and applies the virtual curve. The result in range -100 to +100 is passed to a regular mixer. Finally, expo and volume are applied, their values supplied via transmitter controls. (Note that expo works best with values from -100 to +100, so the volume scaling must come after expo is applied. Fortunately this corresponds to OpenTx's order of processing, which means that expo and volume can be applied in the same mix.)

Snapflap mix operation

User interface

With four parameters to adjust, careful consideration should 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

Finally

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.

Links

No comments: