Просмотр полной версии : Настройка PID регулятора - подбор коэффицеинтов
Party3AH
19.11.2024, 10:20
Добрый день, вопрос скорее по подбору коэффициентов ПИД-регулятора:
имеется холодильник воды, который управляются с помощью клапанов через ПЛК, в программе используется PID из библиотеки Util (также пробовал использовать ПИД из библиотек Овен, но это не суть).
Не могу добиться адекватной работы, похоже проблема с I-составляющей, не пойму, в какую сторону её изменять.
80189
График температуры: уставка 75 градусов, за 10 минут проходят 3.5 периода, в течении которого желаемая температура раскачивается на плюс/минус 7 градусов.
Итого разбег почти 15 градусов, температура плавает от 68 до 82.
P-составляющую подобрал такую, чтобы получить какую-то адекватную скорость охлаждения, KP = 2 (Proportionality const. P).
D-составляющую пока что отключил, поставив TV = 0 (Rate time, derivative time D [sec]. If set to 0, then it works as PI controller).
Судя по формуле, чем больше TN, тем меньше интегральная составляющая.
Y=KP*(e+1/TN∫edt+TV*δeδt)
Что делать с I (в библиотеке коэффициент TN)? Уменьшать или увеличивать?
Добрый день, вопрос скорее по подбору коэффициентов ПИД-регулятора:
имеется холодильник воды, который управляются с помощью клапанов через ПЛК, в программе используется PID из библиотеки Util (также пробовал использовать ПИД из библиотек Овен, но это не суть).
Не могу добиться адекватной работы, похоже проблема с I-составляющей, не пойму, в какую сторону её изменять.
80189
График температуры: уставка 75 градусов, за 10 минут проходят 3.5 периода, в течении которого желаемая температура раскачивается на плюс/минус 7 градусов.
Итого разбег почти 15 градусов, температура плавает от 68 до 82.
P-составляющую подобрал такую, чтобы получить какую-то адекватную скорость охлаждения, KP = 2 (Proportionality const. P).
D-составляющую пока что отключил, поставив TV = 0 (Rate time, derivative time D [sec]. If set to 0, then it works as PI controller).
Судя по формуле, чем больше TN, тем меньше интегральная составляющая.
Y=KP*(e+1/TN∫edt+TV*δeδt)
Что делать с I (в библиотеке коэффициент TN)? Уменьшать или увеличивать?
Чему у тебя равен TN ?
Party3AH
19.11.2024, 11:44
Чему у тебя равен TN ?
0.5 оставил на последней попытке.
Пробовал небольшие числа 0.1..1.
Когда увидел, что TN - на самом деле величина обратная, появились подозрения, что число должно быть гораздо больше, десятки наверное.
0.5 оставил на последней попытке.
Пробовал небольшие числа 0.1..1.
Когда увидел, что TN - на самом деле величина обратная, появились подозрения, что число должно быть гораздо больше, десятки наверное.
Поставь 1000 и посмотри результат.
Party3AH
19.11.2024, 11:50
Поставь 1000 и посмотри результат.
Спасибо, буду пробовать!
Спасибо, буду пробовать!
1000 скорее всего будет мало. KP надо будет то же увеличить, я бы поставил 5.
ShadoVolf
19.11.2024, 16:35
Как вариант можно сделать изменяемые значения. При нагреве KP поставить например 2-3, а после выхода на полку увеличить до 5 например как писали.
По самые по...
20.11.2024, 10:52
Добрый день, вопрос скорее по подбору коэффициентов ПИД-регулятора:
имеется холодильник воды, который управляются с помощью клапанов через ПЛК, в программе используется PID из библиотеки Util (также пробовал использовать ПИД из библиотек Овен, но это не суть).
Не могу добиться адекватной работы, похоже проблема с I-составляющей, не пойму, в какую сторону её изменять.
80189
График температуры: уставка 75 градусов, за 10 минут проходят 3.5 периода, в течении которого желаемая температура раскачивается на плюс/минус 7 градусов.
Итого разбег почти 15 градусов, температура плавает от 68 до 82.
P-составляющую подобрал такую, чтобы получить какую-то адекватную скорость охлаждения, KP = 2 (Proportionality const. P).
D-составляющую пока что отключил, поставив TV = 0 (Rate time, derivative time D [sec]. If set to 0, then it works as PI controller).
Судя по формуле, чем больше TN, тем меньше интегральная составляющая.
Y=KP*(e+1/TN∫edt+TV*δeδt)
Что делать с I (в библиотеке коэффициент TN)? Уменьшать или увеличивать?
У вас перерегулирование. Уменьшайте Р до 1 и даже меньше, пока не прекратятся колебания. Интегральную примите равной 1. И после устранения колебаний подкрутите в нужную сторону.
У вас перерегулирование. Уменьшайте Р до 1 и даже меньше, пока не прекратятся колебания. Интегральную примите равной 1. И после устранения колебаний подкрутите в нужную сторону.
Глупости не надо писать. У него пила из за интегральной составляющей.
Party3AH
20.11.2024, 11:32
1000 скорее всего будет мало. KP надо будет то же увеличить, я бы поставил 5.
Попробовал просиммулировать с параметрами KP=8, TN=900, TV=0.01 - ну просто совсем другое дело. Заработало так, как я и ожидал.
Через пару недель буду настраивать на объекте, отпишусь, что получилось.
Как вариант можно сделать изменяемые значения. При нагреве KP поставить например 2-3, а после выхода на полку увеличить до 5 например как писали.
Можно будет попробовать, спасибо за идею!
У вас перерегулирование. Уменьшайте Р до 1 и даже меньше, пока не прекратятся колебания. Интегральную примите равной 1. И после устранения колебаний подкрутите в нужную сторону.
Проблема была в интегральной составляющей, как оказалось, это величина обратно пропорциональная, в начала настройки нужно наоборот установить в TN большое число (1000).
Попробовал просиммулировать с параметрами KP=8, TN=900, TV=0.01 - ну просто совсем другое дело. Заработало так, как я и ожидал.
Через пару недель буду настраивать на объекте, отпишусь, что получилось.
Можно будет попробовать, спасибо за идею!
Проблема была в интегральной составляющей, как оказалось, это величина обратно пропорциональная, в начала настройки нужно наоборот установить в TN большое число (1000).
Картинку покажи.
По самые по...
20.11.2024, 15:29
Попробовал просиммулировать с параметрами KP=8, TN=900, TV=0.01 - ну просто совсем другое дело. Заработало так, как я и ожидал.
Через пару недель буду настраивать на объекте, отпишусь, что получилось
... ...
ПартиЗАН! Когда горя тяпнешь на объекте с таким КР регулятора температуры (ну, к примеру, сквознячок попрет или дверцей хлопать начнут), обратись к моему посту.. :p
Party3AH
21.02.2025, 10:44
Возвращаюсь после долгожданных испытаний на объекте - ПИД заработал хорошо, я почти доволен, но хотелось бы чуть лучше.
Температура выходит на заданную, но есть постоянная разница в 2-3 градуса.
Также на старте работы система очень долго выходит на заданную температура и слишком рано начинает охлаждение.
На графике тренды:
синий - задание,
зелёный - актуальная t,
жёлтая - выход управления от ПИД регулятора,
красная - разницу между управлением от ПИДа и положением механизма охлаждения (клапан работает достаточно медленно).
Старт прогрева системы - задание 65 градусов, но при 50-55 уже начинается охлаждение, и максимум температуры не доходит даже до 60 градусов.
82101
После 10 минут работы, когда весь контур прогрелся - есть постоянная (статическая?) ошибка между заданием и актуальной t в 2-3 градуса.
Но видно, что ПИД очень хорошо отрабатывает внешнее воздействие, просадку по температуре.
82102
Параметры: KP=8, TN=900, TV=0.01, пробовал менять Kp от 5 до 15, TN от 500 до 1500, особо картина не меняется.
В принципе для оборудования такие режимы допустимы, но я буду пробовать настроить точнее.
Попробую уменьшить KP, чтобы охлаждение не так резко шло, TN буду уменьшать, чтобы убрать статическую ошибку в 2-3 градуса.
Буду рад советам по подбору коэффициентов.
Возвращаюсь после долгожданных испытаний на объекте - ПИД заработал хорошо, я почти доволен, но хотелось бы чуть лучше.
Температура выходит на заданную, но есть постоянная разница в 2-3 градуса.
Также на старте работы система очень долго выходит на заданную температура и слишком рано начинает охлаждение.
На графике тренды:
синий - задание,
зелёный - актуальная t,
жёлтая - выход управления от ПИД регулятора,
красная - разницу между управлением от ПИДа и положением механизма охлаждения (клапан работает достаточно медленно).
Старт прогрева системы - задание 65 градусов, но при 50-55 уже начинается охлаждение, и максимум температуры не доходит даже до 60 градусов.
Нажмите на изображение для увеличения.
Название: photo_2025-02-21_09-14-32.jpg
Просмотров: 9
Размер: 59.1 Кб
ID: 82101
Регулятор НЕ НАСТРОЕН. Процесс зарегулирован.
имеется холодильник воды.
Не могу понять, у вас процесс охлаждение воды или нагрев её?
По графикам вижу ведется нагрев.
Party3AH
25.02.2025, 17:00
Регулятор НЕ НАСТРОЕН. Процесс зарегулирован.
.
Не могу понять, у вас процесс охлаждение воды или нагрев её?
По графикам вижу ведется нагрев.
Агрегат нагревается в процессе работы, его нужно охлаждать. Для этого подмешивается холодная вода в контур охлаждения.
Т.е. регулятор работает как холодильник.
Агрегат нагревается в процессе работы, его нужно охлаждать. Для этого подмешивается холодная вода в контур охлаждения.
Т.е. регулятор работает как холодильник.
Сложная система. В какой то момент контур охлаждения переполниться и что делать? Если это проточная система то регулировать температуру в контуре будет сложно. Одним ПИД регулятором боюсь не обойтись. Не представляю вашу систему, но можно регулировать температуру в приточном баке достаточного объема, а затем воду подавать центробежным насосом. А какая допустимая точность регулирования?
Party3AH
26.02.2025, 15:24
Система двухконтурная, циркуляция идёт по малому контуру, пока температура низкая.
Когда вода нагревается, через трёхходовой клапан начинается подмес холодной воды из большого контура с холодильником.
Часть горячей воды соответственно идёт в большой контур холодильника.
Точность особая не нужна, допустимая температура 55-70 градусов.
Есть небольшой опыт работы с похожими системами. У нас работают регуляторы охлаждения зон кристаллизации прокачкой воды в качестве хладагента через теплообменники, и вода-хладагент в замкнутом контуре циркуляции изменяет свою температуру (нагревается)в процессе, соответственно в теплообменнике изменяется так называемый "тепловой напор" и контур меняет свои передаточные характеристики. Таким образом требуется постоянная подстройка коэффициентов контура охлаждения зоны. Похоже у вас происходит подобный процесс.
Поступили проще - сделали каждому контуру теплообменник стабилизации температуры хладагента, питаемый проточной водой. Благо, промводы завались и она циркулирует и охлаждается независимо.
А еще в контурах с трехпозиционными сервоприводами, у которых время полного хода ИМ от 30 сек до минуты, очень хорошо работают ПИ-регуляторы с настройками типа КП=15-20, Ти=1500-2000. Эти регуляторы у нас держат подпитку и паровую нагрузку котлов практически идеально.
Еще я заметил "полки" в "верхнем" положении ИМ. Если правильно понял, это минимум охлаждения (т.е. самонагрев агрегата). Это еще один аргумент за то, чтобы подогреть и стабилизировать Т хладагента. В этот момент мощность охладителя великовата.
Party3AH
26.03.2025, 09:52
Есть небольшой опыт работы с похожими системами. У нас работают регуляторы охлаждения зон кристаллизации прокачкой воды в качестве хладагента через теплообменники, и вода-хладагент в замкнутом контуре циркуляции изменяет свою температуру (нагревается)в процессе, соответственно в теплообменнике изменяется так называемый "тепловой напор" и контур меняет свои передаточные характеристики. Таким образом требуется постоянная подстройка коэффициентов контура охлаждения зоны. Похоже у вас происходит подобный процесс.
Поступили проще - сделали каждому контуру теплообменник стабилизации температуры хладагента, питаемый проточной водой. Благо, промводы завались и она циркулирует и охлаждается независимо.
А еще в контурах с трехпозиционными сервоприводами, у которых время полного хода ИМ от 30 сек до минуты, очень хорошо работают ПИ-регуляторы с настройками типа КП=15-20, Ти=1500-2000. Эти регуляторы у нас держат подпитку и паровую нагрузку котлов практически идеально.
Еще я заметил "полки" в "верхнем" положении ИМ. Если правильно понял, это минимум охлаждения (т.е. самонагрев агрегата). Это еще один аргумент за то, чтобы подогреть и стабилизировать Т хладагента. В этот момент мощность охладителя великовата.
Похожая система, вода-хладагент изменяет температуру. И пока она не прогреется происходит переохлаждение. Но после её прогрева картинка получается хорошей.
До прогрева - незначительное переохлаждение.
82679
После прогрева - выходит на уставку.
82680
Зелёный тренд - актуальная температура, синий - задание, жёлтая - задание регулятора.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot