In the last few month I have replaced 2 of my 3DR external GPS units with HERE GPS Units from 2 separate suppliers mentioned in the ARDUPILOT Store.
My question is:
Is there a known compass issue with those units somehow?
GPS works fine in both.
The first HERE unit I purchased from jDrones unit is not happy. The Helicopter has a bit of TB in Loiter.
Could not get it right at this stage. It looks to me the front arrow is a bit off with the North direction. My handheld compass shows a bit different direction.
The other unit I purchased is not able to be calibrated at all. Always compass calib. failure in MP and QGroundcontroll. The mag calib. freezes half way through in both GCS software.
Over the years I have done many compass calibrations and not used to get calib. failures. Both HERE GPS are placed in the same spots where the 3DR units worked flawlessly before.
I will not say it cannot be my own fault. But just want to find out if there is a known problem, firstly.
So far I received one answer.
Do you know if only the compass were faulty in those units? But GPS ok?
GPS worked fine, it was only the compass that were faulty in those 2 units. I have contacted the supplier, I think they can better check, what exactly the problem with those units is.
Fred, did you check the outputs of the mag x, y, z values? South of the equator z should be negative and with nose down the x should go down. With right roll the y should go down (or decrease). It’s the other way around north of the equator.
Maybe the chip was put in it wrong and it needs a different orientation to get it to calibrate. If all else fails, if you take it apart there’s X-> Y-> Z-> markings right on the mag chip so you can see how it was installed in the unit.
Did you update the
COMPASS_ORIENT parameter? If I recall correctly, the old 3DR GPS/Compass units required the rotation roll 180 setting or something like that. The HERE does not, therefore your
COMPASS_ORIENT parameter needs to be 0.
There was some Here units that required yaw 90, roll 270. I had one of those and eventually threw it in the junk box because that safety switch in it went bad and disarmed my heli in flight. And then a couple months later there was a patch put in the code for those to ignore the button in flight.
Edit: as I found out with the button, you can have it disabled with BRD_SAFETYENABLE set to 0. But all that does is bypass the arming check and enable it at boot. A malfunction in the switch or wiring will still shut it down in flight.
So in Copter 3.5.7 and Copter 3.6 there is a patch for that button. There is a new param, BRD_SAFETYOPTION that you can supposedly set to prevent the button from disarming the unit in flight. But just this last Saturday I had a turbine engine flame out due to that button. I have both the safety enable and safety option set to zero. Was spooled up and just started to pull pitch when it flamed out. At first I thought I had over-fueled it on spoolup and got a tailpipe fire that caused the compressor to stall. But then I noticed that red LED flashing on the GPS unit. I pressed the button and it went solid red and then I could arm it again.
So I replaced that GPS unit with one without a button too. You can also pull the two wires out of the plug for it and set the BRD_SAFETYENABLE = 0 to make sure it can’t malfunction in flight.
Not sure who thought up those safety buttons, but they’re more trouble than they’re worth IMO.
Thank you for the information. I will now check the compass inside how they are fitted and check the output values. After I find the hardware is working ok I start calibrating again.
Thanks again for your info.
Matt, yes the setting was = 0.
Fred, if you look at the release notes for 3.5.5 I think it shows what compass ID’s were affected by the driver change to “fix” the problem with compass orientation in the Here units. I’m not sure of all the details of that, but I think checking the mag x, y, z outputs in your ground station should tell if you have the orientation corrrect. If the mag x, y, z is good and it won’t calibrate due to the offsets being way out of range then it’s likely a defective mag chip or it needs to be degaussed.
I had one once that got messed up because I accidentally placed the unit close to a box of neo magnets on the bench. After it got messed up it wouldn’t calibrate and the compass wandered around in circles. Thru a lot of trial and error over a couple days of fiddling with it I managed to degauss it and get it to work again. I took one of those neo mags that messed it up and determined which was the north pole of the magnet by hanging it by a string and let it orient itself with the earth’s mag field. Then moved that mag over the chip repeatedly in the correct orientation to try to get the chip to read right again. I think it was more pure luck in the end but I did get it to work and I’m still flying that GPS/compass unit today and it works fine
Chris, thank you for the INFO.
I have opened up one unit which calibrated but does not shows north direction accurately.
Nicely made quality unit.
But the info regarding mag is not helping. It is stamped next to soldering points at Mag1 showing y=backwards and x= to left Z up.
Mag2 has no info written to it.
Mag3 shows y= forwards and x to the right, Z is is hard to make out, smooched.
Both also the back soldering points. On the opposite site of the board you see all black, nothing.
Than there is a chip marked Mag4. The chip top has writing on = 12948 - 752LCI - 1716 but no orientation writing.
That means only the readout in the GCS will give you some clue. Have not checked that yet.