DMin (D-минимум)
Суббота, 02 августа 2025Функция Dmin (D-минимум) позволяет изменять показатели дифференциальной составляющей PID (D) в зависимости от текущего режима полёта квадрокоптера.
При активации данной функции можно установить более низкое значение D для обычного полёта — так называемое Dmin (D-минимум), и более высокое — Dmax (D-максимум) — для быстрых манёвров, таких как перевороты (flips) и вращения (rolls), а также при возникновении эффекта воздушной волны от пропеллеров (propwash).
Назначение Dmin
Dmin обычно используется для:
- Снижения значения D в обычном полёте, чтобы повысить устойчивость к погнутым пропеллерам (bent props), снизить нагрев моторов и уменьшить задержку реакции — типичный сценарий для гонок (racing);
- Временного увеличения D выше обычного уровня для лучшего контроля перерегулирования (overshoot) при переворотах и вращениях, а также для улучшения стабильности при propwash.
Когда Dmin включён (через переключатель в конфигураторе), обычное значение D переименовывается в Dmax, и появляется новая колонка для Dmin.
- Dmin становится "нормальным" значением, активным при прямолинейном полёте и плавных поворотах.
- Dmax — "высокое" значение, временно активируемое во время быстрых движений и при propwash.
Значения Dmin и Dmax сохраняются для каждого профиля управления (per-profile). В OSD (On-Screen Display) они находятся в настройках подстройки PID.
Параметр CLI d_min_boost_gain
управляет чувствительностью усиления D. Более высокие значения ускоряют изменение D от Dmin к Dmax.
Применение
Dmin позволяет пилоту всю большую часть времени использовать низкое значение D, что снижает задержку реакции, уменьшает нагрев моторов и повышает отзывчивость управления. При этом D временно увеличивается для подавления перерегулирования при быстрых манёврах и для лучшего контроля при propwash.
Профили пилотов:
- Фристайл (freestylers) обычно ставят Dmin близко к "нормальному" значению D, а Dmax — на 20–30% выше, чтобы улучшить контроль при propwash и подавить перерегулирование.
- Гонщики (racers) часто используют значение Dmin ниже стандартного, оставляя соотношение Dmin к Dmax по умолчанию.
- Для видео / фото съемок (cinematic) необходимы высокие P и D в постоянном режиме, поэтому Dmin следует устанавливать на высокий уровень, часто на 10% выше, чем P для подавления "дрожи" при медленном полёте. Dmax может быть выше, но применяется осторожно с сильной фильтрацией D, чтобы контролировать шум.
Активность D зависит от движения гироскопа: сильные движения (перевороты, вращения, propwash, погнутые пропеллеры) вызывают увеличение D до Dmax.
Параметр d_min_advance поднимает значение D до уровня Dmax при быстрых изменениях целевых значений позиционирования (setpoint), что позволяет использовать более раннее включение усиления D. Это полезно при очень высоких скоростях вращения, но не обязательно.
Преимущества и недостатки низкого D в обычном полёте
Преимущества низкого D:
- Меньше шума;
- Меньше нагрева моторов;
- Чище моторные следы при полной мощности;
- Быстрые реакции гироскопа на резкие команды;
- Меньше D-осцилляций при включении (arming).
Недостатки:
- Усиление эффекта propwash;
- Более выраженное перерегулирование и отскок;
- P-осцилляции при быстрых движениях из-за недостаточной демпфирующей способности;
- Медленные низкочастотные колебания при плавном полёте.
Цель Dmin — объединить лучшие свойства: низкий D при плавном полёте и медленных поворотах и высокий D для подавления перерегулирования и борьбы с propwash.
Влияние на уже хорошо настроенный квадрокоптер
- Если квад летает хорошо — эффект от Dmin может быть минимальным.
- Если моторы тёплые/горячие или стоит задача повысить устойчивость к погнутым пропеллерам и повысить отзывчивость в гонках — Dmin со значением ниже нормального D полезен.
- Для фристайла, если есть propwash или P-дрожь, установка Dmin на "нормальное" значение и Dmax на 20–40% выше поможет ослабить propwash.
Отключение Dmin
Отключается в конфигураторе или в CLI командой d_min=0. Если Dmin установлено выше Dmax, функция также отключается. После этого Dmax становится постоянным значением D.
Рекомендации по первичной настройке Dmin
Значения по умолчанию для Dmin: примерно 23, 25 и 0 на осях roll, pitch и yaw, что подходит большинству квадрокоптеров.
При первых полётах рекомендуется начинать с уменьшенными P и D слайдерами для безопасности.
Настройка P и D с активным Dmin подразумевает:
- Dmax используется при быстрых движениях (перевороты, вращения);
- Dmin — при стабильном и медленном полёте.
Некоторые пилоты рекомендуют настраивать P и D с отключённым Dmin, чтобы сначала подобрать оптимальный P перед подавлением осцилляций с помощью D.
Порядок настройки:
- Установить D примерно в 1/3 от P;
- Увеличивать P и D до появления P-осцилляций;
- Уменьшать до слабых осцилляций;
- Поднять D до подавления осцилляций — это будет Dmin;
- Для фристайла увеличить P, а Dmax использовать для подавления осцилляций (усиление).
Контроль propwash и overshoot
- Dmin улучшает контроль propwash, если Dmax выше оптимального D и d_min_boost_gain настроен адекватно.
- Если Dmin слишком низок (например, у гонщиков для лучшей отзывчивости), propwash может ухудшиться.
- Во время propwash D обычно поднимается примерно до половины пути между Dmin и Dmax.
- d_min_boost_gain регулирует скорость и чувствительность повышения D.
Значение параметров d_min_advance и d_min_boost_gain
- d_min_advance ускоряет включение усиления D при изменениях setpoint, а не только при изменениях гироскопа. Значение по умолчанию — 20, что мало. Рекомендуется 0 для гонок и большинства квадров, более высокие значения — для сборок с высокой скоростью вращения и склонных к перерегулированию.
- d_min_boost_gain регулирует скорость и интенсивность повышения D. По умолчанию 20 — безопасно для большинства. 30–35 — для чистого фристайла, 40–45 — для очень чистых, безвибрационных сборок.
Высокие значения могут привести к чрезмерному нагреву моторов при вибрациях или погнутых пропеллерах.
Проверка значения D во время полёта
Через OSD с командой в CLI:
set debug_mode = D_MIN
Отображается debug2 — значение D на оси roll, умноженное на 10 (например, 350 означает D=35).
Через Blackbox можно увидеть значения D на всех осях, а также вклад гироскопа и setpoint.
Как работает алгоритм Dmin
- Анализируется производная от гироскопа (rate of change).
- Применяется биквад-фильтр на 80 Гц для фильтрации шума D.
- Берётся абсолютное значение сигнала.
- Сглаживается с помощью PT1-фильтра на 10 Гц, добавляющего небольшую задержку.
- Умножается на коэффициент усиления и постепенно увеличивает D до Dmax.
Задержка позволяет усилению D начинаться ближе к концу быстрых движений, не подавляя начальную отзывчивость.
Нагрузка на процессор
Dmin увеличивает нагрузку на CPU минимально — добавляется один биквад-фильтр, один PT1-фильтр и немного вычислений.
Поддержка на F3-процессорах
Не все F3-чипы имеют возможность поддерживать Dmin из-за ограниченного размера flash. На таких платах параметр не появляется в CLI и OSD, но возможно создать специальную сборку с отключением других функций для освобождения места.
