Компас — главный источник курса в 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 | Дегаусс | Цена | Статус |
|---|---|---|---|---|---|---|---|---|---|
| RM3100 | I²C/SPI/CAN | ±1° | ±800 мкТ | 10 нТ | 450 мкА | ✅ | ✅ | 💰💰 | ✅ |
| MMC5983MA | I²C/SPI | ±0.5° | ±800 мкТ | 0.4 мкТ | 450 мкА | ❌ | ✅ | 💰💰 | ✅ |
| LIS3MDL | I²C/SPI | ±2° | ±500 мкТ | ~1 мкТ | 150 мкА | ❌ | ❌ | ✅ | |
| BMM150 | I²C/SPI | ±2.5° | ±1.3/2.5 мТ | ~0.3 мкТ | 170 мкА | ⚠️ | ❌ | 💰 | ️ |
| IST8310 | I²C | ±2–3° | ±50–100 мкТ | ~1 мкТ | ~500 мкА | ⚠️ | ⚠️ | 💰 | ✅ |
| AK09916 | I²C | ±3° | ±4900 мкТ | ~1.5 мкТ | 280 мкА | ❌ | ❌ | ✅ | |
| LIS2MDL | I²C/SPI | ±2° | ±50 Гаусс | ~1 мкТ | 150 мкА | ❌ | ❌ | 💰💰 | ✅ |
| HMC5883L | I²C | ±3–5° | ±1.3–8 Гаусс | 2–5 мГаусс | 100 мкА | ❌ | ❌ | 💰 | ️ |
| QMC5883L | I²C | ±5–8° | ±2/8 Гаусс | ~0.5 мкТ | 100 мкА | ❌ | ❌ | 💰 | ⚠️ |
| MAG3110 | I²C | ±5° | ±10 Гаусс | 10–20 бит | 127 мкА | ❌ | ❌ | 💰 | ❌ |
Условные обозначения: ✅ Есть / ⚠️ Ограничено / ❌ Нет | 💰 Низкая / 💰💰 Средняя / 💰💰💰 Высокая
Детальный разбор
1. RM3100 — промышленный стандарт для CAN

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

- CUAV C-Compass (DroneCAN, алюминиевый корпус)
- Holybro RM3100 DroneCAN (промышленное качество)
- Matek CAN-L4-3100 (с AP_Periph)
✅ Преимущества:
- Лучшая помехозащищённость
- Вынос по CAN до 40 м
- Минимальный дрейф
❌ Недостатки:
- Цена $30–50
- Выше потребление
Полезные ссылки:
2. MMC5983MA — высокая точность
MMC5983MA от MEMSIC — 3-осевой AMR-магнитометр с превосходной точностью.

Ключевые параметры:
- Точность курса: ±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 — 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°
Полезные ссылки:
- BMM150 Datasheet — Bosch [[7]]
- Waveshare BMM150 [[9]]
4. IST8310 — стандарт для GPS-модулей
IST8310 от iSentek — 3-осевой цифровой магнитометр, широко используемый в дронах.

Ключевые параметры:
- Диапазон измерений: ±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 как внешний компас

Поддержка в ArduPilot:
- Драйвер:
AP_Compass_IST8310(встроен в код) - Для некоторых модулей требуется
COMPASS_ORIENT=6(Yaw270)
✅ Преимущества:
- Проверен в полевых условиях
- Широко доступен в GPS-модулях
- Низкая цена $8–15
❌ Недостатки:
- Ограниченный диапазон
- Требует внешней калибровки SET/RESET
Полезные ссылки:
5. 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 — проверенная классика

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

Ключевые параметры:
- Диапазон измерений: ±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-модули

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

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

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

| Модуль | COMPASS_ORIENT | Примечание |
|---|---|---|
| IST8310 (Holybro GPS) | 6 (Yaw270) | Требуется для некоторых модулей [[19]] |
| BMM150 (встроенный) | 0 (Auto) | Определяется автоматически |
| RM3100 (выносной) | 0 (Auto) | Определяется автоматически |
🆚 Сравнение по категориям
🥇 Профессиональный сегмент
| Критерий | RM3100 | MMC5983MA | LIS3MDL |
|---|---|---|---|
| Помехозащищённость | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| Точность | ±1° | ±0.5° | ±2° |
| Вынос по CAN | ✅ Нативный | ❌ | ❌ |
| Длина кабеля | до 40 м | ≤0.5 м | ≤0.5 м |
| Цена | $30–50 | $15–25 | $10–20 |
| Рекомендация | Основной выбор | Точная навигация | Бюджетный вариант |
🥈 Средний сегмент
| Критерий | BMM150 | IST8310 | LIS2MDL |
|---|---|---|---|
| Размер | 1.56×1.56 мм | 3×3 мм | 3×3 мм |
| Потребление | 170 мкА | ~500 мкА | 150 мкА |
| Точность | ±2.5° | ±2–3° | ±2° |
| Статус | ⚠️ Устаревает [[27]] | ✅ Актуален | ✅ Актуален |
| Применение | Резервный, встроенный | GPS-модули | Новые проекты |
🥉 Бюджетный сегмент
| Критерий | HMC5883L | QMC5883L |
|---|---|---|
| Точность | ±3–5° | ±5–8° |
| Разрешение | 12 бит | 16 бит |
| Цена | $3–10 | $2–5 |
| Рекомендация | Обучение | Только тесты |
📋 Чек-лист выбора
По типу БПЛА
| Тип БПЛА | Рекомендуемый компас | Альтернатива | Бюджетный вариант |
|---|---|---|---|
| Большой БПЛА | RM3100 + CAN | MMC5983MA | LIS3MDL |
| Средний квадрокоптер | IST8310 (в GPS) | BMM150 | HMC5883L |
| Малый/гоночный дрон | BMM150 | AK09916 (в IMU) | — |
| Съёмка/картография | MMC5983MA | RM3100 | LIS3MDL |
| Обучение/тесты | HMC5883L | QMC5883L | — |
✅ Финальный чек-лист готовности
Оборудование
| Проверка | Статус |
|---|---|
| Выбран промышленный сенсор (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
Готовые модули
| Продукт | Ссылка |
|---|---|
| CUAV C-Compass (RM3100) | CUAV |
| Holybro RM3100 DroneCAN | Holybro |
| CUAV IST8 Compass | [40] |
| Waveshare BMM150 | [9] |
Статья актуальна на март 2026. Проверяйте обновления в вашей версии ArduPilot.
Теги: #ArduPilot #компас #DroneCAN #RM3100 #MMC5983MA #BMM150 #IST8310 #БПЛА #навигация #сравнение
