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

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

  • Пропорциональной.
  • Интегральной.
  • Дифференциальной (производной).

Структурная схема устройства и формулы каждой составляющей указаны на рисунке.

Cхема устройства и формулы трех составляющих разности входного сигнала и сигнала обратной связи

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

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

Рассмотрим настройку ПИД-регулятора температуры. Допустим ее величина на данный момент 10 °С, а требуемое значение должно составлять 25°С.

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

На графике указаны 2 различных переходных процесса, возникающих при увеличении температуры. Расходящаяся кривая, указанная черным цветом, иллюстрирует работу ненастроенного регулятора. Контролируемая величина не принимает заданного значения, функция «идет вразнос».

Красным цветом указана «идеальная кривая», характеристика достаточно крута, что указывает на небольшое время отклика, величина быстро достигает значения 25°С и удерживается на этом уровне.

Настройка пропорционального коэффициента

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

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

Настройка ПИД-регулятора для чайников

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

Настройка ПИД-регулятора. Теория.

  • K_p — коэффициент усиления пропорциональной составляющей
  • K_i — коэффициент усиления интегрирующей составляющей
  • K_d — коэффициент усиления дифференцирующей составляющей

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

Настройка ПИД регулятора — легко и просто

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

Метод Циглера-Никольса.

Заключается он в последовательном выполнении следующих операций:

  1. Обнуляем все коэффициенты регулятора.
  2. Задаем некоторое целевое значение регулируемого параметра (например, температуры).
  3. Постепенно начинаем увеличивать пропорциональный коэффициент и следим за реакцией системы.
  4. При определенном значении K_p возникнут незатухающие колебания регулируемой величины.
  5. Фиксируем это значение, а также период колебаний системы.

На этом практическая часть метода заканчивается. Из полученных значений рассчитываем коэффициенты:

K_p = 0.6cdot K \ K_i = (2cdot K_p)medspace/medspace T \ K_d = (K_pcdot T)medspace/medspace 8

Здесь K – тот самый коэффициент пропорциональной составляющей, при котором возникли колебания, а T – период этих колебаний. Рассмотрим псевдо-пример для получения более полного представления о данном процессе. Пусть при K_p равном 10, возникают колебания следующего рода:

Метод Циглера-Никольса.

Период составляет 0.1 с. Производим расчеты по вполне конкретным формулам и получаем:

K_p = 0.6cdot 10 = 6 \ K_i = (2cdot 6)medspace/medspace 0.1 = 120 \ K_d = (6cdot 0.1)medspace/medspace 8 = 0.075

Все, на этом процедура окончена.

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

Суть метода можно описать максимально кратко:

  • Берем систему.
  • Меняем один из коэффициентов.
  • Смотрим за реакцией системы.
  • Анализируем произошедшее и принимаем решение о дальнейших действиях.

Данный метод также вполне можно назвать «методом проб и ошибок», тем не менее это работает. Главное иметь представление о том, как система функционирует и как она реагирует на изменения, чтобы производимые манипуляции не носили хаотичный, близкий к случайному характер. Кроме того, не следует менять несколько значений сразу, тогда отслеживание результата становится практически неосуществимым. Поменяли-посмотрели-поменяли-посмотрели…

Сами значения коэффициентов могут принимать абсолютно разные значение, от 0 до десятков-сотен тысяч. Это все зависит, в первую очередь, от конкретной системы, и следует даже просто из того, что регулируемые и регулирующие параметры могут быть абсолютно разными.

Пусть, к примеру, у нас температура может меняться от 20°C до 40°C, при этом мощность нагревателя – от 100 Вт до 1000 Вт. Это частный случай. Берем абсолютно другую систему, там ПИД-регулятор контролирует угол наклона гиростабилизированной платформы. Объект регулирования – угол наклона, выходное воздействие – сигнал для управления двигателем, вращающим платформу. При этом рабочий диапазон углов: [-0.1°; 0.1°]. То есть изначально мы имеем абсолютно другие порядки участвующих в работе системы параметров, соответственно, и коэффициенты ПИД-регулятора могут иметь значения, разнящиеся на несколько порядков.

