- Что такое ПИД регулятор?
- Как работают значения PID, их изменение
- Усиление P
- Усиление I
- Усиление D
- Назначение ПИД регулятора
- Пример схемы регулирования температуры
- Три коэффициента ПИД регулятора и принцип работы
- Не все проблемы из-за плохих настроек PID
- Вибрация
- Центр тяжести (CG)
- Настраивание ПИД-регулятора общего вида
- Регулятор пропорционального типа
- Регулятор интегрального типа
- Регулятор дифференциального типа
- ПИД-регулятор
- Пример
- Формула ПИД-регулятора
- Настройка ПИД регулятора
- Как настроить PID по шагам
- Составляющие сигнала ПИД-регулятора
- Настройки ПИД-регулятора
- Пример применения ПИД-регулятора в частотно-регулируемом приводе насоса
- Вопрос: «Какие у тебя ПИДы?» — неправильный вопрос!
- Примечания и советы
- Death Rolls (крен смерти)
- Дополнительная информация для версии BetaFlight 3 (3.0 и 3.1)
- Формула ПИД-регулятора
- Когда нужно перенастраивать PID?
Что такое ПИД регулятор?
ПИД-регулятор – это устройство, интегрированное в схему управления с обязательной обратной связью. Он предназначен для поддержания заданных уровней заданных значений, например температуры воздуха.
Устройство подает управляющий или выходной сигнал на управляющее устройство на основе данных, полученных от датчиков или датчиков. Контроллеры обладают высокими показателями точности переходных процессов и качества выполнения задачи.
Как работают значения PID, их изменение
Обычно изменение значений PID (усиления) влияет на поведение квадрокоптера:
Усиление P
P определяет, насколько сильно полетный контроллер исправляет ошибки для достижения желаемой траектории полета. Этот параметр регулирует чувствительность и реакцию на изменение положения стика. Чем выше число, тем выше чувствительность и отзывчивость.
Более высокое значение P означает более резкое обращение, а более низкое значение P означает более плавное и плавное обращение. Но если это значение будет слишком высоким, дрон станет слишком чувствительным и начнет корректировать себя, а значения положения стика также начнут колебаться.
Вы можете снизить P, чтобы уменьшить колебание, но дрон не будет четко следовать вашим командам, поэтому вам придется поиграть с I и D, чтобы это компенсировать.
Усиление I
Значение I определяет, сколько квадрокоптер выдержит при воздействии внешних факторов, например, ветра и смещения центра тяжести.
Это настройка жесткости при повороте коптера.
Обычно настройки по умолчанию работают с этим довольно хорошо, но если вы заметили некоторый дрейф в дроне без вашей команды, немного увеличьте значение I. Если значение слишком низкое, вам часто потребуется скорректировать траекторию полета дрона, особенно если вы часто меняете уровень газа.
Если значение I слишком велико, квадрокоптер будет вести себя «деревянным», он плохо отреагирует на ваши изменения положения стика на пульте дистанционного управления. Нет регулятора, двигателя и пропеллера, каждый по отдельности, но он работает по-своему, поэтому, когда вы резко дросселируете, а затем резко опускаете ручку газа, один двигатель останавливается быстрее, чем другой, и наоборот, все из которых вызывает сбой в положении квадрокоптера в воздухе, один двигатель все еще имеет тягу, а другой нет.
Итак, я привык решать эти мелкие проблемы.
Усиление D
D действует как демпфер (глушитель, демпфер) и снижает чрезмерную коррекцию и регулировку усиления P. Увеличение значения D смягчает эффект P, как будто добавляя «пружину», а также минимизирует вибрацию гребного винта.
Если D слишком мало, дрон будет “отскакивать” назад в конце переворотов и кувырков, а также будет сильная вибрация, вызванная вертикальным спуском.
Слишком большое значение также приводит к вибрациям. Пытаясь стабилизировать квадрокоптер, полетный контроллер будет давать команду контроллерам скорости увеличить скорость двигателей, а затем уменьшить их до такой скорости (в смысле более медленной), что двигатели будут перегреваться и перегорать. Вибрация также повлияет на полетный контроллер, и со временем ситуация ухудшится.
Еще один побочный эффект D – квадрокоптер становится «мягким», то есть реакция на команды слишком медленная.
Назначение ПИД регулятора
ПИД-регулятор предназначен для поддержания определенного значения на требуемом уровне: температуры, давления, уровня в резервуаре, расхода в трубопроводе, концентрации чего-либо и так далее, путем изменения управляющего воздействия на исполнительные механизмы, такие как автоматический клапан управление с помощью пропорционального интеграла, дифференцирующего значения для его регулирования.
Целью использования является получение точного управляющего сигнала, который может управлять крупными производствами и даже реакторами электростанций.
Пример схемы регулирования температуры
Часто ПИД-регуляторы используются при регулировании температуры, давайте рассмотрим этот автоматический процесс на простом примере нагрева воды в резервуаре.
В емкость наливается жидкость, которую необходимо нагреть до нужной температуры и поддерживать на определенном уровне. Внутри емкости установлен датчик измерения температуры – термопара или термометр сопротивления и подключается непосредственно к ПИД-регулятору.
Чтобы нагреть жидкость, мы подадим пар, как показано на рисунке ниже, с автоматическим регулирующим клапаном. Сам клапан получает сигнал от регулятора. Оператор вводит значение уставки температуры в ПИД-регулятор, которое должно поддерживаться в резервуаре.
При неправильной настройке коэффициентов регулятора будут скачки температуры воды, при этом клапан будет полностью открыт, а затем полностью закрыт. В этом случае необходимо рассчитать коэффициенты ПИД-регулятора и ввести их заново. Если все было сделано правильно, через короткий промежуток времени система выровняет процесс, и температура в резервуаре будет поддерживаться на заданном уровне, а степень открытия регулирующего клапана будет в центральном положении.
Три коэффициента ПИД регулятора и принцип работы
Задача ПИД-регулятора – обеспечить выходной сигнал о мощности, необходимой для поддержания регулируемого параметра на заданном уровне. Для расчета показателя используется сложная математическая формула, в которую входят 3 коэффициента: пропорциональный, интегральный, дифференциальный.
Возьмем за объект регулирования емкость с водой, в которой необходимо поддерживать температуру на заданном уровне, регулируя степень открытия клапана паром.
Пропорциональная составляющая появляется в момент несоответствия входным данным. Проще говоря, это звучит так: берется разница между фактической температурой и желаемой температурой, умножается на регулируемый коэффициент, и получается выходной сигнал, который следует отправить на клапан. Те, как только градусы упали, начинается процесс нагрева, поднимается выше нужной отметки – отключение или даже охлаждение.
Далее идет интегральный компонент, предназначенный для компенсации влияния окружающей среды или других мешающих воздействий на поддержание нашей температуры на определенном уровне. Поскольку всегда есть дополнительные факторы, влияющие на управляемые устройства, к моменту поступления данных для расчета пропорциональной составляющей данные уже меняются. И чем больше внешнее влияние, тем сильнее происходят колебания показателя. Возникают всплески тока.
Интегральный компонент пытается на основе прошлых значений температуры вернуть свое значение, если оно изменилось. Более подробно процесс описан в видео ниже.
А затем выдается выходной сигнал регулятора, в зависимости от коэффициента, на повышение или понижение температуры. Со временем выбирается величина, компенсирующая внешние факторы, и скачки исчезают.
Интеграл используется для устранения ошибок путем вычисления статической ошибки. Главное в этом процессе – правильно выбрать коэффициент, иначе погрешность (несовпадение) затронет и интегральную составляющую.
Третий компонент PID – дифференциация. Он предназначен для компенсации влияния задержек, возникающих между воздействием на систему и обратной связью. Пропорциональный контроллер подает питание до тех пор, пока температура не достигнет желаемого уровня, но при передаче информации на устройство, особенно при высоких значениях, всегда возникают ошибки. Это может привести к перегреву. Дифференциал предсказывает отклонения, вызванные задержками или влиянием окружающей среды, и заранее снижает мощность, подаваемую на него.
Не все проблемы из-за плохих настроек PID
Перед изменением PID следует также посмотреть другие данные:
Вибрация
Не все вибрации вызваны высоким значением P. Перед настройкой PID следует максимально устранить источники вибрации на дроне. Например, баланс двигателя и стойки, жесткость рамы и т.д.
Центр тяжести (CG)
Центр тяжести должен быть точно посередине между всеми 4 двигателями. Плохая центровка приведет к тому, что некоторые двигатели будут работать сильнее, чем другие, что приведет к перегреву двигателя и плохой устойчивости полета. Например, аккумулятор находится сзади, а не в центре, поэтому задние двигатели будут работать на 100%, а передние двигатели – на 80%. Вся масса на дроне должна быть отцентрирована и равномерно распределена. По этой причине X-образные оправы являются наиболее популярными.
Настраивание ПИД-регулятора общего вида
Для поддержания этого давления есть устройство, называемое эталонным регулятором. Давление в трубопроводах к датчику сравнивается с заданным параметром давления. Регулятор сравнивает давление в системе с эталонным давлением и определяет целевую скорость двигателя, чтобы изменить ошибку. В контроллере простого типа применяется план действий ПИД-регулирования. Он использует три составляющих типа регуляторов для устранения ошибок: дифференциальный, интегральный и пропорциональный регулятор.
Регулятор пропорционального типа
Такой регулятор является основным, скорость выставляется прямо пропорционально погрешности. При использовании пропорционального регулятора в системе будет ошибка. Малые значения коэффициента пропорционального регулятора приводят к замедлению работы системы, а высокие параметры приводят к колебаниям и нестабильности системы.
Регулятор интегрального типа
Этот регулятор используется для устранения ошибки. Скорость будет увеличиваться, пока ошибка не будет устранена (при отрицательной ошибке она будет уменьшаться). Небольшие значения суммирующей составляющей слишком сильно влияют на деятельность регулятора в целом. Когда устанавливаются большие значения, система перескакивает, работает с перерегулированием.
Регулятор дифференциального типа
Этот регулятор измеряет скорость исправления ошибок, использует ее для увеличения скорости системы и увеличивает скорость регулирования в целом. При увеличении скорости регулятора перерегулирование увеличивается. Это приводит к системной нестабильности. Во многих случаях производная становится равной нулю или приближается к наименьшему значению, чтобы избежать этого условия. Это полезно в системе позиционирования.
ПИД-регулятор
С помощью настройки ПИД-регулятора мы можем настроить переходный процесс, необходимый для решения нашей проблемы.
Hzad – указанное (желаемое) значение выходной переменной
Xmax – допустимый верхний предел выходной переменной
Xmin – допустимый нижний предел выходной переменной
Т – период колебания
Н – время нарастания
Tr – переходное время (последняя точка пересечения кривой с Xmin или Xmax)
A1 – первый промах
A2 – второй перерегулирование
d = A1 / A2 – степень (уменьшение) сглаживания переходного процесса (отношение первого перебега ко второму)
Несовпадение, перерегулирование, время нарастания, время переходного процесса, коэффициент затухания характеризуют качество регулирования.
Пример
ПИД-регулятор открывает и закрывает регулирующий клапан на горячей трубе, чтобы вода с температурой + 40 ° C текла из крана с погрешностью плюс-минус 2 градуса. Контроллер вычисляет несоответствие (погрешность) – отклонение фактической температуры (например, + 20 ° C) от заданного значения (+ 40 ° C) и решает, когда и на сколько необходимо открыть горячий клапан, чтобы температура увеличивается на 20 ° C. Контроллер распознает реальную (фактическую) температуру через датчик температуры (обратная связь), и оператор сообщает ему установленную температуру (заданное значение), например, путем набора номера «40» на своем ПК.
Для настройки ПИД-регулятора нужно правильно подобрать комбинацию из трех коэффициентов:
- Пропорциональный – Kp
- Интегральный – Ki
- Дифференциал – Kd
Также можно использовать более простые П- и ПИ-регуляторы.
Формула ПИД-регулятора
где e (t) – ошибка (рассогласование), u (t) – выходной сигнал регулятора (управляющее воздействие).
Чем выше коэффициент пропорциональности, тем выше производительность, но меньше запас устойчивости. Но! простой P-контроллер не может полностью справиться с несоответствием, т.е всегда выходит из строя.
ПИ-регулятор устраняет статическую ошибку (установившееся состояние), но чем выше интегральный коэффициент, тем больше перерегулирование (динамическая ошибка).
ПИД-регулятор позволяет уменьшить перерегулирование, но чем больше коэффициент дифференциала, тем больше ошибка из-за влияния шума.
Если шум проходит через канал обратной связи, мы можем отфильтровать его с помощью низкочастотного фильтра, но чем выше постоянная этого фильтра, тем медленнее регулятор будет устранять шум.
Настройка ПИД регулятора
Настройка ПИД-регулятора осуществляется двумя способами:
- Синтез включает расчет параметров на основе модели системы. Этот параметр точен, но требует глубокого понимания теории автоматического управления. Это подвластно только инженерам и ученым. Так как необходимо снять характеристики потока и произвести ряд расчетов.
- Ручной метод основан на пробах и ошибках. Для этого за основу берутся данные готовой системы, вносятся изменения в один или несколько коэффициентов регулятора. После включения и наблюдения за конечным результатом параметры меняются в желаемом направлении. И так до тех пор, пока не будет достигнут желаемый уровень производительности.
Теоретический метод анализа и настройки на практике используется очень редко, что связано с незнанием характеристик объекта управления и массой возможных мешающих воздействий. Чаще встречаются экспериментальные методы, основанные на наблюдении за системой.
Современные автоматизированные процессы реализованы в виде специализированных модулей под управлением программ настройки коэффициентов регулятора.
Как настроить PID по шагам
- Убедитесь, что двигатели сбалансированы и самолет максимально свободен от вибраций. Попытка настроить PID без «чистого» гироскопа (балансировка и подавление вибрации выполняются, чтобы гироскоп работал без помех), все равно что построить дом без хорошего фундамента. В этом видео вы узнаете, как легко контролировать вибрацию. При необходимости отрегулируйте настройки фильтра нижних частот, чтобы получить чистый «гироскопический сигнал.
- важно, чтобы этот шаг выполнялся в режиме Acro, даже если вы всегда летаете в режиме стабилизации / горизонта. Режимы «Угол Горизонт» имеют собственное значение и влияют на ПИД-регулирование. Пример параметра PID ниже соответствует Rewrite PID (PID Controller # 1). При выполнении этой начальной настройки установите значение APT на 0. При необходимости вы можете добавить APT позже.
- Начните с внесения небольших изменений в настройки по умолчанию и начните с фактора P. Хорошей отправной точкой будет P для Pitch and Roll 4.0. Кроме того, уменьшите I и D для Pitch and Roll, чтобы отрегулировать P с минимальным шумом. Поэтому рекомендуется установить I равным 20 и D равным 5. Для рыскания рекомендуется взять значение по умолчанию, разделить на 2 и немного уменьшить значение I, чтобы исключить эту ось как источник колебаний. Рыскание настраивается последним.
- Во время тестовых полетов увеличивайте параметр P на оси крена до тех пор, пока вы не заметите колебание по мере приближения к максимуму и не услышите видимое и слышимое колебание. Затем установите параметр P примерно на 70% от значения, вызвавшего колебания. Теперь я думаю, понятно, почему, не имея опыта полетов на конкретном квадрокоптере, вы не сможете настроить его PID?
- Повторите шаг 4 для оси наклона.
- Проверьте, сохраняет ли квадрокоптер необходимый угол крена и не двигается ли он во время крена, затем несколько раз резко дайте газу и резко отпустите его до 0. Обратите внимание: угол крена, который вы делали до того, как поиграть с дросселем, не должен существенно измениться. Если угол отклонения кажется вам очень отклоненным (дрон начал дрейфовать), увеличьте параметр I. Если все в порядке и дрейфа нет, не меняйте I. Вы можете изменить “ощущение” подъема дрона или понижение параметра I после достижения хороших настроек PID, поскольку I не влияет на окончательные значения P и D.
- Повторите шаг 6 для оси наклона.
- Параметр D следует увеличивать на каждой оси ТОЛЬКО до такой степени, чтобы это помогало уменьшить отдачу после переворота и крена (переворот – переворот вбок, кувырок – перевернутый вверх ногами), а также после колебаний после свободного падения при ускорении до 0 и дрон падает, значит, вы включаете двигатели на газе, и они начинают, так сказать, падать в воздухе, и в этот момент дрон начинает раскачиваться из стороны в сторону. Когда эти проблемы исчезнут при увеличении параметра D, уменьшите этот параметр до 80-90% от этого уровня.
Примечание: слишком высокое значение параметра D может привести к перегреву двигателей. Для контроля прогрева нужно 20-30 секунд лететь, приземляться и управлять моторами руками. Если вы можете держать моторы пальцами, они не сильно нагреваются.
- Часто установка рыскания не нужна или будет минимальной, так как она все равно может вызывать колебания, если ничего не предпринимать.
Начните с Yaw P и проверьте вибрацию дрона, как в первом шаге, а также убедитесь, что нет вибрации, если вы даете сильный и длинный газ или быстро двигаетесь вперед
Начинайте увеличивать рыскание P с шагом 5, пока не увидите на видео камеры вибрации при полете вперед или на полном газу. Затем немного уменьшите значение.
Теперь нам нужно взглянуть на данные в черном ящике. Yaw P, скорее всего, будет немного раскачиваться, поэтому попробуйте увеличить гироскоп Yaw, чтобы увидеть, действительно ли колебания достигают гироскопа. Если гироскоп по рысканью выглядит более-менее ровно, значит, все в порядке.Примечание. Поскольку рыскание по своей сути имеет меньший контроль по тангажу и крену, для этой оси существует широкий диапазон значений. P и я могли быть высокими, а D – низкими, это нормально.
- Теперь необходимо отрегулировать соотношение P к I, то есть будет ли квадрокоптер сопротивляться в крутых поворотах или, наоборот, отказывать в этих поворотах. Очень низкие значения I со временем приводят к осевым смещениям. Низкие значения I на оси также позволяют вам свободно менять положение, но при этом сохранять это положение. Более высокие значения оси будут держать дрон в хорошем состоянии, но могут иметь тенденцию сопротивляться движению + добавляется небольшой накат. Очень высокие значения означают «роботизированные» движения и колебания дрона.
- После завершения настройки в режиме Acro вы можете перейти к настройкам других режимов, например Horizon).
Помните, что вам не нужно слишком глубоко копаться в журналах Blackbox, чтобы точно настроить идеальные PID. Если квадрокоптер хорошо летает и вас все устраивает, летите и летайте
Составляющие сигнала ПИД-регулятора
Управляющий сигнал, генерируемый ПИД-регулятором, представляет собой сумму трех компонентов:
- Пропорционально.
- Интеграл.
- Дифференциальный.
Пропорциональная составляющая формируется исходя из разницы между заданным значением параметра и его фактическим значением. Чем больше отклонение характеристики, тем выше уровень пропорционального сигнала. Устройства, управляющие системой, называются П-регуляторами только по пропорциональному закону.
Основным недостатком такой настройки является статическая погрешность, указывающая на величину остаточного отклонения параметра. Пропорциональные регуляторы имеют ограниченную точность.
Для его устранения был введен интегральный компонент. Он пропорционален интегралу по времени отклонения значения контролируемой характеристики.
Если параметр отклоняется, пропорциональная составляющая возвращает его к предыдущему значению. Уровень выходного сигнала стремится к нулю, однако из-за статической ошибки регулируемый параметр не достигает заданного значения. Интегральный компонент обеспечивает компенсацию ошибок и позволяет характеристике вернуться к заданным значениям.
Пропорционально-интегральное управление имеет низкую скорость и не подходит для регулирования динамических систем. Накопление и сумма ошибок приводит к увеличению управляющего сигнала. Система может «сойти с ума».
Для увеличения быстродействия в конструкцию регулятора введена дифференциальная составляющая. Он увеличивается и уменьшается пропорционально скорости изменения контролируемого параметра.
Следовательно, результирующий сигнал на выходе ПИД-регулятора можно определить по выражению:
где Kp, Ki, Kd – пропорциональные, интегральные, дифференциальные коэффициенты соответственно, а (t) – ошибка рассогласования.
Настройки ПИД-регулятора
Настройка ПИД-регулятора сводится к определению коэффициентов Kp, Ki, Kd. Компоненты определяются по формуле:
Они используются для определения передаточных функций системы автоматического управления и расчета их параметров:
- Точность.
- Скорость регулировки.
- Форма графиков переходных процессов.
- Инерция.
- Прочие количества и функции.
Математическая модель АТС не может дать полной картины функционирования системы. Расчеты выполнены для «идеального регулятора». Нелинейность контролируемых параметров, внешние возмущения, шумы на объекте управления не позволяют применять расчетные данные для построения системы автоматического управления на практике. Результаты математических расчетов используются в качестве вспомогательных данных.
При разработке контроллеров ПИД и СКУД используется оборудование, моделирующее изменение контролируемых характеристик, средства измерений и ПК. Устройства позволяют определять и анализировать реакцию системы на удары и с большей точностью выбирать коэффициенты.
На практике используется экспертный подбор коэффициентов. ПИД-регуляторы устанавливаются на месте, вводят коэффициенты, полученные в результате расчетов или стендовых испытаний, и регулируют параметры на месте.
Пример применения ПИД-регулятора в частотно-регулируемом приводе насоса
Цепи преобразователя частоты содержат контроллеры управления, которые могут обеспечивать работу устройства в режиме ПИ- или ПИД-регулятора. Пользователи частоты часто уже имеют предустановленные настройки, которые изменяются после установки оборудования.
На рисунке показана простейшая схема регулирования давления ПИД-насоса. Аналоговые входы подключены к датчику, установленному на напорном трубопроводе, и к внешнему приводу. Требуемое значение давления также можно установить в настройках контроллера. Когда регулируемый параметр изменяется на контроллере, который сравнивает сигнал обратной связи с установленным значением, генерируется управляющий сигнал.
Преобразователь изменяет производительность насоса, увеличивая или уменьшая частоту напряжения питания электродвигателя до тех пор, пока давление в системе не достигнет установленного значения. Следовательно, давление в системе не зависит от расхода.
Приведенная выше диаграмма значительно упрощена. Преобразователи частоты с ПИД-регулятором могут управлять производительностью несколькими способами. Например, насосы в системах отопления можно регулировать по температуре теплоносителя, а также по тепловому режиму и давлению снаружи и внутри помещения.
Преобразователи частоты с функциями ПИД-регулирования также используются в сложных системах управления для систем наддува и других систем управления технологическими процессами.
Вопрос: «Какие у тебя ПИДы?» — неправильный вопрос!
Использовать чужие PID на своем квадрокоптере совершенно бесполезно. Каждый дрон уникален, его оборудование и даже ветер и климат влияют на регулирование PID.
Примечания и советы
В журналах черного ящика высокие колебания P не проявляются в виде резких пиков или больших волн. Эти колебания сначала появляются в верхней части газового диапазона и выглядят как узкие синусоидальные волны. Когда они появляются в журналах, они еще не видны визуально или на слух, поэтому во время начальной настройки (визуальной и на слух) рекомендуется сначала достичь точки визуальных и слуховых колебаний, а затем уменьшить значения. До 70%. Когда все колебания видны визуально или на слух, они также будут четко отображаться в журналах.
Death Rolls (крен смерти)
Самая распространенная причина, по которой квадрокоптер переворачивается и не выключает свои двигатели, заключается в том, что дроссельная заслонка слишком низкая. Регулятор не может запустить двигатель после команды с низким значением газа (газ был на 0 в течение некоторого времени). В журнале черного ящика двигатель работает на полном газу, но дрон продолжает вращаться. Первое, что нужно сделать, это увеличить настройку min_throttle (значение параметра Idle% при работе протокола DSHOT).
Вторая причина – неисправный мотор, или плохой ESC, или даже ослабленное крепление шасси. В этом случае в журналах Blackbox вы увидите, что двигатель работает на полную мощность, но радиус шасси уменьшается (если включен акселерометр), что указывает на то, что двигатель не имеет тяги. Для проверки замените двигатель или регулятор.
Третья причина – неудачная комбинация ESC мотор. Некоторые регуляторы просто не могут работать с современными двигателями. Здесь поможет только замена ESC на другой.
Дополнительная информация для версии BetaFlight 3 (3.0 и 3.1)
- Настройки PID по умолчанию очень хорошо настроены и работают на большинстве дронов и требуют лишь незначительных корректировок.
- Параметр P Roll и Pitch может быть довольно высоким без дальнейших колебаний, поэтому их можно увеличивать до тех пор, пока те же колебания не исчезнут, когда они присутствуют. Этот параметр можно поднять до максимального предела, если у вас D минимум, и вы не получите новых колебаний при резком управлении стиками.
- Регулировка скорости рыскания может потребовать регулировки нижнего предела yaw_accel_limit и yaw_p_limit, особенно для двигателей большой мощности и высоких значений KV.
- Некоторые мощные системы и сборки не работают с PID по умолчанию и требуют настройки с нуля, как описано в предыдущих шагах, например, DJI Snail System:
Еще у нас есть старая статья, может быть, вы тоже найдете что-нибудь полезное для себя: что такое PID, на что он влияет и как его настроить.
Формула ПИД-регулятора
Как и обещал, формул тут не будет . ну почти нет. И этот раздел будет просто формулой. Обещаю, формул больше не будет! Так что наберитесь терпения!
Итак, формула для ПИД-регулятора:
(по мотивам Википедии)
Здесь у нас есть следующие буквы (мы объясним немного ниже):
- u (t) – наша функция;
- П – пропорциональная составляющая;
- I – составной компонент;
- D – дифференциальная составляющая;
- e (t) – текущая ошибка;
- Kp – коэффициент пропорциональности;
- Ki – интегральный коэффициент;
- Kd – дифференциальный коэффициент;
Все, расслабьтесь – эта формула нам больше не понадобится в работе, она для уточнения сути.
И суть в следующем.
У нас есть влияние, наша Функция (u (t)). Он состоит из трех компонентов: пропорционального, интегрального и дифференциального (отсюда и ПИД-регулятор).
Формула в приведенном выше виде хороша для изучения, но неудобна для расчетов (хотя бы потому, что в расчетах необходимо переходить на численные методы). В программной реализации, согласно этой статье, переходят к дискретной реализации:
u (t) = P (t) + I (t) + D (t);
P (t) = Kp * e (t);
I (t) = I (t – 1) + Ki * e (t);
D (t) = Kd * {e (t) – e (t – 1)};
Это уже кажется намного более реальным и понятным! Давайте посчитаем сумму трех составляющих. Каждый из них определяется своими коэффициентами. Если этот коэффициент равен нулю, компонент не участвует в расчетах. Мы будем дальше работать с этой формулой, и я буду ее реализовывать.
Однако есть и другая повторяющаяся реализация:
u (t) = u (t – 1) + P (t) + I (t) + D (t);
P (t) = Kp * {e (t) – e (t – 1)};
I (t) = I * e (t);
D (t) = Kd * {e (t) – 2 * e (t – 1) + e (t – 2)};
Что лучше / правильно? Математика в основном такая же. Даже шансы. Говорят, что при реализации будет несколько подводных камешков.
Примечание! Коэффициенты здесь обязательно дробные! В языке программирования C – хотя бы одно число с плавающей запятой, а лучше бы double.
В этих коэффициентах заключается вся магия ПИД-регуляторов. Как их выбрать – увидим в конце. А теперь давайте отвлечемся от математики и пойдем изучать поведение этой формулы.
Все расчеты и моделирование я сделал на модели в Excel. Это – файл – прикреплен ниже, вы можете воспроизвести его сами. Модель чисто для ознакомления с идеей! То есть не нужно пытаться воплотить его в какой-то реальный процесс, искать в нем научный смысл и т.д. Там все цифры слегка «от лампы». Но зато файл простой и незамысловатый. И он быстро моделируется. И это дает возможность понять суть ПИД-регулятора. Напоследок несколько слов о файле.
Когда нужно перенастраивать PID?
Почти все компоненты в квадрокоптере влияют на PID, поэтому, когда вы меняете компонент, также настраивайте PID. Если вы изменили время цикла в Betaflight и Cleanflight, вам также потребуется настроить PID.