Перейти к содержимому
171
Калибровка акселерометра и компаса

Калибровка акселерометра и компаса #10

Mission Planner для технического персонала · Урок 11 из 43 · Модуль 2. Ввод аппарата в эксплуатацию

Настройка каналов пульта, назначение вспомогательных функций и согласование диапазона сигнала с регуляторами оборотов.

Функцию Motor Emergency Stop назначьте на легкодоступный тумблер. Это единственный корректный способ мгновенно остановить моторы на земле.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • как провести калибровку радио и что именно она записывает;
  • почему часть каналов может не сохраниться и как это заметить;
  • какие функции назначать на вспомогательные каналы и как найти актуальные номера;
  • каким регуляторам калибровка ESC не нужна вообще;
  • два способа калибровки ESC, меры безопасности и роль перезагрузки;
  • как подобрать MOT_SPIN_ARM и MOT_SPIN_MIN.
↑ К оглавлению

2. Калибровка радиоуправления

Автопилот не знает, какие длительности импульсов выдаёт ваша аппаратура в крайних положениях стиков. Калибровка сообщает ему границы: минимум, максимум и нейтраль по каждому каналу. Без неё стик отработает не на весь диапазон, а нейтраль окажется смещённой.

Экран Radio Calibration

SETUP → Mandatory Hardware → Radio Calibration.

Экран Radio Calibration

Четыре основных канала показаны крупными полосами: Roll (rc1), Pitch (rc2), Throttle (rc3), Yaw (rc4). Справа — вспомогательные каналы Radio 5…16. Красные засечки у шкалы Pitch отмечают ориентиры 1000, 1500 и 2000 мкс

Полосы отражают текущий сигнал в реальном времени. На снимке хорошо видно исходное состояние до калибровки: Roll, Pitch и Yaw стоят ровно на 1500, throttle — 987, а каналы 10–14 замерли на 880. Значение около 1500 у неподключённого канала — это не сигнал, а признак отсутствия данных.

Как отличить «канал не подключён» от «канал есть»: Mission Planner прямо предупреждает об этом в итоговом окне: каналы, которые не подключены, показываются как 1500 ± 2 и не меняются при движении стиков. Нормальный рабочий диапазон — примерно 1100…1900 мкс.

Процедура калибровки

Снимите винты и отключите силовую батарею: Во время калибровки вы будете двигать стик газа в максимум. Если аппарат при этом окажется активирован, моторы выйдут на полные обороты. Работайте на питании от USB.
  1. Включите передатчик и убедитесь, что приёмник связан с ним: полосы каналов должны реагировать на стики.
  2. Нажмите Calibrate Radio и подтвердите запрос программы.
  3. Прогоните все стики в крайние положения по всем осям, задерживаясь в углах. Программа запоминает наибольшее и наименьшее значение по каждому каналу.
  4. Переключите все тумблеры и покрутите все потенциометры во все положения — вспомогательные каналы калибруются так же, как основные.
  5. Верните стики в нейтраль, а газ — вниз. Именно это положение будет записано как нейтральное.
  6. Нажмите Click when Done (кнопка меняет надпись на время процедуры).
  7. Программа покажет итоговое окно со списком «Channel: Min | Max» по всем 16 каналам. Сверьте его: у задействованных каналов должны быть разумные границы, а не 1500 | 1500.

Что записывается и когда запись не проходит

По каждому каналу записываются три параметра: RCn_MIN, RCn_MAX и RCn_TRIM. Нейтраль берётся из текущего положения стика на момент нажатия Click when Done и принудительно загоняется в найденный диапазон.

Канал сохраняется не всегда: Mission Planner записывает параметры канала, только если выполняются все условия сразу: минимум строго меньше максимума, ни одно из значений не равно нулю, минимум не равен максимуму, а нейтраль лежит между минимумом и максимумом и тоже не равна нулю. Если условие нарушено, канал молча пропускается — сообщения об ошибке не будет. Поэтому итоговое окно со списком Min | Max нужно читать, а не закрывать не глядя.

