Меню

Отрицательная обратная связь пид регулятора



Принцип работы ПИД-регулятора для начинающих

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

ПИД-регуляторы находятся в широком диапазоне применений для управления промышленными процессами. Приблизительно 95% операций с замкнутым контуром в промышленной автоматизации используют ПИД-регуляторы. PID обозначает Пропорционально-интегральная-диференциальная составляющая. Эти три контроллера объединены таким образом, что он создает управляющий сигнал.

Работа ПИД-регулятора

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

Работа ПИД-регулятора

При использовании недорогого простого контроллера возможны только два состояния управления, например, полностью ВКЛ или полностью ВЫКЛ. Он используется для настроек с ограничением контроля, в котором эти два состояния управления достаточно для целей управления. Однако характер этого контроля ограничивает его использование и, следовательно, заменяется ПИД-контроллерами.

ПИД-регулятор поддерживает выход таким образом, что между переменной процесса и заданной точкой / желаемым выходом с помощью операций замкнутого контура имеется нулевая ошибка. ПИД использует три основных поведения управления, которые объясняются ниже.

П-контроллер:

П-контроллер:

Пропорциональный или П-регулятор дает выход, который пропорционален текущей ошибке e (t). Он сравнивает желаемую или заданную точку с фактическим значением или значением процесса обратной связи. Полученная ошибка умножается на пропорциональную константу, чтобы получить выход. Если значение ошибки равно нулю, то выход этого контроллера равен нулю.

Реакция П-контроллера

Этот контроллер требует смещения или ручной сброс при использовании отдельно. Это происходит потому, что он никогда не достигает состояния устойчивого состояния. Он обеспечивает стабильную работу, но всегда поддерживает постоянную ошибку. Скорость реакции возрастает при увеличении пропорциональной константы Kр.

И-контроллер

Контроллер ПИ

Из-за ограничения П-контроллера, где всегда существует смещение между переменной процесса и заданным значением, необходим И-контроллер, который обеспечивает необходимые действия для устранения ошибки установившегося состояния. Он интегрирует ошибку в течение периода времени, пока значение ошибки не достигнет нуля. Он содержит значение для конечного устройства управления, при котором ошибка становится равной нулю.

Интегральное управление уменьшает его выход, когда происходит отрицательная ошибка. Он ограничивает скорость реакции и влияет на стабильность системы. Скорость реакции увеличивается за счет уменьшения интегрального усиления Ki.

Отклик контроллера ПИ

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

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

Д-контроллер

ПИД-регулятор

И-контроллер не может предсказать будущее поведение ошибки. Поэтому он реагирует нормально после изменения заданного значения. Д-контроллер преодолевает эту проблему, ожидая будущего поведения ошибки. Его выход зависит от скорости изменения погрешности за время, умноженное на постоянную производной. Это дает начало запуска для выхода, тем самым увеличивая системный отклик.

Отклик ПИД-регулятора

На приведенном выше рисунке ответ контроллера Д больше, по сравнению с контроллером ПИ, а также время установления выходного сигнала уменьшается. Это улучшает стабильность системы за счет компенсации фазового запаздывания, вызванного И-контроллером. Увеличение производного усиления увеличивает скорость реакции..

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

Методы настройки ПИД-регулятора

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

Метод проб и ошибок: это простой способ настройки ПИД-регулятора. Пока система или контроллер работают, мы можем настроить контроллер. В этом методе сначала нужно установить значения Ki и Kd в нуль и увеличить пропорциональный коэффициент (Kp), пока система не достигнет колебательного поведения. Как только он осциллирует, отрегулируйте Ki (интегральный термин), чтобы колебания остановились и, наконец, отрегулировали Д, чтобы получить быстрый отклик.

Технологическая кривая технологического процесса: это метод настройки с открытым циклом. Он производит ответ, когда к системе применяется шаг ввода. Первоначально мы должны вручную вводить некоторые данные управления в систему и записывать кривую ответа.

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

Кривая технологической реакции

