电加热炉的系统辨识与自适应控制.docx
- 文档编号:28680226
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:20
- 大小:389.07KB
电加热炉的系统辨识与自适应控制.docx
《电加热炉的系统辨识与自适应控制.docx》由会员分享,可在线阅读,更多相关《电加热炉的系统辨识与自适应控制.docx(20页珍藏版)》请在冰豆网上搜索。
电加热炉的系统辨识与自适应控制
电加热炉的系统辨识与自适应控制
一、电加热炉的先验知识1.
1.1电加热炉的工作原理1.
1.2电加热炉温度控制系统的硬件构成2
二、电加热炉系统辨识3.
2.1电加热炉温度系统模型3
2.2最小二乘估计的递推算法.4.
2.3最小二乘估计的递推算法辨识及仿真5
三、电加热炉系统的自适应控制算法及仿真8
3.1电加热炉系统控制问题的提出8
3.2广义最小方差间接自校正控制算法8
3.3广义最小方差间接自校正控制仿真9
参考资料1.5
电加热炉的系统辨识与自适应控制
一、电加热炉的先验知识
1.1电加热炉的工作原理
我选择电加热炉作为辨识和自适应控制设计与仿真实验的对象。
电加热炉的工作原理为:
布置在炉内的加热元件将电能转化为热能,通过辐射或对流的方式将热能传递给加热对象,从而改变对象的温度。
通常的工业过程都对炉温的控制提出了一定的要求,这就需要对电加热炉的
进行控制,调节它的通电时间或通电强度来改变它输出的热能。
传统的控制方法有两种:
第一种就是手动调压法,即是依靠人的经验直接改变电加热炉的输入电压,其控温效果依赖于人为的调节,控制精度不高,且浪费人力资源。
第二种控制方法在主回路中采取可控硅装置,并结合一些简单的仪表,保温阶段自动调节,升温过程仍依赖于试验者的调节,它属于半自动控制。
随着微型计算机、可编程逻辑控制器的出现和迅速更新换代,智能温度控制仪表、工业控制计算机在电加热炉温度控制领域日益得到广泛地应用。
借助计算机强大的数据处理和运算能力,引入反馈的思想,运用现代控制理论,实现对炉温的全自动化控制⑴。
以常用的恒温箱式电加加热炉为例,采用反馈控制。
该控制系统的目的是要实现炉内的温度与给定温度值一致,即保持温度恒定,是一个典型的自动控制系统。
当然,系统给定的不是具体的期望温度值,而是通过给定电位器给定一个电压UsT。
电加热炉内的实际温度由热电偶转换为对应的电压UfT。
给定电压信号
UsT与实际温度所对应的电压UfT比较得温度偏差信号U经放大器放大后,用以驱动执行电动机,并通过传动机构拖动调压器动触头。
当温度偏高时,动触头向减小电压的方向运动,反之加大电压,直到温度达到给定值为止,此时偏差」u=o,电机停止转动。
上面只是一个比较简单的闭环温度控制系统。
1.2电加热炉温度控制系统的硬件构成
电加热炉温度控制系统框图如图1.1所示
图1.1电加热炉温度控制系统
按照信号的流动,其工作原理大致是:
首先将热电偶传来的带有温度信号
的毫伏级电压滤波、放大,送至A/D转换器,这样通过采样和A/D转换,就将所检测的炉温对应的电压信号转换成数字量送入了控制装置(如微机、智能仪表
的处理器等);在控制装置内计算出该电压信号对应的温度值,然后将它与给定
的温度值进行比较,并按一定的控制算法进行运算;运算结果通过控制晶闸管在控制周期内的触发角,也就是控制电加热炉的平均功率的大小来达到温度控制的目的。
设计温度控制算法时还需要将上述的原理图简化成模型如图1.2所示,以便
于系统进行分析。
图1.2系统简化模型图
模型中的控制器就是广义的加载到计算机或微处理器上的控制算法,晶闸管
模块、电加热炉、加热对象一起归为控制对象,而A/D转换器、热电偶则构成
反馈回路。
控制器给定的温度作为系统输入信号r,传感器检测到的温度作为输
出信号y,误差e、控制信号u均在控制装置里通过计算得到,最后经过一系列转换实现对热工对象温度的控制,这就形成了一个典型的反馈控制系统⑵o
二、电加热炉系统辨识
2.1电加热炉温度系统模型
电加热炉的温度控制是典型的过程控制。
由于传热问题的复杂性,电加热炉系统具有非线性、时变性、大滞后、不对称等特点。
它的滞后主要是容积滞后,炉体的结构、容量、测温元件及其安装的位置都影响着滞后的大小;而在使用过程中,随着温度的升降,加热元件的特性发生变化,保温绝热材料会逐渐老化,环境也在不断变化,因而炉温特性是时变的;又因为绝大多数电加热炉都是在温度上升时强迫加热,而温度下降时则自然冷却,所以其温度特性是不对称的;另外由于炉温取决于加热元件的发热量、散热量和负荷的情况,发热时间总比传热时间短得多,所以炉温动态特性主要由传热过程决定,传导、对流、辐射三种的传热方式都在起作用,只是在不同温区所占比例不同,三者中只有传导是线性的,辐射是绝对温度的四次方,对流则更加复杂,故电加热炉是一个本质非线性的系统。
由于电加热炉可认为是一个大容积滞后加纯滞后的对象(容积滞后比纯滞后
大得多),故在其整个温度工作区域,对象动态参数是随炉温变化的,而每个炉子都有一个设定的工作温区,在工作点附近的小范围内,炉子的动态特性可看成近似线性。
在过程控制中,为了方便,通常把电加热炉温控系统看成是一个线性系统,其模型可以定性描述为:
dY2
TY二K0U2(t-)(2-1)
dt
式中,丫为加热对象温度,
t为加热时间,
T为系统时间常数,
Ko为放大倍数,
U为控制电压,
-为纯滞后时间。
如果设定控制器输出为u,而u正比于U2,即KoU2二Ku,对式(2-1)作
拉氏变换,可得:
故系统的传递函数为一阶惯性加纯滞后环节,其中K为静态增益[3]
2.2最小二乘估计的递推算法
最小二乘法由于原理简明、收敛较快、易于理解、易于编程实现等特点、在系统参数估计中应用相当广泛。
而最小二乘法中的递推算法由于能对对象参数在线实时估计,从而改善了估计精度,在系统辨识中倍受青睐。
最小二乘估计递推算法的基本思想可以为:
新的估计值r(k)二旧的估计值珂k-1)+修正项。
最小二乘估计递推算法的公式为⑷
T
丸k)-*k-1)K(k)y(k)-:
(k)=(k-1)
K(k)=P(K-1)⑹(2-5)
1+®T(k)P(k—1)®(k)
P(k)=I-K(k):
T(k)P(k-1)
最小二乘估计递推算法如下[5]:
已知:
na、nb和do
1设置初值§0)和P(0),输入初始数据;
2采样当前输出y(k)和输入u(k);
3禾U用式(2-5),计算K(k)、彳k)和P(k);
4k>k1,返回2,继续循环。
2.3最小二乘估计的递推算法辨识及仿真
已知电加热炉的参数模型,其传递函数表示为⑹
G(s)=0.44e
520s+1
(2-6)
可以考虑利用最小二乘估计递推算法对上述系统进行在线辨识。
为了得到系统的离散模型,可利用MATLAB对系统的传递函数(2-6)进行离
散化。
采样时间取T=20s。
在MATLAB中输入命令G=tf(0.44,[5201],'inputdelay',20),Gz=c2d(G20,'z')。
得到系统的离散系统的传递函数为
G(z)=^^
z-0.9623Z
将电加热炉转换为差分方程,有
y(k)-0.9623y(k-1)=0.0166u(k-2)
(2-7)
(2-8)
在实际的电加热炉模型中,一定存在噪声干扰。
往差分方程里添加噪声干扰
项后,得到电加热炉的动态方程为
y(k)-0.9623y(k-1)=0.0166u(k-2)「(k)
(2-9)
式中(k)为白噪声。
取初值P(0)=107|门(0)=0,选择M序列为输入信号u(k)[7]。
取1500个采样
点。
采用最小二乘估计递推算法进行参数估计,具体程序如下(程序参考《系统辨识与自适应控制MATLAB仿真》,并进行了修改):
%递推最小二乘参数估计(RLS)
clearall;closeall;
a=[1-0.9623];b=[0.0166];d=2;%对象参数
na=length(a)-1;nb=length(b)-1;%nanb为A、B阶次
L=1500;%仿真长度x1=1;x2=1;x3=1;x4=0;%产生M序列的移位寄存器初值s=1;%方波初值
uk=zeros(d+nb,1);%输入初值:
uk(i)表示u(k-i)yk=zeros(na,1);%输出初值
fork1=1:
L
s=not(s);%产生方波
m(k1)=xor(x3,x4);%进行异或运算,产生M序列
x4=x3;x3=x2;x2=x1;x仁m(k1);%寄存器移位
end
xi=sqrt(0)*randn(L,1);%白噪声序列,修改括号中数值可产生不同方差的白噪声
theta=[a(2:
na+1);b];%对象参数真值
thetae_1=zeros(na+nb+1,1);%theta初值
P=10A7*eye(na+nb+1);
fork=1:
Lphi=[-yk;uk(d:
d+nb)];%此处phi为列向量y(k)=phi'*theta+xi(k);%采集输出数据
%递推最小二乘法
K=P*phi/(1+phi'*P*phi);
thetae(:
k)=thetae_1+K*(y(k)-phi'*thetae_1);
P=(eye(na+nb+1)-K*phi')*P;
%更新数据
thetae_1=thetae(:
k);
fori=d+nb:
-1:
2
uk(i)=uk(i-1);
enduk
(1)=m(k);%M序列!
!
!
fori=na:
-1:
2
yk(i)=yk(i-1);
end
yk
(1)=y(k);
end
plot([1:
L],thetae);%line([1,L],[theta,theta]);xlabel('k');ylabel('参数估计a、b');legend('a_1','b_0');axis([0L-1.51.5]);
分别设置不同方差的白噪声,运行程序,具体辨识结果如图2.1-2.4所示。
不同白噪声下的具体数据如表2.1所示:
表2.1
参数
4
b。
真值
-0.9623
0.0166
白噪声方差为0.01
-0.9628
0.0174
白噪声方差为0.1
-0.9575
0.0199
白噪声方差为1
-0.9647
0.0238
以上参数数据和曲线说明随着扰动强度的增强,辨识的效果会有所下降。
当扰动十分剧烈的时候,系统的辨识效果会十分差
三、电加热炉系统的自适应控制算法及仿真
3.1电加热炉系统控制问题的提出
第一章中已经介绍了电加热炉的工作原理,电加热炉通常是通过控制系统中传动机构拖动调压器动触头来改变输入电压,保持炉温的稳定平衡,从而保证电
加热炉系统稳定正常的工作。
在实际工业生产中,一般要求电加热炉炉温的超调量尽可能小。
因此,对于电加热炉的控制问题是:
给定电加热炉的输入电压大小,通过某种控制方式来调节电加热炉温度,使电加热炉温度的超调量尽可能小并达到目标温度数值。
3.2广义最小方差间接自校正控制算法
自适应控制算法包括有自校正调节器、自校正控制器、自适应极点配置PID控制器、自校正PID控制等。
我选用广义最小方差自校正控制器对电加热炉系统的温度进行自适应控制。
最小方差控制具有算法简单、易于理解、易于实现等优点,是其他自校正控制算法的基础。
其基本思想是:
由于一般工业对象存在纯延时d,当前的控制作用要滞后d个采样周期才能影响输出。
因此,要使输出方差最小,就必须提前d步对输出量作出预测,然后根据所得的预测值来设计所需的控制律。
这样,通过连续不断的预测和控制,就能保证稳态输出方差最小。
由此可见,实现最小方差控制的关键在于输出预测。
由于最小方差控制不适用非最小相位系统,且输入控制量未受到约束,因此,在此基础上,出现了广义最小方差控制算法。
其基本思想为:
在求解控制律的性能指标中引入对控制量的加权项,从而限制控制作用过于激烈变化;另外,只要适当选择性能指标中的各加权多项式,广义最小方差控制可以可以适用于非最小相位系统。
广义最小方差间接自校正控制算法如下[5]:
已知:
na、nb、n,及纯延时d。
1设置初值彳0)和P(0),输入初始数据,并设置加权多项式Pz-、Rz*
和Qz-;
2采样当前实际输出y(k)和期望输出yr(kd);
3利用递推增广最小二乘法在线实时估计被控对象参数(?
,即A、B?
和C;
「-1-1-1-d-1
4求解Diophantine方程;C(Z1HA(Z1)E(Z1^zG(z),得到多项式E、F
、F(z-)=B(z-)E(z-)
和G的系数;
C(z-1)R(z-1)y「(kd)-G(z-1)P(z-1)y(k)
b0C(z-1)Q(z-1)F(z^(z-1)
6返回2(k>k1),继续循环
3.3广义最小方差间接自校正控制仿真
在上面系统辨识中已经知道电加热炉转的差分方程,故自校正控制中,被控
对象电加热炉的动态方程同为
y(k)-0.9623y(k-1)=0.0166u(k-2)(k)(2-9)
式中,(k)为白噪声。
取初值P(0)=107|门(0)=0.001;设置加权多项式Pz‘=1、Rz"1=1和
Qz‘1=0.01。
期望输出yr(k)为幅值从0.5-10依次递增变化的方波。
具体程序如下(程序参考《系统辨识与自适应控制MATLAB仿真》,并进行
了修改):
%广义最小方差自校正控制(间接算法)
clearall;closeall;clc;
a=[1-0.9623];b=[0.0166];c=[1];d=2;%对象参数
na=length(a)-1;nb=length(b)-1;nc=length(c)-1;%nanb、nc为多项式A、B、C阶次
nf=nb+d-1;ng=na-1;%nf、ng为多项式F、G的阶次
Pw=1;R=1;Q=0.01;%加权多项式P、R、Q
np=length(Pw)-1;nr=length(R)-1;nq=length(Q)-1;
L=1200;%控制步数uk=zeros(d+nb,1);%输入初值:
uk(i)表示u(k-i);yk=zeros(na,1);%输出初值yrk=zeros(nc,1);%期望输出初值
yr=10*[0.15*ones(L/8,1);0.05*ones(L/8,1);0.4*ones(L/8,1);0.05*ones(L/8,1);0.7*ones(L/8,1);0.05*ones(L/8,1);1*ones(L/8,1);0.05*ones(L/8+d,1)];%期望输出vki=zeros(nc,1);%白噪声初值vkie=zeros(nc,1);%白噪声估计初值
vk=sqrt(0.01)*randn(L,1);%白噪声序列,修改括号中数值可产生不同方差的白噪声
%RLS初值
thetae_仁0.001*ones(na+nb+1+nc,1);%E常小的正数,此处不能为0P=10A7*eye(na+nb+1+nc);
fork=1:
L
time(k)=k;
y(k)=-a(2:
na+1)*yk+b*uk(d:
d+nb)+c*[vk(k)];%采集输出数据
%c=[1],故用递推最小二乘法
phie=[-yk(1:
na);uk(d:
d+nb)];
K=P*phie心+phie'*P*phie);
thetae(:
k)=thetae_1+K*(y(k)-phie'*thetae_1);
P=(eye(na+nb+1+nc)-K*phie')*P;
%提取辨识参数
ae=[1thetae(1:
na,k)'];be=thetae(na+1:
na+nb+1,k)';ce=[1];
[e,f,g]=sindiophantine(ae,be,ce,d);%求解单步Diophantine方程CQ=conv(ce,Q);FP=conv(f,Pw);CR=conv(ce,R);
GP=conv(g,Pw);%CQ=Ce*Q
u(k)=(-Q
(1)*CQ(2:
nc+nq+1)*uk(1:
nc+nq)/be
(1)-FP(2:
np+nf+1)*uk(1:
np+nf)...+CR*[yr(k+d:
-1:
k+d-min(d,nr+nc));yrk(1:
n叶nc-d)]...-GP*[y(k);yk(1:
np+ng)])/(Q
(1)*CQ
(1)/be
(1)+FP
(1));%求控制量
%更新数据
thetae_1=thetae(:
k);
fori=d+nb:
-1:
2
uk(i)=uk(i-1);
end
uk
(1)=u(k);
fori=na:
-1:
2
yk(i)=yk(i-1);
end
yk
(1)=y(k);
end
figure
(1);
subplot(2,1,1);
plot(time,yr(1:
L),'r:
',time,y);
xlabel('k');ylabel('y_r(k)、y(k)');
legend('y_r(k)','y(k)');axis([OL-212]);
subplot(2,1,2);
plot(time,u);
xlabel('k');ylabel('u(k)');axis([0L-2030]);
figure
(2)
plot([1:
L],thetae);%line([1,L],[theta,theta]);xlabel('k');ylabel('参数估计a1、b0');legend('a1','b0');axis([0L-1.50.2]);
其中sindiophantine函数程序为:
function[e,f,g]=sindiophantine(a,b,c,d)
%%t********************************************************
%功能:
单步Diophanine方程的求解
%调用格式:
[e,f,g]=sindiophantine(a,b,c,d)
%输入参数:
多项式A、B、C系数(行向量)及纯滞后(共4个)
%输出参数:
Diophanine方程的解e,f,g(共3个)
Q%*********************************************************
na=length(a)-1;nb=length(b)-1;nc=length(c)-1;%A、B、C的阶次ne=d-1;ng=na-1;%E、G的阶次
ad=[a,zeros(1,ng+ne+1-na)];cd=[c,zeros(1,ng+d-nc)];%令
a(na+2)=a(na+3)=...=0
e
(1)=1;
fori=2:
ne+1
e(i)=0;
forj=2:
i
e(i)=e(i)+e(i+1-j)*ad(j);
end
e(i)=cd(i)-e(i);%计算ei
end
fori=1:
ng+1
g(i)=0;
forj=1:
ne+1
g(i)=g(i)+e(ne+2-j)*ad(i+j);
end
g(i)=cd(i+d)-g(i);%计算gi
end
f=conv(b,e);%计算F
分别设置不同方差的白噪声,运行程序,其仿真结果如图3.1-3.3所示:
30
20
10
0
-10
0
、
1
计估数参
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1.2
-1.4
200400
600800
10001200
k
图3.1白噪声方差为0.01时的仿真输出和控制结果图和参数辨识结果图
50
-50
0
200
400
600
800
1000
k
1200
k
图3.2白噪声方差为0.1时的仿真输出和控制结果图和参数辨识结果图
10
200400
800
600
k
10001200
200
100
0
-100
-200
200
400
600
800
1000
k
1200
图3.3白噪声方差为1时的仿真输出和控制结果图和参数辨识结果图
不同白噪声下的具体数据如表3.1所示:
表3.1
参数
4
b。
真值
-0.9623
0.0166
白噪声方差为0.01
-0.9612
0.0167
白噪声方差为0.1
-0.9639
0.0155
白噪声方差为1
-0.9688
0.0158
由以上仿真结果可以看出随着白噪声方差的增大,其在线辨识结果越来越远离真实值,系统输出波形的品质越来越差,也与期望输出相差越来越大。
参考资料
[1]刁鹏飞.电加热炉的单神经元自适应PID控制.硕士学位论文,2000.
[2]朱琳.温控系统仿真实验平台研究与实现.硕士学位论文,2008.
[3]方康玲.过程控制与离散系统.电子工业出版社,2009.
[4]杨承志.系统辨识与自适应控制.重庆大学出版社,2003.
⑸庞中华.系统辨识与自适应控制MATLAB仿真.北京航空航天大学出版社,2009.
⑹陈永秀.伺服转台温控箱控制系统设计与研究.硕士学位论文,2008.
[7]方崇智、萧德云.过程辨识.清华大学出版社,1988.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 加热炉 系统 辨识 自适应 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)