Симуляция ПИД-регулятора температуры
Видел много статей на тему ПИД-регуляторов. И с объяснением принципов работы таких регуляторов. И с
алгоритмами подбора параметров. И с реализацией на конкретных железках и программах. Не увидел одного
- симуляции ПИД-регуляторов на моделях, с тем, чтобы пользователь без использования без всякого железа
мог "пощупать" работу ПИД-регулятора.
Для этого создал матмодель нагревательного элемента с датчиком температуры и ПИД-регулятором
(разумеется, с кучей упрощений, но без ущерба для реалистичности). Реализовано это на обычном Excel. С
тем, чтобы любой пользователь мог сам "покрутить" виртуальные параметры, и посмотреть, что из этого
выходит.
Собственно, я эту модель в своё время и сделал как раз для того, чтобы "потрогать" своими руками процесс
ПИД-регулирования.
Сама модель имеет следующие параметры:
- Кf инерционности нагреваемого тела (масса, уд. теплоёмкость, изоляция)
- Температура окружаюшей среды °С
- Начальная температура тела °С
ПИД-регулятор имеет параметры:
- Целевая температура °С
- Коэфф. пропорционального воздействия
- Коэфф. дифференциального воздействия
- Коэфф. интегрального воздействия
- Максимальное значение управляющего воздействия
- Общий коэффициент усиления (если 0, то регулятор и нагреватель не работают)
1. Сначала выключим ПИД-регулирование и убедимся, что модель адекватная.
Устанавливаем равную температуру тела и окружающей среды и убеждаемся на графике, что температура стабильна:
Теперь устанавливаем температуру тела выше температуры окружающей среды, график перестроился и видим, что температура тела по экспоненциальному закону стремится к температуре окружающей среды.
То же самое, но теперь температура тела ниже температуры окружающей среды.
Уменьшаем коэффициент инерционности, и видим, что температура тела быстрее стремится к окружающей среде.
Увеличиваем коэффициент инерционности, и видим, что температура тела медленнее стремится к окружающей среде.
Теперь включаем нагрев (но не ПИД-регулятор!). Для этого в колонке управления "включаем" 2 раза "нагрев" - с 0 по 2 единицу времени на "мощность" =20, и с 11 по 12 единицу времени на "мощность" =10. На графике наблюдаем адекватную реакцию.
Теперь "включаем" постоянный "нагрев" на "мощность" 10. Видим, что температура тела растёт, но до определенного предела - "мощности" не хватает.
2. Теперь "включим" ПИД-регулятор, и посмотрим, как он будет регулировать температуру.Установим целевую температуру в 100°С и Kp=1,Kd=1,Ki=0.1
Увеличим Ki до 1, и увидим, что это не совсем полезно в данном случае.
Теперь уберем интегральную составляющую Ki и посмотрим - теперь регулировка не дотягивает до 100 градусов - мало "мощности" без интегральной составляющей.
Увеличим K и/или Kp - теперь "мощности" хватило, но без интегральной составляющей возникли высокочастотные колебания.
Ну и так далее.
Ссылка на файл. Кому интересно - поиграйтесь.
Еще больше интересных статей
Быстрая печать ажурных стенок в Ultimaker Cura
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Охлаждение мотора директа
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Уважаемый jmz, подскажите, пож...
Круто
6Вт = 4,5*4,5/3,4.Это по какой...
Собственно и вопрос: Как в Ком...
Добрый день, принтер Creality...
На картинке видно что слой нем...
Господа, товарищи, братья, обл...