MATLBA大作业.docx

上传人:b****4 文档编号:6086385 上传时间:2023-05-09 格式:DOCX 页数:14 大小:322.72KB
下载 相关 举报
MATLBA大作业.docx_第1页
第1页 / 共14页
MATLBA大作业.docx_第2页
第2页 / 共14页
MATLBA大作业.docx_第3页
第3页 / 共14页
MATLBA大作业.docx_第4页
第4页 / 共14页
MATLBA大作业.docx_第5页
第5页 / 共14页
MATLBA大作业.docx_第6页
第6页 / 共14页
MATLBA大作业.docx_第7页
第7页 / 共14页
MATLBA大作业.docx_第8页
第8页 / 共14页
MATLBA大作业.docx_第9页
第9页 / 共14页
MATLBA大作业.docx_第10页
第10页 / 共14页
MATLBA大作业.docx_第11页
第11页 / 共14页
MATLBA大作业.docx_第12页
第12页 / 共14页
MATLBA大作业.docx_第13页
第13页 / 共14页
MATLBA大作业.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLBA大作业.docx

《MATLBA大作业.docx》由会员分享,可在线阅读,更多相关《MATLBA大作业.docx(14页珍藏版)》请在冰点文库上搜索。

MATLBA大作业.docx

MATLBA大作业

 

MATLAB语言、控制系统分析与设计

柴油电力机车——状态变量反馈控制系统的设计和校正

 

姓名杨欣学号U200911880专业班号0905

指导教师王凌云

日期2012年11月15日

成绩

评阅人

 

目录

一、引言………………………………………………………………3

二、设计题目和目标…………………………………………………3

三、待校正系统建模…………………………………………………4

四、系统状态反馈矩阵参数初步设计及结果………………………5

五、用SIMULINK验证校正以后的闭环系统………………………10

六、系统说明…………………………………………………………11

七、对系统的深入研究——系统干扰的讨论…………………………12

八、设计小结…………………………………………………………14

九、参考文献…………………………………………………………14

 

一、引言

在之前的课程中我们学习了自动控制原理,为了对所学知识有更深的体会和理解这些知识,把学习到的知识应用在现实生活的具体设计之中,是一种很有效的方法。

这次MATLAB作业是选择四个章节中的一个课后题进行设计,正是给了我们一个机会,让我们能够更加深刻地理解matlab的应用。

2、设计题目和目标

我这次所选择的题目是:

柴油电力机车——状态变量反馈控制系统的设计,选择的课后习题是11.4:

ConsiderthedieselelectriclocomotiveproblemdiscussedinSection11.5.Designastatefeedbackcontrollersothesystemstepresponseisoverdamped.Thesystemmuststillsettleoutin1second.UseMATLABorSIMULINKtoanalyzetheclosed-loopsystemperformancewiththecontrollerintheloop.即:

考虑到柴油电力机车Section11.5探讨的问题。

设计一个状态反馈控制器。

要使这个系统阶跃响应是过阻尼。

该系统调整时间为1秒。

使用MATLAB和SIMULINK设计和分析闭环系统性能。

待校正的系统为:

(1)

图中负载的转速

是我们希望控制的变量,而Dieselengine所输出的转速

是系统的输入变量,在本次设计中,我们所设置的

是一个单位阶跃信号。

系统的信号的流程图为:

(2)

图中的K是误差放大系数,使得微小的误差可以被放大,从而更好地控制系统的励磁电流。

设计目标:

在本次设计中,我们希望通过参数K与H的设置,来达到以下目标:

1、系统的稳态误差小于2%

2、系统是过阻尼状态

3、系统的调整时间小于1s

(K是信号流图中的放大增益,H是状态反馈矩阵)

3、待校正系统建模

系统原始数据:

图(3)

1)我们需要先选择状态变量,从图

(1)中可以看出,系统有三个主要的变量,即负载转速

,电枢电流

,励磁电流

,我们就以这三个量作为状态变量。

即:

选好了状态变量以后,我们写出系统的状态变量模型:

其中

用矩阵形式表示为:

其中

