电加热炉的系统辨识与自适应控制资料.docx

上传人:b****8 文档编号:9748702 上传时间:2023-02-06 格式:DOCX 页数:21 大小:201.97KB
下载 相关 举报
电加热炉的系统辨识与自适应控制资料.docx_第1页
第1页 / 共21页
电加热炉的系统辨识与自适应控制资料.docx_第2页
第2页 / 共21页
电加热炉的系统辨识与自适应控制资料.docx_第3页
第3页 / 共21页
电加热炉的系统辨识与自适应控制资料.docx_第4页
第4页 / 共21页
电加热炉的系统辨识与自适应控制资料.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

电加热炉的系统辨识与自适应控制资料.docx

《电加热炉的系统辨识与自适应控制资料.docx》由会员分享,可在线阅读,更多相关《电加热炉的系统辨识与自适应控制资料.docx(21页珍藏版)》请在冰豆网上搜索。

电加热炉的系统辨识与自适应控制资料.docx

电加热炉的系统辨识与自适应控制资料

 

电加热炉的系统辨识与自适应控制

目录

一、电加热炉的先验知识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

参考资料15

电加热炉的系统辨识与自适应控制

一、电加热炉的先验知识

1.1电加热炉的工作原理

我选择电加热炉作为辨识和自适应控制设计与仿真实验的对象。

电加热炉的工作原理为:

布置在炉内的加热元件将电能转化为热能,通过辐射或对流的方式将热能传递给加热对象,从而改变对象的温度。

通常的工业过程都对炉温的控制提出了一定的要求,这就需要对电加热炉的进行控制,调节它的通电时间或通电强度来改变它输出的热能。

传统的控制方法

有两种:

第一种就是手动调压法,即是依靠人的经验直接改变电加热炉的输入电压,其控温效果依赖于人为的调节,控制精度不高,且浪费人力资源。

第二种控制方法在主回路中采取可控硅装置,并结合一些简单的仪表,保温阶段自动调节,升温过程仍依赖于试验者的调节,它属于半自动控制。

随着微型计算机、可编程逻辑控制器的出现和迅速更新换代,智能温度控制仪表、工业控制计算机在电加热炉温度控制领域日益得到广泛地应用。

借助计算机强大的数据处理和运算能力,引入反馈的思想,运用现代控制理论,实现对炉温的全自动化控制[1]。

以常用的恒温箱式电加加热炉为例,采用反馈控制。

该控制系统的目的是要实现炉内的温度与给定温度值一致,即保持温度恒定,是一个典型的自动控制系统。

当然,系统给定的不是具体的期望温度值,而是通过给定电位器给定一个电压

电加热炉内的实际温度由热电偶转换为对应的电压

给定电压信号

与实际温度所对应的电压

比较得温度偏差信号

经放大器放大后,用以驱动执行电动机,并通过传动机构拖动调压器动触头。

当温度偏高时,动触头向减小电压的方向运动,反之加大电压,直到温度达到给定值为止,此时,偏差

电机停止转动。

上面只是一个比较简单的闭环温度控制系统。

1.2电加热炉温度控制系统的硬件构成

电加热炉温度控制系统框图如图1.1所示。

图1.1电加热炉温度控制系统

按照信号的流动,其工作原理大致是:

首先将热电偶传来的带有温度信号的毫伏级电压滤波、放大,送至A/D转换器,这样通过采样和A/D转换,就将所检测的炉温对应的电压信号转换成数字量送入了控制装置(如微机、智能仪表的处理器等);在控制装置内计算出该电压信号对应的温度值,然后将它与给定的温度值进行比较,并按一定的控制算法进行运算;运算结果通过控制晶闸管在控制周期内的触发角,也就是控制电加热炉的平均功率的大小来达到温度控制的目的。

设计温度控制算法时还需要将上述的原理图简化成模型如图1.2所示,以便于系统进行分析。

图1.2系统简化模型图

模型中的控制器就是广义的加载到计算机或微处理器上的控制算法,晶闸管模块、电加热炉、加热对象一起归为控制对象,而A/D转换器、热电偶则构成反馈回路。

