matlab -炉温串级控制PID
1、内容简介
略
92-可以交流、咨询、答疑
2、内容说明
略
基于PID的反馈控制能够使得炉温控制达到较好的控制效果,但系统的调节时间还是较长,一般都大于20分钟。考虑能否用其他系统来改进控制系统使得调节时间变短的同时还能满足控制要求。一种最直接的算法就是类似于模糊控制方式,即没有确定的算法,根据经验判断该给系统多少输入。具体而言就是当烤炉温度大于设定值时断电,当温度比设定温度小时加热。用该算法对炉温进行控制发现系统不能满足设计要求。因为该系统是具有时滞的一阶系统,当炉温达到设定值时才断电,而时滞会使炉温超过继续升高,这样炉温就在接近10°的范围内振荡,可见对以非线性的系统要用线性的算法去控制是比较难以达到控制要求的。而另一种是在一定温度基础上使用PID指令,具体就是加热烤炉到一定温度再使用PID指令期望调节时间变短。但实验证明这种算法只能产生更大的超调和更长的调节时间,因为PID控制环节不是在T=0时刻进入系统,而是在系统有一定输入后才加入系统中使得PID默认的时间为t=0,即相当于初始输入为一个干扰较大的信号,这样系统会花更长的时间去调节来是系统稳定。
clc
close all
clear
T=0.01;
num1=1;
den1=conv([30 1],[3 1]);
sys1=tf(num1,den1);
sys1_d=c2d(sys1,T)
num2=1;
den2=conv([10 1],[1 2 1]);
sys2=tf(num2,den2);
sys2_d=c2d(sys2,T)
k=1;
p1=1;
i1=0;
d1=0.01;
p2=1;
i2=0;
d2=0.01;
C1=pid(p1,i1,d1)
C2=pid(p2,i2,d2)
chuan1=series(sys1,C1)
chuan2=series(sys2,C2)
temps1=feedback(chuan1,k);
temps2=series(temps1,chuan2)
sys=feedback(temps2,1)
sys_d=c2d(sys,T)
step(sys_d)
3、仿真分析
略
4、参考论文
略