Просмотр полной версии : ПИД регулятор (нужна помощь)
Добрый день!
Подскажите как с помощью ПИД регулятора из библиотеки Util.Lib (см. рис.) обеспечить необходимую скорость нарастания температуры для нагревателя, например 1 градус в минуту, и как подобрать коэффициенты ???
12353
lara197a
24.03.2014, 18:04
Проще увеличивать уставку.
А как уставку увеличивать? Мне нужно чтобы ТЭН нагревался со скоростью 1 градус в минуту
lara197a
24.03.2014, 19:25
Дык и прибавляйте к уставке 1 градус в минуту. Или десятую каждые 6сек.
Задайте в качестве уставки не температуру, а скорость её изменения.
Задайте в качестве уставки не температуру, а скорость её изменения.
Ты это серьезно ? Скорость изменения температуры 1 гр./мин. Если задать уставку 1, а текущее значение температуры будет явно больше 1, то ПИД будет пытаться уменьшить эту температуру. Нагрева вообще не будет.
Так все таки как сделать, подскажите. Как написала Lara что то не совсем понятно как это описать, помогите
А ты ТЭН от чего питаешь ?
lara197a
25.03.2014, 16:09
к примеру Вам нужно нагреть до 150градусов.
К текущему значению температуры каждую минуту прибавляйте 1 градус, до тех пор пока температура не достигнет 150 градусов.
Используйте генератор BLINK. к примеру BLINK(ENABLE:= , TIMELOW:=T#500ms , TIMEHIGH:=T#500ms , OUT=> );
По фронту высокого уровня пишете: Уставка= Ттекущая+1.
к примеру Вам нужно нагреть до 150градусов.
К текущему значению температуры каждую минуту прибавляйте 1 градус, до тех пор пока температура не достигнет 150 градусов.
Используйте генератор BLINK. к примеру BLINK(ENABLE:= , TIMELOW:=T#500ms , TIMEHIGH:=T#500ms , OUT=> );
По фронту высокого уровня пишете: Уставка= Ттекущая+1.
А с чего Вы взяли, что скорость нагрева при этом будет 1 гр./мин. ?
А ты ТЭН от чего питаешь ?
ТЭН подключен через твердотельное рэле
к примеру Вам нужно нагреть до 150градусов.
К текущему значению температуры каждую минуту прибавляйте 1 градус, до тех пор пока температура не достигнет 150 градусов.
Используйте генератор BLINK. к примеру BLINK(ENABLE:= , TIMELOW:=T#500ms , TIMEHIGH:=T#500ms , OUT=> );
По фронту высокого уровня пишете: Уставка= Ттекущая+1.
Сделал так как вы сказали, но скорость 1 град. не обеспечивается, Ттекущая с датчика температуры стала больше чем Уставка= Ттекущая+1, потом уставка догнала Ттек, но заданная скорость все равно не обеспечивается
Василий Кашуба
25.03.2014, 20:05
Сделал так как вы сказали, но скорость 1 град. не обеспечивается, Ттекущая с датчика температуры стала больше чем Уставка= Ттекущая+1, потом уставка догнала Ттек, но заданная скорость все равно не обеспечивается
Поставьте период BLINK 6 сек. и изменение температуры на 0,1 гр. Цельсия, будет гораздо точнее.
var
ramp : ramp_real := (in:=150, ascend:=1, timebase:=t#1m);
pide : pid := (y_max:=1);
psw : real; (*0..1*)
ramp();
pide(actual:=.., set_point:=ramp.out, ..., y=>psw);
lara197a
25.03.2014, 22:08
Попробуйте по рампе, как валенок советует.
Или подберите параметры ПИД. Там вполне ПИ хватит.
Сначала просто получите рост температуры с заданной скоростью.
Ты это серьезно ? Скорость изменения температуры 1 гр./мин. Если задать уставку 1, а текущее значение температуры будет явно больше 1, то ПИД будет пытаться уменьшить эту температуру. Нагрева вообще не будет.
---вопрошающий писатель в курсе, что такое скорость изменения параметра? И какая она будет, если не будет нагрева?
---вопрошающий писатель в курсе, что такое скорость изменения параметра? И какая она будет, если не будет нагрева?
С тобой все ясно.
Сделал так как вы сказали, но скорость 1 град. не обеспечивается, Ттекущая с датчика температуры стала больше чем Уставка= Ттекущая+1, потом уставка догнала Ттек, но заданная скорость все равно не обеспечивается
Тебе надо снять кривую разгона тепловой установки. Охлади установку до температуры в помещении, включи ТЭН на полную мощность, затабулируй функцию T° = f(t) и построй график. Нагревай, пока температура не перестанет расти, т.е. до установившегося режима. Возможно, получить скорость нагрева 1 гр./мин. не получится из-за нехватки мощности ТЭН. В этом случае придется взять более мощный ТЭН. Если скорость нагрева получится >= 1 гр./мин., то все нормально и тебе просто будет надо правильно настроить ПИД-регулятор.
Василий Кашуба
26.03.2014, 13:03
Тебе надо снять кривую разгона тепловой установки. Охлади установку до температуры в помещении, включи ТЭН на полную мощность, затабулируй функцию T° = f(t) и построй график. Нагревай, пока температура не перестанет расти, т.е. до установившегося режима. Возможно, получить скорость нагрева 1 гр./сек. не получится из-за нехватки мощности ТЭН. В этом случае придется взять более мощный ТЭН. Если скорость нагрева получится >= 1 гр./сек., то все нормально и тебе просто будет надо правильно настроить ПИД-регулятор.
Человеку нужна скорость 1 гр./мин.
Человеку нужна скорость 1 гр./мин.
Точно, поправил.
Тебе надо снять кривую разгона тепловой установки. Охлади установку до температуры в помещении, включи ТЭН на полную мощность, затабулируй функцию T° = f(t) и построй график. Нагревай, пока температура не перестанет расти, т.е. до установившегося режима. Возможно, получить скорость нагрева 1 гр./мин. не получится из-за нехватки мощности ТЭН. В этом случае придется взять более мощный ТЭН. Если скорость нагрева получится >= 1 гр./мин., то все нормально и тебе просто будет надо правильно настроить ПИД-регулятор.
Скорость нагрева на полную мощность получилась больше 1 градуса! Скажите как правильно настроить ПИД-регулятор, как правильно подобрать коэффициенты и т.д
Поставьте период BLINK 6 сек. и изменение температуры на 0,1 гр. Цельсия, будет гораздо точнее.
Поставил период Blink 6 сек, уставка каждые 6 сек прибавляет 0,1, скорость нарастания при этом варьируется в диапазоне от 0,5 град/мин до 2 град./мин. Еще такой момент когда температура с датчика превышает уставку, ПИД - регулятор не отключается, а он то вкл. то выкл., так и должно быть, или коэффициенты не правильно подобраны???
Набери в поисковой системе "Настройка ПИД-регулятора" и будет тебе счастье. Подбор коэффициентов ПИД-регулятора - это целая наука.
lara197a
26.03.2014, 18:02
А вообще у Овна есть ТРМ с такими возможностями.
По моему ТРМ251 называется.
Я бы взял готовый прибор с отработанным алгоритмом.
С тобой все ясно.
--- травой поделишься?
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot