Переназначение выходов на моторы в BetaFlight и других портов – Все о квадрокоптерах | PROFPV.RU

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU Мультикоптеры

D term фильтрация

Как было сказано выше, D способен приумножать шумы от гироскопа, поэтому в Betaflight есть фильтрация D. Ниже на грификах видно уровень шума до фильтрации и после.

В сообществе нет четкого понимания, стоит ли сильно фильтровать D или нет. Но есть правило горячих моторов, чем меньше фильтрация и чем выше D, тем сильней они греются и могут даже сгореть. Но и в обратную сторону мы получаем задержку.

Low pass


Фильтры

Как показывает предыдущий график — сигнал от гироскопа содержит информацию от 0 Гц до 1000 Гц, но нас интересует только диапазон 0-80 Гц, поскольку это фактическое движение квадрокоптера, о котором должен знать PID-контроллер. Таким образом, нам нужно решение для фильтрации, чтобы позволить низким частотам проходить через PID-контроллер, в то же время ослабляя высокие частоты, и для этого мы можем использовать фильтр Low Pass (Низких частот).

Фильтры нижних частот пропускают низкочастотный сигнал и ослабляют высокие частоты, которые в основном являются просто шумом.

Устанавливается частота среза, и контроллер просто уменьшает сигналы выше этой частоты. Кривая затухания позволяет не срезать все под чистую, а чем выше частота шума, тем сильней происходит его затухание, плавно.

Часто пилоты допускают ошибку устанавливая такой фильтр на той же частоте, что и видимый шум. Например на 200Hz. Поскольку фильтр плавно ослабляет шум, установка такого фильтра не даст особого результата. Фильтр стоит устанавливать на более низкие частоты. Возможно, даже на 80Hz.

Чем ниже вы устанавливаете такой фильтр, тем больше фильтрации происходит

Смотрите про коптеры:  The Chernobyl VR Project — эксклюзивная экскурсия в Припять и Чернобыль

Устанавливая фильтрацию, следует помнить об одной простой вещи. Чем больше фильтрации тем больше задержка. Понятное дело, что она в миллисекундах и не значительная, но для PID-контроллера это критично. Так как он начнет реагировать на события позже, а это значит, что он будет пытаться выровнять квадракоптер в прошлом 🙂

Mems гироскоп

У каждого квадрокоптера есть FC — Flight Controller, который по сути является мозгами. На этих контроллерах так же присутствует цифровой чип, который часто называют gyro — гироскоп. Это сенсор, который чувствует движение. Он содержит в себе маленькое электро-механическое устройство, которое так и называется — MEMS (Micro Electro Mechanical System).

Внутри этого устройства расположены механически резонирующие «вилки». Эти вилки, расположены по всем трем осям (pitch, roll, yaw) и двигаясь (механическая часть) создают флуктуации вольтажа (электрическая часть).

Флуктуации (колебания) вольтажа, по факту являются аналоговыми волнами, которые преобразуются в цифровую информацию для обработки полетным контроллером. Когда мы говорим 8k gyro, это значит, что 8000 раз в секунду, аналоговый сигнал превращается в цифровой и обрабатывается контроллером, прошивкой, в данном случае Betaflight.

Notch фильтр


Notch переводится как зарубка, собственно это примерно так и выглядит:

Фильтра откидывают часть шума ниже и часть шума выше. Начиная с Betaflight 3.1 эти фильтры являются динамическими, и подстраиваются под различный шум.

Фильтра используются в связке с Low Pass фильтрами, но используются уже для фильтрации шумов от моторов, которые находятся выше.

Pid controller

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU

PID Controller — это такая система которая корректирует позицию квадрокоптера согласно стикам (вашему управлению) или заданного положения (ну, что бы его не колбасило). PID настраивается за счет 3х параметров — P, I и D. К сожалению в этой статье мы не будем детально рассматривать настройку PID. Если вы пилот, то уже знаете, а если новичок, но на эту тему будет отдельная статья.

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

D term в PID контроллере имеет особенно отношение к шуму. D сглаживает быстрые движения, но вычисление D в PID контроллере значительно усиливает шум в сигнале. Это означает, что шум от гироскопа существенно усиливается значением D term и поэтому мы фильтруем в двух местах — гироскоп и D.

В качестве примера такого приумножения покажу вам такие вот логи:Первый график — гироскопВторой график — PIDТретий — моторы

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU
(это нормальные пропеллеры, с немного уменьшенной фильтрацией)

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU
(Как видите вибрации от плохих пропеллеров усиливаются на этапе PID контроллера, что ведет к излишнему напрягу моторов, их буквально колбасит)

Скрины из — Blackbox Explorer.

Rpm filter

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU

Так вот, собственно, что новое я стал использовать, так это RPM фильтрацию. Она работает за счет двухстороннего протокола DSHOT который позволяет полетному контроллеру узнать точное количество оборотов конкретного мотора. И уже на основании этих данных применяется фильтрация.