至此,系统模型建立完毕。

四、系统状态反馈矩阵参数初步设计及结果

在设计参数之前,我们要先判断系统的可控性。

为此,用matlab编程如下:

f=1;J=1;Km=10;Kb=0.62;Lt=0.2+0.1;

Rt=1+1;Kt=1;Kg=100;Rf=1;Lf=0.1;

A=[-f/JKm/J0;-Kb/Lt-Rt/LtKg/Lt;00-Rf/Lf];

B=[0;0;1/Lf];C=[100];D=[0];

Pc=[BA*BA^2*B];

a=rank(Pc)

Po=[C;C*A;C*A^2];

b=rank(Po)

在matlab中运行了以后,输出结果为a=3,b=3,这说明系统是可控的,可观的,所以我们可以设计状态反馈矩阵。

在没有经过校正之前,系统的方框图如下:

图4未经校正的系统方框图(Kpot=Kt=1)

我们设置的状态反馈矩阵H如下:

,则

经过状态反馈以后,系统的闭环状态议程如下:

,其中

由于可控性已经过验证,我们下面考虑经过校正的闭环极点在s平面上的位置。

由于系统的性能指标要求我们经过校正后的系统是过阻尼的,所以说闭环极点都要在负实轴上,还有调整时间不超过1s,所以说闭环极点的实部绝对值要大于5(因为到达稳态的调整时间等于闭环主导极点实部绝对值的倒数乘以5),综合以上两点,我们可以先假设系统经过校正后的三个闭环极点为:

p1=-5,p2=-40,p3=-40.选择p2=-40,p3=-40是为了突出主导极点的作用,所以把两个非主导极点设置得远离主导极点。

这样选择了参数以后,我们用matlab编程:

f=1;J=1;Km=10;Kb=0.62;Lt=0.2+0.1;

Rt=1+1;Kt=1;Kg=100;Rf=1;Lf=0.1;

A=[-f/JKm/J0;-Kb/Lt-Rt/LtKg/Lt;00-Rf/Lf];

B=[0;0;1/Lf];C=[100];D=[0];

P=[-5,-40,-40];%自己设计的闭环极点值

H=acker(A,B,P)%通过阿克曼方法算出极点对应的反馈系数

[num,den]=ss2tf(A-B*H,B,C,D);

Kpot=num(4)/den(4);

t=[0:

0.05:

2];

[y,x,t]=step(A-B*H,B/Kpot,C,D,1,t);

plot(t,x(:

1),t,x(:

2),'--',t,x(:

3),'-.'),grid

xlabel('Time(sec)'),ylabel('Statevariables')

legend('wo','ia','if',-1)

通过以上程序我们得出H=[0.34560.981910.7333]

程序运行后图如下:

图5经过初步校正后的系统三个状态变量的单位阶跃响应

此时系统稳态误差为0,而且是过阻尼状态,但是我们把图局部放大以后可以发现,系统的稳态调整时间是大于1s的(见下图),所以说此时还不符合要求,还要继续调整状态反馈的参数。

图6经过初步校正后的系统输出量单位阶跃响应局部图

对系统状态反馈矩阵参数进一步设计及结果:

选择参数中,我们设计的闭环极点并不符合要求,所以我们把闭环极点的绝对值再增大一些,以便进一步缩短系统的调整时间,我们假设p1=-7,p2=-60,p3=-60,这里设置两个-60的极点还是为了更好地突出主导极点-7的作用。

编程如下:

f=1;J=1;Km=10;Kb=0.62;Lt=0.2+0.1;

Rt=1+1;Kt=1;Kg=100;Rf=1;Lf=0.1;

A=[-f/JKm/J0;-Kb/Lt-Rt/LtKg/Lt;00-Rf/Lf];

B=[0;0;1/Lf];C=[100];D=[0];

P=[-7,-60,-60];%自己设计的闭环极点值

H=acker(A,B,P)%通过阿克曼方法算出极点对应的反馈系数

[num,den]=ss2tf(A-B*H,B,C,D);

Kpot=num(4)/den(4)

