Вход

Просмотр полной версии : Настройка 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)? Уменьшать или увеличивать?

IVM
19.11.2024, 11:30
Добрый день, вопрос скорее по подбору коэффициентов ПИД-регулятора:
имеется холодильник воды, который управляются с помощью клапанов через ПЛК, в программе используется 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 - на самом деле величина обратная, появились подозрения, что число должно быть гораздо больше, десятки наверное.

IVM
19.11.2024, 11:48
0.5 оставил на последней попытке.

Пробовал небольшие числа 0.1..1.
Когда увидел, что TN - на самом деле величина обратная, появились подозрения, что число должно быть гораздо больше, десятки наверное.

Поставь 1000 и посмотри результат.

Party3AH
19.11.2024, 11:50
Поставь 1000 и посмотри результат.

Спасибо, буду пробовать!

IVM
19.11.2024, 12:32
Спасибо, буду пробовать!

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. И после устранения колебаний подкрутите в нужную сторону.

IVM
20.11.2024, 11:31
У вас перерегулирование. Уменьшайте Р до 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).

IVM
20.11.2024, 11:37
Попробовал просиммулировать с параметрами 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 градуса.
Буду рад советам по подбору коэффициентов.

kon48
21.02.2025, 16:03
Возвращаюсь после долгожданных испытаний на объекте - ПИД заработал хорошо, я почти доволен, но хотелось бы чуть лучше.
Температура выходит на заданную, но есть постоянная разница в 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
Регулятор НЕ НАСТРОЕН. Процесс зарегулирован.
.
Не могу понять, у вас процесс охлаждение воды или нагрев её?
По графикам вижу ведется нагрев.

Агрегат нагревается в процессе работы, его нужно охлаждать. Для этого подмешивается холодная вода в контур охлаждения.
Т.е. регулятор работает как холодильник.

kon48
25.02.2025, 18:42
Агрегат нагревается в процессе работы, его нужно охлаждать. Для этого подмешивается холодная вода в контур охлаждения.
Т.е. регулятор работает как холодильник.
Сложная система. В какой то момент контур охлаждения переполниться и что делать? Если это проточная система то регулировать температуру в контуре будет сложно. Одним ПИД регулятором боюсь не обойтись. Не представляю вашу систему, но можно регулировать температуру в приточном баке достаточного объема, а затем воду подавать центробежным насосом. А какая допустимая точность регулирования?

Party3AH
26.02.2025, 15:24
Система двухконтурная, циркуляция идёт по малому контуру, пока температура низкая.
Когда вода нагревается, через трёхходовой клапан начинается подмес холодной воды из большого контура с холодильником.
Часть горячей воды соответственно идёт в большой контур холодильника.
Точность особая не нужна, допустимая температура 55-70 градусов.

Maxlan
10.03.2025, 09:53
Есть небольшой опыт работы с похожими системами. У нас работают регуляторы охлаждения зон кристаллизации прокачкой воды в качестве хладагента через теплообменники, и вода-хладагент в замкнутом контуре циркуляции изменяет свою температуру (нагревается)в процессе, соответственно в теплообменнике изменяется так называемый "тепловой напор" и контур меняет свои передаточные характеристики. Таким образом требуется постоянная подстройка коэффициентов контура охлаждения зоны. Похоже у вас происходит подобный процесс.
Поступили проще - сделали каждому контуру теплообменник стабилизации температуры хладагента, питаемый проточной водой. Благо, промводы завались и она циркулирует и охлаждается независимо.
А еще в контурах с трехпозиционными сервоприводами, у которых время полного хода ИМ от 30 сек до минуты, очень хорошо работают ПИ-регуляторы с настройками типа КП=15-20, Ти=1500-2000. Эти регуляторы у нас держат подпитку и паровую нагрузку котлов практически идеально.
Еще я заметил "полки" в "верхнем" положении ИМ. Если правильно понял, это минимум охлаждения (т.е. самонагрев агрегата). Это еще один аргумент за то, чтобы подогреть и стабилизировать Т хладагента. В этот момент мощность охладителя великовата.

Party3AH
26.03.2025, 09:52
Есть небольшой опыт работы с похожими системами. У нас работают регуляторы охлаждения зон кристаллизации прокачкой воды в качестве хладагента через теплообменники, и вода-хладагент в замкнутом контуре циркуляции изменяет свою температуру (нагревается)в процессе, соответственно в теплообменнике изменяется так называемый "тепловой напор" и контур меняет свои передаточные характеристики. Таким образом требуется постоянная подстройка коэффициентов контура охлаждения зоны. Похоже у вас происходит подобный процесс.
Поступили проще - сделали каждому контуру теплообменник стабилизации температуры хладагента, питаемый проточной водой. Благо, промводы завались и она циркулирует и охлаждается независимо.
А еще в контурах с трехпозиционными сервоприводами, у которых время полного хода ИМ от 30 сек до минуты, очень хорошо работают ПИ-регуляторы с настройками типа КП=15-20, Ти=1500-2000. Эти регуляторы у нас держат подпитку и паровую нагрузку котлов практически идеально.
Еще я заметил "полки" в "верхнем" положении ИМ. Если правильно понял, это минимум охлаждения (т.е. самонагрев агрегата). Это еще один аргумент за то, чтобы подогреть и стабилизировать Т хладагента. В этот момент мощность охладителя великовата.

Похожая система, вода-хладагент изменяет температуру. И пока она не прогреется происходит переохлаждение. Но после её прогрева картинка получается хорошей.

До прогрева - незначительное переохлаждение.
82679

После прогрева - выходит на уставку.
82680

Зелёный тренд - актуальная температура, синий - задание, жёлтая - задание регулятора.