Friday 8 September 2017

Advanced snapflap mixing with OpenTx and Lua

In this post, I'll describe an advanced snapflap mix using Lua. It offers full control over the snapflap curve, via dedicated controls.


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

Adjustments

Most R/C systems allow you to adjust snapflap volume in flight. However other adjustments like expo and deadband normally require reprogramming. With OpenTx we can do better! My goal was to be able to adjust all the key parameters 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 are easily done using native OpenTx. However deadband and saturation limit correspond to points on a curve and OpenTx doesn't allow these to be altered dynamically. Fortunately we can use Lua to create a custom snapflap mix with all the adjustments we want!

Lua pre-processor and mixing

The script is supplied with values for deadband and saturation limit (these are derived from transmitter controls). With that it builds a virtual 4-point curve ("virtual" because it's constructed internally, independently of OpenTx curves). The script then applies the curve to the elevator value. The output of the script is a snapflap value in the range 0 to 100%.

The script is assigned as the source of a snapflap mix to which expo and weight (volume) are applied.


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 - supplied as a MAX-based preset value (but it could equally be assigned to a spare control). 

Audio alerts

On my setups, I've configured audio alerts when the snapflap exceeds 5% and 95%. These are implemented using 2 logical switches and 2 special functions.

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:

  1. Volume - start with snapflap travel as recommended by the manufacturer, and adjust later. 
  2. Saturation limit - adjust to match elevator deflection at apex of turn. Practical tests have shown that the optimal value varies according to the wind conditions. Use audio alert as a tuning aid. 
  3. Deadband - set deadband to suppress snapflap during minor pitch corrections. Use audio alert as a tuning aid. 
  4. Expo - set this to linear (zero) for first flights and tune.

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: