PID — что это такое, как работает и принципы настройки

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

Статья переведена с ГитХаба, я тоже летаю и настраиваю частично ПИДы на своих дронах, поэтому постарался перевести доступным языком. Если знаете как описать какой-либо момент более понятно, пишите в комментариях. Сама статья здесь: https://github.com/betaflight/betaflight/wiki/PID-Tuning-Guide

Примечание: данная инструкция актуальна при настройке PID в прошивках BetaFlight 2.X и более новых. Для настройки более старых прошивок, просьба ознакомиться с дополнительной информацией по ссылке выше.

Теория о PID, параметры и как это работает

PID — это аббревиатура из 3 слов:

  • Proportional;
  • Integral;
  • Deriative.

PID — это такая функция в полетном контроллере, которая считывает информацию с датчиков (как правило это гироскоп и акселерометр), обрабатывает и вносит корректировки, а затем отправляет команды регуляторам оборотов (ESC), а они в свою очередь управляют двигателями (быстрее или медленнее им крутиться).

Так вот, самый главный параметр в PID это Proportional. С помощью этого параметра (буду называть параметром) колебания при полете снижаются до минимума.

Колебания — внешние факторы, которые влияют на квадрокоптер в полете (ветер, притяжение и так далее), а также вибрация и дрожание.

В некотором смысле, P пропорциональна степени контроля над осью (под осью понимается PITCH или ROLL или YAW).

Чем меньше Р, тем меньше контроля над осями, чем больше Р, тем больше контроля со стороны этой функции.

Проблема при завышенном параметре Р в том, что он начинает перевыполнять ожидаемый контроль и это начинает приводить к колебаниям.

Качественные регуляторы оборотов (ESC), а также большая скорость вычисления PID-контуров (скрин ниже, помните же такую настройку?) помогает полетному контроллеру гораздо быстрее и эффективнее вносить корректировки в полет для избавления от колебаний.

PID - что это такое, как работает и принципы настройки
Скорость обновления PID

А вот I и D участвуют только для исправления оставшихся кусочков ошибок, с которыми не смог или не успел справиться параметр P:

I собирает за Р накопленные ошибки (дрифт), с которыми не справился вовремя Р и исправляет их. Поэтому, если ваш дрон меняет угол наклона после резкой смены положения стика газа (дали резко газ или сбросили), то следует увеличить параметр I. НО, сначала попробуйте увеличить сам Р, вдруг он для вашего дрона слишком низкий и по этому не выполняет свою работу.

D контролирует насколько быстро ось достигает нужного значения. Например, если вы дали квадрокоптеру команду очень быстро остановить двигатели (газ в 0), значение Р при корректировке может проскочить и не внести корректировки. Если вы замечаете такие «симптомы» после резкой смены уровня газа, то увеличение D может помочь снизить колебания, которые возникают сразу после резкой смены уровня газа.

Важно не увеличивать слишком сильно параметр D! Чрезмерное увеличение D приводит к увеличению шума и перегреву двигателей и возможному их возгоранию.

