Першому компасу потрібна завелика поправка
Що пише ArduPilot:
- PreArm: Compass offsets too high
Калібрування зберігає для кожного компаса зміщення (offsets): стале магнітне поле самого апарата, яке віднімається від кожного показу (COMPASS_OFS_X, COMPASS_OFS_Y, COMPASS_OFS_Z, у мілігаусах). У першого компаса, що використовується, ці три числа разом, як один вектор, довші за COMPASS_OFFS_MAX (типово 1800). Для самого поля Землі ArduPilot очікує близько 530, тож власний магнетизм апарата в кілька разів сильніший за те, що компас має вимірювати.
Що робити: найімовірніше спершу
Перший компас — той, що на польотному контролері, поруч із дротами батареї та платою живлення.
Перевірте
COMPASS_EXTERNAL0 означає, що перший компас стоїть на самій платі. Екран компаса в наземній станції показує, який компас перший і чи він зовнішній.ВиправтеКористуйтеся компасом у модулі GPS, встановленим подалі від дротів: підніміть його на перше місце у списку на екрані компаса, задайте
COMPASS_USE2(абоCOMPASS_USE3) 0 для внутрішнього, перезавантажте й відкалібруйте.Близько до компаса є щось магнітне: сталеві гвинти, зумер, магніт у ремінці батареї чи защіпці кришки.
ПеревіртеСтежте за сирими значеннями компаса (mx, my, mz у статусі наземної станції), відсуваючи підозрілу деталь: стрибок на сотні — це відповідь.
ВиправтеПеренесіть деталь або компас, біля компаса ставте латунний, алюмінієвий чи нейлоновий кріпіж, потім відкалібруйте знову.
Калібрування робили поруч із великою кількістю сталі: у приміщенні, над залізобетоном, біля машини.
ВиправтеВідкалібруйте знову надворі на відкритому місці, з батареєю та всім, що літає разом з апаратом.
Калібрування приймає кожну вісь окремо до COMPASS_OFFS_MAX, а армування міряє всі три разом, тож калібрування може пройти, а армування — ні. Збільшення COMPASS_OFFS_MAX заліза не відсуне: курс лишиться поганим.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
COMPASS_OFS_X | Compass offsets in milligauss on the X axis |
COMPASS_OFS_Y | Compass offsets in milligauss on the Y axis |
COMPASS_OFS_Z | Compass offsets in milligauss on the Z axis |
COMPASS_OFFS_MAX | Compass maximum offset |
COMPASS_EXTERNAL | Compass is attached via an external cable |
COMPASS_USE | Use compass for yaw |
COMPASS_USE2 | Compass2 used for yaw |
COMPASS_USE3 | Compass3 used for yaw |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
PreArm: Compass offsets too high
libraries/AP_Arming/AP_Arming.cpp AP_Arming::compass_checks() · Відкрити в ArduPilot Copter-4.7.1