More about mixers

Mike Shellim 31 July 2021

More about mixers

In this section, we'll look at offset, expo, diff, functions and curves.

Mixer offsets

The Offset parameter is used to shift the mixer output up or down. Offset is applied after weight:

Mixer line value = (Source * weight) + Offset

Offsets are useful when the mix's starts from one end of stick travel instead of the centre.

Example: motor compensation. Motors often produce an upward pitching moment. To compensate for this, it's common to add a 'motor compensation' mix to the elevator channel.

The mixer output must be zero when the throttle is fully back (idle). We achieve this by setting offset = weight. The output will then vary between 0 and (2* weight) as the throttle stick is moved upwards.

In this example, the compensation mix generates up to 40% elevator movement:

MIXERS menu

CH2 (elevator)

Src=Thr, wt=20%, offset=20 -- motor compensation mix

Note: offsets should be used sparingly! Do not use them to make ad-hoc adjustments to servo centres - use OUTPUTS->Subtrim for that.

Mixer curves (diff, expo, functions and curves)

In addition to weight and offset, OpenTx offers one additional parameter from the following list of choices:

The first three options can in fact all be represented as curves - think of them as short cuts to particular curve types.

Including/excluding trims

By default, trim values are included in sources. You can exclude trims on a per-mixer basis by unchecking "Include Trim" in the mixer dialog.

Order of processing

When processing a mixer, OpenTx first applies the function (function, curve, expo), followed by weight, then offset is added, and finally the trim value. The exception to this rule is diff which is applied last. Order may be important when combining operations especially where offsets are involved.

How to set aileron differential

The 'diff' parameter is available in both the INPUT and MIXER menus. So which should you use to implement aileron diff? First, the incorrect way, using INPUTS menu:

INPUTS menu

[I1]Ail

Src=Ail, wt=90%, expo=10, diff=20

 

MIXERS menu

CH1 (right elevon)

Src = [I1], wt=100%

 

CH2 (left elevon)

Src = [I1], wt=-100%

The problem is that diff is applied to the aileron stick, while we want it to be applied to each aileron servo. The correct way is therefore to apply it to the servo mix:

INPUTS menu

[I1]Ail

Src=Ail, wt=90%, expo=10, diff=0

 

MIXERS menu

CH1 (right elevon)

Src = [I1], wt=100%, diff=20%

 

CH2 (left elevon)

Src = [I1], wt=-100%, diff=20%

To summarise: Do not specify diff at the Input level. Specify diff separately for each aileron mix!

TIP: Use a GVAR to supply the diff value. That way, you can set diff for both channels with a single adjustment.

Default mixer settings

When you create a new mix, the initial settings are weight=100% and offset=0, diff/expo=0 and no curve. The source value is therefore passed through unchanged.

Mixer best practice

Your mixing scheme is the heart of your setup and it's important to understand best practice. First of all,