Часть 1. Аппаратное обеспечение и настройка. Полное руководство по настройке ArduPilot.
Нулевая подготовка коптера под ArduCopter: от коробки до первого зависания
Вы собрали (или собираете) коптер и хотите поднять его на ArduPilot. Эта статья — пошаговый маршрут от голого железа до момента, когда аппарат отрывается от земли на несколько секунд, висит, садится, а вы получаете чистый лог для дальнейшей работы.
Ниже нет тюнинга PID и фильтров — только «скучная база», на которой всё держится. Одна перепутанная распиновка или непроверенный мотор способны превратить первый взлёт в последний.
Место в серии. Это первая часть цикла «снизу вверх»: база → фильтры/гироскоп → rate‑PID → attitude → удержание высоты → Loiter → навигация по точкам. Каждый следующий шаг опирается на предыдущий, поэтому перескакивать — плохая идея.
Содержание
- 1. Безопасный стенд — правила, которые работают всегда
- 2. Железо: что нужно и на что смотреть
- 3. Проводка и порты: подключаем без сюрпризов
- 4. Прошивка и первое подключение к Mission Planner
- 5. Обязательные настройки и калибровки
- 6. Моторы, ESC и DSHOT — самая критичная проверка
- 7. Режимы, Failsafe и логирование
- 8. Первый ховер‑тест
- 9. Диагностика: симптом → причина → решение
- 10. Чек‑лист перед выездом в поле
1. Безопасный стенд — правила, которые работают всегда
Прежде чем включать что‑либо, договоримся о пяти правилах. Они звучат очевидно — до первого раза, когда спасают палец или плату.
| # | Правило | Почему |
|---|---|---|
| 1 | Мотор‑тесты — только без пропеллеров. Всегда. Даже «на секунду». | Пропеллер на оборотах — это нож. Снять пропы занимает 30 секунд, пришить палец — дольше. |
| 2 | Первое включение после пайки/перепиновки — через smoke stopper (токоограничитель). | Короткое замыкание при неправильной распиновке выжигает FC мгновенно. Smoke stopper даёт шанс заметить проблему до дыма. |
| 3 | Сначала USB, потом батарея. | По USB вы увидите ошибки конфигурации без риска подать силовое напряжение на что‑то не то. |
| 4 | Pre‑Arm проверки не отключать «потому что мешают». | Они мешают ровно до момента, когда спасают коптер. Если проверка не пускает — разберитесь в причине, а не глушите её. |
| 5 | В непонятной ситуации — сначала снять батарею, потом думать. | Любые действия при поданном силовом питании и работающих моторах — это лотерея. |
2. Железо: что нужно и на что смотреть
Минимальный комплект
- Рама (в примере — 8″, но подход универсален).
- Полётный контроллер (FC). Главное — наличие прошивки ArduPilot под конкретный target. Пример: Matek H743.
- ESC 4‑в‑1 (стек 30×30 или 20×20 — зависит от рамы).
- GPS с интегрированным компасом (например, модуль на M10). Компас — не опция, а необходимость.
- Приёмник (ExpressLRS, Crossfire, FrSky — любой совместимый).
- Видеосистема (цифра или аналог — на ваш выбор).

Почему ArduCopter настаивает на GPS + компас
В режиме Stabilize (стабилизация) коптер может «как‑то летать» без точного курса. Но стоит включить Loiter (зависание по координатам) или RTL (возврат домой), и автопилоту нужно знать две вещи: где я и куда смотрю. GPS даёт координаты, компас — направление. Без компаса (или с зашумлённым компасом) коптер начинает «плыть» по курсу, делать странные развороты, и вы получаете «необъяснимое поведение», которое на самом деле объясняется одним словом: помехи.
Что проверить перед покупкой
Проверка 1: совместимость FC ↔ прошивка
Зайдите на firmware.ardupilot.org, найдите свой target.
- Есть ли сборка Copter?
- Есть ли вариант с bootloader?
- Понимаете ли вы сценарий восстановления, если новая прошивка «не подошла»?
Проверка 2: GPS‑модуль
GPS по UART, компас по I2C — типичная схема комбинированных модулей.
- Питание 5V стабильное, общий
GNDкорректный. - Длина проводов и место установки (чем дальше от силовых — тем лучше).
Типичные ошибки
Ошибка: GPS без компаса — «потому что на FPV так привыкли»
Для ArduCopter, особенно в навигационных режимах, отсутствие компаса часто приводит к сюрпризам: нестабильный курс, странная работа Loiter/RTL.
Ошибка: питание видеоблока напрямую от батареи без проверки напряжения
Полностью заряженный 6S — это 25,2 В. Если Air Unit рассчитан на 25 В максимум, вы рискуете. Проверяйте максимальное допустимое напряжение устройства.
3. Проводка и порты: подключаем без сюрпризов
FC ↔ ESC: самое опасное место
Если FC и ESC не из одного стека, их распиновки могут не совпадать. Одинаковый разъём не означает одинаковый порядок пинов. Подать напряжение батареи на сигнальный пин — верный способ убить контроллер за долю секунды.