控制器给定的温度作为系统输入信号r,传感器检测到的温度作为输出信号y,误差e、控制信号u均在控制装置里通过计算得到,最后经过一系列转换实现对热工对象温度的控制,这就形成了一个典型的反馈控制系统[2]。

二、电加热炉系统辨识

2.1电加热炉温度系统模型

电加热炉的温度控制是典型的过程控制。

由于传热问题的复杂性,电加热炉系统具有非线性、时变性、大滞后、不对称等特点。

它的滞后主要是容积滞后,炉体的结构、容量、测温元件及其安装的位置都影响着滞后的大小;而在使用过程中,随着温度的升降,加热元件的特性发生变化,保温绝热材料会逐渐老化,环境也在不断变化,因而炉温特性是时变的;又因为绝大多数电加热炉都是在温度上升时强迫加热,而温度下降时则自然冷却,所以其温度特性是不对称的;另外由于炉温取决于加热元件的发热量、散热量和负荷的情况,发热时间总比传热时间短得多,所以炉温动态特性主要由传热过程决定,传导、对流、辐射三种的传热方式都在起作用,只是在不同温区所占比例不同,三者中只有传导是线性的,辐射是绝对温度的四次方,对流则更加复杂,故电加热炉是一个本质非线性的系统。

由于电加热炉可认为是一个大容积滞后加纯滞后的对象(容积滞后比纯滞后大得多),故在其整个温度工作区域,对象动态参数是随炉温变化的,而每个炉子都有一个设定的工作温区,在工作点附近的小范围内,炉子的动态特性可看成近似线性。

在过程控制中,为了方便,通常把电加热炉温控系统看成是一个线性系统,其模型可以定性描述为:

(2-1)

式中,Y为加热对象温度,

t为加热时间,

为系统时间常数,

为放大倍数,

U为控制电压,

为纯滞后时间。

如果设定控制器输出为u,而u正比于

,即

,对式(2-1)作拉氏变换,可得:

(2-2)

所以

(2-3)

故系统的传递函数为一阶惯性加纯滞后环节,其中K为静态增益[3]。

(2-4)

2.2最小二乘估计的递推算法

最小二乘法由于原理简明、收敛较快、易于理解、易于编程实现等特点、在系统参数估计中应用相当广泛。

而最小二乘法中的递推算法由于能对对象参数在线实时估计,从而改善了估计精度,在系统辨识中倍受青睐。

最小二乘估计递推算法的基本思想可以为:

新的估计值

旧的估计值

+修正项。

最小二乘估计递推算法的公式为[4]

(2-5)

最小二乘估计递推算法如下[5]:

已知:

和d。

1设置初值

,输入初始数据;

2采样当前输出

和输入

3利用式(2-5),计算

4

,返回2,继续循环。

2.3最小二乘估计的递推算法辨识及仿真

已知电加热炉的参数模型,其传递函数表示为[6]

(2-6)

可以考虑利用最小二乘估计递推算法对上述系统进行在线辨识。

为了得到系统的离散模型,可利用MATLAB对系统的传递函数(2-6)进行离散化。

采样时间取T=20s。

在MATLAB中输入命令G=tf(0.44,[5201],'inputdelay',20),Gz=c2d(G,20,'z')。

得到系统的离散系统的传递函数为

(2-7)

将电加热炉转换为差分方程,有

(2-8)

在实际的电加热炉模型中,一定存在噪声干扰。

往差分方程里添加噪声干扰项后,得到电加热炉的动态方程为

(2-9)

式中

(k)为白噪声。

取初值

选择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;%na、nb为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;x1=m(k1);%寄存器移位

end

xi=sqrt(0)*randn(L,1);%白噪声序列,修改括号中数值可产生不同方差的白噪声

theta=[a(2:

na+1);b];%对象参数真值

thetae_1=zeros(na+nb+1,1);%thetae初值

P=10^7*eye(na+nb+1);

fork=1:

L

phi=[-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);

end

uk

