资源描述
课程设计报告
题 目 控制系统设计与校正
课 程 名 称 自动控制原理课程设计
院 部 名 称 机电工程学院
专 业 电气工程及其自动化
班 级 10电气工程及其自动化(2)
学 生 姓 名 孙炜
学 号 1004202030
课程设计地点 C214
课程设计学时 1周
指 导 教 师 陈丽换
目 录
1、绪论 3
1.1相关背景知识 3
1.2课程设计目的 3
1.3课程设计任务 3
2、设计过程 5
2.1确定校正传递函数 5
2.1.1确定 5
2.2利用MATLAB绘画未校正系统的bode图 5
2.2.1、校正前Bode图 5
2.2.2第一次超前校正后的Bode图 6
2.2.3、第二次超前校正后的Bode图: 7
3、三种响应曲线 10
3.1单位脉冲响应 10
3.2、单位阶跃响应 11
3.3、单位斜坡响应 13
4、特征根 15
5、系统的动态性能指标 16
6、系统的稳态误差 19
7、根轨迹 20
8、系统的Nyquist图 23
9、课程设计结束语 25
10、参考文献 261、绪论
1.1相关背景知识
《自动控制原理》作为自动控制系列课程的实践性教学环节的教程,是新世纪电子信息与自动化系列课程改革教材之一。该课程综合性强、知识覆盖面广,要求学生具有《工程数学》、《电路》等基础知识,以及较强的计算能力。而《自动控制原理课程设计》能够帮助学生进一步巩固自控基础知识,并结合电路、电子技术,加强实践操作能力,因此具有很重要的意义。
1.2课程设计目的
1.掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。
2.学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试。
1.3课程设计任务
设计题目:设原系统的开环传递函数为 要求校正后系统的相角裕度 ,静态速度误差系数, 试求串联超前校正装置。
要求:根据给定的性能指标选择合适的校正方式对原系统进行校正(须写清楚校正过程),使其满足工作要求。然后利用MATLAB对未校正系统和校正后系统的性能进行比较分析,针对每一问题分析时应写出程序,输出结果图和结论。最后还应写出心得体会与参考文献等。
具体要求如下:
1.首先, 根据给定的性能指标选择合适的校正方式对原系统进行校正,使其满足工作要求。要求程序执行的结果中有校正装置传递函数和校正后系统开环传递函数,校正装置的参数T,等的值。
2.利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?
3.利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应曲线,分析这三种曲线的关系?求出系统校正前与校正后的动态性能指标σ%、tr、tp、ts以及稳态误差的值,并分析 其有何变化?
4.绘制系统校正前与校正后的根轨迹图,并求其分离点、汇合点及与虚轴交点的坐标和相应点的增益值,得出系统稳定时增益的变化范围。绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由?
5.绘制系统校正前与校正后的Bode图,计算系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。判断系统的稳定性,并说明理由?
2、设计过程
2.1确定校正传递函数
2.1.1确定
====
2.2利用MATLAB绘画未校正系统的bode图
2.2.1、校正前Bode图
利用matlab进行编程,用程序:
num=[0 0 0 10];
den=[0.1 0.7 1 0];
bode(num,den);
可得到Bode图
图1、矫正前系统Bode图
2.2.2第一次超前校正后的Bode图
程序:
phy=65; phy1=phy+10;phy2=phy1*pi/180; (选取校正装置时,设定要达到的相角度为65度。取5度的补偿)
a1=(1+sin(phy2))/(1-sin(phy2) (求校正网络传递函数中的参数a1)
M1=1/sqrt(a1);
[m1,p1,w1]=bode(G);
wc1=spline(m1,w1,M1);
T1=1/(wc1*sqrt(a1)) (求校正网络传递函数中的参数a1)
gc1=tf([a1*T1 1],[T1 1]) (求校正网络的开环传递函数)
sys1=G*gc1; (求经过一次校正后系统的开环传递函数)
[gm1,pm1,wcg1,wcp1]=margin(sys1) (求经第一级超前校正网络的传递函数中幅值裕 量,相位裕量,幅值穿越频率和相位穿越频率)
输出校正装置传递函数及其参数:
a1 = 57.6955
T1 = 0.0153
Transfer function:
0.8821 s + 1
-------------
0.01529 s + 1
输出经一次超前网络校正后系统的幅值裕度、相角裕度、穿越频率、剪切频率
gm1 = 4.7519
pm1 = 28.1721
wcg1 = 19.6895
wcp1 = 8.6214
>> margin(sys1) 【输出一次校正后 的bode图】
2.2.3、第二次超前校正后的Bode图:
>> wc2=18.5;
[m2,p2,w2]=bode(sys1);
M2=spline(w2,m2,wc2);
a2=M2^(-2)
T2=1/(wc2*sqrt(a2))
Gc2=tf([a2*T2 1],[T2 1])
sys2=sys1*Gc2;
[Gm2,Pm2,Wcg2,Wcp2]=margin(sys2)
输出经二次超前网络校正后系统的幅值裕度、相角裕度、穿越频率、剪切频率
a2 = 17.5862
T2 = 0.0129
Transfer function:
0.2267 s + 1
-------------
0.01289 s + 1
Gm2 = 7.4523
Pm2 = 65.1847
Wcg2 = 72.6839
Wcp2 = 18.4914
>> margin(sys2) 【输出二次校正后 的bode图】
可求得校正后的传递函数为=
分析:把程序中输出的值与校正前的bode图相结合,可以看出原传递函数可以看出系统是很不稳定的。
通过bode图及程序计算系得的统参数分析一次校正后系统的稳定性:
由前面算第一级网络的传递函数以及第一次校正后系统的幅值裕量,,幅值穿越频率和相位穿越频率程序后的输出结果可得,与校正前相比稳定了很多,但还是没有达到题目的要求,仍需进一步校正。因此还需第二级超前校正网络对其进行校正。
通过bode图及程序计算系得的统参数分析二次校正后系统的稳定性:
由前面算第二级网络的传递函数以及第二次校正后系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率程序后的输出结果可得,与一次校正后的系统相比更为稳定,并且已经满足了题目的要求。根据课本上的介绍可知,经过两级超前网络的校正后,系统已经达到了稳定状态。
3、三种响应曲线
3.1单位脉冲响应
校正前的单位脉冲响应:
程序:
>> num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
closys=feedback(G,1);
impulse(closys)
系统校正前单位脉冲响应:
校正后的单位脉冲响应曲线:
程序:
>> num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([1 0],conv([0.5 1],conv([0.01529 1],conv([0.01289],[0.2 1]))));
G=tf(num,den);Gc=feedback(G,1);
impulse(Gc)
>>
校正后的单位脉冲响应图如下:
3.2、单位阶跃响应
校正前的单位阶跃响应曲线:
程序:
>> num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
closys=feedback(G,1);
step(closys)
>>
系统校正前的单位阶跃响应图如下:
校正后的单位阶跃响应:
程序:
>> num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([1 0],conv([0.5 1],conv([0.01529 1],conv([0.01289],[0.2 1]))));
G=tf(num,den);Gc=feedback(G,1);
step(Gc);
系统校正后的单位阶跃响应曲线图如下:
3.3、单位斜坡响应
校正前的单位斜坡响应:
程序:
>>
num=[0 0 0 10];
den=[1.125 1.125 1 0];
step(num,den);
grid;
title('校正前单位斜坡响应');
>>
校正前单位斜坡响应曲线图如下:
校正后的单位斜坡响应:
程序:
>>
num=[0 0 0 100 10];
den=[12.5 112.625 101.125 1 0];
step(num,den);
grid;
title('校正后单位斜坡响应');
>>
系统校正后的单位斜坡响应曲线图如下:
4、特征根
校正前的特征根
程序:
num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);Gc=feedback(G,1);
[num,den]=tfdata(Gc,'v');
r=roots(den);
disp(r)
输出结果:
-7.4572
0.2286 + 3.6548i
0.2286 - 3.6548i
根据程序计算得的校正前的特征根来判断系统稳定性:
由程序输出结果可知系统校正前有三个特征根,且有两个特征根的实部为正值。系统稳定的充分必要条件为系统特征方程的所有根都具有负实部,或者说都位于s平面的虚轴之左。所有校正前的系统是不稳定的。
系统校正后的特征根:
num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([10],conv([0.51],conv([0.015291],conv([0.01289],[0.2 1]))));
G=tf(num,den);Gc=feedback(G,1);
[num,den]=tfdata(Gc,'v');
r=roots(den);
disp(r)
1.0e+002 *
-0.3343 + 3.1692i
-0.3343 - 3.1692i
-0.0441
-0.0113 5、系统的动态性能指标
校正前的动态性能指标:
程序代码如下:
num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G1=tf(num,den);
G2=feedback(G1,1,-1);
[y,t]=step(G2);
C=dcgain(G2);
[max_y,k]=max(y);
tp=t(k) (求峰值时间)
tp = 11.2802
求超调量:
>> max_overshoot=100*(max_y-C)/C
输出超调量:
max_overshoot = 1.1573e+003
求上升时间:
>> r1=1;
while(y(r1)<0.1*C)
r1=r1+1;
end
r2=1;
while(y(r2)<0.9*C)
r2=r2+1;
end
tr=t(r2)-t(r1)
输出上升时间:
tr = 0.2014
求调节时间:
>> s=length(t);
while y(s)>0.98*C&&y(s)<1.02*C
s=s-1;
end
ts=t(s)
输出调节时间:
ts = 11.8845
校正后的动态性能指标:
程序代码如下:
num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([10],conv([0.51],conv([0.015291],conv([0.01289],[0.2 1]))));
G1=tf(num,den);Gc=feedback(G,1);
G2=feedback(G1,1,-1);
[y,t]=step(G2);
C=dcgain(G2);
[max_y,k]=max(y);
tp=t(k)
tp = 0.0100
>> max_overshoot=100*(max_y-C)/C
max_overshoot = 71.5721
>> r1=1;
while(y(r1)<0.1*C)
r1=r1+1;
end
r2=1;
while(y(r2)<0.9*C)
r2=r2+1;
end
tr=t(r2)-t(r1)
tr = 0.0031
>> s=length(t);
while y(s)>0.98*C&&y(s)<1.02*C
s=s-1;
end
ts=t(s)
ts = 0.11056、系统的稳态误差
求系统校正前的稳态误差:
程序:
>> num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
closys=feedback(G,1);
>> ess=1-dcgain(closys)
输出稳态误差:
ess = 0.1
求系统校正后的稳态误差:
程序代码如下:
>> num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([1 0],conv([0.5 1],conv([0.01529 1],conv([0.01289],[0.2 1]))));
G=tf(num,den);
Gc=feedback(G,1);
ess=1-dcgain(Gc)
输出结果:
ess = 0
对求出的系统校正前与校正后的阶跃响应的动态性能指标σ%、tr、tp、ts以及稳态误差的值,分析其变化:
从上述程序计算得的校正前后的动态系能指标可看出校前的峰值时间tp、超调量%σ、上升时间tr、调节时间ts等均过大,尤其是超调量σ%,可看出系统校正前系统是相当不稳定的。而经过两级超前网络校正后的系统动态性能指标中可看出,校正后的峰值时间tp、超调量σ%、上升时间tr、调节时间ts等均变小了。上升时间tr、峰值时间tp变小了说明系统响应的初始阶段变快了。调节时间ts变小了,说明系统过度过程持续的时间变小了,系统的快速性变好了。超调量σ%变小了,反应出系统响应过程的平稳性变好了。7、根轨迹
校正前的根轨迹
程序:
num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
>> rlocus(G)
输出的校正前的根轨迹图如下:
求分离点及该点的增益:
程序:
>> num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
>> rlocus(G)
>> [k,p]=rlocfind(num,den)
Select a point in the graphics window
输出结果:
selected_point = -0.8839 - 0.0932i
k = 0.0410
p = -5.2412
-0.8794 + 0.0930i
-0.8794 - 0.0930i
由上述程序可知,当将十字光标点在图示中的分离点时,程序会自动生成该点的坐标,以及该点出的相应的增益K*。在校正前的根轨迹中选中分离点,程序中输出该点坐标(近似于分离点的坐标)为(0.0118,-0.0311i),该点的增益为K*=1.1075e-004。
校正后的根轨迹:
程序:
um=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([10],conv([0.51],conv([0.015291],conv([0.01289],[0.2 1]))));
rlocus(num,den);
>> [k,p]=rlocfind(num,den)
Select a point in the graphics window
selected_point = -49.5235 + 0.6429i
k = 3.2829
p = -49.6631 + 0.6250i
-49.6631 - 0.6250i
13.4620 +22.2267i
13.4620 -22.2267i
>> [k,p]=rlocfind(num,den)
Select a point in the graphics window
selected_point =
0.0922 - 0.1001i
k =
1.8736e-004
p =
-65.4018
-5.0997
-1.7365
-0.1641
输出的根轨迹如下:8、系统的Nyquist图
求系统校正前的Nyquist图:
程序:
>>num=10;
den=conv([1 0],conv([0.5 1],[0.2 1]));
G=tf(num,den);
nyquist(G);
系统校正前的Nyquist图如下:
分析:根据所得的Nyquist曲线图可知,开环幅相特性曲线包围(-1,j0)点,开环传递函数已知,可以得出,开环传递函数s右半平面极点个数为零,即P=0,而R0,所以Z=P-R0,所以闭环系统不稳定。
求系统校正后的Nyquist图:
程序:
num=conv(10,conv([0.8821 1],[0.2267 1]));
den=conv([1 0],conv([0.5 1],conv([0.01529 1],conv([0.01289],[0.2 1]))));
G=tf(num,den);
nyquist(G);
图形如下:
图片放大后:
(图中红色十字架为(-1,0i)点)
9、课程设计结束语
自动控制技术已广泛应用于制造业、农业、交通、航空及航天等众多产业部门,极大的提高了社会劳动生产率,改善了人们的劳动条件,丰富和提高了人民的生活水平。在今天的社会生活中,自动化装置无所不在,为人类文明进步做出了重要贡献。
我所做的题目是串联超前校正设计。对于串联超前校正,理论知识很容易理解,但真正的要去解答实际问题,总是会遇到很多我们在课本上没有遇到的问题,经过查找资料和回忆老师上课的讲解,尝试多种方法,求出校正后满足要求的系统,如果没有通过课程设计,没有通过仿真软件进行仿真,是很难发现的。不仅如此,通过这次的课程设计,还对仿真软件matlab的强大功能有了进一步的了解,比如绘制根轨迹、bode图等,这为我以后更好的应用这款软件奠定了基础。
通过本学期对《自动控制原理》这门课程的学习,使我对自动化专业有了更深的了解,同时极大的提高了我对自动化专业的兴趣。课堂学习主要注重于理论知识,而我们要将所学知识应用于实际,在此阶段,课程设计便是最好的选择了,通过课程设计,我们可以温习我们所学的理论知识,同时为将理论知识运用于实际搭建了一个很好的平台,不仅如此,通过这次的课程设计,使我知道了在当今的信息技术如此发达的世界中,我们必须运用多种渠道,去学习研究。并要很好的运用计算机和一些软件,只有这样,我们才能更好地、精确地、快速地解决问题。还有就是提高了我自主解决问题的能力。
10、参考文献
1、程 鹏 .自动控制原理[M] .北京:高等教育出版社, 2009
2、徐薇莉. 自动控制理论与设计[M] 上海:上海交通大学出版社,2001
3. 胡寿松.自动控制原理(第五版).北京科学出版社,2007
4、黄忠霖.控制系统MATLAB计算及仿真 .国防工业出版社, 2010
5、张静 MATLAB在控制系统中的应用 电子工业出版社,2007
6、张德丰. MATLAB自动控制系统设计 机械工业出版社,2010
26
展开阅读全文