UART‑подключения: одно универсальное правило
TX — «передаю», RX — «принимаю». То, что устройство передаёт, контроллер должен принять, и наоборот. Для I2C (компас): SCL → SCL, SDA → SDA — тут без «креста».
; UART-подключение (крест-накрест)
DEVICE_TX → FC_RX
DEVICE_RX → FC_TX
; I2C для компаса (без креста)
GPS_SCL → FC_SCL
GPS_SDA → FC_SDA
; Питание
GND → GND
+5V → +5V
4V5), подключайте GPS и приёмник к ним. Тогда вся электроника поднимается от USB‑кабеля, и для настройки не нужно каждый раз цеплять аккумулятор.


Как перепиновать JST, если распиновки не совпали
Пошагово
- Сверьте pinout обеих плат. Отметьте, какие провода нужно поменять местами.
- Тонким пинцетом слегка приподнимите пластиковый фиксатор контакта в разъёме. Не выгибайте до упора — сломается.
- Вытяните провод.
- Повторите для второго провода.
- Вставьте провода в правильном порядке до щелчка.
- Верните фиксатор на место.
- Ещё раз сверьте с даташитом.

Ловушка: UART на плате ≠ SERIALx в параметрах
На плате написано UART2, а в ArduPilot параметр называется SERIAL3. Или наоборот. Нумерация почти никогда не совпадает напрямую — она зависит от конкретного target.
SERIALx. Держите её как единственный источник правды. Если модуль «не видится» в Mission Planner — первым делом проверяйте, на тот ли SERIALx вы назначили протокол.; Пример карты портов (заполните под свой FC)
; Физический порт → SERIALx → Устройство → Протокол
; USB → SERIAL0 → Mission Planner → MAVLink2
; UART2 → SERIAL1 → Приёмник → RCIN
; UART3 → SERIAL2 → GPS → GPS
; UART6 → SERIAL5 → Air Unit → DisplayPort
Типичные ошибки при проводке
Ошибка: «разъёмы одинаковые — значит можно просто воткнуть»
Совпадение коннекторов не означает совпадение распиновки. Иногда производители разводят питание/сигналы по‑разному. Итог — подача высокого напряжения туда, где его быть не должно.
Ошибка: питание GPS/приёмника только от батареи
Настройка становится неудобной: для каждой мелочи нужен аккумулятор. Если есть USB‑питание на отдельной шине — используйте его.
4. Прошивка и первое подключение к Mission Planner
Если FC пришёл с чужой прошивкой (Betaflight, iNav, пустой), нужно залить ArduPilot вручную. Общий подход: скачать нужный файл (вариант с bootloader), записать через STM32CubeProgrammer, проверить подключение через Mission Planner.

Пошаговая процедура
- Скачайте прошивку с firmware.ardupilot.org → Copter → ваш target. Берите вариант с bootloader (
_with_bl).
- Установите STM32CubeProgrammer.
- Переведите FC в boot‑режим: зажмите кнопку
BOOT, подключите USB, отпустите кнопку.

