Выбор компаса для ArduPilot

Все статьи


Компас — главный источник курса в ArduPilot. Для надёжной работы: выбирайте RM3100/MMC5983MA, выносите ≥30 см от помех, используйте CAN-шину и калибруйте.


Почему компас критически важен

ПроблемаПричинаПоследствияРешение
«Туалетный боулинг»Помехи от моторов/проводовДрон крутится в LoiterВынос компаса + CompassMot
«Fly-away»Неверный курс + потеря связиУлетает не тудаРезервный компас + проверка оффсетов
Промах мимо точкиОшибка 10° = 17 м на 100 мСрыв миссии3D-калибровка + MAGFIT

Факт: ArduPilot: «Compass is the primary source of heading information. Without accurate heading the vehicle will not move correctly in autopilot modes».


📊 Полная таблица компасов для ArduPilot

МодельИнтерфейсТочностьДиапазонРазрешениеПотреблениеCANДегауссЦенаСтатус
RM3100I²C/SPI/CAN±1°±800 мкТ10 нТ450 мкА💰💰
MMC5983MAI²C/SPI±0.5°±800 мкТ0.4 мкТ450 мкА💰💰
LIS3MDLI²C/SPI±2°±500 мкТ~1 мкТ150 мкА
BMM150I²C/SPI±2.5°±1.3/2.5 мТ~0.3 мкТ170 мкА⚠️💰
IST8310I²C±2–3°±50–100 мкТ~1 мкТ~500 мкА⚠️⚠️💰
AK09916I²C±3°±4900 мкТ~1.5 мкТ280 мкА
LIS2MDLI²C/SPI±2°±50 Гаусс~1 мкТ150 мкА💰💰
HMC5883LI²C±3–5°±1.3–8 Гаусс2–5 мГаусс100 мкА💰
QMC5883LI²C±5–8°±2/8 Гаусс~0.5 мкТ100 мкА💰⚠️
MAG3110I²C±5°±10 Гаусс10–20 бит127 мкА💰

Условные обозначения: ✅ Есть / ⚠️ Ограничено / ❌ Нет | 💰 Низкая / 💰💰 Средняя / 💰💰💰 Высокая


Детальный разбор

1. RM3100 — промышленный стандарт для CAN

Holybro RM3100 DroneCAN Compass

RM3100 от PNI Sensor Corporation — золотой стандарт для профессиональных БПЛА.

Ключевые параметры:

  • Разрешение: 10 нТ (0.01 мкТ) — лучшее в классе
  • Диапазон измерений: ±800 мкТ (линейный)
  • Частота опроса: до 1000 Гц
  • Интерфейсы: I²C, SPI, DroneCAN (нативная поддержка)
  • Потребление: 450 мкА @ 75 Гц
  • Дегауссация: Аппаратная SET/RESET

Готовые модули:

CUAV C-Compass DroneCAN
  • CUAV C-Compass (DroneCAN, алюминиевый корпус)
  • Holybro RM3100 DroneCAN (промышленное качество)
  • Matek CAN-L4-3100 (с AP_Periph)

✅ Преимущества:

  • Лучшая помехозащищённость
  • Вынос по CAN до 40 м
  • Минимальный дрейф

❌ Недостатки:

  • Цена $30–50
  • Выше потребление

Полезные ссылки:


2. MMC5983MA — высокая точность

MMC5983MA от MEMSIC — 3-осевой AMR-магнитометр с превосходной точностью.

MMC5983MA красный модуль

Ключевые параметры:

  • Точность курса: ±0.5° (лучшая среди доступных)
  • Разрешение: 18 бит, 0.4 мкТ RMS noise
  • Диапазон: ±800 мкТ
  • Частота: до 1000 Гц
  • Интерфейсы: I²C (до 400 кГц), SPI
  • Дегауссация: Встроенная SET/RESET

Где встречается:

  • Avionics Anonymous Magnetometer
  • Модули от SparkFun, Seeed, DFRobot

✅ Преимущества:

  • Лучшая точность курса
  • Встроенная дегауссация
  • Компактный (3×3×1 мм)

❌ Недостатки:

  • Нет нативной поддержки CAN
  • Средняя цена $15–25

Полезные ссылки:


3. BMM150 — компактный от Bosch

BMM150 фиолетовый модуль

BMM150 — 3-осевой цифровой геомагнитный сенсор от Bosch с технологией FlipCore™.

