Основы настройки ПИД контроллера с помощью логов Blackbox

В этом посте я расскажу как я использую Blackbox для настройки ПИД коэффициентов. Несколько основных и простых шагов.

Настройки ПИД – это важная часть любых мультикоптеров и полетов по FPV. Раньше настройка ПИД была игрой в угадывание методом проб и ошибок. Вы настраивали значения ПИД путем выявления любых колебаний как при визуальном полете, так и через FPV.

На мой взгляд добавление Blackbox (черный ящик) в cleanflight сделало процесс настройки ПИДов более научным. Теперь вы можете видеть что является причиной вибраций, и какие значения ПИД регулятора должны быть изменены.

Новичок в этом?

Тут детальная инструкция как настроить Blackbox на вашем коптере.

Если вы не знакомы с ПИД и с основами процесса настройки, прочитайте статью ПИД для мультикоптеров.

Дисклеймер: Я не эксперт, я только делюсь тем что знаю сам. Если у вас есть другие идеи или инструкции, пожалуйста оставьте комментарий. Все ради обмена знаниями.

Про настройку ПИДов есть очень много информации помимо той, что я попробую описать здесь, но я надеюсь, это позволит вам с чего-то начать.

Что сохранять в логах Blackbox

Мой тестовый полет одноминутный и очень простой. Конечно вы можете записать свой обычный полет для анализа:

  • Включите Rate mode http://blog.oscarliang.net/rate-acro-horizon-flight-mode-level/ (acro mode)
  • Зависните, затем летите вперед несколько секунд
  • Наклонитесь (roll) влево, затем вправо, несколько раз (около 45 градусов)
  • Сделайте несколько 360 градусных ролов (переворотов, roll)
  • Наклонитесь вперед и назад несколько раз (опять около 45 градусов)
  • Сделайте несколько 360 градусных флипов
  • Повернитесь влево-вправо вокруг вертикальной оси (yaw), 45 градусов достаточно
  • Сделайте несколько полных 360 градусных разворотов

Анализ данных Blackbox

Основная проверка

До начала проверки ПИД я обычно проверяю мощность на моторах. Нужно убедиться что квадрик летает нормально, иначе данные логов будут неверными.

Я смотрю на данные с теста в висении, мощность на моторах должна быть примерно на одном уровне. Если нет, то обычно есть проблемы:

  • центр тяжести не в середине рамы,
  • повреждены винты или моторы

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

blackbox-motors-cog-not-balance

Задние моторы больше нагружены чем передние.

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

Если все 4 мотора вращаются с примерно одинаковой скоростью во время висения, то ваш коптер нормально работает (моторы, регуляторы, винты в порядке), и имеет нормальную центровку. Не обязательно абсолютно одинаково, но достаточно близко будет достаточно.

blackbox-motors-cog-balance

Моторы нагружены примерно одинаково, меня это устраивает.

Диагностика ПИД

С хорошо подобранными значениями ПИД мы получим:

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

Обычно я использую 2 графика:

  • График 1. rcCommand, gyro
  • График 2. PID_P, PID_I, PID_D, PID_sum

Я прохожусь по этим графикам для крена (Roll), тангажа (Pitch) и рысканья (Yaw) по отдельности.

График 1 показывает где вы двигаете стики и как коптер реагирует на ваши действия (угловое ускорение). Также он показывает, как ваш ПИД регулятор (следующий график) действует на гироскоп.

Следующий график – ПИД, он более важен. Так, по моему мнению, нормальные графики ПИДов должны выглядеть, и так они реагируют на увеличение/уменьшение значений.

  • P – в идеале P не должен вызывать много шума на гироскопе. Он может иметь некую волну, что нормально, но в разумных пределах. Если P слишком велик, вы увидите увеличение шума, и на графике ускорения волна также увеличиться (низкочастотные колебания)
  • D – в идеале D должен повторять P, но на шаг впереди P. Он должен иметь похожее значение. Однако D обычно более шумное чем P, так что хорошо, когда его значение немного меньше чем P, иначе нужно уменьшить значение «Dterm_cut_hz» (см http://blog.oscarliang.net/betaflight-firmware-setup/
  • I – скажем просто, я обычно просто игнорирую I и настраиваю его в поле. Как правило ставлю значение I настолько низким, насколько возможно, при этом коптер не должен дрейфовать и трястись при снижении. Некоторые советуют резко дать газу и посмотреть удерживает ли коптер угол, если не увеличивать I. Но я выяснил, что меньшее значение I лучше для более агрессивных полетов, квадрик более маневренный.

Примеры настройки

Крен/тангаж (Roll\Pitch), значение P

Очевидно, что значение P в этом примере слишком большое.

Как только я двинул стик по крену, P начал колебаться, и эти волны видны на графике (желтый круг)

blackbox-p-too-high

Я должен уменьшить P.

Намного лучше, больше нет постоянных колебаний P и гироскопа.

blackbox-p-tuned

Крен/тангаж (Roll/Pitch), значение D

Я предпочитаю настраивать в 2 этапа. Кроме анализа графиков, вы должны также проверить запись с камеры, если есть отскоки в конце флипов и ролов. Если вас это устраивает, то нет необходимости увеличивать D.

Пример низкого значения D

Представьте квадрик делающий отскок после резкого флипа или рола.

blackbox-d-too-low

Здесь я увеличил D. Теперь значение D близко к значению P. В вашем случае может увеличиться уровень шума, но я везунчик и у меня не все так плохо. Некоторые коптеры шумнее других по разным причинам, как электрическим, так и механическим.

Теперь я иду на улицу и снова летаю, если я замечу отскоки, то увеличу D еще немного, если отскоков не будет – значит все хорошо.

blackbox-d-tuned

Еще один хороший пример график крена/тангажа P, после настройки (увеличил D) во втором тесте.

Рысканьше (Yaw) значение P и D?

Практически также как для тангажа и для крена, увеличение P по рысканью даст вам лучший отклик на стики, но может вызывать промахи. Если у вас есть дрейф по рысканью, тогда увеличьте I, но старайтесь держать I как можно меньшим. Так же как и D, значение обычно небольшое, где-то 5-10.

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

Так же я заметил, что, при прочих равных условиях, меньшая рама, меньший шаг винта или более высокий kv двигателя дадут более плавный график по yaw. Это значит что колебания связаны с эффективностью управления по рысканью.

График для моего EVO250 с двигателем 1960KV и винтами 6045.

blackbox-yaw-pid-tuning

А это мой Ghost220, двигатели 2300KV, винты 5045

blackbox-yaw-pid-tuning-smaller-frame

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

Нужна помощь с настройкой?

Присоединяйся к нашей группе http://multicopterfpv.com/ и загружай логи если хочешь.

Основы настройки ПИД контроллера с помощью логов Blackbox: 2 комментария

  1. Celsius

    Пhttps://blog.rcdetails.info/vybiraem-poletnye-kontroller-dlya-kvadrokoptera/
    > Флэш память для черного ящика (blackbox). У некоторых ПК имеется встроенная память, у других — внешние логгеры (open logger) с microSD карточками. Если вы не планируете использовать blackbox для настройки, тогда пропустите этот пункт.

    Спасибо, полезный блог, а в чем все-таки основные отличия между open logger и microSD?

    1. Новиков Александр Автор записи

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

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

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

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