# PID tuning Gain Scheduling Technique for Temperature Control System

5 次查看（过去 30 天）
It is my final year project and I can find any tutorial to show do i use and design a Gain Scheduling to tuning a pid controller.
##### 2 个评论显示 1更早的评论隐藏 1更早的评论
Isyraf Izuddin 2022-5-25 thank you for responding. this is the mathemathical model for an electric furnace that i refer from a research paper. about the temperature im not sure. this the plant that i tune using cohen coon and zieger nichols and pid auto tuning using matlab.

### 采纳的回答

Sam Chak 2022-5-25

Thanks for showing the model of the furnace system. First things first, perform a basic analysis to understand the behavior of system. Since a transfer function is given, then the model is obviously a linear system.
num = [-0.1125 0.15];
den = [0.75 1.825 1.25 0.2];
Gp = tf(num, den)
p = pole(Gp)
step(Gp, 50)
p =
-1.3333
-0.8702
-0.2298 All of its poles have negative real parts and so the furnace is inherently stable to begin with. Since the poles have no imaginary parts, then the response is overdamped. The steady-state value is 0.75.
0.7500
It means if the input is set as 100°C as the desired furnace temperature, then the output converges to 75°C at approximately 20 sec.
Control Design:
To fix this issue, you can connect a proportional gain K before the plant Gp, in series to properly rescale the output. This is an open-loop system.
Gol = series(K, Gp)
step(Gol, 50)
S = stepinfo(Gol)
K =
1.3333 S =
struct with fields:
RiseTime: 10.2201
SettlingTime: 19.7804
SettlingMin: 0.9012
SettlingMax: 0.9987
Overshoot: 0
Undershoot: 2.0829
Peak: 0.9987
PeakTime: 31.7066
If the settling time (~20 sec) of the furnace temperature control system is acceptable, then Gc = K is the simplest controller (open-loop, non-feedback) and no Gain-scheduling technique is required.
If you want to shorten the settling time, then a feedback PID controller can be implemented.
% to improve the settling time via adjusting the crossover frequency, wc
wc = linspace(0.25, 0.5, 11);
for i = 1:11
Gc = pidtune(Gp, 'PID', wc(i));
Gcl = feedback(Gc*Gp, 1);
step(Gcl, 50)
hold on
S = stepinfo(Gcl)
end
hold off Gain-scheduling technique is unnecessary unless you really want to have multiple PID controllers the heat up the furnace at different settings of settling times.
##### 3 个评论显示 2更早的评论隐藏 2更早的评论
Isyraf Izuddin 2022-5-25
Thank Youuuu

### 类别

Help CenterFile Exchange 中查找有关 Gain Scheduling 的更多信息

R2021a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!