Практическое следствие: если вы забыли прогнать какой-то тумблер, его канал не откалибруется, а вы узнаете об этом только тогда, когда назначенная на него функция начнёт срабатывать не в тех положениях.

Проверка после калибровки

  • При нейтральных стиках полосы roll, pitch и yaw стоят посередине, throttle — внизу.
  • Движение стика вправо двигает полосу канала 1 вправо. Если наоборот — нужен реверс.
  • Диапазоны каналов примерно 1100–1900 мкс. Заметно уже — проверьте настройки хода в передатчике; заметно шире — возможно, выставлен нестандартный travel adjust.
Реверсы делайте в передатчике: Технически реверс канала можно задать параметром RCn_REVERSED = 1, но правильнее настроить его в аппаратуре. Иначе при замене приёмника или сбросе параметров вы получите неочевидное поведение, а при отладке будете искать причину в двух местах сразу.

Мёртвая зона

Параметр RCn_DZ задаёт мёртвую зону в микросекундах вокруг нейтрали (для канала газа — вокруг нижнего положения). Внутри этой зоны автопилот считает, что стик стоит ровно в центре.

Зона нужна, чтобы аппарат не реагировал на дребезг и на неточный возврат стика в центр. Слишком маленькое значение даёт медленный увод в режимах удержания позиции; слишком большое — ощущение «ваты» в начале хода стика. Значения по умолчанию подходят почти всегда, менять их стоит только при явной проблеме.

Spektrum Bind

Группа из трёх кнопок в нижней части экрана — Bind DSM2, Bind DSMX, Bind DSM8 — переводит приёмник Spektrum в режим привязки к передатчику. Кнопка отправляет на автопилот команду MAVLink начала привязки, различаются они только типом протокола. После нажатия программа просит перевести передатчик в режим bind.

Это работает только для Spektrum: Для приёмников других систем (FrSky, Crossfire, ELRS, FlySky) кнопки бесполезны — привязка делается кнопкой на самом приёмнике или через его меню. Наличие этих кнопок на экране не означает, что Mission Planner умеет привязывать любой приёмник.
↑ К оглавлению

3. Вспомогательные каналы

Каналы 5–16 назначаются функциям параметрами RCn_OPTION: RC5_OPTION, RC6_OPTION и так далее. Один канал — одна функция. Найти их можно в CONFIG → Full Parameter List по маске _OPTION.

Функция срабатывает по положению тумблера: низкое положение (менее 1200 мкс) — выключено, высокое (более 1800 мкс) — включено. Часть функций различает три положения, используя середину.

Таблица значений RCn_OPTION

Наиболее востребованные значения для ArduCopter 4.7:

ЗначениеФункцияКомментарий
0 Do Nothing Канал не используется
4 RTL Переход в режим возврата
7 Save Waypoint Запись точки в миссию с пульта
9 Camera Trigger Спуск затвора
13 Super Simple Mode Simple в среднем положении, Super Simple в верхнем
16 Auto Переход в режим AUTO
17 AutoTune Запуск автонастройки
18 Land Переход в режим посадки
19 Gripper Захват груза: низ — открыть, верх — закрыть
21 Parachute Enable Разрешение парашюта
22 Parachute Release Принудительный выпуск
24 Auto Mission Reset Сброс миссии на первую команду
27 Retract Mount Убрать подвес
28 Relay On/Off Управление первым реле
31 Motor Emergency Stop Немедленная остановка моторов
32 Motor Interlock Разрешение вращения (вертолёты)
55 Guided Mode Быстрый переход в GUIDED
65 GPS Disable Отключение GPS для проверки поведения без него
100 KillIMU1 Отладочная функция: отключение первого IMU
153 ArmDisarm Арминг и дизарминг тумблером
154 ArmDisarm with AirMode То же с включением AirMode
165 Arm / Emergency Stop Верх — активировать, низ — аварийный стоп
Список значений растёт от версии к версии: Номера функций добавляются в каждом релизе, и таблица в любом учебнике устаревает. Достоверный источник для вашей прошивки — колонка Options у параметра RC5_OPTION в CONFIG → Full Parameter List. Значение 41 (ArmDisarm) в современных версиях помечено как неиспользуемое: применяйте 153.

