Все статьи по ArduPilot

Этот гайд объединяет безопасный процесс настройки ArduCopter: подготовка силовой установки, первый контрольный полёт, фильтрация, Pre-AutoTune, AutoTune и input shaping. Для машин с Bidirectional DShot надёжная RPM-телеметрия позволяет использовать ESC-telemetry harmonic notch как основной динамический notch-фильтр; FFT при этом остаётся полезным инструментом проверки по DataFlash и альтернативой, если RPM-телеметрия недоступна или ненадёжна.

Проверено для ArduCopter 4.7.1. В ArduPilot 4.7 переименована часть параметров и многие значения переведены в SI-единицы. Параметры на контроллере обычно мигрируют при первом запуске новой прошивки, но старые инструкции, .param-файлы и пресеты 4.6 и ниже нельзя копировать вслепую. Перед обновлением сохраните параметры и скачайте нужные DataFlash-логи.


ЭТАП 1: Базовая подготовка на земле

До тюнингового полёта проверьте механику, направление моторов и пропеллеров, калибровки, питание и Motor Test. Значения из чужого аппарата рассматривайте только как справку, а не как готовый preset.

1.1 Компенсация питания

ПараметрЧто проверитьКомментарий
MOT_BAT_VOLT_MAXНапряжение полностью заряженной батареиЗадаётся под фактический аккумулятор
MOT_BAT_VOLT_MINНижняя граница компенсацииНе подменяет battery failsafe
MOT_BAT_IDXНужный battery monitorПроверьте индекс при нескольких мониторах

1.2 Моторы и DShot

Снимите пропеллеры перед Motor Test. MOT_PWM_TYPE задаёт конкретную скорость протокола: 4 = DShot150, 5 = DShot300, 6 = DShot600. Для Bidirectional DShot выбирайте режим, который реально поддерживают плата и ESC; после изменения параметра требуется перезагрузка.

ПараметрКак настраивать
MOT_PWM_TYPEВыберите конкретный DShot150/300/600. Значение 4 — это DShot150, а не «любой DShot».
MOT_SPIN_ARMMotor Test: найдите минимальный процент, при котором каждый мотор надёжно начинает вращаться, и задайте небольшой запас.
MOT_SPIN_MINПодберите по Motor Test и фактической силовой установке; значение должно быть выше MOT_SPIN_ARM и не должно съедать нижний диапазон управления.
MOT_THST_EXPOПодбирайте под реальную силовую установку, а не только по диаметру пропеллера.
MOT_THST_HOVERНачните с консервативного значения и затем проверьте/обучите по стабильному полёту.

1.3 Фильтры и лимиты

Не переносите частоты фильтров из чужого коптера по одному только размеру рамы. Сначала устраните механические вибрации, затем оценивайте INS_GYRO_FILTER, INS_ACCEL_FILTER, rate-фильтры и harmonic notch по логам. В ветке 4.7 актуальны имена ATC_ACC_R_MAX, ATC_ACC_P_MAX и ATC_ACC_Y_MAX; старое семейство ATC_ACCEL_*_MAX относится к прежней схеме именования.


ЭТАП 2: Первый тюнинговый полёт

После существенного изменения tune первый контрольный полёт выполняйте в Stabilize, на свободной площадке и с заранее проверенным Emergency Stop. В AltHold переходите только после того, как attitude control и altitude control проверены раздельно.

  • При быстрых осцилляциях немедленно садитесь. Не используйте универсальное «минус 50% ко всем P/I/D»: сначала проверьте механику, вибрации, фильтрацию и лог.
  • Если аппарат кажется «мягким», не прибавляйте P и D фиксированными процентами вслепую. Используйте официальный Initial Tune/QuikTune/AutoTune либо пошаговую ручную настройку с логом.
  • Для обучения газа можно использовать MOT_HOVER_LEARN = 2; после стабильного AltHold проверьте получившийся MOT_THST_HOVER.

ЭТАП 3: Фильтрация с Bidirectional DShot

