Настраиваем RPM Filter в Betaflight

С выходом Betaflight 4.1. настройка RPM filter стала очень простой. Наверное, самый сложный этап — это обновление прошивок полетного контроллера и регуляторов 🙂 Если официальная инструкция вам показалась слишком сложной, то моё краткое руководство должно помочь.

Содержание

Что такое RPM Filter?

Notch-фильтр (Полосно-заграждающий фильтр) очень эффективно убирает шум, задержка реакции при этом меньше, чем при использовании low-pass фильтра (фильтр нижних частот) при том же уровне подавления. Подробнее про фильтры, используемые в Betaflight (англ).

Проблема найти частоту, на которой шум максимален. Динамические фильтры с этим справляются очень хорошо, но отслеживают только одну частоту. Моторы в коптере могут вращаться с разной скоростью, т.е. создают помехи на разных частотах.

RPM Filter, по сути, это несколько notch-фильтров, настроенных на подавление шума (и гармоник) от моторов, для этого используются данные (скорость вращения, RPM) передаваемые от регуляторов скорости в полетный контроллер по протоколу DShot.

Настраиваем RPM FIlter

ВНАЧАЛЕ СНИМИТЕ ВСЕ ПРОПЕЛЛЕРЫ

Обновите прошивку полетного контроллера до Betaflight 4.1 или новее (как обновить Betaflight, англ.). После перепрошивки, если используете SmartAudio, не забудьте настроить VTXTables, иначе видеопередатчик может работать неправильно).

Чтобы использовать двунаправленный DShot обновите BLHeli_32 до 32.7 или новее (обновление BLHeli_32).

Можно включить RPM Filter в BLHeli_S, но тогда понадобится специальная версия прошивки, вот отдельное руководство (англ).

Включаем 4 кГц для гироскопов (gyro sampling rate) и времени цикла (looptime).

Если увеличить луптайм до 8 кГц, то есть шанс появления дрожания, 4к — более безопасный вариант; в любом случае большинство пилотов не заметят разницы между 4к и 8к.

Для 4к будет достаточно протокола DShot300. Если луптайм 8к, тогда вам нужен DShot600.

Включаем «Bidirectional DShot» и указываем число полюсов моторов (Motor poles).

Просто считаем количество магнитов в колоколе мотора, это число и вводим в поле Motor Poles. Если ввести ошибочное число, то фильтр будет работать неправильно. Типичные характеристики:

  • у моторов 22хх, 23хх, 24хх — 14 полюсов
  • у моторов 08хх, 11хх, 12хх — 12 полюсов

Теперь переходим на вкладку моторов, над слайдерами вы должны увидеть “E:100%”.

Как только вы подключите аккумулятор, значение должно стать 0%. Если не стало, значит что-то не так. Если у вас частоты гироскопов/looptime 8k/8k, то, возможно, стоит выбрать меньшее значение.

Теперь можно раскрутить моторы подвигав слайдеры (достаточно небольшого газа), и убедиться, что всё работает как надо.

Переходим на вкладку настройки PID, в разделе Filter Setting включаем «Gyro RPM Filter«. Остальные параметры не трогаем.

По умолчанию, RPM Filter настроен на подавление 3х гармоник помехи от каждого мотора по каждой из осей (крен, тангаж, рысканье), т.е. в итоге мы получаем 36 notch-фильтров!

После перезагрузки полетного контроллера переходим в консоль и вводим команду:

tasks

Убеждаемся, что значение «Gyro/PID» столбец «rate/hz» близко к значению looptime. Например, если у вас частоты 4k/4k, то значение в таблице должно быть около 4000. Не обязательно точное совпадение, но погрешность должна быть менее 1%, иначе выбирайте looptime поменьше (так рекомендуют разработчики Betaflight).

Пора выйти на улицу и полетать, должны прочувствовать разницу. Но мы не совсем закончили, кое-что всё ещё можно улучшить.

Отключаем стандартную фильтрацию

Благодаря простому включению RPM фильтров квадрик будет летать плавнее, а его моторы будут меньше греться, но мы должны добиться максимума эффективности от фильтров, т.е. минимизировать задержку, которую они вызывают.

Благодаря этим настройкам коптер будет летать без колебаний. 🙂

В разделе Dynamic Notch Filter:

  • Dynamic Notch Filter Range ставим Medium, но если моторы уже меньше греются, тогда можно оставить значение LOW
  • Меняем Dynamic Notch Width Percent на 0 (это позволит отключить один из фильтров и уменьшит задержку)
  • Dynamic Notch Q — ставим 200 или даже 250 — для увеличения избирательности фильтра
  • Dynamic Notch Min Hz — ставим 90, благодаря фильтрам тут меньше высокочастотного шума, и мы хотим сфокусироваться на более низких частотах

Снова проверяем коптер, я советую все тесты проводить с использованием старых пропеллеров, так вы получите более объективные результаты.

Если моторы холодные, то вы, вероятно, можете уменьшить степень фильтрации. В этот раз используем два ползунка в верхней части вкладки фильтров — Gyro Filter Multiplier и D term filter multiplier.

Не трогайте чекбоксы под слайдерами. Они сами отреагируют на движения ползунков.

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

Ещё больше советов по настройке можно найти в официальной документации Betaflight.

Нашли что-то полезное в этом руководстве? Поделитесь им с друзьями, это лучшая благодарность автору (и переводчику, прим. переводчика).

История изменений

  • Май 2019 — первая версия статьи
  • Январь 2020 — добавлено руководство по настройке

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.