(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白色噪声方差为0时参数辨识结果图2.2白色噪声方差为0.01时参数辨识结果

图2.3白色噪声方差为0.1时参数辨识结果图2.4白色噪声方差为1时参数辨识结果

不同白噪声下的具体数据如表2.1所示:

表2.1

参数

真值

-0.9623

0.0166

白噪声方差为0.01

-0.9628

0.0174

白噪声方差为0.1

-0.9575

0.0199

白噪声方差为1

-0.9647

0.0238

以上参数数据和曲线说明随着扰动强度的增强,辨识的效果会有所下降。

当扰动十分剧烈的时候,系统的辨识效果会十分差。

三、电加热炉系统的自适应控制算法及仿真

3.1电加热炉系统控制问题的提出

第1章中已经介绍了电加热炉的工作原理,电加热炉通常是通过控制系统中传动机构拖动调压器动触头来改变输入电压,保持炉温的稳定平衡,从而保证电加热炉系统稳定正常的工作。

在实际工业生产中,一般要求电加热炉炉温的超调量尽可能小。

因此,对于电加热炉的控制问题是:

给定电加热炉的输入电压大小,通过某种控制方式来调节电加热炉温度,使电加热炉温度的超调量尽可能小并达到目标温度数值。

3.2广义最小方差间接自校正控制算法

自适应控制算法包括有自校正调节器、自校正控制器、自适应极点配置PID控制器、自校正PID控制等。

我选用广义最小方差自校正控制器对电加热炉系统的温度进行自适应控制。

最小方差控制具有算法简单、易于理解、易于实现等优点,是其他自校正控制算法的基础。

其基本思想是:

由于一般工业对象存在纯延时d,当前的控制作用要滞后d个采样周期才能影响输出。

因此,要使输出方差最小,就必须提前d步对输出量作出预测,然后根据所得的预测值来设计所需的控制律。

这样,通过连续不断的预测和控制,就能保证稳态输出方差最小。

由此可见,实现最小方差控制的关键在于输出预测。

由于最小方差控制不适用非最小相位系统,且输入控制量未受到约束,因此,在此基础上,出现了广义最小方差控制算法。

其基本思想为:

在求解控制律的性能指标中引入对控制量的加权项,从而限制控制作用过于激烈变化;另外,只要适当选择性能指标中的各加权多项式,广义最小方差控制可以可以适用于非最小相位系统。

广义最小方差间接自校正控制算法如下[5]:

已知:

及纯延时d。

1设置初值

,输入初始数据,并设置加权多项式

2采样当前实际输出

和期望输出

3利用递推增广最小二乘法在线实时估计被控对象参数

,即

4求解Diophantine方程

,得到多项式E、F和G的系数;

5利用式

计算并实施

6返回2(

),继续循环。

3.3广义最小方差间接自校正控制仿真

在上面系统辨识中已经知道电加热炉转的差分方程,故自校正控制中,被控对象电加热炉的动态方程同为

(2-9)

式中,

为白噪声。

取初值

设置加权多项式

期望输出

为幅值从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;%na、nb、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_1=0.001*ones(na+nb+1+nc,1);%非常小的正数,此处不能为0

P=10^7*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/(1+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:

nr+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([0L-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)

%*********************************************************

%功能:

单步Diophanine方程的求解

%调用格式:

[e,f,g]=sindiophantine(a,b,c,d)

%输入参数:

多项式A、B、C系数(行向量)及纯滞后(共4个)

%输出参数:

Diophanine方程的解e,f,g(共3个)

%*********************************************************

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所示:

图3.1白噪声方差为0.01时的仿真输出和控制结果图和参数辨识结果图

图3.2白噪声方差为0.1时的仿真输出和控制结果图和参数辨识结果图

图3.3白噪声方差为1时的仿真输出和控制结果图和参数辨识结果图

不同白噪声下的具体数据如表3.1所示:

表3.1

参数

真值

-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.

[5]庞中华.系统辨识与自适应控制MATLAB仿真.北京航空航天大学出版社,2009.

[6]陈永秀.伺服转台温控箱控制系统设计与研究.硕士学位论文,2008.

[7]方崇智、萧德云.过程辨识.清华大学出版社,1988.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1