I purchased a CUAV V5 Nano with the CUAV NEO V2 Pro GPS. The gps/compass module is over CAN (UAVCAN) conntected to the flight controller. I set the parameters according to this instruction: https://ardupilot.org/plane/docs/common-cuav-neo-v2-pro.html
I’m neighter able to calibrate the internal compass nor the compass from the external module. The calibration process never ends…
I have no clue why… Can somebody help?
BTW, I use Copter 4.0.3. attached the parameter file from the V5 Nano
I have a couple crafts with this exact config. I have 5 of the Neo V2 Pro GPSs, my last one would never calibrate. I ended up RMAing it and the replacement works perfect.
I am curious though… Every time I did my calibrations the internal compass had zero issues calibrating. I wonder if something else is going on with yours as you are saying
that the internal wont calibrate either.
Also are you seeing the compass every time you boot up? I have found that I needed to add in BRD_BOOT_DELAY=5000 in order for the compass to reliably get discovered every boot
Have you tried a fresh load of AC?
Also can we get a little more detail your craft? Possible a pic of how everything is mounted?
Yes, I can see both compass, the internal and the external. I also flash ardurover and the back arducopter to be sure that no old parameters will be copied over. I also ty to disable one of the two compass for a calibration, it doesn’t help…
Here is a picture from the aircraft (without canopy):
Respectfully I think isolation should be on a case by case instal and not a de facto. I never isolate my frames unless I use 3m tape that has some absorbing qualities . But I do have issues with Compass calibration. I been using auto offsets seems to work. Mro FC does not need isolation as an example.
As I told yesterday, here is the video from the “standard” compass calibration: https://youtu.be/2SqcADDp6ac
Does it look the same with your CUAV flight controllers?
Yes definitely. An in-flight calibration takes into account all of the magnetic fields generated by your aircraft during operation. For best results I would perform a compass motor calibration first.
I did the compass motor calibration and after that the inflight compass calibration. Unfortunately the performance is very bad… The copter has the “toilet bowl” effect in Loiter. A sign of bad compass calibration… I can’t believe that the inflight calibration is as precise as the “standard” calibration…
We generally do not recommend doing the “compassmot” calibration unless the vehicle only has an internal compass and there is a lot of interference from the motors and ESCs. You can turnoff the compass mot by setting COMPASS_MOTCT = 0.
Re the failed compass calibration, there’s a “Fitness” drop-down that can be set to “Relaxed” that may help. If that fails then try disabling the internal compass (although it seems to be the internal compass that is failing).
Looking at the parameters it looks like the 1st compass (normally the external one) has been disabled (i.e. COMPASS_USE = 0, COMPASS_USE2 = 1). This is probably not correct. It probably should be COMPASS_USE=1, COMPASS_USE2=0.
If changing the fitness to relaxed doesn’t work then you can make it super relaxed by setting COMPASS_CAL_FIT = 64.
Another thing that may help is to disable the compass rotation detection code by setting COMPASS_AUTO_ROT = 0. It would be best to double check that the compass is pointing in the correct direction before setting this parameter though.
You could also increase the COMPASS_OFFS_MAX to 3000 to allow for really big offsets.
Beyond this, I think it’s a frame or hardware issue. I.e. too much metal near the compass, maybe magnetic screws have been used in the compass itself or in the frame near the GPS/compass module. Maybe the GPS/compass unit itself is faulty.
I find out, that the problem is not only CUAV related… Arduopter set the parameter COMPASS_EXTERN2 automaticly to 1. so we have COMPASS_EXTERNAL and COMPASS_EXTERN2 both set to 1 which cause a problem. If I set the COMPASS_EXTERN2 to 0, I can perform the compass calibration (but only in “Relaxed”.