t=[0:

0.05:

2];

[y,x,t]=step(A-B*H,B/Kpot,C,D,1,t);

plot(t,x(:

1),t,x(:

2),'--',t,x(:

3),'-.'),grid

xlabel('Time(sec)'),ylabel('Statevariables')

legend('wo','ia','if',-1)

经过运行后得出H=[0.55321.049310.9333],Kpot=1.3228

程序运行后图如下:

图7经过深入校正后的系统三个状态变量的单位阶跃响应

从图中可以明显地看出,系统的三个指标都达到了,即稳态误差小于2%(实际上稳态误差为0),系统过阻尼,系统的调整时间小于1s。

我们把图局部放大,可以看出此时系统的稳态调整时间在0.95s左右,所以说,此时的系统已经符合要求了。

图8经过进一步校正后的系统输出量单位阶跃响应局部图

五、用SIMULINK验证经过状态反馈校正以后的闭环系统

我们用matlab里面自带的simulink工具来验证以上设计的结果,搭建的仿真方框图如下:

图9用SIMULINK验证经过状态反馈校正以后的闭环系统

在经过运行以后,得出的仿真结果如下图所示:

图10用SIMULINK仿真经过校正后系统的单位阶跃响应

对比图7和图10,我们可以看出,两个波形符合的很好,所以说我们用SIMULINK很好地验证了校正以后系统单位阶跃响应的结果。

 

六、系统说明

在系统的进一步设计中,我们通过校正使系统的稳态调整时间达到了0.95秒,为什么不再次改进参数使得系统的调整时间进一步减小呢?

这是因为在实际的系统设计中,我们总是设计系统使得系统的性能指标接近给定的指标,当系统的某一个性能指标设计得过于优异,必然会在实际的制造中付出相应的代价,使制造成本上升,并且通常会引起系统其它指标的下降,这是我们不希望看到的,所以我在设计的时候仅仅使系统的稳态调整时间达到了0.95秒,而没有进一步减小系统的稳态调整时间。

七、对系统的深入研究——系统干扰的讨论

在图2中,系统的信号流图中有一个扰动Td,在实际系统中这个扰动由于各种原因,是肯定存在的,有了扰动以后,我们设系统的扰动为单位阶跃扰动。

使用SIMULINK仿真,如下图:

图11有了扰动以后的系统仿真图

经过仿真以后,得出结果如下图:

图12在单位阶跃扰动下系统的单位阶跃响应

从结果可以看出,在实际系统中有了扰动以后,系统除了有了稳态误差以外,其它指标还是与没有扰动的时候差不多的,于是我就想,可以通过增大信号源的增益(Kpot)来消除扰动的干扰。

从图12的放大图中读出系统的稳态值为0.85,于是我把信号源的增益(Kpot)放大为原来的1/0.85倍,即原来的1.18倍,使Kpot=1.18*0.7560=0.885,得出仿真方框图和仿真结果图分别如下:

图13经过增益校正以后的带干扰的系统仿真方框图

图14经过增益校正以后的带干扰的系统的单位阶跃响应

从图中可以看出,把信号源的增益放大以后,可以使得系统的干扰信号引起的稳态误差得到补偿,从而补偿了干扰的影响。

九、设计小结

本次毕业设计我通过状态反馈的方法对一个电机系统进行校正,使得系统的性能指标符合给定的要求,在经历了初步设计、进一步设计以后,完成了设计过程,并用matlab自带的SIMULINK模块进行了验证,结果是设计的状态反馈系数符合要求。

在设计完成以后,我又对系统进行了深入的研究,即在有干扰情况下系统应该如何校正,通过干扰仿真我找到了校正扰动的方法,即放大系统的信号源放大增益,从而补偿了系统的干扰。

至此,设计全部完成。

十、参考文献

[1]线性控制系统工程(英文版)(美)德赖斯编著;清华大学出版社;2000年12月第1版。

[2]现代控制系统分析与设计——应用MATLAB和SIMULINK(英文版)(美)RobertH.Bishop编著;清华大学出版社;2003年12月第1版。

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2