Урок 19 из 43 · Модуль 3. Гармонический режекторный фильтр (notch)
Mission Planner для технического персонала · Урок 19 из 43 · Модуль 3. Тюнинг и автономный полёт
Основной инструмент борьбы с шумом винтов: как найти частоту, настроить фильтр и проверить результат по спектру.
Режекторный фильтр вырезает узкую полосу вокруг частоты винтов, почти не внося задержки. Это принципиальное преимущество перед понижением ФНЧ.
Содержание
1. Цели урока
После этого урока вы будете понимать:
- как определить частоту вращения винтов по FFT в логе
- как настроить группу параметров INS_HNTCH_*
- три способа отслеживания частоты и их компромиссы
- как проверить результат и что делает ATC_RAT_*_SMAX
2. Гармонический режекторный фильтр
Основной инструмент борьбы с шумом винтов в современном ArduPilot. Он вырезает узкую полосу вокруг частоты вращения винтов и её гармоник, оставляя остальной спектр нетронутым — то есть даёт минимальную задержку.
Определение частоты винтов
Частота вращения винтов в герцах при висении:
Точнее её определяют по логу. Порядок:
- Установите
INS_LOG_BAT_MASK = 1(или 3 для двух IMU),INS_LOG_BAT_OPT = 0. - Выполните полёт длительностью не менее двух минут: висение, плавные наклоны, изменения тяги.
- Скачайте лог, откройте DATA → DataFlash Logs → Review a Log, нажмите FFT.
- На графике спектральной плотности найдите основной пик. Это и есть частота винтов.
IMU или ISBH/ISBD (batch sampling). Второй вариант точнее: batch sampling пишет сырые данные гироскопа на полной частоте, тогда как обычные записи IMU уже прорежены.Настройка параметров
| Параметр | Назначение | Рекомендация |
|---|---|---|
INS_HNTCH_ENABLE | Включение | 1 |
INS_HNTCH_MODE | Источник частоты | 1 — по газу, 3 — по ESC-телеметрии, 4 — по FFT |
INS_HNTCH_FREQ | Базовая частота, Гц | Частота винтов при висении |
INS_HNTCH_BW | Ширина полосы, Гц | Половина FREQ |
INS_HNTCH_ATT | Глубина подавления, дБ | 40 |
INS_HNTCH_REF | Опорное значение | Равно MOT_THST_HOVER в режиме 1 |
INS_HNTCH_HMNCS | Маска гармоник | 3 (первая и вторая) или 7 (три) |
INS_HNTCH_OPTS | Опции | 2 — динамические гармоники для многомоторных |
Три способа отслеживания частоты
Режим 1 — по газу (INS_HNTCH_MODE = 1). Частота вычисляется из текущего значения газа по формуле, привязанной к INS_HNTCH_REF. Простой и надёжный вариант, работает без дополнительного оборудования. Точность средняя: при манёврах реальные обороты отличаются от расчётных.
Режим 3 — по ESC-телеметрии (INS_HNTCH_MODE = 3). Регуляторы с телеметрией (BLHeli32/AM32, DShot bidirectional, DroneCAN) сообщают реальные обороты каждого мотора. Самый точный метод. Требует SERVO_BLH_BDMASK или соответствующей настройки протокола.
Режим 4 — по встроенному FFT (INS_HNTCH_MODE = 4). Автопилот в реальном времени вычисляет спектр и подстраивает фильтр. Требует FFT_ENABLE = 1 и вычислительных ресурсов; на слабых платах F4 может не хватить производительности.
INS_HNTCH_* и INS_HNTC2_*. Второй полезен, когда есть отдельный источник вибраций — например, подвес камеры, генератор или винты другого диаметра на гибридном аппарате.3. Проверка результата фильтрации
После настройки повторите полёт с включённым batch sampling и сравните спектры до и после. Признаки успешной настройки:
- пик на частоте винтов уменьшился на 20–40 дБ;
- в диапазоне до 30 Гц спектр не изменился (полезный сигнал не тронут);
- уровень
VIBEв логе снизился; - моторы стали холоднее.
VIBE ниже 15 м/с² достигается механически, фильтр — это дополнение.4. Механические меры
В порядке эффективности:
- Балансировка винтов. Простейший балансировщик стоит копейки. Снимает 50–70 % вибраций на большинстве сборок.
- Отбраковка моторов. Покрутите каждый мотор рукой: люфт по оси или заедание — замена.
- Демпфирование контроллера. Виброгасящие «пирожки» или двусторонний вспененный скотч. Для крупных аппаратов — платформа на силиконовых втулках.
- Масса на платформе контроллера. Добавление 20–40 г к демпфированной платформе снижает собственную частоту системы «масса — демпфер» и улучшает подавление.
- Разгрузка проводов. Провода от контроллера должны иметь свободную петлю, а не быть натянутыми.
- Проверка затяжки. Все винты рамы, особенно крепления лучей и моторов.
- Мягкие крепления моторов. Резиновые прокладки под моторы для крупных аппаратов.
5. Динамическое понижение усиления
ArduPilot 4.2+ умеет автоматически снижать коэффициент D при росте вибраций. Это страховка, а не замена настройке.
| Параметр | Назначение |
|---|---|
ATC_RAT_RLL_FLTD | Частота ФНЧ в D-канале контура крена (обычно = INS_GYRO_FILTER) |
ATC_RAT_RLL_FLTT | Частота ФНЧ по уставке (target) |
ATC_RAT_RLL_FLTE | Частота ФНЧ по ошибке |
ATC_RAT_RLL_SMAX | Ограничение скорости изменения выхода (slew limit), 25–50 |
ATC_RAT_*_SMAX ограничивает скорость изменения выхода регулятора и автоматически снижает усиление при выходе на предел. Значение 25–50 практически исключает высокочастотную раскачку и рекомендуется как страховка перед AUTOTUNE.6. Практика
Задания выполняются в симуляторе SITL и не требуют реального аппарата. Выполните их до перехода к следующему уроку.
Задание 19.1. Спектральный анализ
Выполняется в симуляторе SITL, реальный аппарат не требуется.
- В SITL включите
INS_LOG_BAT_MASK = 1, задайтеSIM_VIB_MOT_MAX = 5иSIM_VIB_FREQ_X = 90. - Выполните полёт длительностью 2 минуты с изменением тяги.
- Постройте FFT и определите основной пик.
- Настройте
INS_HNTCH_*под найденную частоту, повторите полёт и сравните спектры.
Задание 19.2. Подбор частоты среза
Выполняется в симуляторе SITL, реальный аппарат не требуется.
- Для трёх гипотетических аппаратов (5″ гоночный, 10″ съёмочный, 18″ тяжёлый) определите разумные
INS_GYRO_FILTER. - Объясните, к чему приведёт установка 60 Гц на 18-дюймовом аппарате и 10 Гц на 5-дюймовом.
- Рассчитайте частоту винтов для мотора 4008 с винтом 15″ при 3600 об/мин.
7. Проверьте себя
Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов (последняя статья курса).
- Почему D-составляющая PID особенно чувствительна к вибрациям?
- В чём преимущество режекторного фильтра перед простым понижением частоты ФНЧ?
- Какие три способа отслеживания частоты винтов поддерживает ArduPilot и в чём их компромиссы?
- Почему слишком мягкое демпфирование полётного контроллера ухудшает поведение аппарата?
- Что делает параметр
ATC_RAT_RLL_SMAXи почему его стоит задать перед AUTOTUNE? - Как отличить механическую проблему от проблемы фильтрации по данным лога?
8. Чек-лист самопроверки
Урок освоен, если каждый пункт выполнен на практике:
- Частота винтов определена по FFT реального лога
- Notch-фильтр настроен, спектр после фильтрации проверен
- Уровень VIBE снизился, моторы стали холоднее
- Задан ATC_RAT_*_SMAX как страховка перед AUTOTUNE
9. Что дальше
- Предыдущий урок: 18. Вибрации и фильтр нижних частот
- Следующий урок: 20. Каскад PID и физический смысл коэффициентов
- Полный перечень тем — в статье «Содержание курса».
- Четверг, 30 июля 2026