My rcexplorer style tricopter with all motors on top flew perfectly with the KK2 board, but the Arducopter tricopter firmware doesn't seem to take into account that the mass of the yaw motor+prop causes the tail to initially move in opposite direction that the board wants to correct to. IMHO there should be some (tuneable) deadband in the firmware for this.
With the top mounted motor, I kept getting oscillations at almost all flyable gain values.
To confirm that this was related to the mass of the motor, I mounted the motor inverted and then it flew perfectly without oscillations. However, this setup is far from ideal for sport flying, because the prop is now more vulnerable to hitting the ground, hand launching/catching is more dangerous, and it requires much taller landing gear.
Does anybody know if this can be tuned/fixed somehow? I'd much rather have a top mounted yaw motor.
What is the speed of the oscillations? Right now my tricopter has a slow back a forth motion on the tail servo (yaw stays locked) - I haven't taken the time to try and see if I can tune that slow back and forth motion out.
At first I had a bad fast oscillation problem with the yaw servo - this was a while ago. I changed my tail servo to a better quality/faster servo and that problem went away. I have turned down the Yaw gain a bit because my tricopter would have quite a violent counter reaction after a commanded Yaw event (spin around in circles then just stop the counter reaction was a bit too fast/harsh).
Don't know if this helps or not.
The oscillations are rapid, about the same frequency as that the servo can keep up with moving back and forth. Sometimes the yaw starts out smooth, but at the slightest disturbance, the oscillations start. I'm using a good quality metal gear digital servo without slop already. The issue is caused by the mass movements.
That sounds similar to the first servo I was using. I didn't think about it too much before I replaced the servo with a faster servo. I just assumed since it was a cheap servo that was the problem so I don't know for sure if servo speed was the issue. I just know that the servo I'm using now doesn't have the fast oscillation issue.
In my case according to the servo specs speed changed from 0.13 to 0.07. It may have just been the servo I was using didn't like the update rate.
yeah you are right, I get exactly as you describe turdsurfer also. However I am using Arducopter 3.2 which isn't the very latest. Maybe 3.3 has an improvement? I can't test atm because you need to use Pixhawk hardware for 3.3.
I also used to use kk2 board but switched to Ardupilot for the GPS. I know there are other boards that are better for tricopters also so it must be possible to fix.
However thinking about it, any Tricopter tail working like rcExplorers design is going to have opposite rotation initially particularly if the servo is operating very fast, so I wonder how those other boards handle it so much better? do they perhaps just have slower 'acceleration' of the servo movement to prevent that sudden nudge of the tail side ways. Its a difficult balance, we need to react fast enough to counter the wind to stay on course but clearly a sudden aggressive servo movement is going to have the affect you describe.
I've heard one solution is to have a different mounting for the tail motor so that the servo pivots nearer the middle of the motor/prop weight. However that would need quite a strong shaped mounting bracket , which would probably be heavier than we would like. Has anyone made one of these? well I know someone has, as I read it mentioned previously, but I mean any comments or advice on it?
I noticed in the settings you posted turdsurfer you had your
stb_yaw_p set as low as 1.5
I haven't tried that low, but I have tried a range of 2 to 6, using tx tuning, I have found its affected by the wind when at the lowest, its usable in calm conditions, yes there is less oscillation sometimes none at all, but if something causes it to start it will not settle.down very quickly.
I've also tried altering the other yaw PID, not found anything that removed the problem