- В CubeProgrammer выберите подключение USB, обновите список портов, нажмите Connect.
- Выполните Full chip erase (полная очистка).
- Укажите файл прошивки, отметьте
Verify programmingиRun after programming. Нажмите Start programming и дождитесь завершения.
- Переподключите USB (power cycle), чтобы контроллер стартовал в обычном режиме.
Проверка: откройте Mission Planner, выберите порт Auto, нажмите Connect. Если видите подключение по MAVLink и загрузку параметров — прошивка на месте.
Типичные ошибки при прошивке
Ошибка: не тот файл (без bootloader / не тот target)
Контроллер не стартует или стартует некорректно. Обновления будут сложнее. Всегда сверяйте target и берите вариант «с bootloader».
Ошибка: забыли, что Full erase стирает всё
На чистом старте — не страшно. Но после часов настройки это болезненно. В дальнейшем делайте бэкап параметров перед полным стиранием.
5. Обязательные настройки и калибровки
Всё, что ниже, делается в Mission Planner через Setup → Mandatory Hardware или Config → Full Parameter List.
5.1. Frame Type
Setup → Mandatory Hardware → Frame Type. Выберите класс (Quad / Hexa / Octa) и геометрию (X, V, H…). Для стандартного квадрокоптера — Quad, X.
Геометрия определяет микшер моторов. Если выбрать неправильно, автопилот будет компенсировать наклон не теми моторами — и вы увидите это уже на взлёте.

5.2. Initial Tune Parameters
Задайте стартовые параметры: размер пропеллеров (дюймы), количество банок батареи, напряжение полной/пустой банки. Если Mission Planner предлагает «suggested settings» — включите.

; Пример логики (значения подставляйте под свою сборку)
PROP_SIZE_IN = 8
BATT_CELL_COUNT = 6
CELL_VOLT_FULL = 4.2
CELL_VOLT_EMPTY = 3.6
5.3. Ориентация платы (AHRS_ORIENTATION)
Если контроллер установлен не стрелкой вперёд, найдите AHRS_ORIENTATION в Config → Full Parameter List и выставьте нужное значение. Стрелкой вперёд = 0. Разворот на 180° по roll = 8.
AHRS_ORIENTATION и установка значения ориентации 
5.4. Калибровка акселерометра
Setup → Mandatory Hardware → Accel Calibration.
- Calibrate Accel — калибровка по шести положениям. Следуйте текстовым подсказкам (прямо, влево, вправо, нос вниз, нос вверх, вверх ногами). Картинок‑самолётиков не будет — только надписи.
- Перезагрузите контроллер.
- Calibrate Level — поставьте коптер на действительно ровную поверхность, не трогайте, нажмите кнопку.

5.5. Калибровка компаса
Setup → Mandatory Hardware → Compass → Start. Прокрутите коптер на 360° во всех ориентациях, пока калибровка не завершится. Перезагрузите контроллер. Картинок‑самолётиков не будет.

5.6. Калибровка радио
Привяжите приёмник к аппаратуре стандартным способом. В Mission Planner проверьте каналы: центр около 1500, минимум ниже 1000, максимум выше 2000.

RC2_REVERSED = 1.5.7. Serial Ports
Настройте протоколы для каждого порта в соответствии с вашей картой портов.
Важно:
SERIAL0/SERIAL1(USB MAVLink) — НЕ ТРОГАТЬ, если не понимаете зачем. Это ваш канал связи с Mission Planner.
; Пример настройки (номера SERIALx сверяйте с картой портов вашего FC)
SERIAL1_PROTOCOL = 2 ; MAVLink2 (USB) — оставить
SERIAL2_PROTOCOL = 23 ; RCIN (приёмник)
SERIAL3_PROTOCOL = 5 ; GPS
SERIAL3_BAUD = 57 ; 57600
SERIAL6_PROTOCOL = 42 ; DisplayPort (Air Unit)
SERIAL6_BAUD = 115 ; 115200

6. Моторы, ESC и DSHOT — самая критичная проверка
Это место, где ошибки приводят к крашу сразу при взлёте. Не спешите.
6.1. Параметры моторов в ArduPilot
Если вы привыкли к Betaflight, терминология будет другой. Вот «переводчик»:
| Что настраиваем | Как иногда называют | Параметр ArduPilot (Copter) |
|---|---|---|
| Протокол ESC (PWM / DShot…) | ESC_PROTOCOL |
MOT_PWM_TYPE (например, DShot300/600) |
| Мин/макс PWM | PWM_MIN / PWM_MAX |
MOT_PWM_MIN / MOT_PWM_MAX |
| Вращение после арминга (газ = 0) | SPIN_WHEN_ARMED |
MOT_SPIN_ARM |
| Минимальная тяга в полёте | SPIN_MIN |
MOT_SPIN_MIN |
| Калибровка ESC | ESC calibration | Для DShot обычно не нужна. Не нажимайте кнопку без понимания. |

