exponenta event banner

Контроль температуры в теплообменнике

Этот пример показывает, как проектировать компенсаторы обратной связи и обратной связи для регулирования температуры химического реактора через теплообменник.

Процесс теплообменника

Ниже изображен химический реактор, называемый «мешалкой». Верхний вход подает жидкость для смешивания в резервуаре. Жидкость в резервуаре должна поддерживаться при постоянной температуре путем изменения количества пара, подаваемого в теплообменник (нижнюю трубу) через его регулирующий клапан. Колебания температуры входного потока являются основным источником возмущений в этом процессе.

Рис. 1: Реактор перемешивания с теплообменником.

Использование измеренных данных для моделирования динамики теплообменника

Чтобы получить модель характеристик теплообменника первого порядка плюс время ожидания, введите ступенчатое нарушение напряжения клапана V и зафиксировать влияние на температуру бака T со временем. Измеренный отклик в нормированных единицах показан ниже:

heatex_plotdata
title('Measured response to step change in steam valve voltage');

Значения t1 и t2 представляют собой моменты времени, когда отклик достигает 28,3% и 63,2% от его конечного значения. Эти значения можно использовать для оценки постоянной времени. tau и мертвое время theta для теплообменника:

t1 = 21.8; t2 = 36.0;
tau = 3/2 * ( t2 - t1 )
theta = t2 - tau
tau =

   21.3000


theta =

   14.7000

Проверьте эти расчеты, сравнив отклик первого порядка плюс время ожидания с измеренным откликом:

s = tf('s');
Gp = exp(-theta*s)/(1+tau*s)
Gp =
 
                     1
  exp(-14.7*s) * ----------
                 21.3 s + 1
 
Continuous-time transfer function.

hold on, step(Gp), hold off
title('Experimental vs. simulated response to step change');

Реакция модели и экспериментальные данные находятся в хорошем согласии. Для оценки реакции первого порядка на ступенчатое нарушение температуры притока можно было бы провести аналогичный эксперимент по испытанию на удар. Оснащенные моделями для теплообменника и возмущения притока, мы готовы разработать алгоритм управления.

Управление обратной связью

Блок-схема процесса с разомкнутым контуром показана ниже.

Рис. 2. Процесс с разомкнутым контуром.

Передаточная функция

$$ G_p(s) = {e^{-14.7 s} \over 21.3s+1} $$

моделирует изменение напряжения V управление открытием парового клапана влияет на температуру бака T, в то время как передаточная функция

$$ G_d(s) = {e^{-35 s} \over 25s+1} $$

моделирует, как меняется d в притоке влияет температура T. Регулирование температуры резервуара T вокруг заданной уставки Tsp, мы можем использовать следующую архитектуру обратной связи для управления открытием клапана (напряжение V):

Рис. 3: Управление обратной связью.

В этой конфигурации пропорционально-интегральный (PI) контроллер

$$ C(s) = K_c (1 + {1 \over \tau_c s} ) $$

вычисляет напряжение V на основе разрыва Tsp-T между желаемой и измеренной температурой. Формулы ITAE можно использовать для выбора адекватных значений параметров контроллера:

$$ K_c = 0.859 (\theta / \tau)^{-0.977} , \;\;\; \tau_c = ( \theta / \tau )^{0.680} \tau / 0.674 $$

Kc = 0.859 * (theta / tau)^(-0.977)
tauc = ( tau / 0.674 ) * ( theta / tau )^0.680
C = Kc * (1 + 1/(tauc*s));
Kc =

    1.2341


tauc =

   24.5582

Чтобы узнать, насколько хорошо работает контроллер ITAE, закройте контур обратной связи и смоделируйте реакцию на изменение уставки:

Tfb = feedback(ss(Gp*C),1);
step(Tfb), grid on
title('Response to step change in temperature setpoint T_{sp}')
ylabel('Tank temperature')

Реакция довольно быстрая с некоторым перепадом. Взгляд на пределы устойчивости подтверждает, что запас усиления слабый:

margin(Gp*C), grid

