My 450 has a wobble on the pitch axis, unless 42 degrees of H_PHANG is added. It appears as a rapid clockwise toiletbowl effect, which subsides as H_PHANG approaches 42 degrees. If H_PHANG exceeds 42 degrees, the toiletbowl effect reverses direction. The wobble varies in severity, and can be hidden with various PID settings, however it means the gains are very low.
If I reduce H_PHANG to 0 the maximum RATE_PITCH_P gain is 0.015, but if H_PHANG is 42, RATE_PITCH_P gain can be higher than 0.1.
Now here is the real problem. Changing H_PHANG solves the wobble, but it means foward cyclic gives diagonal forward-right attitude. Seems logical doesnt it? Well if there is a -42 degree phase offset, why does correcting it CREATE a control offset of 42 degrees?
Its as though my APM2.5 is mounted 42 degrees to the chassis. It wants to fly diagonally because forcing 0 degrees H_PHANG causes rate problems.
So far, everything hardware-related seems fine. Swash is perfectly level, dampers are freshly changed, blades balanced..
PLEASE help/comment/suggest :)
I did some light reading today ;) and found some clues as to why this wobble occurs.
Turns out with our semi-rigid rotors there are TWO (2) phase angles at work:
In most semi-rigid rotor systems, aerodynamic forces are dominant therefore gyroscopic forces can be ignored. In some cases gyroscopic forces can get transmitted to the chassis via the main shaft. A classic example of these forces at work is the "toiletbowl" effect that is visible in r/c helis running too low rpm. The aerodynamic forces become inadequate to sustain correct cyclic function, and gyroscopic forces become more dominant.
The recommended fix for this is to either increase rpm (increase aerodynamic force) or decrease damping (reduce how much gyroscopic force gets transmitted). In both instances the root cause for the problem are masked.
What I have been seeing in my heli during rapid angular changes in the rotor disk is a sudden increase in the gyroscopic forces that begin to overpower the aerodynamic forces, and as a result a disk tilt approaching 90 degrees to the direction of commanded disk tilt, based on the magnitude of the force. This appears as a variable phase angle that cannot be compensated for with normal static phase correction.
So I wrote some code :)
All I did was rotate the i-terms in the opposite direction to H_PHANG - meaning only FF, P and D get rotated with H_PHANG while i remains still. The effect of rotating the PID system in this way means sudden cyclic that induces gyroscopic forces are rotated to prevent unwanted disk tilt, while the slow component (i) that relies only on aerodynamic forces gets left alone.
I've tested it and it works far FAR better than I thought it would. In fact, there is no wobble at all even with extremely low rpm and low gains. Tomorrow I'll start cranking up the gains into space!!! :D
I think its important to note that this entire "issue" isnt really that big of a deal. The heli flies great, better than it ever did with zyx. Almost as good as MSH Brain.
But thats not the point. We need more gain and more refined flight from this code :)
The "agility" code you were talking about in the other forum sounds enticing. Since this wobble I have is only on sudden inputs, It would allow me to add tons more gain. Then we would have an extremely locked in FBL unit.
So weird. Have your tried with a higher head speed? You're running super low right?
I just found that changing feed-forward gains to 0 solves the problem. Now I can fly around fine with 0 H_PHANG, as long as there is no FF.
So the problem still exists, but I can work around it. Weird huh?