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:
- Volume - start with snapflap travel as recommended by the manufacturer, and adjust later.
- 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.
- Deadband - set deadband to suppress snapflap during minor pitch corrections. Use audio alert as a tuning aid.
- 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
- Enhanced snapflap script
- Snapflap thread on RC Groups with contributions from Mark Drela and Joe Wurts
- Programming OpenTx - getting to grips with Lua
No comments:
Post a Comment