Метод Zeigler-Nichols: Zeigler-Nichols предложил методы замкнутого контура для настройки ПИД-регулятора. Это метод непрерывного циклирования и метод демпфирования колебаний. Процедуры для обоих методов одинаковы, но поведение колебаний различно. При этом сначала нужно установить постоянную p-контроллера, Kp на определенное значение, а значения Ki и Kd равны нулю. Пропорциональный коэффициент усиления увеличивается до тех пор, пока система не будет колебаться с постоянной амплитудой.

Усиление, при котором система производит постоянные колебания, называется конечным усилением (Ku), а период колебаний называется предельным периодом (Pc). Как только это достигнуто, мы можем ввести значения P, I и D в ПИД-контроллере по таблице Zeigler-Nichols, зависит от контроллера, используемого как P, PI или PID, как показано ниже.

Читайте также:  Пежо 206 регулятор холостого хода где находится

Таблица Zeigler-Nichols

Структура ПИД-регулятора

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

Структура ПИД-регулятора

На приведенном выше рисунке показана структура ПИД-регулятора. Он состоит из блока PID, который дает свой вывод для обработки блока. Процесс / установка состоит из конечных устройств управления, таких как исполнительные механизмы, регулирующие клапаны и другие управляющие устройства для управления различными процессами промышленности / установки.

Сигнал обратной связи от технологической установки сравнивается с уставкой или сигналом u (t), и соответствующий сигнал ошибки e (t) подается на алгоритм ПИД-регулирования. Согласно пропорциональным, интегральным и диференциальным расчетам в алгоритме, контроллер производит комбинированный ответ или управляемый выход, который применяется к устройствам управления установкой.

Все управляющие приложения не нуждаются во всех трех элементах управления. Комбинации, такие как элементы управления PI и PD, очень часто используются в практических приложениях.

Источник

Регуляторы технологических процессов

Принцип работы

Регуляторы процесса

Регуляторы процесса (Process Controllers) – это параметрируемые цифровые контроллеры со встроенным набором стандартных функций для регулирования технологических переменных (температуры, давления и т.п.).

В качестве сигналов задания (Reference) могут использоваться как фиксированные уставки (Fixed Setpoints), так и внешние (External).

Аналоговые входы используются для подключения датчиков обратной связи (термометров сопротивления, термопар, манометров и т.п.).

Дискретные входы используются для задания фиксированных уставок и переключения между режимами.

Дискретные выходы используются для сигнализации: готовности, аварий, состояния.

Релейные выходы используются для дискретного управления, а аналоговые выходы – для непрерывного управления.

Дискретное управление

  • 2-х позиционный регулятор использует только 2 состояния:
    • включено (открыто)
    • выключено (закрыто) Пример: управление нагреванием или охлаждением.
  • 3-х позиционный регулятор использует 3 состояния:
    • выключено
    • вращение по часовой стрелке
    • вращение против часовой стрелки (реверс) Пример: управление реверсивным электродвигателем.
  • 5-и позиционный регулятор использует 5 состояний:
    • выключено
    • вращение на первой скорости по часовой стрелке
    • вращение на второй скорости по часовой стрелке
    • вращение на первой скорости против часовой стрелки
    • вращение на второй скорости против часовой стрелки Пример: управление 2-скоростным реверсивным двигателем.

Непрерывное управление

Для непрерывного управления используются ПИД-регуляторы. Возможна реализация каскадного (подчинённого) управления.

Замкнутая система управления

Рис. Замкнутая система управления

Переходный процесс

Переходный процесс – это реакция системы на внешнее воздействие (задание, возмущение).

Неустойчивый (расходящийся) переходный процесс

Рис. Расходящийся переходный процесс

Устойчивый (сходящийся) переходный процесс

Рис. Колебательный переходный процесс Рис. Апериодический переходный процесс Рис. Монотонный переходный процесс
Колебательный Апериодический Монотонный

ПИД-регулятор

С помощью настройки ПИД-регулятора (PID-controller) мы можем скорректировать переходный процесс так, как нам нужно для решения своей задачи.

Рис. Переходный процесс