Уменьшение пропорционального усиления Kc укрепляет стабильность за счет производительности:

C1 = 0.9 * (1 + 1/(tauc*s));  % reduce Kc from 1.23 to 0.9
margin(Gp*C1), grid

step(Tfb,'b', feedback(ss(Gp*C1),1),'r')
legend('Kc = 1.23','Kc = 0.9')

Управление прямой связью

Напомним, что изменения температуры притока являются основным источником колебаний температуры в резервуаре. Для устранения таких возмущений альтернативой управлению с обратной связью является архитектура прямой связи, показанная ниже:

Рис. 4: Управление в режиме прямой связи.

В этой конфигурации контроллер прямой связи F использует измерения температуры притока для регулировки открытия парового клапана (напряжение V). Таким образом, управление в прямом направлении предвосхищает и предупреждает влияние изменений температуры притока.

Простой расчет показывает, что общий перенос от температурного возмущения d до температуры резервуара T является

$$ T = (G_p F + G_d) d $$

Идеальный отказ от нарушения требует

$$ G_p F + G_d = 0 \rightarrow F = -{G_d \over G_p} = - {21.3s+1 \over 25s+1} e^{-20.3 s}$$

На самом деле, неточности моделирования предотвращают точное отклонение возмущений, но управление с обратной связью поможет минимизировать колебания температуры из-за нарушений притока. Чтобы лучше понять, как будет работать схема передачи, увеличьте идеальную задержку передачи на 5 секунд и смоделируйте реакцию на ступенчатое изменение температуры притока:

Gd = exp(-35*s)/(25*s+1);
F = -(21.3*s+1)/(25*s+1) * exp(-25*s);
Tff = Gp * ss(F) + Gd;   % d->T transfer with feedforward control

step(Tff), grid
title('Effect of a step disturbance in inflow temperature')
ylabel('Tank temperature')

Комбинированный контроль обратной связи

Управление с обратной связью хорошо подходит для отслеживания уставок в целом, в то время как управление с обратной связью может помочь при отказе от измеряемых возмущений. Далее мы рассмотрим преимущества объединения обеих схем. Соответствующая архитектура управления показана ниже:

Рис. 5: Управление обратной связью.

Использовать connect для построения соответствующей модели с замкнутым контуром из Tsp,d кому T. Сначала назовите входной и выходной каналы каждого блока, затем позвольте connect автоматически проводите схему:

Gd.u = 'd';  Gd.y = 'Td';
Gp.u = 'V';  Gp.y = 'Tp';
F.u = 'd';  F.y = 'Vf';
C.u = 'e';  C.y = 'Vc';
Sum1 = sumblk('e = Tsp - T');
Sum2 = sumblk('V = Vf + Vc');
Sum3 = sumblk('T = Tp + Td');
Tffb = connect(Gp,Gd,C,F,Sum1,Sum2,Sum3,{'Tsp','d'},'T');

Чтобы сравнить отклики с обратной связью и без нее, вычислите соответствующую передаточную функцию с обратной связью для конфигурации только с обратной связью:

C.u = 'e';  C.y = 'V';
Tfb = connect(Gp,Gd,C,Sum1,Sum3,{'Tsp','d'},'T');

Теперь сравните две конструкции:

step(Tfb,'b',Tffb,'r--'), grid
title('Closed-loop response to setpoint and disturbance step change')
ylabel('Tank temperature')
legend('Feedback only','Feedforward + feedback')

Эти две конструкции имеют одинаковую производительность для отслеживания уставок, но добавление управления прямой связью явно выгодно для отклонения возмущений. Это также видно на графике Бода с замкнутым контуром

bodemag(Tfb,'b',Tffb,'r--',{1e-3,1e1})
legend('Feedback only','Feedforward + feedback','Location','SouthEast')

Интерактивное моделирование

Для получения дополнительной информации и интерактивной настройки усиления обратной связи используйте графический интерфейс пользователя и модель Simulink ®. Щелкните ссылку ниже, чтобы запустить графический интерфейс пользователя.

Откройте модель теплообменника и графический интерфейс пользователя

heatex