What rotations do you put in ? Scopes will only agree when all rotations are correct and neither of Mags is saturated by some stronger magnetic field nearby.
You need both conditions simultaneously, good rotations and no magnetic interference.
You have quite a few options, but I guess you thought about them already
- Do calibration outside of frame just to determine correct rotations
- Do calibration outside of frame with small HM5883L chip (L883 symbol) if you have one at hand and can place it same way as is on GPS just to determine correct AuxMag rotations
- Use FC or mobile phone app to determine source of magnetic interference
- Mount FC in different place
You don't need internal Mag for flight, the only time you need it is to determine correct rotations for the AuxMag. If AuxMag rotations are wrong, then measurement might be pointing in completely another direction then it should be. One way or the other, you just need to get these rotations right, whole thing does not need to be even mounted in frame but must only be oriented the same way. Once you have values correct, you can put that back in and calibrate AuxMag, set it to "Use Aux Only" and keep fingers crossed that external one is not affected by strong magnetic field source.
Companies such as DJI have magnetometer in Phantom installed in landing gear http://wiki.dji.com/en/index.php/Phantom-Mount_the_Landing_Gear_with_the_Compass_Module
This is also to avoid magnetic interference from power distribution board and motors. Anything that performs switching of current, generates magnetic field, same with power lines and of course magnets often used in buzzers.
You need to experiment a bit. Maybe someone else can help more...
I've been putting 180,0,-90, but does it matter when I rotate the drone and the readings simply go nuts? I mean, are the error percentages on the Magnetometer tab directly linked to the rotations or they are independent of it? because if they are, they may be a really strong cause of the high error percentages I'm getting. I may try to take the FC out of the drone to see if it makes any difference calibrating, but I don't think I will be able to maintain this calibration, since none of the electric circuits will be involved and the tutorials always says that I should do it while the FC is on the drone.
I haven't got an HM5883L chip at hand :/. I could buy it, but it'd run me at least for 50 bucks in here, maybe more.
Well, I will take the FC out of the drone the next time I lay my hand on it and see what comes out of it. As I recall, that's how I managed to get good readings last time. I will try it soon and post the results. Thanks for the idea
.
All the Pixhawk I2C Aux mags should use either 180,0,180 for board rotation or 0,180,0 (they are the same 3D rotation) if the GPS/mag is mounted normally. At least all the ones I have tested use this.
Board rotation does not affect the health of the mag, but if rotation is wrong, the PFD / HUD will go crazy in INS13 (Outdoor) mode.
By the way you should be using INS13 (Outdoor) mode. I assume from the posts I read that you have a Revo class FC.
https://librepilot.atlassian.net/wiki/display/LPDOC/Aux+Mag+Setup+and+Calibration
Yeah, I do have a Revo FC and I've been using INS13 (Outdoor) mode. I've been on that page and read it already, but my problem is not the AuxMag, I've always managed to get good readings on that one. The problem is mainly on the onboard mag, which
always gets bad readings, but thanks for the help anyways. As I said to Mateusz, I will take the FC out of the drone and try to calibrate the mag to see how it goes.
I will post results as soon as I get the calibration of the mag done outside of the drone.