6.2. Servo Outputs: назначение выходов
Выходы серв 1–4 назначьте как Motor 1–4. На этом этапе порядок может быть любым — вы исправите его после motor test.

6.3. Motor Test: порядок и направление
Процедура: «выписать на бумагу»
- Оставьте назначение 1→1, 2→2, 3→3, 4→4.
- Запустите тест мотора A (Motor 1). Запишите, какой физический мотор крутится (например, «правый передний»).
- Повторите для моторов B, C, D.
- Сравните с диаграммой вашей рамы. Переназначьте Motor# так, чтобы всё совпало.
- Проверьте направление вращения каждого мотора. Где нужно — включите
Reverse.
Неверный порядок или направление = стабилизация работает «наоборот» = опрокидывание на взлёте. Это самая частая причина краша нового коптера.


6.4. Настройка spin по deadzone
У каждой связки мотор + ESC есть «мёртвая зона» — диапазон команд, в котором мотор ещё не крутится стабильно. Если MOT_SPIN_ARM попадает в эту зону, моторы «подвисают» при армировании — дёргаются, стартуют рывками.
- В Motor Test плавно поднимайте значение с нуля.
- Найдите точку, где мотор начинает крутиться уверенно (без рывков и остановок). Это верхняя граница deadzone.
- Установите
MOT_SPIN_ARMчуть выше этой точки (например, +2%). - Установите
MOT_SPIN_MINещё немного выше (например, ещё +3%).
7. Режимы, Failsafe и логирование
7.1. Flight Modes
Настройте режимы через Setup → Flight Modes. Для трёхпозиционного переключателя хорошая стартовая комбинация: Stabilize / AltHold / Loiter. Если канал режимов не тот, что нужен, измените FLT_MODE_CH.

FLT_MODE_CH
7.2. Failsafe
Failsafe — не опция, а обязательная часть подготовки. Это ваша «подушка безопасности», и она должна быть настроена до первого взлёта.
Что настроить:
- Radio failsafe — что делает коптер при потере связи. Рекомендация: RTL (возврат и посадка). Задайте порог PWM (
FS_THR_VALUE), ниже которого срабатывает failsafe. - Battery failsafe — порог низкого напряжения и таймер. С токовым датчиком можно использовать порог по mAh, но подходите к расчёту аккуратно.

- Знаю, что произойдёт при потере связи (Radio failsafe).
- Знаю, что произойдёт при низком напряжении (Battery failsafe).
- Home задан, GPS ловит спутники, компас адекватен.
7.3. Логирование и подготовка к FFT
Перед тюнингом фильтров нужно, чтобы логи писались в формате, пригодном для анализа вибраций и частот.
| Параметр | Значение | Зачем |
|---|---|---|
INS_FAST_SAMPLE |
1 |
Быстрое сэмплирование (для H7/F7) |
INS_GYRO_RATE |
1 (2 кГц) |
Хорошая стартовая частота гироскопа |
INS_LOG_BAT_OPT |
5 |
Pre/post filter + sensor rate logging |
| FFT: выбор IMU | IMU1 | Один IMU для FFT, чтобы не перегружать лог |
| Raw IMU | Выключить | Иначе FFT может работать некорректно |


raw IMU, иначе FFT может не работать корректно. Настройки логов лучше делать сразу «как нужно» для всей серии тюнинга.INS_LOG_BAT_OPT = 5
7.4. (Опционально) Проверка помех компаса под нагрузкой
Если хотите оценить, насколько силовая часть «засвечивает» компас:
- Поставьте пропеллеры перевёрнутыми (тяга вниз, коптер прижимается к земле).
- Зафиксируйте коптер ремнями. Не руками. Не ногами.
- Плавно поднимите газ до ~50–75% на 5–10 секунд.
- Оцените график помех компаса.
Compass interference: помехи для компаса