Ключевые параметры:

  • Диапазон измерений: ±1300 мкТ (X/Y), ±2500 мкТ (Z)
  • Разрешение: ~0.3 мкТ
  • Точность курса: ±2.5° (в идеальных условиях)
  • Интерфейсы: I²C (до 400 кГц) и SPI
  • Потребление: 170 мкА @ 10 Гц (самое низкое!)
  • Корпус: WLCSP-12, 1.56 × 1.56 × 0.6 мм (самый компактный!)

Где встречается:

  • Встроен в Holybro Pixhawk 6C как внутренний компас
  • Используется в DroneCAN M8N/M9N GPS модулях
  • Отдельные модули: Waveshare, DFRobot

⚠️ Важное замечание: BMM150 считается устаревающей моделью и больше не поддерживается Bosch.

✅ Преимущества:

  • Сверхкомпактный размер
  • Очень низкое потребление
  • Встроен во многие контроллеры

❌ Недостатки:

  • Устаревает (EOL)
  • Ограниченная точность ±2.5°

Полезные ссылки:


4. IST8310 — стандарт для GPS-модулей

IST8310 от iSentek — 3-осевой цифровой магнитометр, широко используемый в дронах.

IST8310 Rotorama

Ключевые параметры:

  • Диапазон измерений: ±50–100 мкТ
  • Интерфейс: I²C (до 400 кГц)
  • Корпус: LGA-16, 3.0 × 3.0 × 1.0 мм
  • Технология: AMR (Anisotropic Magnetoresistance)

Где встречается:

  • CUAV IST8 External Compass
  • Встроен в GPS-модули M8N/M9N/F9P от Holybro
  • Используется в Pixhawk как внешний компас
GPS M9N с IST8310

Поддержка в ArduPilot:

  • Драйвер: AP_Compass_IST8310 (встроен в код)
  • Для некоторых модулей требуется COMPASS_ORIENT=6 (Yaw270)

✅ Преимущества:

  • Проверен в полевых условиях
  • Широко доступен в GPS-модулях
  • Низкая цена $8–15

❌ Недостатки:

  • Ограниченный диапазон
  • Требует внешней калибровки SET/RESET

Полезные ссылки:


5. LIS3MDL — баланс цены и качества

Adafruit LIS3MDL

LIS3MDL от STMicroelectronics — 3-осевой магнитометр с низким уровнем шума.

Ключевые параметры:

  • Диапазон измерений: ±4/±8/±12/±16 Гаусс (программируемый)
  • Разрешение: 16 бит, низкий шум
  • Частота опроса: до 1000 Гц (ODR до 155 Гц)
  • Потребление: 150 мкА @ 10 Гц
  • Интерфейсы: I²C (до 400 кГц), SPI

Где встречается:

  • Отдельные модули от Adafruit, Pololu, SparkFun
  • Бюджетные и учебные проекты

✅ Преимущества:

  • Низкий уровень шума
  • Программируемый диапазон
  • Доступная цена $10–20

❌ Недостатки:

  • Требует аккуратного размещения
  • Нет встроенной дегауссации

Полезные ссылки:


6. HMC5883L — проверенная классика

GY-273 HMC5883L

HMC5883L от Honeywell — классический 3-осевой магнитометр, стандарт для любительских дронов.

HMC5883L с пинами

Ключевые параметры:

  • Диапазон измерений: ±1.3–8.1 Гаусс (программируемый)
  • Разрешение: 12 бит (2–5 мГаусс)
  • Частота опроса: до 160 Гц
  • Интерфейс: I²C (до 400 кГц)
  • Потребление: 100 мкА

Где встречается:

  • Модули GY-273 (самые популярные на AliExpress)
  • Встроен в старые Pixhawk v2/v3
  • Множество клонов и совместимых модулей

✅ Преимущества:

  • Проверен временем (10+ лет)
  • Огромное количество документации
  • Очень низкая цена $3–10

❌ Недостатки:

  • Устаревшая технология
  • Низкое разрешение (12 бит)
  • Много подделок на рынке

Полезные ссылки:


Вынос по CAN: сравнение интерфейсов

ПараметрI²C (BMM150/IST8310/LIS3MDL)DroneCAN (RM3100)
Макс. длина кабеля≤0.5 м (деградация сигнала)до 40 м без потерь [[12]]
ПомехозащищённостьНизкая (однопроводная)Высокая (дифференциальная пара)
Скоростьдо 400 кГц1 Мбит/с
Количество устройств1–2 на шинеДесятки на одной шине
Горячая замена❌ Нет✅ Да (самодиагностика)
Снижение помехБазовоеВ 27 раз (при выносе на 30 см) [[37]]

