This thread is privately moderated by Miami Mike, who may elect to delete unwanted replies.
Aug 19, 2018, 08:38 PM
e^(iπ) + 1 = 0
Mini-HowTo

# An alternate elevon setup for OpenTX

When the OpenTX Wizard creates an elevon mix, it looks like this:
Code:
```Inputs

I2:Ail Ail Weight(+100%)
I3:Ele Ele Weight(+100%)

Mixers

CH2 I2:Ail Weight(-50%)
+= I3:Ele Weight(+50%)
CH3 I2:Ail Weight(+50%)
+= I3:Ele Weight(+50%)```
The weights are set at 50% so that the combined effect of the mixes for each channel won't exceed ±100% and cause clipping. That's important because when a channel mix reaches ±100% its control surface is at its limit and any further stick movement away from center won't result in any additional control response from that channel. For a more detailed explanation of this, please see this post, which includes a graphical illustration.

However, a 50% weight for the aileron input and a 50% weight for the elevator input isn't necessarily the best combination for a slope wing. The sum of the two weights should never reach beyond ±100%, but that doesn't mean they have to be equal to each other. In the case of my Weasel Trek and generally most other slope wings, the best setup will have a lot more aileron throw than elevator throw. In fact, if the CG is forward of but very close to the neutral point, a wing will require very little elevator throw. On the other hand, slope wings are generally more fun to fly with the quick and snappy rolls you can get with extreme aileron throw.

So here's an alternate OpenTX elevon setup that allows you to adjust elevator throw in flight and get it just right for smooth, stable pitch control, and as you adjust it, all of the available throw that remains will be automatically added to your aileron throw.

Before beginning, copy your current model setup to another model memory so that you'll still have it in addition to the new setup you're creating. If you don't currently have a setup, start with a wing setup created by the OpenTX Wizard and get that working before you modify it. Be sure to adjust the Subtrim, Min, Max, and Direction settings on the Outputs page so that the elevons move in the proper direction, the servos aren't overdriven with the stick in the corners, and the elevons are centered when the stick is centered.

Leave the inputs at 100% weight. The modified mixers should look like this:

This was my original Mixers page setup:
Code:
```CH2 I2:Ail Weight(-100%)
+= I2:Ail Weight(+GV1)
+= I3:Ele Weight(+GV1)
CH3 I2:Ail Weight(+100%)
+= I2:Ail Weight(-GV1)
+= I3:Ele Weight(+GV1)```
As my foamie Weasel Trek aged it gradually went out of trim, and I noticed that a problem arose when I used the aileron and elevator trims (TrmA and TrmE) to correct it. With TrmA and/or TrmE no longer centered, using TrmT to change the ratio of the aileron rate to elevator rate caused an unwanted trim change.

So instead of using the Mixers page setup above I now recommend this slightly more complex setup, which will allow you make the TrmT adjustment without affecting your trims, even when they're off-center:
Code:
```CH02 (REV)     [I2]Ail Weight(-100%) NoTrim
+= [I2]Ail Weight(GV1) NoTrim
+= [I3]Ele Weight(GV1) NoTrim
+= TrmA Weight(+25%)
+= TrmE Weight(+25%)
CH03 (LEV)     [I2]Ail Weight(+100%) NoTrim
+= [I2]Ail Weight(-GV1) NoTrim
+= [I3]Ele Weight(GV1) NoTrim
+= TrmA Weight(+25%)
+= TrmE Weight(-25%)```
This is actually an adaptation of the technique used by Mike Shellim to solve a problem with aileron differential. In general, it seems that in cases where a setup works properly only when the trims are centered, a general solution is to set Include Trim to No and then add those trim offsets last.

Continuing:

GV1 will determine the weight of the elevator mix, and in this example it will be restricted to a range of 10% to 50%.

The elevator weight will be adjusted with the throttle trim, up for more throw and down for less. (This can be reversed if you prefer. If you want it to work the other way then post below and I'll explain how.)

There's a difference between OpenTX versions 2.1 and 2.2 in the setup to adjust GV1.

For version 2.1 you'll need to create an input with TrmT as the source, a weight of half the adjustment range you want (which for a range of 10% to 50% will be 20%), and an offset equal to the midpoint of that range (which in this case will be 30%):
Code:
```Inputs

[I2]Ail  Ail Weight(+100%)
[I3]Ele  Ele Weight(+100%)
[I5]Elwt TrmT Weight(+20%) Offset(30%) ← Create a new input like this for an elevator weight range of 10% to 50%.```
Then create a special function to send that input value to GV1:
Code:
`SF1 ON - Adjust GV1([I5])`
For version 2.2, set limits for GV1 on the Flight Modes page:

Then create a special function to adjust GV1 with the throttle trim:
Code:
`SF1 ON - Adjust GV1:Ele (TrmT)`
After you've adjusted the elevator with the throttle trim, if you find that there's more aileron throw than you want then you can add multiple rates to the aileron input, but I've found that adding lots of exponential works better for me. In any event, there shouldn't be any need to add multiple rates to the elevator input. Just keep the weight at 100% and adjust elevator throw via the global variable.

Last edited by Miami Mike; Oct 13, 2019 at 10:54 AM.