Двунаправленный (Bidirectional) DSHOT и RPM-фильтрация. Настройка

В статье рассмотрим, что такое (двунаправленный) Bidirectional DSHOT и RPM-фильтрация, а также их настройку.

Что такое RPM-фильтрация?

RPM-фильтрация — это набор из 36 режекторых фильтров для гироскопа и опционально для Dterm.

Режекторный фильтр (проф. жаргон — полосно-заграждающий фильтр, фильтр-пробка) — электронный или любой другой фильтр, не пропускающий колебания некоторой определённой полосы частот.

Эта фильтрация использует телеметрию для удаления шумов двигателя с очень большой точностью. По умолчанию использует по 12 режекторных фильтров на тангаж, крен и рыскание и таким образом обрабатывает первые 3 гармоники (3 самые высокие частоты) каждого двигателя.

Простыми словами: RPM-фильтрация — это очень точная фильтрация вибраций двигателей.

Многие пилоты уже согласны с утверждением, что RPM-фильтрация является лучшим фильтром в Betaflight.

Что такое bidirectional (двунаправленный) DSHOT?

Bidirectional DSHOT — это новая функция в Betaflight 4.x, которая позволяет контроллеру полета получать точную телеметрию оборотов вращения двигателя по сигнальному каналу ESC. Но сигнал поступает без использования дополнительных проводов и каналов.

Bidirectional DSHOT будет работать только на регуляторах оборотов (ESC) с поддержкой 32 битных прошивок: BLHeli_32 или BLHeli_S, в которых также есть функция поддержки телеметрии DSHOT.

Регуляторы оборотов на BLHeli_32 уже изначально умеют передавать телеметрию в полетный контроллер (температуру, eRPM, ток) по отдельному сигнальному проводу. Эта стоковая телеметрия передается достаточно медленно и не может использоваться для RPM-фильтрации. Но двунаправленная телеметрия работает на гораздо больших скоростях, чем стандартная и она подходит для RPM-фильтрации.

Что нужно, чтобы работала RPM-фильтрация и Bidirectional DSHOT?

Для RPM-фильтрации

  • Betaflight версии 4.1 и новее;
  • Регуляторы оборотов BLHeli_32 или BLHeli_S с патчем JazzMaveric BLHeli_S;
  • Включенный Bidirectional DSHOT в Betaflight;
  • Настроенные параметры RPM-фильтрации в Betaflight.

Bidirectional DSHOT на ESC BLHeli_32

Версия прошивки регуляторов оборотов — BLHeli_32 32.7.0. Где узнать версию? Запустите BLHeliSuite32.

Если прошивка старее этой, то обновите ее.

Bidirectional DSHOT на BLHeli_S

Для этого, у ваших регуляторов оборотов должна быть специальная прошивка отсюда: https://github.com/JazzMaverick/BLHeli/tree/JazzMaverick-patch-1/BLHeli_S%20SiLabs

Она поддерживает Bidirectional DSHOT.

Как включить Bidirectional DSHOT в Betaflight?

Для начала, вам нужно зайти в Betaflight, включить режим Эксперта и перейти в CLI.

Далее, введите эти два параметра (мы их отключаем):

set dshot_burst = OFF

set scheduler_optimize_rate = ON

Затем, перейдите на страницу конфигурации и выберите DSHOT600 или DSHOT300, так как Bidirectional DSHOT работает только с протоколами DSHOT 300 , 600 и 1200. Если выбрали DSHOT600, то частоту обновления выставьте на 4kHz и 4kHz (слева, частота обновления гироскопа и цикла PID):

Двунаправленный (Bidirectional) DSHOT и RPM-фильтрация. Настройка

Теперь можете передвинуть ползунок на Bidirectional DSHOT, чтобы включить его:

Двунаправленный (Bidirectional) DSHOT и RPM-фильтрация. Настройка

Можно включить командой из CLI:

set dshot_bidir = ON

Как включить RPM-фильтрацию?

Нужно правильно настроить Dynamic  Notch Filter, поскольку теперь он больше не должен устранять шум двигателя. На вкладке «Настройки фильтра» в Конфигураторе установите для параметра «Dynamic  Notch Filter» значение «MEDIUM» (средний), для «Dynamic Notch Width Percent» — 0, а для «Dynamic Notch» — 250:

Двунаправленный (Bidirectional) DSHOT и RPM-фильтрация. Настройка

Далее, настраивается lowpass filter. Изначально используются стандартные настройки версии Betaflight 4.1:

# 4.1 default lowpass filter set set gyro_lowpass_type = PT1 set gyro_lowpass_hz = 200 set dyn_lpf_gyro_min_hz = 200 set dyn_lpf_gyro_max_hz = 500 set gyro_lowpass2_type = PT1 set gyro_lowpass2_hz = 250 set dterm_lowpass_type = PT1 set dterm_lowpass_hz = 100 set dyn_lpf_dterm_min_hz = 70 set dyn_lpf_dterm_max_hz = 170 set dterm_lowpass2_type = PT1 set dterm_lowpass2_hz = 150

Это вводите в командной строке CLI. Делаются несколько тестовых полетов и на их основе для каждого квадрокоптера ИНДИВИДУАЛЬНО корректируются параметры данного фильтра.

Установка полярности двигателей

Теперь нужно настроить полярность двигателей, а точнее, число магнитов в колоколе.

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

Затем, перейти в CLI и прописать:

motor_poles = 14

Где 14 — число магнитов. Не забудьте ввести save и нажать энтер.

Если у вас двигатели 2205, 2206, 2207 или 2306, то скорее всего там 14 магнитов. Двигатели 080x, 110x, 120x — скорее всего будут с 12 магнитами. Но лучше, чтобы вы лично посчитали магниты.

На заметку: число магнитов всегда будет четным.

Если остались вопросы

Изначально, без включенного Bidirectional DSHOT есть только eRPM. Но после включения Bidirectional DSHOT будет задействована RPM-фильтрация. Отдельно ее включить нельзя, это то, что «вытекает» из Bidirectional DSHOT.

Полетный контроллер использует число полюсов двигателя для преобразования eRPM в RPM.

У вас не получится просто сесть и настроить, требуются тестовые полеты, чтобы ощутить изменения и внести корректировки в настройки фильтра.

Более подробно об этом всем, вы можете прочитать здесь: https://github.com/betaflight/betaflight/wiki/Bidirectional-DSHOT-and-RPM-Filter

Понравилась статья? Поделиться с друзьями:
Все о квадрокоптерах | PROFPV.RU
Комментарии: 1
  1. Maksim

    можно добавить про фильтры в бетафлайт 4.3? там изменились параметры

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: