For the past couple months my quadcopter has been having compass heading problems. Before I updated to arducopter v.3.3.3, the quadcopter was able to maintain its position and alt in loiter mode, the only thing was I was getting tons of EKF bad heading errors which would completely mess up the heading by at least 40 degrees when flying. I fly in alt hold and use simple. After the update I noticed that the EKF bad heading errors went away while flying in alt hold but when I switched to loiter, the quad violently rolled to its right (First time only), now when I switch to loiter it will start toilet bowling then roll right. On diydrones, I was told it was because of large amounts of vibrations in my FC so I replaced the foam tape i was using with a block of foam (pics bellow). I will attach 2 log files from when I switched to loiter.
Any help would be appreciated as I don’t want the quad to fly away if it is switched to rtl,
Did a quick Auto Analysis and looked at the logs real quick. Compass offsets are huge. Mag field is also way to high. And the vibrations on the FC are very high. The Y axis was really bad. Need to get the compass and vibrations under control in my opinion.
David R. Boulanger
I have a F450 just like you do. My Pixhawk is mounted on the little foam pads that came with it. My props are balanced and everything on the copter is held on tight. Maybe also try recalibrating the compass. You may have something around the compass that’s causing interference also, but I really don’t know that. Your vibration problems and compass needs to definitely be improved. Your tuning seems to be reasonable.
Thanks for the advice David, my flight controller is mounted on foam that was not included with the kit and my compass is mounted away from all electronics. I did a compass motor interference calibration yesterday and saw extremely small amounts of interference. I will look into buying a vibration dampening mount for the flight controller and I’m pretty sure the props are balanced because I use screw on carbon fiber (dji).