SB000004 Compass scale factor adjustment for Here2

Thanks Philip

With in-flight compass calibration it seems that the scale factor is not learned, in spite of telemetry and data connection. Is that correct?

This may be true. Best solution is to update the firmware on your Here2

Hi all,

I just found out about this SB over the weekend and was able to run a flight with the adjustment today. I had some other unrelated issues, but overall found that the compass performance was notably worse. I attempted an inflight compass-learn procedure (some design/equipment challenges prevent effective compassmotor calibration - in the past, COMPASS_LEARN=3 has worked well) and it didn’t help. The procedure completed successfully, but after a reboot, I got the compass inconsistency message and the two headings read from both external compasses were off by about 45 degrees.

I’ll press on with the firmware update on the Here2 (I’m flying with a Here2 and a Here+) and see if that helps, but in the mean time, is it safe to fly with the scale factor disabled?

Thanks!

so, on the here2, update to latest Beta firmware on CAN.

make sure to set your external GPS’s to primary and secondary in mission planner before doing the compass calibration, and disable the onboard.

then do the onboard compass calibration outside, with a gps loc.

Hi Philip,

Thanks again for your response.

I went to the latest beta firmware as of 20 minutes ago, powered on the aircraft, took it outside, waited for a GPS lock (both GPSes reported a 3D fix), and re-ran the large vehicle magcal. COMPASS_SCALE2 still = 0. Should I set it to 1.17 anyways? I did make sure to set GPS_TYPE2 = 9 (UAVCAN), and the second compass is correctly detected as UAVCAN (primary=I2C Here+, second=CAN Here2).

Thanks!

@Michael_Oborne?

1 Like

in your case yes, if its a here2.

the reason its not set/calced is because you using “large vehicle magcal”

1 Like

Good to know - thank you!

So I’ve followed all the instructions up to this point…

Today I ran a few tests (in the following order) to try to keep to my regular compass calibration procedure, and to stay compliant with the instructions in this thread:

  1. Firmware update on CAN Here2 to latest CAN [success]
  2. Large vehicle magcal (with good GPS lock) [success]
  3. Set COMPASS_SCALE2 = 1.17 [success]
  4. Compass learn flight [success]

Once compass learn completed successfully (COMPASS_LEARN went back to 0, got the “Compass learn: finished” message on MP), the COMPASS_SCALE2 was set back to zero and I was unable to arm the aircraft due to large compass inconsistencies. The reported magfield for primary compass (I2C Here+) was about 540, for the second compass was about 1200. I was only able to get the aircraft to arm by re-doing the large vehicle magcal. It worked quite well after that.

Will test with regular (non-beta) firmware again and report back - that seemed to work well last time.

Thanks again for all the help!

When doing the Large MagCal should i use Mag heading or True heading?

Hi!

Here3 needs to be set the compass_scale to 1.17 too?

Thanks

Hey Arducopter 4.0+ does this automatically. Have good GPS fix and do calibration. Scaling is automatically set.

No, CAN is correct.

In fact, you shouldn’t be setting this at all on current Ardupilot. just do your compass calibration outside with a goof GPS lock away from metal, Ardupilot will figure it all out

2 Likes

I’m glad I join these forums! I hope this safety update does the trick have had three fly a way’s in loiter mode and I noticed the Here 2 light turning yellow and then she was on Her Maiden way!!!

Post logs, even with this setting wrong, you should never have a fly off.

I assume you have arming checks set to 1?