I have some very odd behavior when I set SERVO_AUTO_TRIM to enable on my Nano Talon flying the latest release of 3.9 on an Omnibus F4 Pro V3.
At some point in the flight, often at the very end, but not always, the auto-trim sets the deflection to maximum on my ailerons. The plane does not crash but it starts a violent oscillation as the FC fights this full deflection. It seems it counteracts the deflection and then goes back to fully deflected in an oscillating manner. I but retain control in FBW A. I land, reset the aileron trim to 1500 (center) take off and fly and the same thing happens. Here is a pic of the deflection when I land with my radio sticks centered.
It is not spurious – it happens every flight pretty much. Since I disabled the auto trim setting I have no issues. The plane flies pretty well in wind even – it still needs a proper tune, which I can now do as I have solved this issue. It is a well behaved plane.
None of my other planes exhibit this behavior.I wonder if it is related to the small size of the Nano Talon - cannot think of another reason. I think it is worth looking at as it could have some nasty outcomes, potentially.
your SERVO3_MAX and SERVO3_MIN values are reversed. So you need to correct the min and max, this will reverse the travel so you need to correct it again using SERVO3_REVERSE
I guess that threw a monkey wrench in the auto-trim.
I recall using those values to reduce throws and I set them manually and observed the throw. Odd that it would behave properly and restrain Min and Max aileron travel.
Not sure how it ended up like this TBH. I only adjusted the min max to change servo travel limits as in a Nano Talon you do not have many options to reduce physical throws. I never knowingly inverted the min and max on that channel.
In its current form it passes all ground stabilization tests and performs in flight perfectly right up to the point it does not. And if I leave auto trim off it does not have this issue at all.
I will play around with this to see if I can understand it better and how it happened. But logically I think it may make sense to enforce this in Mission Planner or maybe make a simple change to the Auto Trim code to allow it to work in this condition – I can see some basic arithmetic is failing when auto-trim is applied in this state.