Перечислим еще некоторые свойства, которые призваны помочь в анализе работы системы и настройке ПИД-регулятора:

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

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

Пример настройки ПИД-регулятора.

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

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

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

Вот так выглядит процесс стабилизации при изменении коэффициентов: Настройка регулятора – дело не очень простое. Начальные коэффициенты для подбора можно получить по следующему алгоритму: сначала выставляем все коэффициенты в 0. Плавно увеличиваем 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++

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

// (вход, установка, п, и, д, период в секундах, мин.выход, макс. выход) int computePID(float input, float setpoint, float kp, float ki, float kd, float dt, int minOut, int maxOut) < float err = setpoint — input; static float integral = 0, prevErr = 0; integral = constrain(integral + (float)err * dt * ki, minOut, maxOut); float D = (err — prevErr) / dt; prevErr = err; return constrain(err * kp + integral + D * kd, minOut, maxOut); >

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

Принцип работы термоконтроллера

Классический контур регулирования температуры состоит из термоконтроллера, датчика (термопара, термосопротивление) и исполнительного оборудования (клапан, ТЭН, турбина, насос и т.п.). Температурный контроллер получает сигнал от первичного сенсора, на основе этого значения формируется сигнал обратной связи, который поступает на контроллер.

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

Настройка пид-регулятора температуры

  • Пропорциональная (P). Это значение отвечает за скорость реагирования на любые изменения текущего значения. Чем больше отклонение температуры, тем больше выходной сигнал на терморегуляторе. Нельзя повышать P-составляющую до бесконечности. Так невозможно получить сверхбыстрый контур регулирования, но есть вероятность добиться перерегулирования, что может вызвать высокие отклонения температуры.
  • Интегральная (I). Данный коэффициент позволяет устранить статическую ошибку. Математически это происходит за счет суммирования такой ошибки, разности текущего и заданного значения и умножением на период дискретизации системы. Чем выше составляющая, тем быстрее будет происходить коррекция статической ошибки. При этом после перехода определенной границы, увеличение коэффициента может привести к появлению постоянных колебаний вокруг установочного значения.

Настройка пид-регулятора температуры

  • Дифференциальная (D). D-составляющая представляет собой разность текущей и предыдущей ошибки, поделенной на время измерения. В математическом смысле это производная ошибки по времени. Физически коэффициент отвечает за реакцию температурного контроллера на скорость изменения температуры. Позволяет корректировать работу системы при резких скачках и воздействиях, которые выводят ее из равновесия. Эта составляющая важна для быстрых систем, в которых могут возникать резкие изменения.

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

Общие принципы настройки ПИД-регулятора термоконтроллера

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

  • Выставить на терморегуляторе требуемое значение уставки (SV).
  • Настроить P-составляющую. Для этого выставить низкое значение коэффициента, затем постепенно повышать. Увеличивать необходимо до момента получения подходящей статической ошибки. Если в системе появляется перерегулирование, следует прекратить увеличение П-коэффициента.
  • Настроить I-составляющую. Необходимо начать с малых значений и увеличивать их до появления постоянных небольших колебаний вокруг уставки.
  • Настроить D-составляющую. Постепенно увеличивать составляющую до максимальной компенсации имеющихся колебаний.

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

У некоторых температурных регуляторов есть функция автоматической настройки коэффициентов регулирования. В этом случае значения составляющих вычисляются электроникой. При настройке PID-регулятора необязательно использовать все 3 составляющие. Для некоторых систем будет достаточно двух или одного коэффициента. Всего существует 4 режима, в которых может работать терморегулятор:

  • П-регулирование;
  • ПД-регулирование;
  • ПИ-регулирование;
  • ПИД-регулирование.

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

Оцените статью
TutShema
Добавить комментарий