Урок 40. ПИД регулятор. Принцип действия, математическое описание, настройка.

ПИД в схематичном виде

Продолжение разработки проекта контроллера модуля Пельтье, начатой в уроке 36. Узнаем, что такое ПИД регулятор.

Предыдущий урок     Список уроков     Следующий урок

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

 

В предыдущем уроке мы разработали регулятор мощности. Связь регуляторов мощности и температуры выглядит так.

Схема терморегулятора

  • Регулятор температуры получает измеренную температуру, сравнивает ее с заданной температурой и вычисляет значение заданной мощности для регулятора мощности.
  • Регулятор мощности формирует ШИМ, соответствующий заданной мощности.

Регулятор мощности мы построили по интегральному закону регулирования. Для стабилизации температуры будем использовать более сложный алгоритм управления – пропорционально-интегрально-дифференцирующий (ПИД) регулятор.

 

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

В предыдущем уроке я подробно рассказал об интегральном регуляторе. Подчеркнул его достоинства и недостатки.

Регулятор, работающий по такому принципу, обладает высокой точностью. Остальные критерии качества регулирования – быстродействие и устойчивость - у него не на высоте.

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

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

В формировании выходного сигнала ПИД регулятора участвуют:

  • Пропорциональная составляющая – значение пропорционально ошибке рассогласования (разности заданного и реального значений регулируемого параметра).
  • Интегрирующая составляющая – интеграл ошибки рассогласования.
  • Дифференцирующая составляющая – производная ошибки рассогласования.

Математическая форма записи закона ПИД регулятора имеет вид:

o(t) = P + I + D = Kp e(t) + Ki ∫e(t)dt + Kd de(t)/dt

  • o(t) – выходной сигнал;
  • P – пропорциональная составляющая;
  • I – интегрирующая составляющая;
  • D – дифференцирующая составляющая;
  • Kp, Ki, Kd – коэффициенты пропорционального, интегрирующего, дифференцирующего звеньев;
  • e(t) – ошибка рассогласования.

В схематичном виде ПИД регулятор можно представить так.

ПИД в схематичном виде

Структурная схема ПИД регулятора напряжения U выглядит так.

Структурная схема стабилизатора напряжения

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

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

 

Составляющие ПИД регулятора.

Еще раз. Выходной сигнал ПИД регулятора это сумма трех составляющих:

  • пропорциональной;
  • интегрирующей;
  • дифференцирующей.

Пропорциональная составляющая.

P(t) = Kp * e(t)

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

Пропорциональная составляющая не способна компенсировать ошибку полностью. Это видно из формулы. Выходной сигнал в Kp раз больше ошибки. Если ошибка рассогласования равна 0, то и выходной сигнал регулятора равен 0. А тогда и компенсировать нечем.

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

К недостаткам пропорциональных регуляторов следует отнести:

  • наличие статической ошибки регулирования;
  • невысокая устойчивость при увеличении коэффициента.

Есть весомое преимущество:

  • Высокая скорость регулирования. Реакция пропорционального регулятора на ошибку рассогласования ограничена только временем дискретизации системы.

Регуляторы, работающие только по пропорциональному закону, применяют редко.

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

Интегрирующая составляющая.

I(t) = Ki ∫e(t)dt

Пропорциональна интегралу ошибки рассогласования. С учетом временной дискретности регулятора можно написать так:

I(t) = I(t-1) + Ki * e(t)

  • I(t-1) – значение I в предыдущей точке временной дискретизации.

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

К недостаткам интегрального регулятора следует отнести:

  • низкое быстродействие;
  • посредственная устойчивость.

Достоинство:

  • Способность полностью компенсировать ошибку рассогласования при любом коэффициенте усиления.

На практике часто используют интегрирующие регуляторы (только интегрирующая составляющая) и пропорционально-интегрирующие (интегрирующая и пропорциональная составляющие).

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

Дифференцирующая составляющая.

D(t) = Kd de(t)/dt

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

С учетом временной дискретности регулятора дифференцирующую составляющую можно вычислить так:

D(t) = Kd * ( e(t) - e(t-1) )

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

Регуляторов, состоящих из единственного дифференцирующего звена, не бывает.

Главная задача дифференцирующего звена в ПИД регуляторе – повышение устойчивости.

 

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

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

О качестве регулирования судят по переходной характеристике регулятора. Т.е. по графику изменения регулируемого параметра во времени.

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

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

Составляющие ПИД регулятора настраиваются отдельно.

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

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

Благодаря высоким характеристикам и универсальности ПИД регуляторы широко применяются в системах автоматизации производства.

 

В следующем уроке будем разрабатывать ПИД регулятор температуры.

 

Предыдущий урок     Список уроков     Следующий урок

2

Автор публикации

не в сети 5 дней

Эдуард

280
Комментарии: 1936Публикации: 197Регистрация: 13-12-2015

