The 200 QXIf you aren't familiar with the 200 QX, you might want to read my review of it.
The critical thing is that it, like other recent Blade quads, has both a stable mode and an agile mode. The stable mode (or modes) has a limited flight envelope, and will automatically return to level flight when there is no cyclic input. The agile mode has no limits on the flight envelope, but won't return to level.
This is a really nifty idea, as it lets the quad have a personality suitable for beginners, flying very much like a coax, as well as one suitable for advanced pilots, allowing acrobatics of various kinds, but requiring some skill to do. It's much better than the solution found on toys of having a flip button.
Stagility modeThe one downside of this is that - well, as you transition from one to the other, you'd really like to have the ability to do some acrobatics in stable mode, or have a open flight envelope that levels itself.
Some bright person figured they could get that if they could get the quad to switch from stable mode to agile mode automatically when it's given cyclic input. This is relatively straightforward - just mix the cyclic input into the channel that controls the mode appropriately.
The badWhile that approach works, there are two downsides to this:
- The behavior is fixed. There are a number of behaviors that might be desirable, and changing between them is generally not supported.
- There have been reports that the quad becomes unstable doing things this way.
An automatic switchIf your transmitter runs deviationTx or similar, then you have the ability to use a virtual channel as a switch. If the value output on the channel is greater than 0, then the switch is on. Otherwise, it's off.
So, the first step is to get the deflection on the aileron channel. That's not hard. The mixer looks like so:
[mixer] src=AIL dest=Virt4 usetrim=0 curvetype=absval points=0
absvalto get its absolute value. Since it goes from -100 to 100, being 0 when centered, this gets us the deflection on the stick.
Second, we want the same for the elevator, which looks surprisingly similar:
[mixer] src=ELE dest=Virt4 usetrim=0 muxtype=max curvetype=absval points=0
maxwhich means the output will be the larger of the output from the aileron mixer and this one. So we now have the larger of the two cyclic deflections.
Last step - let's compare this to some other value, so that it's only positive if the deflection is larger than that value. Instead of hard coding the value into the mixer, we can use the knob next to the flight mode switch, which is AUX5:
[mixer] src=AUX5 dest=Virt4 scalar=50 offset=-55 usetrim=0 muxtype=add
scalersetting to make the value go from -50 to 50 instead of -100 to 100, and then the
offsetsetting to move it to -105 to -5. And the
add, so this will be added to the larger of the cyclic deflections.
So we now have a switch that goes on with cyclic input, and we can adjust how much input it takes to turn it on with the AUX5 knob.
Controlling the modeThe mode is a bit more complicated than before, or the above. The standard behavior uses two switches and three mixers, like so:
[channel5] reverse=1 max=100 min=-100 template=complex [mixer] src=AIL dest=Ch5 scalar=0 curvetype=fixed [mixer] src=AIL dest=Ch5 switch=FMODE0 scalar=-100 usetrim=0 curvetype=fixed [mixer] src=AIL dest=Ch5 switch=FMODE2 curvetype=fixed
We now add a mixer:
[mixer] src=AIL dest=Ch5 switch=Virt4 curvetype=fixed
I added this mixer after the first mixer, so that only the blue mode gets the stagility behavior. If it were added after the second mixer, both stability modes would actually be stagility modes. Added after the last one, and agility mode would also automatically switch to agility mode, for whatever that's worth.
Video proof of workingHere's a video showing off the four different behaviors I use. There are probably more:
The four behaviors are:
- stagility dialed all the way down, and it's just stock high angle stability mode.
- stagility dialed all the way up, and it's an auto-leveling agility mode.
- stagility is tuned by pushing the aileron all the way out, then turn up stagility until it switches to agility mode. This causes it to switch to agility mode when the sticks are at full throw, which usually results in an immediate flip. This is a behavior seen on some of the RTF "toy" quadcopters.
- stagility set somewhere in the middle of the range, and it behaves like the versions that mix the cyclic controls into the mode control channel.
My DeviationTx model
WarningThere are reports that using stagility mode can cause your quad to become unstable in flight. According to the support peopel at Horizon Hobby, this can be permanent, requiring reflashing the quad firmware to fix. While I believe that this variant doesn't have that problem, nobody knows for sure, so understand you are USING THIS AT YOUR OWN RISK.
That said, if you use deviationTx you can download my model for the Devo 10 here.