HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop
HimeraSearchDB

НОВОСТИ [Из песочницы] Симуляция ПИД-регулятора температуры

Bonnie
Оффлайн
Регистрация
12.04.17
Сообщения
19.095
Реакции
107
Репутация
0
Поискал я статьи на данном ресурсе на тему ПИД-регуляторов. Много статей. И с объяснением принципов работы таких регуляторов. И с алгоритмами подбора параметров. И с реализацией на конкретных железках и программах. Не увидел одного — симуляции ПИД-регуляторов на моделях, с тем, чтобы пользователь без использования без всякого железа мог «пощупать» работу ПИД-регулятора.

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

Сама модель имеет следующие параметры:

  • Кf инерционности нагреваемого тела (масса, уд. теплоёмкость, изоляция)
  • Температура окружающей среды °С
  • Начальная температура тела °С

ПИД-регулятор имеет параметры:

  • Целевая температура °С
  • Коэфф. пропорционального воздействия
  • Коэфф. дифференциального воздействия
  • Коэфф. интегрального воздействия
  • Максимальное значение управляющего воздействия
  • Общий коэффициент усиления (если 0, то регулятор и нагреватель не работают)

Дальше много картинок.

1. Сначала выключим ПИД-регулирование и убедимся, что модель адекватная.

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

82337_900.png


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

82633_900.png


То же самое, но теперь температура тела ниже температуры окружающей среды.

82710_900.png


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

83054_900.png


Увеличиваем коэффициент инерционности, и видим, что температура тела медленнее стремится к окружающей среде.

83429_900.png


Теперь включаем нагрев (но не ПИД-регулятор!). Для этого в колонке управления «включаем» 2 раза «нагрев» — с 0 по 2 единицу времени на «мощность» =20, и с 11 по 12 единицу времени на «мощность» =10. На графике наблюдаем адекватную реакцию.

83635_900.png


Теперь «включаем» постоянный «нагрев» на «мощность» 10. Видим, что температура тела растёт, но до определенного предела — «мощности» не хватает.

83737_900.png


2. Теперь «включим» ПИД-регулятор, и посмотрим, как он будет регулировать температуру.

Установим целевую температуру в 100°С и Kp=1,Kd=1,Ki=0.1

84047_900.png


Увеличим Ki до 1, и увидим, что это не совсем полезно в данном случае.

84256_900.png


Теперь уберем интегральную составляющую Ki и посмотрим — теперь регулировка не дотягивает до 100 градусов — мало «мощности» без интегральной составляющей.

84631_900.png


Увеличим K и/или Kp — теперь «мощности» хватило, но без интегральной составляющей возникли высокочастотные колебания.

84778_900.png


Ну и так далее.

Кому интересно — поиграйтесь.
 
Сверху Снизу