Аварийная остановка моторов

Функция 31 — Motor Emergency Stop: Назначьте её на легкодоступный тумблер. Это единственный корректный способ мгновенно остановить моторы при опрокидывании на земле или при захвате аппарата препятствием. В отличие от дизарминга, она срабатывает немедленно и в любом состоянии, не дожидаясь выполнения условий.

Разница между тремя похожими функциями:

ФункцияЧто делаетКогда применять
Motor Emergency Stop (31) Мгновенно снимает сигнал с моторов, аппарат остаётся активированным Авария на земле: опрокидывание, наматывание, посторонний предмет в винтах
Motor Interlock (32) Разрешает или запрещает вращение винта Вертолёты: отдельное управление сцеплением винта
ArmDisarm (153) Штатный арминг и дизарминг Повседневная работа; дизарминг проверяет условия и не всегда мгновенно
Проверьте тумблер до первого полёта: Назначенную функцию видно в DATA → Messages: при переключении тумблера прошивка сообщает о срабатывании. Убедитесь, что тумблер работает в нужную сторону, ещё на земле со снятыми винтами — в аварийной ситуации искать его будет некогда.
↑ К оглавлению

4. Калибровка ESC

Процедура согласует диапазон сигнала между автопилотом и регуляторами оборотов: регулятор запоминает, какая длительность импульса означает «стоп», а какая — «полный газ».

Кому нужна калибровка, а кому нет

Это первое, что нужно выяснить, — процедура нужна далеко не всем.

Тип выходаMOT_PWM_TYPEНужна ли калибровка
Normal (аналоговый PWM) 0 Да — регулятор определяет границы по сигналу
OneShot, OneShot125 1, 2 Обычно нет; зависит от прошивки регулятора
Brushed 3 Нет
DShot150 … DShot1200 4, 5, 6, 7 Нет — команды передаются цифровым кодом
PWMRange, PWMAngle 8, 9 Границы задаются параметрами SERVOn_* отдельно по каждому выходу
Цифровой протокол не калибруют: В DShot значение газа передаётся числом, а не длительностью импульса, поэтому «границы» регулятору сообщать не нужно. Если у вас DShot, раздел про калибровку можно пропустить — достаточно проверить MOT_SPIN_ARM и MOT_SPIN_MIN.

Экран ESC Calibration

SETUP → Mandatory Hardware → ESC Calibration.

Экран ESC Calibration

Экран объединяет кнопку запуска, выбор типа регулятора и пять числовых полей. На снимке выбран DShot300 — при таком типе выхода сама калибровка не требуется, а поля Output PWM Min/Max не используются

Поля экрана соответствуют параметрам напрямую:

Поле на экранеПараметрПояснение с экрана
ESC Type MOT_PWM_TYPE Тип выхода на регуляторы
Output PWM Min MOT_PWM_MIN «Leave as 0 to use RX input range»
Output PWM Max MOT_PWM_MAX «Leave as 0 to use RX input range»
Spin when Armed MOT_SPIN_ARM Обороты после арминга при нулевом газе
Spin minimum MOT_SPIN_MIN Минимальные обороты в полёте, чуть выше предыдущего
Spin Maximum MOT_SPIN_MAX Максимум; у большинства регуляторов вверху есть мёртвая зона
Нули в полях PWM Min и PWM Max — это не ошибка: Значение 0 означает «использовать диапазон входного сигнала с приёмника». Явные 1000 и 2000 задают границы жёстко, независимо от калибровки радио. Второй вариант предсказуемее, и на снимке выставлен именно он.

Автоматическая калибровка

Обязательно снимите винты: Во время калибровки моторы выходят на полный газ. Без снятых пропеллеров это приводит к тяжёлым травмам.