При корректной Bidirectional DShot/RPM-телеметрии harmonic notch на базе ESC telemetry может отслеживать частоту моторов. До настройки фильтра убедитесь, что RPM реально приходит по каждому мотору.

  • SERVO_BLH_BDMASK — маска выходов с Bidirectional DShot. Не копируйте значение 15, если назначение выходов вашей платы отличается.
  • INS_HNTCH_MODE = 3 — ESC Telemetry, когда RPM-телеметрия действительно доступна и проверена.
  • INS_HNTCH_HMNCS, INS_HNTCH_BW, INS_HNTCH_ATT и INS_HNTCH_OPTS подбираются по спектру и результату фильтрации, а не как универсальный набор чисел.

Роль FFT: при надёжной RPM-телеметрии in-flight FFT не обязан быть источником частоты основного dynamic notch. Но спектральный анализ остаётся полезен для проверки до/после фильтрации и поиска неизвестных источников шума.


ЭТАП 4: Pre-AutoTune

До AutoTune аппарат должен быть механически исправен, без опасных вибраций и с безопасными начальными параметрами. Правила вида «P = I», «D = P/10», фиксированные Yaw PID или универсальные проценты изменения не являются общим рецептом: результат зависит от рамы, инерции, моторов, пропеллеров, фильтров и версии прошивки.

Рабочий цикл: базовые параметры → короткий полёт в Stabilize → DataFlash → проверка вибраций/осцилляций → одно изменение → повтор. Это тот же принцип, который используется в связке FPV Club: теория → контролируемый тест → лог → анализ → одно изменение.


ЭТАП 5: AutoTune

AutoTune запускайте после безопасного базового полёта и проверки фильтрации. Выберите свободную зону, достаточную высоту и заранее проверьте способ прерывания процедуры и возврата к ручному управлению. AUTOTUNE_AXES, AUTOTUNE_AGGR и остальные параметры выбирайте под конкретный аппарат и текущую документацию; один набор чисел для всех коптеров некорректен.

После AutoTune проверьте новый tune коротким контролируемым полётом, оцените температуру моторов и DataFlash до обычной эксплуатации.


ЭТАП 6: Input Shaping и миграция параметров 4.7

Input shaping меняет ощущение от стиков после того, как базовый rate tune уже стабилен. В 4.7 изменилось поведение/масштаб ATC_INPUT_TC относительно пользовательских настроек 4.6, поэтому старые presets нельзя переносить как эквивалентный «характер» без проверки. Низкое значение даёт более резкий отклик, высокое — более мягкий.

ArduPilot 4.7Имя до 4.7НазначениеЕдиницы 4.7
WP_ACCWPNAV_ACCELУскорение waypoint navigationм/с²
PILOT_SPD_UPPILOT_SPEED_UPМаксимальная скорость набора высоты по команде пилотам/с
ATC_ACC_R_MAXATC_ACCEL_R_MAXУгловое ускорение Rollград/с²
ATC_ACC_P_MAXATC_ACCEL_P_MAXУгловое ускорение Pitchград/с²
ATC_ACC_Y_MAXATC_ACCEL_Y_MAXУгловое ускорение Yawград/с²

Не конвертируйте старые presets только по названию. Сверяйте единицы текущей версии. Например, старые 250 см/с для PILOT_SPEED_UP численно соответствовали 2,5 м/с, но правильное PILOT_SPD_UP всё равно выбирается под конкретный аппарат.


Финальный чек-лист

  • Motor Test выполнен без пропеллеров; MOT_SPIN_ARM/MOT_SPIN_MIN подобраны по фактическому запуску моторов.
  • RPM-телеметрия проверена до использования ESC-telemetry notch.
  • Вибрации и фильтрация проверены по DataFlash.
  • После значимого изменения tune выполнен короткий контрольный полёт в Stabilize.
  • Pre-Arm/EKF ошибки устранены по причине; safety checks не отключены для сокрытия проблемы.
  • После перехода на 4.7.1 проверены новые имена и SI-единицы параметров.

Инструменты и документация

Погода и обледенение: температура, влажность, масса, пропеллеры и состояние силовой установки меняют поведение аппарата, но универсальной «сезонной поправки PID на 10%» нет. При обледенении или загрязнении пропеллеров не компенсируйте физическую проблему PID-настройкой — прекратите полёт и устраните причину.

Прокрутить вверх
На связи