Diff - a better way
Aileron differential or 'diff' is used to counter adverse yaw, by reducing the movement of the downgoing aileron. In this article I'll explain why the behaviour in OpenTx is not ideal, and provide a workaround.
The issue
Consider a model with aileron servos on channels 1 and 2. Here's how you might specify 50% diff on each aileron mix:
CH1:aileron 1
Source=Ail, wt=100, Diff=50%
CH2:aileron 2
Source=Ail, wt=−100 Diff=50%
Diff works as expected, as long as the trim centred. However if trim is applied:
- Diff behaviour is reversed as the stick is moved away from centre in the opposite direction to the applied trim. Diff works correctly only when the stick is moved enough to cancel the trim.
- With the aileron stick at centre, altering the value of diff causes one of the ailerons to move, thereby inducing an unwanted roll command.
Neither of these effects is desirable (though, interestingly, both the Multiplex Cockpit SX and 4000 show similar behaviour).
The workaround
The workaround involves taking trim out of the aileron mix, and adding it back in as a separate offset:
CH1 (aileron 1
Source=Ail, Diff=50%, NoTrim
Source=TrmA, wt=25
CH2
...
The workaround is incorporated in all the RC-Soar templates.
Demo
Load the .OTX file into OpenTx Companion, open the sim, and apply full aileron trim. Then compare the outputs as you move the aileron stick.
- CHs 1,2 show the default behaviour
- CHs 3,4 show the workaround