基于极点配置的控制器设计与仿真Word文档下载推荐.docx
《基于极点配置的控制器设计与仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于极点配置的控制器设计与仿真Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
(2)系统的说明直流电机的系统结构和工作原理并分析,建立直流调速系统的数学模型,将其进行离散化,并讨论其传递函数与状态方程之间的关系。
(3)分析极点配置控制器的设计原理,利用状态方程设计控制器。
(4)将被控对象的传递函数离散化,利用传递函数模型设计控制器。
(4)在MATLAB中建立闭环直流调速系统的模型,根据闭环极点配置的设计步骤编写程序,用Simulink搭建仿真系统,对闭环直流调速系统的输出进行仿真分析。
(5)对仿真结果分析。
将仿真结果与实际直流调速系统的阶跃响应的各项参数相比较,得出结论。
2直流调速系统数学模型的建立
直流电动机的基本结构分析.
单闭环直流调速系统的搭建
直流调压调速是现代工业实际生产中应用相当广泛的一种调速方法[2],利用电力电子元器件的可控性,再使用脉宽调制技术加以调制,就构成了直流脉宽调速系统。
电气原理结构图如图2-6所示。
图2-1直流脉宽调速系统的电气原理结构图
调节原理是在反馈控制的闭环直流调速系统中,与电动机同轴安装一台测速发电机TG,从而引出与被调量转速成正比的负反馈电压Un,与给定电压U*n相比较后,得到转速偏差电压Un,经过放大器A,产生电力电子变换器UPE的控制电压Uc,用以控制电动机转速n。
将上述直流调速系统原理图抽象成动态结构框图,分析直流调速系统,如图2-7所示:
图2-2直流调速系统动态结构框图
图中ASR代表转速调节器,它可以是PID控制器或模糊控制器;
Ks代表电力电子变换器模型;
1/Ce代表直流电动机模型;
α表示反馈环节;
IdR表示扰动或负载。
下面就上述结构框图中的各个环节的数学模型进行推导。
直流调速系统数学模型的建立
为了分析调速系统的稳定性和动态品质,必须首先建立描述系统动态物理规律的数学模型,对于连续的线性定常系统,其数学模型是常微分方程,经过拉氏变换,可用传递函
数和动态结构图表示。
建立系统动态数学模型的基本步骤如下:
(1)根据系统中各环节的物理规律,列出描述该环节动态过程的微分方程;
(2)求出各环节的传递函数;
构成系统的主要环节是电力电子变换器和直流电动机。
不同电力电子变换器的传递函数,它们的表达式是相同的,都是:
(2-1)
直流电动机的等效电路如图2-8所示
图2-3他励直流电动机等效电路
假定主电路电流连续,则动态电压方程为:
(2-2)
如果,忽略粘性磨擦及弹性转矩,电机轴上的动力学方程为:
(2-3)
额定励磁下的感应电动势和电磁转矩分别为:
式中:
TL-包括电机空载转矩在内的负载转矩,N-m;
GD2—电力拖动系统折算到电机轴上的飞轮惯量,N-m2;
—电机额定励磁下的转矩系数N-m/A;
定义下列时间常数
—电枢回路电磁时间常数,s;
—电力拖动系统机电时间常数,s。
代入式(2-2)和(2-3),并考虑式(2-4)和(2-5),整理后得
(2-6)
(2-7)
式中为负载电流
在零初始条件下,取等式两侧的拉氏变换,得电压与电流间的传递函数
(2-8)
电流与电动势间的传递函数
综合由以上各式得直流电机框图如图2-9:
图2-4直流电动机的动态的结构图
放大器传函
测速反馈传函
(3)组成系统的动态结构图并求出系统的传递函数。
知道了各环节的传递函数后,把它们按在系统中的相互关系组合起来,就可以画出闭环直流调速系统的动态结构图,如图2-10所示。
由图可见,将电力电子变换器按一阶惯性环节处理后,带比例放大器的闭环直流调速系统可以看作是一个三阶线性系统。
图2-5直流调速系统的动态的结构图
设Idl=0,从给定输入作用上看,闭环直流调速系统的闭环传递函数是:
(2-12)
进一步得反馈控制闭环直流调速系统的特征方程为:
根据三阶系统的劳斯判据,系统稳定的充分必要条件是:
对于一个自动控制系统来说,稳定性是它能否正常工作的首要条件,是必须保证的。
图2-6直流调速系统的动态的结构图
直流调速系统参数的给定
如图转速闭环负反馈的调速系统中,无电流反馈,直流电动机各环节的参数为:
额定电压UN=220V,额定电流Idn=55A,额定转速nN=100r/min,电动机电动势系数Ce=*min/r
晶闸管的放大系数Ks=,滞
后时间常数Ts=
电枢回路电阻R=1Ω,电枢回路电磁时间常数Tl=电力拖动系统机电常数Tm=;
转速反馈系数α=,V*min/r;
对应而定转速给定电压Un=10V
(1)直流调速系统各环节参数的确定
图中Kp为比例环节利用闭环系统稳定关系(2-14)式,代入参数
可得Kp=。
由第二章式(2-1)可知电力电子器件的传递函数,代入参数Ks=44,Ts=:
得:
()
由第二章式(2-8)和(2-9)可得直流电动机机电和电磁两部分传递函数:
图中反馈系数α可以由给定额定电压和额定转速可得:
电动机电动势系数
(2-16)
(2)得到直流调速系统的传递函数
3基于状态空间模型的极点配置的控制器设计
极点配置设计方法的原理
系统的动态行为主要是由闭环系统的极点决定的。
极点配置设计的基本原理,就是按照控制系统的性能要求和被控对象的某些特征,先确定控制系统的闭环极点,再设计出控制器,使得闭环系统的闭环极点与期望的闭环极点相同。
基于状态空间模型的控制器的设计,可以采用状态反馈和输出反馈两种形式,其含义是分别将观测到的状态量或输出量取作反馈量构成反馈控制律,从而构成闭环控制,以达到期望的闭环系统的性能指标。
由于系统的状态变量比系统的输出变量更好的反映系统的性能。
实际上,从状态空间模型的输出方程可以看出,输出变量可以看做状态变量的子空间,因此输出反馈也称为部分状态反馈。
状态反馈可以实现任意极点配置;
而输出反馈对于能空能观的系统则不能进行任意极点的配置。
极点配置设计控制器的步骤
(1)按对系统的性能要求给定n个控制极点。
(2)按极点配置设计出控制律。
(3)选择观测器的类型,若检测准确,而且检测量是其中的一个状态,则可以考虑用降阶观测器,否则仍选用全阶观测器。
若控制器的计算延时与采样周期的大小处于同一量级,则可以采用预报观测器,否则可以考虑采用现实观测器。
(4)根据选定的观测器类型及考虑到观测器极点对控制器系统性能的影响,给定观测器极点的数目及其在单位圆的适当位置。
(5)根据给定的观测器极点及选定的观测器类型计算增益矩阵矩阵K;
(6)最后根据所设计的控制律及观测器由计算机加以实现。
具体实施方案
根据第二章建立的模型,设系统存在测量噪声,且计算延时大于采样周期。
要求系统的,,
(1)系统的由式()用Matlab得到状态方程参数:
(3-1)
根据离散状态方程:
用matlab得到参数:
(3-4)
由于
所以系统是完全能控的
(2)现要求闭环系统的性能相应于
时
(3-5)
求得控制极点
(3)利用阿克曼公式
(3-6)
得到
(4)由于电机存在噪声,需要用全阶观测器,且计算延时接近采样周期,采用预报观测器,由于存在测量噪声,这里按观测器的极点所对应的衰减速度比对应的速度快5倍的要求选择:
系统的u的输出,在t=50s时加入扰动:
系统的y的输出,
结论分析:
利用状态方程模型设计的控制器具有良好的控制性能,抗干扰能力强,稳态误差小,达到系统的设计要求,与一般的控制器相比,具有超调量小,过度时间短的特点。
4基于传递函数模型的极点配置的控制器设计
复合控制器设计分析
本节基于传递函数的模型的来进行控制器的设计,采用传递函数的多项式计算来代替状态空间模型的矩阵形式计算,因此该设计方法将带来一些新的设计思想和计算方法。
从代数多项式的角度进行前馈与反馈思想的结合控制器,不必考虑被控对象不稳定的极点A-被抵消的情况等,从代数多项式的角度进行复合控制器的设计,可以非常容易的解决很多控制器设计中的实际问题,比如被控对象稳定的零极点如何抵消的问题,闭环系统在保证阶跃响应无稳态误差的的条件下,提高系统的抗干扰能力借鉴解析设计的方法,需要从系统的可实现性、稳定性、静态指标、动态指标、抗干扰性能等方面研究前馈与反馈相结合来设计控制器。
控制器设计步骤
(1)根据给定的单位圆的D域,分解B(z)=B-B+,其中B+首1多项式,零点都在D域内,B-的零点均在D域外。
(2)根据系统的精度要求确定Bm。
(3)按照系统的动态性能要求确定Am;
(4)确定B’m的各项系数,进而确定Bm。
(5)被控对象有无积分环节确定控制器需要引入的积分环节的个数。
(6)确定Ao的阶次。
(7)求解丢番图方程
。
(8)计算控制参数R(z)、S(z)和T(z)
具体设计方案
根据前面得到的直流调速系统的模型,依旧用被控对象:
设计期望要求:
1,阶跃输入无稳态误差。
2,阶跃响应的的超调量
10%
3,过度过程时间
s
(1)利用matlab的函数将G(s)化为等效的离散传递函数G(z)
(4-1)
分解
(4-2)
(4-3)
(2)为了满足阶跃响应输入无稳定误差
取
(4-4)
从而得到:
(4-6)
(4-7)
(4-8)
(4-9)
(4-10)
于是期望的闭环系统传递函数为:
(4-11)
(4-12)
(3)由于被控对象中没有积分环节,因此控制器引入积分环节l=1;
(4-13)
(4)求解如下的丢番图方程:
(4-14)
(4-15)
(5)根据式及式,得
(4-16)
设:
(4-17)
(6)于是丢番图方程为:
展开求得结果:
(4-18)
(4-19)
得出前馈控制器和反馈控制器控制器:
(4-20)
(4-21)Simulink搭建系统模型
得到u的输出如下,在t=50加入扰动:
结果分析:
由仿真结果可以看出系统具有了满意的响应性能。
利用解析设计方法,在R中引入积分因子,使系统可以获得良好的抗干扰性能。
此外设计出的过度时间,超调量在容许范围内。
5致谢
经过老师上课的讲解,参考老师的教科书,我才顺利地完成此次作业。
在每次设计遇到问题时总是想到老师反复强调的内容,这里不得不感谢老师对上课质量的重视,提前为我们想了许多容易犯错误的陷阱,在这里不由得对老师的学术水平与治学态度感到钦佩,。
从设计的选题到资料的搜集直至最后设计的修改的整个过程中,都是尽力的向老师的要求进行靠近,可能由于对一些概念理解不深,在文中有错误或纰漏,对此我会在今后的实践中继续学习,不断完善自己。
这一学期的课很快就结束了,老师上课讲的内容时通俗易懂,对偏难得知识点反复讲解,让我获益匪浅,而且利用联系实际,给我讲授学习的道理,让我感到老师十分的负责,在此向导师表示衷心地感谢!
导师严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益终生!
参考文献
[1]关守平,尤富强,徐林.计算机控制理论与设计[M].1.北京:
机械工业出版社,2012:
87-126.
[2]汤蕴璆.电机学[M].北京:
机械工业出版社,2014.
[3]张传伟,郭卫.直流电机双闭环调速系统仿真研究[J].机床与液压,2005,02):
128-9+12.
[4]周小波,王群京,陈伟,etal.基于MATLAB/SIMULINK的直流电机模糊控制的仿真[J].电机技术,2010,01):
8-10.
[5]王立涛.直流电机PID控制系统仿真研究[J].电子设计工程,2012,18):
67-9.
附录
1,状态方程模型设计控制器所编写Matlab程序
function[Ac,Bc,Cc,Dc2,Dm,Dc1,Lr,L,K,F1,G,F,C]=hanshu()
num=[];
den=[];
[Ac,Bc,Cc,Dc]=tf2ss(num,den);
[F,G,C,D]=c2dm(Ac,Bc,Cc,Dc,1);
syms('
z'
);
a=exp+sqrt(3)/2i);
b=exp(3)/2i);
y=(z-a)*(z-b)
y=vpa(y,3);
y=expand(y);
y=vpa(y,3)
p=sym2poly(y);
P=[G,F*G];
P=inv(P);
x=polyvalm(p,F);
L=[01]*P*x;
a1=exp*5);
b1=exp*5);
y1=(z-a1)*(z-b1);
y1=vpa(y1,3);
y1=expand(y1);
y1=vpa(y1,3)
q=sym2poly(y1);
Q=[C;
C*F];
Q=inv(Q);
x=polyvalm(q,F);
K=x*Q*[0;
1];
F1=F-G*L-K*C;
I=eye(2,2);
t1=L*(inv(I-F1))*K;
t2=1-L*(inv(I-F1))*G;
Lr=t1/t2;
F1=vpa(F1,3);
D1=z*I-F1;
D1=vpa(D1,3);
DD=zeros(2,2);
%***********************************
D11=D1(1,1);
D12=-D1(1,2);
D21=-D1(2,1);
D22=D1(2,2);
DD=[D22,D12;
D21,D11];
DD=vpa(DD,3);
%¢******************************
[m,n]=size(DD)
b=cell(m,n);
fori=1:
m
forj=1:
n
b{i,j}=sym2poly(DD(i,j));
end
%******************************************
%*********************
2
x2=cell2mat(b(i,j));
eval(['
r'
num2str(numb),'
='
'
x2'
;
'
])
numb=numb+1;
end
ans1=L(1,1)*r0;
ans1=vpa(poly2sym(ans1,'
),3);
ans2=L(1,2)*r2;
ans2=vpa(poly2sym(ans2,'
ans3=L(1,1)*r1
ans3=vpa(poly2sym(ans3,'
ans4=L(1,2)*r3;
ans4=vpa(poly2sym(ans4,'
DD1=vpa((ans1+ans2),3);
DD2=vpa((ans3+ans4),3);
%***********************************************
%DD1=sym2poly(DD1);
%DD2=sym2poly(DD2);
temp1=G*Lr;
ANSW1=vpa((-(DD1*temp1(1,1)+DD2*temp1(2,1))),3);
temp2=K;
ANSW2=vpa((-(DD1*temp2(1,1)+DD2*temp2(2,1))),4);
%D22=inv(D1);
%D22=vpa(D22,3);
Dm=det(D1);
Dm=vpa(Dm,3);
Dc1=vpa((Lr*Dm+ANSW1),3);
Dc2=vpa(ANSW2,4);
%**************************8
DD1=L*DD*K;
%D66=-L*(inv(z*I-F1))*K
End
2,传递函数模型所编写Matlab程序
%transforfunction
sys=tf([],[1]);
ts=1;
%2
dsys=c2d(sys,ts,'
[num,den]=tfdata(dsys,'
v'