Этот гайд объединяет безопасный процесс настройки 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_ARM | Motor 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_ACC | WPNAV_ACCEL | Ускорение waypoint navigation | м/с² |
PILOT_SPD_UP | PILOT_SPEED_UP | Максимальная скорость набора высоты по команде пилота | м/с |
ATC_ACC_R_MAX | ATC_ACCEL_R_MAX | Угловое ускорение Roll | град/с² |
ATC_ACC_P_MAX | ATC_ACCEL_P_MAX | Угловое ускорение Pitch | град/с² |
ATC_ACC_Y_MAX | ATC_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-единицы параметров.
Инструменты и документация
- ArduPilot Filter Review Tool — проверка фильтрации по DataFlash.
- ArduPilot Methodic Configurator — пошаговый workflow.
- Анализатор логов ArduPilot FPV Club — разбор DataFlash.
- Setting the Aircraft Up for Tuning
- Initial Tuning Flight
- AutoTune
Погода и обледенение: температура, влажность, масса, пропеллеры и состояние силовой установки меняют поведение аппарата, но универсальной «сезонной поправки PID на 10%» нет. При обледенении или загрязнении пропеллеров не компенсируйте физическую проблему PID-настройкой — прекратите полёт и устраните причину.