Хзад – заданное (желаемое) значение выходной переменной
Xmax – верхний допустимый предел выходной переменной
Xmin – нижний допустимый предел выходной переменной
Т – период колебаний
Тн – время нарастания
Тр – время переходного процесса (последняя точка пересечения кривой с Xmin или Xmax)
А1 – первое перерегулирование
А2 – второе перерегулирование
d=А1/A2 — степень (декремент) затухания переходного процесса (отношение первого перерегулирования ко второму)

Рассогласование, перерегулирование, время нарастания, время переходного процесса, степень затухания характеризуют качество регулирования.

Пример

ПИД-регулятор открывает и закрывает регулирующий вентиль на горячей трубе так, чтобы из крана текла вода с температурой +40°С с погрешностью плюс-минус 2 градуса. Регулятор вычисляет рассогласование (ошибку) — отклонение реальной температуры (например, +20°С) от заданного значения (+40°С) и решает – когда и насколько необходимо приоткрыть горячий вентиль, чтобы температура повысилась на 20С. Реальную (фактическую) температуру регулятор узнаёт с помощью датчика температуры (обратная связь), а заданную температуру (уставку) ему сообщает оператор, например, набирая число «40» на своём ПК.

Чтобы настроить ПИД-регулятор, необходимо подобрать правильную комбинацию трёх коэффициентов:

  • Пропорционального – Kp
  • Интегрального – Ki
  • Дифференциального – Kd

Могут использоваться и более простые — П и ПИ-регуляторы.

Формула ПИД-регулятора

Рис. Формула ПИД-регулятора

где e(t) — ошибка (рассогласование), u(t) — выходной сигнал регулятора (управляющее воздействие).

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

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

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

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

Настройка ПИД-регулятора по методу Циглера-Николса

Циглер и Николс предложили свой вариант быстрой настройки ПИД-регулятора для периодического переходного процесса, в котором затухание примерно равно 4.

  • Обнуляем Ki и Kd
  • Постепенно увеличиваем Kp до критического значения Kc, при котором возникают автоколебания
  • Измеряем период автоколебаний Т
  • Вычисляем значения Kp, Ki и Kd по разным формулам для разных регуляторов:
    • для П-регулятора: Kp=0,50*Kc
    • для ПИ-регулятора: Kp=0,45*Kc, Ki=1,2*Kp/T
    • для ПИД-регулятора: Kp=0,60*Kc, Ki=2,0*Kp/T, Kd=Kp*T/8

Каскадный регулятор (подчинённое управление)

Продолжение примера

Теперь нам захотелось добавить комфорта и сделать так, чтобы уставка задания температуры воды менялась в зависимости от температуры воздуха на улице (на улице мороз – вода горячая, на улице жара – вода прохладная). Можно установить ещё один регулятор комфортной температуры, который по показаниям термометра узнаёт фактическую температура наружного воздуха и решает, что комфортная температура воды должна быть, например, +40°С, поэтому он выдаёт задание регулятору температуры воды – поддерживать температуру на уровне +40С (см. пример выше). Здесь мы имеем каскадное регулирование: контур регулирования температуры воды подчинён контуру регулирования комфортной температуры воды.

Читайте также:  Регулятор яркости галогенной лампы 12 вольт

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

Упреждающее регулирование (Feedforward Control)

Не всегда простой ПИД-регулятор в системе с обратной связью может обеспечить требуемое быстродействие из-за возникновения нежелательных колебаний или недопустимо большого перерегулирования. Для улучшения характеристик регулирования применяют комбинированное управление – с обратной связью (closed-loop) и без обратной связи (open-loop). К управляющему воздействию (выходу регулятора) добавляется сигнал упреждающего воздействия, который не зависит от рассогласования, а значит, не может вызвать автоколебания в системе.

Продолжение примера

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

Как выбрать

Окружающая среда

  • Температура
  • Влажность
  • Класс взрывозащиты
  • Степень защиты корпуса.