20 комментариев на «Урок 40. ПИД регулятор. Принцип действия, математическое описание, настройка.»

  1. А насколько необходим ПИД — регулятор для такого медленного процесса.
    Не достаточно ли только И – регулятора, или ПИ – регулятора?

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

      0
  2. доброго дня. ПИД — регулятор. на первый взгляд все очень просто. а вся проблема «зарыта» в коэффициентах Кр. Кi. Kd.
    и вся настройка в подпоре этих коэффициентов для реальной системы. И новичок спросит и что это такое и где их брать)) и что они означают на физическом уровне))

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

    0
    • Оценка качества регулирования не раскрыта. В чем проблема регулирования и зачем все это…

      0
  4. Полагаю, что цель дифференцирующего звена — не устойчивость (она достигается ПИ звеньями), а скорейший выход на точку стабилизации. Звено Д привносит в обратную связь элемент «предсказания будущего», ведь, чтобы установить силу воздействия максимально точно, было бы неплохо знать будущее.

    0
  5. Добрый день!
    Я работаю с контроллером Allen Bradley и RSLogix соответственно.
    У меня есть следующая задача — в зависимости от температуры масла, включяются два вентилятора (один плюс один). Каждый из них имеет частотный преобразователь, который имеет следующий параметр: время отклика. Первоначально это было 5 секунд, но это было плохо для двигателей и быстро они сгорели. Мы изменили его за 50 секунд.
    Логика контроллера (Ладдер Logic) имеет команду вентилятора и реальную скорость. Если разница между ними составляет более 10% через 5 секунд, раздастся аларм. Очевидно, что это условие не может быть выполнено, если установить время отклика 50 секунд. у инвертора.
    В Ladder Logic вентиляторы управляются с помощью PID-команды (то есть PI) со значением Kp = 1, Ki = 2,5
    Задача состоит в том, чтобы не изменять время отклика в инверторе и не отображать аларму.
    Я понимаю, что если я увеличу Kp, я задержу выполнение команды, т.е. это фактически увеличит время отклика, но я не знаю точно, как установить два фактора, чтобы время отклика составляло около 30-40 секунд.

    0
    • Здравствуйте!
      Может отключите пропорциональное звено и подберете интегральный коэффициент. А потом добавите и подберете пропорциональный коэффициент.

      0
  6. Ki и Kp — коэффициенты в блоке PIDE (я могу изменить их напрямую), я полагаю — это вы имеете в виду (без «отключение»)
    Насколько я понимаю: я меняю интегральную значение(вверх) и включаю двигатель. Затем меняю пропорциональность, и Я снова проверяею

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

      0
  7. Здравствуйте!
    Эдвард, извините! Я очень благодарен, что сразу дали ответь! Простите, что я не смог поздравить вас с предыдущим сообщением!

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

    0
  9. Все очень интересно, но меня беспокоит на сколько этот кот PID регулятора может быть приспособлен для использования других датчиков и устройств. У меня датчик температуры MLX90614 на вентиляторе охлаждения, а на втором датчик холла на редукторе. Есть какие не будь ограничения для использования данного скетча в моем проекте или лучше использовать что то другое?

    0
    • Здравствуйте!
      Код представляет собой формулы ПИД-регулятора с ограничениями значений. Я не вижу причин, почему он не заработает в вашем проекте.

      0
  10. Спасибо очень интересно все написано. А вы не думали провести урок про то как потом после описание на Windows перенести на Raspberry PI 🙂

    0
  11. Первый хорошо «разжованный» материал по ПИД коэффициентам и физическому смыслу составляющих, который я нашёл. Автору респектище! Всё стало ясно и понятно.

    0
  12. Прошу прощения, не видел этот материал. Материал не совсем разжёван, но ладно, главное понятие есть. Разрешите дать практические советы по настройке PID-регуляторов в ручную. Зачастую автонастройки дают большой начальный разбег температур для включения автотюнинга. Иногда такие разбеги неприемлемы. Методика следующая:
    — И и Д составляющие — в ноль;
    — Р составляющей подбираем реальную температуру без перерегулирования. Те в реальных условиях температура не должна превысить уставку, должна быть ниже градусов на 10.
    — Вводим И составляющую и добиваемся МАХ приближения к утавке;
    — Вводим Д составляющую в размере 0,15 — 0,25 И.
    Работает на раз — два.
    Опробовано на десятках объектов от 0,5 МВт до сотен ватт. Кстати реально видел вакуумную печь, где И составляющая равнялась «0», при довольно большой Д.
    Ещё раз, жаль не видел статью раньше.

    0
  13. Здравствуйте. С ПИД все понятно. А можно объяснить принцип работы шаговых регуляторов температуры? Т.е. регуляторов у которых можно задавать профиль нагрева. На пример нагреть объект со скоростью 50гр/мин до определенной температуры, потом поддерживать температуру на определенном уровне, потом еще нагреть но уже сдругой скоростью.

    0

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".