Как настроить PID по шагам

  1. Убедитесь, что двигатели сбалансированы и у квадрокоптера нет вибрации настолько, насколько есть возможность ее снизить. Попытка настроить PID без «чистого» гироскопа (балансировка и снижение вибрации делается для того, чтобы гироскоп работал без помех) — это все равно, что строить дом без хорошего фундамента. Это видео расскажет вам о простом способе проверки вибрации. Отрегулируйте настройки низкочастотного фильтра (lowpass filter) по мере необходимости, чтобы достигнуть «чистого» сигнала гироскопа.
  2. Важно, чтобы этот шаг выполнялся в режиме Акро, даже если вы всегда летаете в режиме стабилизации/горизонта. Режимы Angle\Horizont имеют свои значения и мешают настройке PID. Пример параметров PID ниже соответствует Rewrite PID (PID controller #1). При выполнении этой первоначальной настройки установите значение TPA равным 0. При необходимости TPA может быть добавлен позже.
  3. Начинать настройки нужного с маленьких изменений настроек по умолчанию. и начинать нужно с коэффициента Р. Значение Р на Pitch и Roll равное 4.0 будет хорошей отправной точкой.Также, следует снизить I и D у Pitch и Roll для настройки Р с минимальными помехами. Поэтому рекомендуется установить для I — 20, а для D — 5. Для Yaw целесообразно взять значение по умолчанию и разделить на 2. и немного уменьшить значение I, чтобы исключить эту ось в качестве источника колебаний. Yaw настраивается последним.
  4. Во время тестовых полетов, увеличивайте параметр Р по оси Roll до тех пор пока не увидите колебания при приближении к полному газу, а также не услышите видимые и слышимые колебания. Затем установите значение параметра Р равным примерно 70% от значения вызвавшего колебания. Теперь думаю понятно, почему без опыта полетов на конкретном квадрокоптере у вас не получится настроить его PID’ы?
  5. Повторите шаг 4 для оси Pitch.
  6. Проверьте, держит ли квадрокоптер нужный угол наклона Roll и не дрейфует ли он при крене (roll), а затем несколько раз дайте резкий газ вверх и резко отпустите его в 0. Вот тут обратите внимание — угол крена который вы сделали до игры газом не должен существенно меняться. Если угол отклонения кажется вам сильно отклонившимся (дрон начал дрейфовать), увеличьте параметр I. Если все ок и дрейфа нет, не меняйте I. Вы можете поменять «ощущение» своего дрона, подняв или опустив параметр I после достижения хороших настроек PID, так как I не влияет на конечные значения P и D.
  7. Повторите шаг 6 для оси Pitch.
  8. Параметр D следует увеличивать на каждой оси ТОЛЬКО до такой степени, чтобы он помогал уменьшить отдачу после флипов и роллов (флип — переворот вбок, ролл — переворот «вверх ногами»), а также после колебаний после свободного падения, когда вы делаете газ в 0 и дрон падает, затем запускаете двигатели газом и они начинают как бы проваливаться в воздухе и в этот момент дрон начинает мотать из стороны в сторону. Когда такие проблемы пропадут благодаря увеличению параметра D, снизьте этот параметр до уровня 80-90% от этого уровня.

    Примечание: слишком высокое значение параметра D может привести к нагреву двигателей. Чтобы проверить нагрев, нужно полетать 20-30 секунд, приземлиться и проверить руками двигатели. Если сможете держать пальцы на моторах, то они не будут сильно нагреваться.

  9. Часто настройка Yaw не нужна, либо она будет минимальной, так как все равно может вызывать колебания, если ничего не делать.
    Начните с Yaw P и проверьте дрон на вибрации как в первом шаге, а также убедитесь, что нет вибраций, если вы дадите резкий и длинный газ или быстрый пролет вперед
    Начните увеличивать Yaw Р с шагом 5 до тех пор, пока не увидите вибрации в видео с камеры при полете вперед или полном газе. После этого немного уменьшите значение.
    Теперь нужно посмотреть данные в blackbox. Возможно, Yaw P будет немного колебаться, поэтому попробуйте увеличить Yaw gyro, чтобы посмотреть, действительно ли колебания доходят до гироскопа. Если Yaw gyro выглядит более менее ровным, то все в порядке.

    Примечание: поскольку yaw по своей природе имеет меньший контроль, нежели pitch и roll, то для этой оси допустимы широкие диапазоны значений. P и I могут быть высокие, а D — низким, это нормально.

  10. Теперь нужно настроить соотношение между P и I, то есть, будет ли квадрокоптер при резких поворотах сопротивляться или наоборот проваливаться в эти повороты. Очень низкие значения I приводят к смещению оси через некоторое время. Низкие значения I по оси также позволяют свободно менять положение, но при этом сохранять это положение. Более высокие значения по оси I будут хорошо держать позицию дрона, но могут иметь тенденцию сопротивляться движению + добавляется небольшое движение по инерции. Очень высокие значения приводят к «роботизированным» движениям дрона и создают колебания.
  11. После завершения настройки в режиме Акро, можно переходить к настройкам других режимов, например, Horizon (горизонт).

Помните, что не нужно слишком глубоко зарываться в изучение логов Blackbox для настройки идеальных PID. Если квадрокоптер летает хорошо и вас все устраивает, просто идите и летайте :)

Примечания и советы

В логах черного ящика высокие колебания P не выглядят как острые пики или большие волны. Эти колебания сначала проявляются в самом верху диапазона газа и выглядят как узкие синусоидные волны. Когда они появляются в логах, их еще не видно визуально или на слух, поэтому при начальной настройке (визуально и на слух) рекомендуется сначала достичь точки визуальных и звуковых колебаний, а затем снизить значения до 70%. К моменту, когда все колебания будут видны визуально или на слух, то в логах это тоже будет отчетливо отображаться.

Death Rolls (крен смерти)

Наиболее частой причиной, по которой квадрокоптер переворачивается и не останавливает двигатели — слишком низкое минимальное значение газа (throttle). Регулятор оборотов не может запустить двигатель после команды с низким значением газа (газ был какое-то время на 0). В журнале черного ящика, это отображается, как-будто двигатель управляется полным газом, но дрон продолжает крутиться. Первое, что нужно сделать, это увеличить настройку min_throttle (значение параметра Idle % при работе протокола DSHOT).

Вторая причина — либо плохой двигатель, либо плохой ESC, либо даже ослабленное крепление луча рамы. В этом случае, вы увидите в логах Blackbox, что двигатель как бы на полном газе, но луч рамы опускается (если включен акселерометр), что указывает на то, что двигатель не имеет тяги. Для проверки замените двигатель или регулятор оборотов.

Третья причина — неудачная комбинация ESC\мотор. Некоторые регуляторы оборотов просто не могут работать с современными двигателями. Здесь поможет только замена ESC на другой.

Дополнительная информация для версии BetaFlight 3 (3.0 и 3.1)

  1. PID-настройки по умолчанию очень хорошо настроены и работают на большинстве квадрокоптеров и для них требуется лишь незначительная настройка.
  2. Параметр Р у Roll и Pitch могут быть довольно высокими без возникновения дополнительных колебаний, поэтому их можно увеличивать до тех пор, пока не пропадут эти самые колебания при их присутствии. Этот параметр можно увеличить под самый потолок, пока у вас D на минималках и вы не получите новые колебания при резком управлении стиками.
  3. Настройка Yaw может потребовать настройки нижнего предела yaw_accel_limit и yaw_p_limit, особенно для двигателей большой мощности и высокого рейтинга KV.
  4. Некоторые мощные системы и сборки не работают с PID по умолчанию и требуют настройки с нуля, как написано выше по шагам, например, система гоночных двигателей DJI Snail System:

Еще у нас есть старая статья, может быть, вы также почерпнете там что-нибудь полезное для себя: Что такое PID, на что влияет и как настроить

 

 

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

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