Для этого создана матмодель нагревательного элемента с датчиком температуры и ПИД-регулятором (разумеется, с кучей упрощений, но без ущерба для реалистичности). Реализовано это на обычном Excel. С тем, чтобы любой пользователь мог сам «покрутить» виртуальные параметры, и посмотреть, что из этого выходит. Собственно, я эту модель в своё время и сделал как раз для того, чтобы «потрогать» своими руками процесс ПИД-регулирования.
Сама модель имеет следующие параметры:
- Кf инерционности нагреваемого тела (масса, уд. теплоёмкость, изоляция)
- Температура окружающей среды °С
- Начальная температура тела °С
ПИД-регулятор имеет параметры:
- Целевая температура °С
- Коэфф. пропорционального воздействия
- Коэфф. дифференциального воздействия
- Коэфф. интегрального воздействия
- Максимальное значение управляющего воздействия
- Общий коэффициент усиления (если 0, то регулятор и нагреватель не работают)
Дальше много картинок.
1. Сначала выключим ПИД-регулирование и убедимся, что модель адекватная.
Устанавливаем равную температуру тела и окружающей среды и убеждаемся на графике, что температура стабильна:
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/82337/82337_900.png)
Теперь устанавливаем температуру тела выше температуры окружающей среды, график перестроился и видим, что температура тела по экспоненциальному закону стремится к температуре окружающей среды.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/82633/82633_900.png)
То же самое, но теперь температура тела ниже температуры окружающей среды.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/82710/82710_900.png)
Уменьшаем коэффициент инерционности, и видим, что температура тела быстрее стремится к окружающей среде.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/83054/83054_900.png)
Увеличиваем коэффициент инерционности, и видим, что температура тела медленнее стремится к окружающей среде.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/83429/83429_900.png)
Теперь включаем нагрев (но не ПИД-регулятор!). Для этого в колонке управления «включаем» 2 раза «нагрев» — с 0 по 2 единицу времени на «мощность» =20, и с 11 по 12 единицу времени на «мощность» =10. На графике наблюдаем адекватную реакцию.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/83635/83635_900.png)
Теперь «включаем» постоянный «нагрев» на «мощность» 10. Видим, что температура тела растёт, но до определенного предела — «мощности» не хватает.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/83737/83737_900.png)
2. Теперь «включим» ПИД-регулятор, и посмотрим, как он будет регулировать температуру.
Установим целевую температуру в 100°С и Kp=1,Kd=1,Ki=0.1
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/84047/84047_900.png)
Увеличим Ki до 1, и увидим, что это не совсем полезно в данном случае.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/84256/84256_900.png)
Теперь уберем интегральную составляющую Ki и посмотрим — теперь регулировка не дотягивает до 100 градусов — мало «мощности» без интегральной составляющей.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/84631/84631_900.png)
Увеличим K и/или Kp — теперь «мощности» хватило, но без интегральной составляющей возникли высокочастотные колебания.
![image](https://ic.pics.livejournal.com/massaraksh7/14039767/84778/84778_900.png)
Ну и так далее.
Ссылка на файл. Кому интересно — поиграйтесь.
xztau
На openedu есть курс «Современная промышленная электроника». Там лабораторные работы с баком и ПИД регулятором есть. Объект смоделировали прямо внутри S7-300 стенда.
Если вдруг интересно:)
Картинки не увеличиваются.
Можете про модель объекта подробнее растолковать? Как она там вычисляется? Мне не охота файл качать.
Massaraksh147 Автор
Всё основано на формуле Q=cm(t2-t1)