8. Первый ховер‑тест
Цель — не «полетать», а убедиться, что база работает, и получить первый чистый лог.
Условия
- Режим: Stabilize.
- Место: открытая площадка, без людей поблизости.
- Высота: 0,5–1,5 м.
- Длительность: 3–10 секунд.
- Действия стиками: минимальные, без резких движений.
Порядок
- Arm.
- Плавно поднять газ — коптер отрывается от земли.
- Несколько секунд висения.
- Плавная посадка.
- Disarm.
- Скачать лог.
Если что-то не так
- Сильные колебания → сразу посадка, разбор по базовым настройкам (ориентация, моторы, frame type).
- Pitch «перевёрнут» →
RC2_REVERSED = 1, повторить. - Не армится → прочитать Pre‑Arm сообщение, устранить причину.
; Если pitch (канал 2) оказался «перевёрнутым»:
RC2_REVERSED = 1
9. Диагностика: симптом → причина → решение
| Симптом | Вероятные причины | Что делать |
|---|---|---|
| Флип на взлёте | Неверный порядок моторов; неверное направление вращения; неверный Frame Type; неверная ориентация FC. | Не трогать PID. Вернуться к базе: AHRS_ORIENTATION → Frame Type → Motor Test → направление → пропы. |
| Не армится | Не пройдена Pre‑Arm проверка (компас / гиро / радио / GPS…). | Прочитать текст сообщения. Устранить причину. Не отключать проверку «наугад». |
| GPS / OSD / приёмник «не работает» | Протокол назначен не на тот SERIALx; перепутаны TX/RX; неверный baud rate. |
Сверить карту портов → проверить TX↔RX → проверить SERIALx_PROTOCOL и SERIALx_BAUD. |
| Моторы дёргаются при армировании | MOT_SPIN_ARM попадает в deadzone ESC. |
Найти deadzone через Motor Test, поднять MOT_SPIN_ARM выше. |
| Компас не калибруется | Помехи от силовых проводов, магнитов, металла рядом. | Вынести компас дальше от источников помех, повторить калибровку. |
| Коптер «плывёт» по курсу в Loiter | Помехи компаса; компас не откалиброван; компас отсутствует. | Проверить калибровку, проверить помехи под нагрузкой, убедиться что компас вообще есть. |
10. Чек‑лист перед выездом в поле
Отметьте только то, что вы действительно сделали и проверили, а не «вроде бы да».
| ✓ | Навык / действие | Критерий |
|---|---|---|
| Железо | Комплект полный (FC / ESC / GPS+компас / RX). Компас установлен далеко от силовых проводов. | |
| Распиновки | Сверил pinout FC ↔ ESC перед первым включением. Разъёмы совпадают или перепинованы. | |
| UART‑подключения | Карта портов составлена. TX→RX, RX→TX — проверено для каждого устройства. | |
| Прошивка | FC прошит нужным target (с bootloader). Mission Planner подключается, параметры читаются. | |
| Ориентация платы | AHRS_ORIENTATION выставлен. Покачал коптер в руках — горизонт в MP совпадает с реальностью. |
|
| Калибровки | Accel (6 положений) → перезагрузка → Level (ровная поверхность) → Compass — всё пройдено. | |
| Радио | Приёмник привязан. Каналы в MP: центр ~1500, мин <1000, макс >2000. Инверсия pitch исправлена (если нужно). | |
| Serial Ports | Протоколы назначены на правильные SERIALx. USB MAVLink не тронут. |
|
| ESC / DSHOT | MOT_PWM_TYPE выставлен. MOT_SPIN_ARM и MOT_SPIN_MIN настроены по deadzone. ESC calibration для DShot не запускалась. |
|
| Motor Test | Пропы сняты. Порядок моторов соответствует диаграмме. Направление вращения проверено и исправлено. | |
| Режимы | Stabilize доступен одним щелчком. Flight Modes настроены. | |
| Failsafe | Radio failsafe → RTL. Battery failsafe → пороги заданы. Понимаю, что произойдёт в каждом случае. | |
| Логирование | INS_FAST_SAMPLE, INS_GYRO_RATE, FFT‑параметры выставлены. Raw IMU выключен. |
|
| Первый ховер | Stabilize, открытая площадка, 0,5–1,5 м, 3–10 секунд, лог скачан. |