Регулирование

  • Тип регулятора
    • Дискретный
      • 2-х позиционный
      • 3-х позиционный
    • Непрерывный
      • П-регулятор
      • ПИ-регулятор
      • ПИД-регулятор.
  • Дополнительные функции:
    • Каскадный регулятор (подчинённое управление)
    • Упреждающее регулирование (Feedforward Control).
  • Количество контуров регулирования.

Коммуникационный интерфейс

  • HART
  • FOUNDATION Fieldbus
  • PROFIBUS PA.

Источник

ПИД регулятор

ПИД регулятор – один из самых распространенных автоматических регуляторов. Он настолько универсален, что применяется практически везде, где нужно автоматическое управление. Например температурой: специальные печи, холодильники, инкубаторы, паяльники, сопло и стол 3D принтера, ИК паяльные станции и прочее. Поддержание частоты оборотов мотора, например для станков. Всевозможные балансирующие штуки, гироскутеры, сигвеи, левитирующие магнитные платформы, и конечно же квадрокоптеры и самолёты с автопилотом. Это всё ПИД регулятор. Почему именно ПИД? Существуют и другие регуляторы, превосходящие ПИД по адаптивности к управляемой системе и стабильности, например линейно квадратичный. Но, чтобы грамотно синтезировать такой регулятор, нужно быть гораздо больше чем “семи пядей” во лбу, а настройка ПИД регулятора дело хоть и неприятное, но фактически очень простое и под силу любому, а сам ПИД регулятор универсален для почти любого процесса.

Система управления

Прежде чем переходить непосредственно к пиду, очень важно понять и запомнить несколько базовых понятий, из которых состоит автоматическая система. В первую очередь это регулятор, который всем заправляет и находится в центре системы. Регулятор в данном понимании – математический алгоритм или часть программы, которая крутится на микроконтроллере. Регулятор, как алгоритм, работает с обычными числами. Объект управления – это девайс, которым мы управляем, например печка или мотор. Для этого у нас есть управляющее устройство, например диммируемый тен или драйвер мотора. Управляющее устройство получает от регулятора управляющий сигнал, то есть конкретное число. Это может быть заполнение шим сигнала, от 0 до 255, а может быть угол поворота сервомашинки от 0 до 180, потому что регулятору без разницы чем управлять. В объекте управления у нас стоит датчик, с которого регулятор получает управляемую величину, то есть текущий сигнал с датчика. Это – обратная связь, которая и даёт возможность системе ирчно поддержать заданное значение. В случае с печкой это температура, а с мотором – частота оборотов. Ну и наконец регулятор получает установку (уставку), то есть число, к которому он должен привести текущее значение с датчика. Установка может задаваться каким угодно образом: крутилкой, ползунком, энкодером, кнопками, да хоть смской или голосовым вводом. Регулятору это неважно, для него это просто цифра. Задача регулятора состоит в том, чтобы сравнивать текущее значение с установкой и выдавать управляющий сигнал на управляющее устройство. То есть в программе это будет выглядеть условно так: регулятор получил установку, регулятор получил значение с датчика, регулятор выполнил вычисления и выдал нам управляющий сигнал, опять же число. Если это шим – мы его подаём через функцию генерации шим. Есть ещё один момент – регулятор должен делать расчёты и применять управляющий сигнал через равные промежутки времени, то есть с равным периодом или частотой. Эта частота называется частотой дискретизации системы, а период обозначается как dt, прямо как период интегрирования.

Под капотом у ПИД регулятора

ПИД регулятор состоит из трёх составляющих: пропорциональной P, интегрирующей I и дифференциирующей D, формируется просто как сумма трёх значений, умноженных каждая на свой коэффициент. Эта сумма после вычислений становится управляющим сигналом, который подаётся на управляющее устройство, обозначим его как out.

kP, kI и kD это и есть те самые коэффициенты, которые нужно настроить для работы ПИДа. Значения тут могут быть самые разные, от 0.001 то десятков и тысяч, это зависит от конкретной системы. Тут есть ещё один момент: любой коэффициент может быть равен нулю, и в таком случае обнуляется вся его компонента. То есть регулятор можно превратить в П, ПИ, ПД, и прочие сочетания. Разные системы требуют разного подхода, именно поэтому ПИД регулятор такой универсальный.