Готовые CAN-модули

DroneCAN Magnetometer Array
ПродуктСенсорИнтерфейсОсобенностиЦена
CUAV C-CompassRM3100DroneCANАлюминиевый корпус$40–50
Holybro RM3100RM3100DroneCANПромышленное качество$35–45
Matek CAN-L4-3100RM3100DroneCAN + AP_PeriphГотовая прошивка$30–40

Установка и калибровка

Правильное размещение компаса

Compass installation on drone

Идеальное размещение:

  • На конце луча или на мачте высотой 20–40 см
  • Минимум 30 см от: моторов, ESC, батарей, PDB, силовых проводов [[37]]
  • Вдали от крупных металлических элементов рамы
Compass mounting example

Ориентация компасов

Compass orientation diagram
МодульCOMPASS_ORIENTПримечание
IST8310 (Holybro GPS)6 (Yaw270)Требуется для некоторых модулей [[19]]
BMM150 (встроенный)0 (Auto)Определяется автоматически
RM3100 (выносной)0 (Auto)Определяется автоматически

🆚 Сравнение по категориям

🥇 Профессиональный сегмент

КритерийRM3100MMC5983MALIS3MDL
Помехозащищённость⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Точность±1°±0.5°±2°
Вынос по CAN✅ Нативный
Длина кабелядо 40 м≤0.5 м≤0.5 м
Цена$30–50$15–25$10–20
РекомендацияОсновной выборТочная навигацияБюджетный вариант

🥈 Средний сегмент

КритерийBMM150IST8310LIS2MDL
Размер1.56×1.56 мм3×3 мм3×3 мм
Потребление170 мкА~500 мкА150 мкА
Точность±2.5°±2–3°±2°
Статус⚠️ Устаревает [[27]]✅ Актуален✅ Актуален
ПрименениеРезервный, встроенныйGPS-модулиНовые проекты

🥉 Бюджетный сегмент

КритерийHMC5883LQMC5883L
Точность±3–5°±5–8°
Разрешение12 бит16 бит
Цена$3–10$2–5
РекомендацияОбучениеТолько тесты

📋 Чек-лист выбора

По типу БПЛА

Тип БПЛАРекомендуемый компасАльтернативаБюджетный вариант
Большой БПЛАRM3100 + CANMMC5983MALIS3MDL
Средний квадрокоптерIST8310 (в GPS)BMM150HMC5883L
Малый/гоночный дронBMM150AK09916 (в IMU)
Съёмка/картографияMMC5983MARM3100LIS3MDL
Обучение/тестыHMC5883LQMC5883L

✅ Финальный чек-лист готовности

Оборудование

ПроверкаСтатус
Выбран промышленный сенсор (RM3100/MMC5983MA) или IST8310
Модуль поддерживает DroneCAN (если нужен вынос)
Установка ≥30 см от моторов/ESC/батарей [[37]]
Резервный компас подключён

Настройка

ПроверкаСтатус
Пройдена 3D-калибровка [[32]]
Для IST8310: проверен COMPASS_ORIENT [[19]]
CompassMot: interference <30% [[32]]
MAGFIT выполнен по логам [[32]]

💬 Три золотых правила

ПравилоОписаниеРезультат
1. Выноси, а не прячьCAN-шина позволяет вынести на 30–40 смСнижение помех в 27 раз [[37]]
2. Калибруй с умомОдна 3D-калибровка в «чистом» местеТочность курса ±1–2°
3. Резервируй2+ компаса с автопереключениемНадёжность выше в 2–3 раза

🔗 Полезные ресурсы

Документация

РесурсСсылка
Advanced Compass Setup — ArduPilot[32]
Magnetic Interference[37]
MagFit WebTools[32]
CAN Bus Setup[12]

Дatasheets

СенсорДаташит
RM3100PNI
MMC5983MA[24]
BMM150[7]
IST8310[43]
LIS3MDLST
HMC5883LHoneywell

Готовые модули

ПродуктСсылка
CUAV C-Compass (RM3100)CUAV
Holybro RM3100 DroneCANHolybro
CUAV IST8 Compass[40]
Waveshare BMM150[9]

Статья актуальна на март 2026. Проверяйте обновления в вашей версии ArduPilot.

Теги: #ArduPilot #компас #DroneCAN #RM3100 #MMC5983MA #BMM150 #IST8310 #БПЛА #навигация #сравнение

Прокрутить вверх