Переназначение выходов на моторы в BetaFlight и других портов - Все о квадрокоптерах | PROFPV.RU
(Ваш ESC должен поддерживать двухсторонний DHSOT)

Прошивка на ESC, от 3.7

Если моторы греются, то это проблема. Горячие моторы могут быть признаком того, что на моторы попадает много шума и они пытаются реагировать на вибрации так часто, что начинает выделяться тепло.

Греться моторы могут по ряду причин, старая рама, погнутые колокола у моторов, нарушенная балансировка, лишние прибомбасы на вашем коптере.

Конечно лучше иметь, как говорят clean build, и что бы все было новое, но можно сперва попробовать настроить фильтрацию.

Для начала можно начать с увеличения фильтрации D, делать шаги в 20 Hz. Проверяйте температуру после каждого такого шага и найдите свой оптимальный диапазон.

А искать его следует между температурой моторов и вибрациями. Как было сказано выше, хоть и фильтрация призвана уменьшить количество шума, она может накладывать некоторые задержки и PID контроллер может не успевать. И как бы это смешно не было, вызывать вибрации. Но эти вибрации не относятся к пропвош. Это уже просто неэффективная работа PID.

В последних версиях Betaflight есть ползунки, пробуйте не менять значения самих фильтров, а попробуйте использовать эти «мастер» ползунки.

На текущий момент у меня такие настройки с включенным RPM фильтром, возможно я попытаюсь уменьшить фильтрацию еще больше:

Как использовать betaflight resource remapping (переназначение портов)

Переназначение портов доступно только с версии Betaflight 3.1 и выше, если у вас 3.0 и более старые версии, то обновитесь. Все манипуляции с переназначением производятся через CLI Betaflight — это командная строка бетафлай. 

Подключите дрон к компьютеру, запустите бетафлай, далее перейдите во вкладку «CLI».

Команда «resource» — используется для назначения других портов, а также вывода списка всех портов.Введите в CLI команду resource и нажмите enter. Вы увидите список названий портов и чем они используются. Для примера, я буду менять вывод второго мотора «MOTOR 2» на контакт LEDSTRIP, можно менять на любой другой, но я сделаю так. Это актуально, если, например, вы сломали контакт «MOTOR 2», а контакта «MOTOR 5» у вас нет и т.д., и так, начнем:

  1. Найдите свободный порт/выход на своем полетном контроллере.  У меня это LEDSTRIP.
  2. Зайдите в CLI, введите «resource», нажмите enter и посмотрите, под каким кодовом словом записан ваш порт:
    Переназначение выходов на моторы в BetaFlight и других портовАх да, не забудьте сделать бекап перед дальнейшими манипуляциями! Если забыли где, напомню: на главной странице.
    Кодовое слово в моем случае «А08″, оно справа от слова “LEDSTRIP 1».
  3. Прежде чем переназначить порт, вам нужно очистить его от старого значения. Для этого оформляем команду вот так: «resource <имя функции> NONE», в моем случае это будет выглядеть вот так: «resource LEDSTRIP 1 NONE». Печатаете это в строке ввода команды и нажимаете enter, после чего жмете Save to File.
  4. Теперь назначаем новый порт, оформив команду вот так: «resource <function> <новое кодовое слово>»
    у меня эта команда будет выглядеть так: «resource MOTOR 2 A08».
  5. Сохраняем настройки нажатием кнопки Save to file:
    Переназначение выходов на моторы в BetaFlight и других портов
  6. Ждем пока контроллер перезагрузится и проверяем изменения командой «resource»:
    Переназначение выходов на моторы в BetaFlight и других портовУбедитесь, что кодовое слово у вашего порта поменялось, а также, что оно не дублируется с другим словом.

Имейте в виду, что каждый раз, когда вы будете обновлять или менять прошивку контроллера, вам придется также и проделывать все то, что вы сделали выше. Каждый раз, так что, лучше запишите команды в отдельный файл и сохраните эту страницу в закладки.

Фильтрация


Процесс фильтрации заключается в удалении лишнего шума из сигнала от гироскопа. Но какую часть сигнала от гироскопа мы хотим оставить, а какую отфильтровать?

Честно не могу вам в красках рассказать, но так сложилось, что в бетафлайт, шум, а точней вибрации измеряются в Hz. 1Hz — одна ротация в секунду. Делается это как для простоты визуализации и работы с этими переменными. А еще, турбулентность технически называется «rate of change of rotation» — частота изменения ротации.

Скорость движения квадрокоптера лежит в районе 0-30 Hz. Выше 30Hz до 80Hz у нас находится пропвош (propwash), когда квадрокоптер трясет от турбулентности в собственных потоках. Информация в пределах 0 — 80Hz важна для PID контроллера, поэтому ее мы трогать не будем.

С помощью PIDtoolbox можно рисовать вот такие карты:

Оцените статью
Радиокоптер.ру
Добавить комментарий