Читайте также:  Dss2e бесступенчатый регулятор скорости вращения схема

В дальнейшем будем пользоваться следующими названиями переменных:

  • out – выход с регулятора (управляющий сигнал)
  • setpoint – установка (заданное значение)
  • input – вход (значение с датчика)
  • err – ошибка регулирования
  • dt – период вычисления и регулирования

P составляющая

Пропорциональная составляющая предоставляет собой разность текущего значения с датчика и установки.

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

P составляющая исправляет ошибку в текущий момент времени.

I составляющая

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

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

I составляющая исправляет прошлые, накопившиеся ошибки.

D составляющая

Дифференциальная составляющая представляет собой разность текущей и предыдущей ошибки, поделенную на время между измерениями, то есть на ту же dt, которая общий период регулятора. Иными словами – это производная от ошибки по времени.

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

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

Настройка регулятора

Для настройки регулятора нужно варьировать коэффициенты:

  • При увеличении kP увеличивается скорость выхода на установленное значение, увеличивается управляющий сигнал. Чисто математически система не может прийти ровно к заданному значению, так как при приближении к установке П составляющая пропорционально уменьшается. При дальнейшем увеличении kP реальная система теряет устойчивость и начинаются колебания.
  • При увеличении kI растёт скорость компенсации накопившейся ошибки, что позволяет вывести систему точно к заданному значению с течением времени. Если система медленная, а kI слишком большой – интегральная сумма сильно вырастет и произойдёт перерегулирование, которое может иметь характер незатухающих колебаний с большим периодом. Поэтому интегральную сумму в алгоритме регулятора часто ограничивают, чтобы она не могла увеличиваться и уменьшаться до бесконечности.
  • При увеличении kD растёт стабильность системы, она не даёт системе меняться слишком быстро. В то же время kD может стать причиной неадекватного поведения системы и постоянных скачков управляющего сигнала, если значение с датчика шумит. На каждое резкое изменение сигнала с датчика Д составляющая будет реагировать изменением управляющего сигнала, поэтому сигнал с датчика нужно фильтровать (читай урок по фильтрам).

Вот так выглядит процесс стабилизации при изменении коэффициентов:

Настройка регулятора – дело не очень простое. Начальные коэффициенты для подбора можно получить по следующему алгоритму: сначала выставляем все коэффициенты в . Плавно увеличиваем kP до появления незатухающих колебаний. Значение kP, при котором они появились, запишем и обозначим как kP1. Далее замеряем период колебаний системы в секундах, обозначим как T. Итоговые коэффициенты получим так:

  • kP = 0.6 * kP1
  • kI = kP / T * 2 * dt
  • kD = kP * T / 8 / dt

Например, незатухающие колебания появились при kP 20, период колебаний составил 3 секунды. Период dt в системе будет 50 мс (0.05 с). Считаем:

  • kP: 0.6*20=12
  • kI: 12/3*2*0.05=0.4
  • kD: 12*2/8/0.05=60

На полученных коэффициентах должны более-менее работать большинство систем, но не все.

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

Реализация на C++

Соединяя все рассмотренные выше уравнения, получим:

Это готовая функция, которая принимает значение с датчика, установку, три коэффициента и время, а также ограничение выхода с регулятора. Как пользоваться этой функцией: функция должна вызываться с некоторым периодом, причем длительность этого периода нужно будет передать в функцию в секундах. Если попроще, можно использовать задержку. Но делать так не рекомендуется, лучше сделать таймер на миллис и работать с ним. Функция возвращает управляющий сигнал, то есть можно подать его например как ШИМ. Период dt имеет такой смысл: чем инерционнее у нас система, тем реже можно вычислять пид. Например для обогрева комнаты период можно поставить 1 секунду или больше, а для контроля за оборотами двигателя надо будет поставить пару десятков миллисекунд, то есть около сотни раз в секунду.

Видео

Источник