Важно понимать механику: кнопка Calibrate ESCs не запускает калибровку немедленно. Она записывает параметр ESC_CALIBRATION = 3, то есть взводит флаг «при следующем запуске войти в режим калибровки». Вся процедура происходит уже после перезагрузки платы.

Порядок работы — ровно тот, что напечатан на самом экране справа от кнопки:

  1. Снимите винты.
  2. Нажмите Calibrate ESCs.
  3. Отключите USB и батарею — обесточьте плату полностью.
  4. Подключите батарею.
  5. Когда светодиоды начнут мигать, нажмите предохранительный выключатель (safety switch), если он установлен. Прошивка ждёт этого нажатия и каждые пять секунд напоминает сообщением «ESC calibration: Push safety switch».
  6. Регуляторы подадут серию сигналов — идёт запись границ. Автопилот пять секунд держит полный газ, затем сбрасывает в ноль.
  7. Перезагрузите контроллер обычным образом.
Флаг снимается сам: Прошивка сбрасывает ESC_CALIBRATION в 0 в начале процедуры, поэтому следующий запуск будет обычным. Если процедуру прервать до этого момента, флаг останется взведённым и плата снова войдёт в режим калибровки — проверьте параметр, если после аварийного отключения аппарат ведёт себя странно при старте. Значение 9 полностью запрещает вход в режим калибровки.

Классический ручной способ

Работает всегда и не зависит от наземной станции. Именно им пользуются, когда автоматический способ не сработал:

  1. Снимите винты. Отключите батарею.
  2. Поднимите стик газа в максимум и удерживайте.
  3. Подключите батарею.
  4. Дождитесь двойного сигнала от регуляторов — верхняя граница записана.
  5. Опустите стик газа в минимум, дождитесь подтверждающего сигнала — нижняя граница записана.
  6. Отключите батарею.

Способ обходит автопилот: сигнал со стика проходит на регуляторы напрямую. Поэтому он требует исправной и уже откалиброванной радиолинии — то есть выполняется после раздела 2, а не до него.

Параметры выхода на моторы

ПараметрСмыслТиповое значение
MOT_PWM_MIN Нижняя граница сигнала, мкс 1000
MOT_PWM_MAX Верхняя граница сигнала, мкс 2000
MOT_SPIN_ARM Обороты после арминга, доля диапазона 0,05–0,10
MOT_SPIN_MIN Минимальные обороты в полёте, доля диапазона 0,10–0,15
MOT_SPIN_MAX Максимальные используемые обороты 0,95
MOT_THST_EXPO Компенсация нелинейности «газ — тяга» 0,55–0,75

Три параметра Spin задаются долей от полного диапазона выхода, то есть числом от 0 до 1, и должны идти строго по возрастанию:

\( \mathrm{MOT\_SPIN\_ARM} \;<\; \mathrm{MOT\_SPIN\_MIN} \;<\; \mathrm{MOT\_SPIN\_MAX} \)

Как подбирать MOT_SPIN_ARM и MOT_SPIN_MIN: MOT_SPIN_ARM выбирают так, чтобы после арминга все моторы гарантированно вращались, но аппарат не полз по земле. MOT_SPIN_MIN должен быть заметно выше: при энергичном снижении автопилот не должен допускать полной остановки моторов, иначе теряется управляемость. Разница между ними обычно 0,03–0,05. Подбирать удобно на экране Motor Test из урока 9: там есть кнопки, которые запишут найденное значение с нужным запасом.
Проверяйте после калибровки: Активируйте аппарат со снятыми винтами и убедитесь, что вращаются все моторы и примерно одинаково. Если один запускается заметно позже других — калибровка на нём не прошла, поднимать аппарат нельзя.
↑ К оглавлению

5. Практика

Задания выполняются в симуляторе SITL и не требуют реального аппарата. В SITL нет физического приёмника, поэтому положения каналов задаются командами MAVProxy — это штатный способ проверки логики.

