- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于极点配置的确定性自校正设计
基于极点配置的电阻加热炉温控系统设计仿真
修杨
(班级:硕研14班 学号d 专业:控制原理与控制工程 )
自校正控制是目前应用最广的一类自适应控制方法。根据所采用的不同类型的控制算法,可以组成不同类型的自校正控制器,主要有最小方差自校正控制、极点配置自校正控制和以线性二次型最优为基础的自校正控制等几种。下面提出基于极点配置自校正控制的电阻加热炉温控系统。
1自校正PID电阻加热炉温控系统原理
被控对象为220V单向交流电阻加热炉,用KS200A/800V双向晶闸管过零触发控制。由阶跃响应的飞升曲线测得对象特性为具有纯滞后的一阶线性环节,即
(1)
其中,Kp=2.8;Tp=178s;。带零阶保持器的广义对象脉冲传递函数为
(2)
式中,
对大纯滞后对象,通常选择,则N=1,d=2。将实测被控对象参数带入式(2),得
,。
从极点配置的观点出发,通常以典型的二阶系统闭环传递函数的离散特征多项式为 (3)
式中——无阻尼自然振荡角频率;——阻尼比。
对式(3),当二阶系统最佳阻尼比=0.707时,在单位阶跃作用下的超调量=4.3%,相角稳定裕量。它为二阶最佳动态相应模型。
式(3)的期望特征多项式为
(4)
2被控对象及要求
设有被控过程:
不考虑扰动,给定期望传递函数的分母多项式为式(4),按照极点配置方法设计控制系统,使期望输出无稳态误差,写出控制表达式u(k),并进行计算机数字仿真,展示出输入/输出波形、过程参数变化曲线。
解:A()=,B()=,C()=0,d=2,。系统的零点是z=-1.2,在单位圆外,属于不稳定的零点,故不能让这个零点与控制极点相对消。则取,
为使稳态输出无误差,取 ,
而
这里取=1,考虑其快速性,选择
3编程仿真
Matlab编程如下:
(一)Diophanine方程的求解程序
%功能:Diophanine方程的求解
%调用格式:[F1,G]=diophantine(A,B,d,A0,Am)
%输入参数:多项式A、B系数向量、纯延迟d、多项式A0、Am系数向量(行向量)
%输出参数:Diophanine方程的解F1、G(行向量)
%MATLAB中函数的调用:将编写好的函数与要调用它的.M文件存储于同一文件夹中,程序中直接调用即可。
function [F1,G]=diophantine(A,B,d,A0,Am)
dB=[zeros(1,d) B];
na=length(A)-1; nd=length(dB)-1;
T1=conv(A0,Am); nt=length(T1); T=[T1;zeros(na+nd-nt,1)];
AB=zeros(na+nd);
for i=1:na+1
for j=1:nd
AB(i+j-1,j)=A(i);
end
end
for i=1:nd+1
for j=1:na
AB(i+j-1,j+nd)=dB(i);
end
end
%得到F1,G
L=(AB)\T;
F1=[ L(1:nd)];
G=[ L(nd+1:na+nd)];
(二)仿真程序
clear all; close all;
a=[1 -1.7 0.6];b=[1 1.2];
na=2;
nb=1;
d=2;
Am=[1 -0.7812 0.2882];
nam=2;
N=400;
uk=zeros(d+nb,1);
yk=zeros(na,1);
yrk=zeros(na,1);
yr=[ones(N/10,1);-ones(N/10,1);ones(N/10,1);-ones(N/10,1);ones(N/10,1);-ones(N/10,1);ones(N/10,1);-ones(N/10,1);ones(N/10,1); -ones(N/10+d,1);]
thetae_1=0.001*ones(na+nb+1,1);
P=10^6*eye(na+nb+1);
lamda=1;
for k=1:N
time(k)=k;
y(k)=-a(2:na+1)*yk+b*uk(d:d+nb);
%递推增广最小二乘法
phi=[-yk(1:na);uk(d:d+nb)];
K=P*phi/(lam
文档评论(0)