I'm having a problem with a Pixhawk that came with a 3DR DIY 4X kit. APM Planner is reporting "Bad Compass Health". The compass is an external uBlox GPS combo that came with the kit.
I've tried several solutions that include,
-running APM Planner with the quad outdoors with a clear view of the sky,
-repositioning the GPS/compass antenna further away from the frame
-swapping the 3DR provided GPS/compass combo with a Ublox M8N that I had laying around,
-installing ArduPlane on the Quadcopter, then reinstalling ArduCopter-quad, and
-inserting a new sdcard.
None of these have provided resolution.
I have two other quads with Pixhawks, (one is a genuine 3DR, the other is a BangGood knockoff) and I had not encountered this error with either. Here is a picture from MissionPlanner of the compass settings. Any suggestions as to what might be the issue here? Thanks in advance...
Replies
I'm running APM 2.8 hardware, Mission Planner 1.3.44 build 1.16240.11550, and ArduCopter V3.2.1 (36b405fb).
I have looked through the entire parameter list and cannot find COMPASS_DEV_ID listed there. Are you perhaps running different hardware and/or firmware?
Hugues said:
Hi Glenn.
Few months ago I experimented some compas troubles, similar to yours. (Look at http://diydrones.com/forum/topics/external-compass-offsets-too-hi-h...)
I found that the gps that hast active antenna make interference to the compass chip (HMC5883L) because the antera shield is ferrous.
I don't know if your GPS antenna is passive or active. But if it's active you can unsolder the antenna from the gps board and disconnect it (or leave it connected but far away from the HMC chip), then connect only the I2C wire and try to calibrate the compass.
I did just that. Didn't work after installed in the 3DR X4. So then, I swapped in the GPS/compass from the bird that I'd robbed the second Pixhawk from, and you guessed it, everything worked fine. The kicker is that when removing the suspect Pixhawk, the switch connector socket snapped off the board. The 3DR X4 is flying fine now. I've ordered another used Pixhawk off of Ebay. Now, can anyone do repairs on these boards?
Would it be possible to swap this "uncooperative" Pixhawk with one of your other good Pixhawk controllers that you know works properly? It might be a bit of a hassle to do this, but this would either confirm or deny your suspicions that the one you are working with is bad. Just remember to save the params of BOTH Pixhawk units before you dismount them prior to the swap-out. That way you can swap them, load each of them with the params of the other, do your test, then re-mount back on their original frames, then re-load the params they were using before you did the original swap.)
Just an idea....
Glenn Hollowell said:
Replacing the GPS/Compass module is a possibility, that is for sure. I'm still working on the problem. Thanks for your input. I'll get back with you later....
It happened too in my experience to have a GPS+compass module that did not display anything in mission planner's compass calibration window. Looking at the compass parameters it was also not detected by Pixhawk (if it is detected you get a value in the parameter called : COMPASS_DEV_ID). After checking all wiring and replacing by another identical GPS+compass module (this one did work then), I concluded that the compass chip was dead on the first module.
Have you considered replacing your (probably dead compass) hardware by a known working one ?
Thought I would chime in here with a little tid-bit of an experience I had just today while trying to calibrate an external compass feeding into an APM 2.8 FC. Over the last three days I have tried probably a dozen times to cal this compass using the "live calibration" method in Mission Planner. I tried every which way to hit all the white dots, but calibration failed every time.
Out of desperation I clicked on "Automatically learn offsets", then on the "start" button in the "Onboard Mag Compass" window. It appeared that nothing was happening after several seconds of me pointing all axis toward the earth like it says in the wiki, so I clicked on the "Accept" button in that same window.
Next thing I see is a message box saying the compass had calibrated!
The real kicker(s) here are (1) the compass and the GPS suddenly presented proper headings on the HUD, and (2) there is NO "onboard" compass on an APM 2.8 FC! Yes, I know it doesn't say "internal" compass in the description of that block, so I am wondering if "onboard" means "onboard" the copter (somewhere, either internal or external).
One other thing - at no time did I see any data in the boxes for any of the compasses listed in that box. Zilch. Nada.
Just sayin' ...
**Frame**: Flamewheel 550 Hex
**FC**: APM 2.8
**Firmware**: A.C. 3.2.1
**Motors**: Turnigy Prop-drive-28 1200 KvA Brushless
**Props**: 9" Nylon
**ESC**: Turnigy Plush 30A
**TX / RX**: Turnigy 9x / Turnigy 9XBC V2
**GPS**: 3DR
**Compass**: Ublox Neo 6-NM on a 6" pole
**Battery**: Turnigy 5000 mAH 30-40C 4S Li-Po
**PDB**: 3DR
Glenn Hollowell said:
I've got two GPS/compass setups. Same errors with both. If there is a wiring problem it's gotta be inside the Pixhawk unit.
Chad Frazer said:
I had a similar problem, turned out to be a crossed wire going from the gps/mag unit to the pixhawk. Do continuity checks on the wires going to and from your gps/mag units and then double check the wiring diagrams for them. A crossed wire cause a bunch of really weird errors.
The only time that I got the compass calibration dots is when the external compass is disconnected. I went through the dot chasing exercise and was able to capture offsets.
Bear in mind that I did what was probably a total wipe of Arducopter by installing Arduplane completely, then reinstalling Arducopter. The installation should be pretty default I'd imagine with the device set so that forwards align with the printed arrow on the case.