单位负反馈系统超前校正自动控制原理课程设计.docx
《单位负反馈系统超前校正自动控制原理课程设计.docx》由会员分享,可在线阅读,更多相关《单位负反馈系统超前校正自动控制原理课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
单位负反馈系统超前校正自动控制原理课程设计
指导教师评定成绩:
审定成绩:
自动化学院
自动控制原理课程设计报告
设计题目:
单位负反馈系统的校正设计
单位(二级学院):
学生姓名:
专业:
班级:
学号:
指导教师:
负责项目:
设计时间:
2013年12月
目录
一、自动控制原理课程设计题目1
二、摘要2
三、未校正系统的分析3
1.系统分析3
2.单位阶跃信号下系统输出响应3
3.未校正系统伯德图4
四、系统校正设计5
1.校正方法5
2.设计总体思路5
3.参数确定5
4.校正装置6
5.校正后系统7
6.验算结果7
五、结果8
1.校正前后阶跃响应对比图8
2.结果分析8
六、总结体会9
七、参考文献10
八、附录10
1.Matlab程序10
一、自动控制原理课程设计题目
题目:
单位负反馈系统的校正设计
原理:
设单位负反馈系统的开环传递函数为:
用相应的频率域校正方法对系统进行校正设计,使系统满足如下动态和静态性能:
1)相角裕度
;
2)在单位斜坡输入下的稳态误差为
;
3)系统的穿越频率大于2rad/s。
要求:
1)分析设计要求,说明校正的设计思路(超前校正,滞后校正或滞后-
超前校正);
2)详细设计(包括的图形有:
校正结构图,校正前系统的Bode图,校
正装置的Bode图,校正后系统的Bode图);
3)用Matlab编程代码及运行结果(包括图形、运算结果);
4)校正前后系统的单位阶跃响应图。
2、摘要
用频率法对系统进行超前校正的实质是将超前网络的最大超前角补在校正后系统开环频率特性的截止频率处,提高校正后系统的相角裕度和截止频率,从而改善系统的动态性能。
为此,要求校正网络的最大相位超前角出现在系统的截止频率处。
只要正确地将超前网络的交接频率1/aT和1/T设置在待校正系统截止频率Wc的两边,就可以使已校正系统的截止频率Wc和相裕量满足性能指标要求,从而改善系统的动态性能。
串联超前校正主要是对未校正系统在中频段的频率特性进行校正。
确保校正后系统中频段斜率等于-20dB/dec,使系统具有45°~60°的相角裕量。
以加快系统的反应速度,但同时它也削弱了系统抗干扰的能力。
在工程实践中一般不希望系数a值很大,当a=20时,最大超前角为60°,如果需要60°以上的超前相角时,可以考虑采用两个或两个以上的串联超前校正网络由隔离放大器串联在一起使用。
在这种情况下,串联超前校正提供的总超前相角等于各单独超前校正网络提供的超前相角之和。
关键词:
串联超前校正动态性能相角裕度
三、未校正系统的分析
1.系统分析
校正前单位负反馈系统的开环传递函数为:
校正要求:
解:
因
,得k=16,取k=16。
则:
开环传递函数变为
G(s)=16/(s(s+1)(0.01s+1))
在Simulink中建立模型为
图3.1未校正系统模型图
2.单位阶跃信号下系统输出响应
在matlab中编写m程序(test01jieyue.m),作出阶跃响应曲线:
图3.2为校正系统单位阶跃响应图
由上图可以看出,系统在阶跃输入下还是可以稳定输出的,但是开始时振荡,比较大,超调量也比较大,系统的动态性能不佳。
3.未校正系统伯德图
在matlab中编写m程序(test01bode.m),作出未校正系统的伯德图:
图3.3未校正新系统伯德图
由上图可知,该系统幅值裕度h=16dB,穿越频率Wx=10rad/s,相角裕度
=12°,截止频率Wc=3.94rad/s。
四、系统校正设计
1.校正方法
由未校正系统伯德图,幅值裕度h=16dB,穿越频率Wx=10rad/s,相角裕度
=12°,截止频率Wc=3.94rad/s,说明该系统稳定,穿越频率大于要求值,唯相角裕度较小,故采用串联超前校正方法是合适的。
超前校正传递函数:
2.设计总体思路
(1)根据稳态误差
的值,确定开环增益K。
(2)利用已确定的开环增益K,确定校正前系统的传递函数,画出其bode图,从图上看出校正前系统的相位裕度γ和截止频率Wc。
(3)根据相位裕度
的要求,计算出滞后校正装置的参数a和T。
即得校正装置的传递函数,然后得到校正后系统的开环传递函数。
(4)验证已校正系统的相位裕度γ和截止频率Wc。
3.参数确定
(1)根据稳态误差要求确定开环k
由
,得k=16,取k=16
(2) 求所需最大超前角
因
则
式中
为校正装置最大超前角
为目标相角裕度
为系统相角裕度
为调整量
(3) 计算a值
因
得
(4)图解最大超前角频率Wm
为保证响应速度,根据
从未校正系统伯德图中得Wm=5.74rad/s
(5)求参数T
4.校正装置
则校正装置传递函数为
在matlab中编写m程序(test02bode.m),作出校正系统的伯德图:
图4.1校正装置伯德图
5.校正后系统
经超前校正后,系统开环传递函数为:
6.验算结果
在matlab中编写m程序(test03bode.m),作出校正后系统的伯德图:
图4.2校正后系统伯德图
由图中可知:
校正后系统幅值裕度h=24.1dB,穿越频率Wx=31.48rad/s,相角裕度
=45.6°,截止频率Wc=5.75rad/s。
5、结果
1.校正前后阶跃响应对比图
在matlab中编写m程序(test04jieyue.m),作出校正前后系统的阶跃响应对比图:
图5.1校正前后单位阶跃响应对比图
2.结果分析
校正后系统相角裕度
=45.6°>45°,穿越频率Wx=31.48rad/s>2rad/s
=0.0625,故校正装置满足要求,能完成校正要求。
但是相角裕度
=45.6度,略小。
故实际应用时,可以考虑将裕量度
值取大一点,使a值再大点。
另,因采用超前校正,故为了补偿无源超前网络的增益衰减,放大器的增益需提高a倍。
六、总结体会
通过这次的课程设计,再次熟悉我们所学的理论知识,同时为将理论知识运用于实际搭建了一个很好的平台;使课堂学习的理论知识联系实际,进一步掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,同时也学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试。
在这次课程设计过程中,遇到一些麻烦。
如对某些概念印象模糊;软件的开发运用不熟悉。
但通过复习书本和向同学请教来了解模糊了的概念以及其他不懂得问题;借阅基本软件指导书籍,借鉴里面的例子快速的掌握此软件的使用方法。
从课程设计的入手到最后分析,对于我们来说是个不小的挑战,要清楚的注意到每个细节是不可行的,所以遇到问题时和班上的同学一起讨论,是解决各种难题的有效方法。
这次课程设计使我深深地体会团队精神的重要性。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,仅有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计过程中遇到的问题很多,但这是难免的,只有发现了自己的不足之处并加以改正就可以达到我们需要的要求,不断进步。
7、参考文献
[1]胡寿松.自动控制原理[M].北京:
科学出版社,2007.6.
[2]梅晓蓉.自动控制元件及线路[M].哈尔滨:
哈尔滨工业大学出版社,2001.
[3]张静.MATLAB在控制系统中的应用[M].电子工业出版社,2007.
[4]李友善.自动控制原理360题[M].哈尔滨:
哈尔滨工业大学出版社,2003.
八、附录
1.Matlab程序
test01jieyue.m
%**?
?
?
?
?
?
**%
s=tf('s');%?
?
G=16/(s*(s+1)*(0.01*s+1));
G1=feedback(G,1);
t=0:
0.01:
5;
step(G1,t);%?
?
grid
xlabel('t');
ylabel('c(t)');
title('?
?
?
?
?
?
');
%**?
?
?
?
?
?
?
?
**%
s=tf('s');%?
?
G=16/(s*(s+1)*(0.01*s+1))
figure
(1)
margin(G);%?
?
?
?
grid
[Hm,Ym,Wc,Wx]=margin(G);%?
?
test02bode.m
%**?
?
?
?
?
?
?
**%
s=tf('s');%?
?
G=(1+0.3653*s)/(1+0.0831*s)
figure
(1)
margin(G);grid%?
?
?
?
[gm,pm,wg,wp]=margin(G);
test03bode.m
%**?
?
?
?
?
?
**%
s=tf('s');%?
?
G=(16*(1+0.3653*s))/(s*(s+1)*(0.01*s+1)*(1+0.0831*s))
figure
(1)
margin(G);grid%?
?
?
?
[gm,pm,wg,wp]=margin(G);
test02jieyue.m
%**?
?
?
?
?
?
?
?
?
?
?
**%
s=tf('s');%?
?
G1=16/(s*(s+1)*(0.01*s+1));
G2=feedback(G1,1);
t=0:
0.01:
5;
G3=(16*(1+0.3563*s))/(s*(s+1)*(0.01*s+1)*(1+0.0831*s))
G4=feedback(G3,1);
y1=step(G2,t);y2=step(G4,t);
plot(t,y1,'--',t,y2);grid
xlabel('t');ylabel('c(t)');
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');