Задание 11.1. Параметры каналов и мёртвая зона

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • В CONFIG → Full Parameter List найдите по маске RC1_ все параметры первого канала и выпишите значения RC1_MIN, RC1_MAX, RC1_TRIM, RC1_DZ, RC1_REVERSED.
  • Откройте SETUP → Mandatory Hardware → Radio Calibration и сопоставьте: какая полоса какому каналу соответствует.
  • Измените RC1_TRIM на 1600, запишите параметр и посмотрите, как это отразится на положении полосы Roll. Верните 1500.
  • Ответьте письменно: почему нейтраль, смещённая на 100 мкс, опаснее, чем суженный на 100 мкс диапазон?

Задание 11.2. Назначение вспомогательной функции

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Найдите параметр RC7_OPTION и раскройте колонку Options. Убедитесь, что список значений в вашей прошивке шире таблицы из этого урока, и найдите в нём Motor Emergency Stop.
  • Назначьте RC7_OPTION = 31.
  • В консоли MAVProxy подайте rc 7 2000, затем rc 7 1000. Следите за DATA → Messages: прошивка сообщит о срабатывании функции.
  • Активируйте аппарат (arm throttle), подайте rc 7 2000 и опишите, что произошло с моторами.
  • Верните RC7_OPTION = 0.

Задание 11.3. Тип регулятора и калибровка

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Откройте SETUP → Mandatory Hardware → ESC Calibration и запишите текущие значения всех шести полей.
  • Поменяйте MOT_PWM_TYPE на 0 (Normal), затем на 5 (DShot300), каждый раз возвращаясь на экран. Определите по таблице урока, в каком из двух случаев калибровка вообще имеет смысл.
  • Найдите параметр ESC_CALIBRATION в списке параметров и прочитайте его описание в колонке Desc. Объясните, почему прошивка просит не менять его вручную.
  • Не нажимая Calibrate ESCs, ответьте: какое значение записала бы эта кнопка и когда именно начнётся сама процедура?

Задание 11.4. Пороги вращения моторов

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Выпишите текущие MOT_SPIN_ARM, MOT_SPIN_MIN, MOT_SPIN_MAX и проверьте, соблюдается ли порядок возрастания.
  • Задайте MOT_SPIN_ARM = 0.20 и MOT_SPIN_MIN = 0.10, то есть нарушьте порядок намеренно. Активируйте аппарат и опишите поведение.
  • Верните исходные значения и объясните, чем опасен слишком высокий MOT_SPIN_ARM на реальном аппарате.
  • Откройте экран Motor Test и найдите кнопки, которые записывают эти же два параметра (см. урок 9).
↑ К оглавлению

6. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов.

  1. Какие три параметра записывает калибровка радио по каждому каналу и почему часть каналов может не сохраниться без сообщения об ошибке?
  2. Почему реверс канала правильнее настраивать в передатчике, а не параметром RCn_REVERSED?
  3. Каким регуляторам калибровка ESC не нужна и почему?
  4. Что происходит при нажатии кнопки Calibrate ESCs и в какой момент реально начинается калибровка?
  5. Чем Motor Emergency Stop отличается от дизарминга и почему его выносят на отдельный тумблер?
↑ К оглавлению

7. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Все задействованные каналы откалиброваны, диапазоны примерно 1100–1900 мкс
  • Итоговое окно Min | Max прочитано, каналов со значением 1500 | 1500 среди задействованных нет
  • Нейтрали стоят по центру, газ внизу, направления совпадают с движением стиков
  • Реверсы настроены в передатчике, а не параметрами
  • На легкодоступный тумблер назначена аварийная остановка моторов (значение 31) и проверена на земле
  • Определён тип регулятора: понятно, нужна калибровка ESC или нет
  • Если нужна — ESC откалиброваны со снятыми винтами, все моторы стартуют одновременно
  • Соблюдается порядок MOT_SPIN_ARM < MOT_SPIN_MIN < MOT_SPIN_MAX
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

8. Что дальше

↑ К оглавлению
  • мод. : Вторник, 08 сентября 2026
Калибровка акселерометра и компаса