资源描述
课程设计报告
题 目 控制系统的校正及仿真
课 程 名 称 自动控制原理
院 部 名 称 机电工程学院
专 业
班 级
学 生 姓 名
学 号
课程设计地点
课程设计学时 一周
指 导 教 师
金陵科技学院教务处制
目录
1、课程设计达到的目的、题目及要求 3
1.1课程设计应达到的目的 3
1.2课程设计题目及要求 3
2、校正函数的设计 4
2.1校正函数理论分析 4
2.2校正函数计算过程及函数的得出 4
3、 传递函数特征根的计算 8
3.1校正前系统的传递函数的特征根 8
3.2校正后系统的传递函数的特征根 8
4、 系统动态性能的分析 10
4.1校正前系统的动态性能分析 10
4.2校正后系统的动态性能分析 13
5、系统的根轨迹分析 16
5.1校正前系统的根轨迹分析 16
5.2校正后系统的根轨迹分析 18
6、系统的幅相特性 20
6.1校正前系统的幅相特性 20
6.2校正后系统的幅相特性 20
7、系统的对数幅频特性及对数相频特性 22
7.1校正前系统的对数幅频特性及对数相频特性 22
7.2校正后系统的对数幅频特性及对数相频特性 23
8、心得体会 26
9、参考文献 27
1、课程设计达到的目的、题目及要求
1.1课程设计应达到的目的
(1)掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。
(2)学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试。
1.2课程设计题目及要求
(1)课程设计题目:
已知单位负反馈系统被控制对象的传递函数为,试用频率法设计串联滞后校正装置,使系统的相角裕量,静态速度误差系数。
(2)课程设计要求:
1)首先, 根据给定的性能指标选择合适的校正方式对原系统进行校正,使其满足工作要求。要求程序执行的结果中有校正装置传递函数和校正后系统开环传递函数,校正装置的参数T,等的值。
2)利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?
3)利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应曲线,分析这三种曲线的关系?求出系统校正前与校正后的动态性能指标σ%、tr、tp、ts以及稳态误差的值,并分析其有何变化?
4)绘制系统校正前与校正后的根轨迹图,并求其分离点、汇合点及与虚轴交点的坐标和相应点的增益值,得出系统稳定时增益的变化范围。绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由?
5)绘制系统校正前与校正后的Bode图,计算系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。判断系统的稳定性,并说明理由?
2、校正函数的设计
2.1校正函数理论分析
频率特性法设计串联无源滞后校正装置的方法:
(1)根据稳态误差要求,确定开环增益K。
(2)利用已确定的开环增益,画出未校正系统的对数频率特性,确定未校正系统的剪切频率,相角裕度和幅值裕度Kg。
(3)根据相角裕度要求,确定校正后系统剪切频率。考虑到滞后网络在新的剪切频率处会产生一定的相角滞后,因此下式成立:
式中,是校正后系统的指标要求值;为未校正系统在处对应的的相角裕度;是滞后网络在处的相角,在确定前可取为左右。于是根据式(3-1)的可计算出校正后系统的相角裕度,通过式(3-1)可计算出并在未校正系统的相频特性曲线上查出相应的值。
(4)根据下述关系式确定滞后网络参数b和T。
式(3-2)成立的原因是明显的,因为要保证校正后系统的剪切频率为上一步所选的值,必须使滞后网络的衰减量20lgb在数值上等于未校正系统在新剪切频率上的对数幅频数值,在未校正系统的对数幅频曲线上可以查出,于是由式(3-2)可计算出b值。
式(3-3)成立的理由是为了不使串联滞后校正的滞后相角对系统的相角裕度有较大影响(一般控制在-6°~-14°的范围内)。根据式(3-3)和已确定的b值,即可算出滞后网络的T值。
(5)验算已校正系统相角裕度和幅值裕度。
2.2校正函数计算过程及函数的得出
(1)首先,由静态速度误差系数,则有:
所以,该系统的开环传递函数为
(2)确定未校正系统的剪切频率,相角裕度和幅值裕度Kg。
MATLAB程序如下:
clear
K=10;num1=1;
den1=conv([1 0],[1 1]);
den=conv([0.125 1],den1);
s1=tf(K*num1,den);
figure(1);
margin(s1);
图2-1 滞后校正前系统的Bode图
即校正前的剪切频率,相角裕度,幅值裕度Kg=-0.915dB。
(3)利用MATLAB语言计算出滞后校正器的传递函数。
要计算出校正后系统的传递函数,就编写求滞后校正器的传递函数的MATLAB程序,其中调用了求滞后校正器传递函数的函数lagc(),lagc.m保存在matlab7.0\work\文件夹下,其中key=1时,为var=gama,是根据要求校正后的相角稳定裕度计算滞后校正器;当key=2时,为var=wc,则是根据要求校正后的剪切频率计算校正器。若已知系统的开环传递函数与要求校正后的相角稳定裕度或剪切频率,求系统串联滞后校正器传递函数时,就可以调用此函数。
lagc.m编制如下:
function [Gc]=lagc(key,sope,vars)
% MATLAB FUNCTION PROGRAM lagc.m
if key==1
gama=vars(1);
gama1=gama+5;
[mu,pu,w]=bode(sope);
wc=spline(pu,w',(gama1-180));
elseif key==2
wc=vars(1);
end
num=sope.num{1};den=sope.den{1};
na=polyval(num,j*wc);
da=polyval(den,j*wc);
g=na/da;g1=abs(g);
h=20*log10(g1);
beta=10^(h/20);
T=10/wc;
betat=beta*T;
Gc=tf([T 1],[betat 1]);
MATLAB程序如下:
clear
K=10;num1=1;
den1=conv([1 0],[1 1]);
den=conv([0.125 1],den1);
sope=tf(K*num1,den);
gama=32;
[Gc]=lagc(1,sope,[gama]);
程序结果为:
即对于校正后系统的相角裕度的滞后校正补偿器传递函数为:
(4)校验系统校正后系统是否满足题目要求。
MATLAB程序如下:
G=tf(10*[9.758 1],conv([0.125,1.125,1,0],[65.97 1]))
[Gm,Pm,Wcp,Wcg]=margin(G);
margin(G)程序结果为:
Transfer function:
97.58 s + 10
----------------------------------------------
8.246 s^4 + 74.34 s^3 + 67.09 s^2 + s
即校正后系统的开环传递函数为:
图2.2 滞后校正后系统的Bode图
即剪切频率,相角裕度,幅值裕度Kg=14.8dB。满足题目要求。
3、 传递函数特征根的计算
3.1校正前系统的传递函数的特征根
校正前的开环传递函数为:
MATLAB程序为:
程序结果为:
故该系统的闭环特征方程为:
MATLAB程序为:
由于校正前系统单位负反馈的特征方程有右半平面的根,故校正前的闭环系统不稳定。
3.2校正后系统的传递函数的特征根
校正后的开环传递函数为:
由以下程序求得闭环传递函数。
程序结果为:
校正后的闭环传递函数为:
故该系统的闭环特征方程为:
MATLAB程序为:
由于校正后系统单位负反馈的特征方程没有右半平面的根,故校正后的闭环系统稳定。
21
4、 系统动态性能的分析
4.1校正前系统的动态性能分析
校正前的开环传递函数为:
(1)单位脉冲响应
MATLAB程序为:
图4-1 校正前系统的单位脉冲响应
(2)单位阶跃响应
MATLAB程序为:
图4-2 校正前系统的单位阶跃响应
由阶跃响应求动态性能参数
要计算出阶跃响应动态性能参数,就编写求解阶跃响应动态性能参数的MATLAB程序,其中调用了函数perf(),perf.m保存在matlab7.0\work\文件夹下,其中key=1时,表示选择5%误差带,当key=2时表示选择2%误差带。y,t是对应系统阶跃响应的函数值与其对应的时间。函数返回的是阶跃响应超调量sigma(即σ)、峰值时间tp、调节时间ts。 perf.m编制如下:
function [sigma,tp,ts]=perf(key,y,t)
%MATLAB FUNCTION PROGRAM perf.m
%
%Count sgma and tp
[mp,tf]=max(y);
cs=length(t);
yss=y(cs);
sigma= (mp-yss)/yss
tp=t(tf)
%Count ts
i=cs+1;
n=0;
while n==0,
i=i-1;
if key==1,
if i==1,
n=1;
elseif y(i)>1.05*yss,
n=1;
end;
elseif key==2,
if i==1,
n=1;
elseif y(i)>1.02*yss,
n=1;
end;
end
end;
t1=t(i);
cs=length(t);
j=cs+1;
n=0;
while n==0,
j=j-1;
if key==1,
if j==1,
n=1;
elseif y(j)<0.95*yss,
n=1;
end;
elseif key==2,
if j==1,
n=1;
elseif y(j)<0.98*yss,
n=1;
end;
end;
end;
t2=t(j);
if t2<tp
if t1>t2;
ts=t1
end
elseif t2>tp,
if t2<t1,
ts=t2
else
ts=t1
end
end
MATLAB程序为:
程序结果为:
即:σ%=-2.1106%,tp=58.4102s,ts=59.4532s。
因为校正前系统不稳定,所以该系统没有稳态误差ess。
(3)单位斜坡响应
在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下:
图4-3 校正前系统的单位斜坡响应的动态结构仿真图
校正前单位斜坡响应曲线如下所示:
图4-4 校正前系统的单位斜坡响应
4.2校正后系统的动态性能分析
校正后的开环传递函数为:
(1)单位脉冲响应
MATLAB程序为:
图4-5 校正后系统的单位脉冲响应
(2)单位阶跃响应
MATLAB程序为:
图4-6 校正后系统的单位阶跃响应
由阶跃响应求动态性能参数
MATLAB程序为:
程序结果为:
即:σ%=0.4231%,tp=3.0401s,ts=6.5479s。
由图可知,系统稳态误差
所以校正后的系统动态性能比校正前的系统动态性能好得多,主要体现在平稳性、快速性和稳态精度上。
(3)单位斜坡响应
在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下:
图4-7校正后系统的单位斜坡响应的动态结构仿真图
校正后单位斜坡响应曲线如下所示:
图4-8 校正后系统的单位斜坡响应
单位脉冲、阶跃、斜坡响应曲线的相互对应关系是:单位脉冲响应的积分是单位阶跃响应曲线,单位阶跃响应的积分是单位斜坡响应。
5、系统的根轨迹分析
5.1校正前系统的根轨迹分析
校正前的开环传递函数为:
MATLAB程序如下:
图5-1 校正前系统的根轨迹
确定分离点坐标:
图5-2 校正前根轨迹的分离点坐标
分离点坐标d=-0.483
增益K*=0.235
确定与虚轴交点的坐标:
图5-3 校正前根轨迹与虚轴的交点坐标
与虚轴的交点坐标:、。
增益K*=8.55
校正前系统稳定时增益K*的变化范围是K*<8.55,而题目中的K*=10,校正前的闭环系统不稳定。
5.2校正后系统的根轨迹分析
校正后的开环传递函数为:
故校正后的开环传递函数也可以写为:
MATLAB程序如下:
图5-4 校正后系统的根轨迹
确定分离点坐标:
图5-5 校正后根轨迹的分离点坐标
分离点坐标d=-0.386
增益K*=2.0
确定与虚轴交点的坐标:
图5-6校正后根轨迹与虚轴的交点坐标
与虚轴的交点坐标:、。
增益K*=51.8
校正前系统稳定时增益K*的变化范围是K*<51.8,而题目中的K*=10,校正后的闭环系统稳定。
6、系统的幅相特性
6.1校正前系统的幅相特性
校正前的开环传递函数为:
MATLAB程序如下:
图6-1 校正前系统的Nyquist曲线
由于开环传递函数中含有一个积分环节,所以从到顺时针补画一圈,再由上图可知,Nyquist曲线顺时针围绕点(-1,j0)两圈,所以,,而,所以校正前闭环系统不稳定。
6.2校正后系统的幅相特性
校正后的开环传递函数为:
MATLAB程序如下:
图6-2 校正后系统的Nyquist曲线
由于开环传递函数中含有一个积分环节,所以从到顺时针补画一圈,再由上图可知,Nyquist曲线顺时针围绕点(-1,j0)0圈,所以,,而,所以,所以校正后闭环系统稳定。
7、系统的对数幅频特性及对数相频特性
7.1校正前系统的对数幅频特性及对数相频特性
校正前的开环传递函数为:
MATLAB程序如下:
图7-1校正前系统的Bode图
求幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。
图7-2校正前系统频域性能指标
由图可知:幅值裕量;相位裕量;幅值穿越频率。
相位穿越频率。
由于开环传递函数中含有一个积分环节,应从对数相频特性曲线上处开始,用虚线向上补画角。所以,在开环对数幅频的频率范围内,对应的开环对数相频特性曲线对线有一次负穿越,即,则,,所以校正前闭环系统不稳定。
7.2校正后系统的对数幅频特性及对数相频特性
校正后的开环传递函数为:
MATLAB程序如下:
图7-3校正后系统的Bode图
求幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。
图7-4校正后系统频域性能指标
由图可知:幅值裕量;相位裕量;幅值穿越频率。
相位穿越频率。
由于开环传递函数中含有一个积分环节,应从对数相频特性曲线上处开始,用虚线向上补画角。所以,在开环对数幅频的频率范围内,对应的开环对数相频特性曲线对线无穿越,即、,则,,所以校正后闭环系统稳定。
并且校正后的系统的相位裕量、静态速度误差系数均符合题目设计的要求,故系统校正到此全部完成。
8、心得体会
在本次自动控制原理课程设计,我学会了如何使用Matlab软件,提高了我的动手、思考和解决问题的能力。
在这次做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个原理的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多原理的功能。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。
这次课程设计也让我明白了,我的理论知识真的还学得不怎么样,在设计过程中遇到了许多的问题,找过很多同学帮忙,才得以解决问题,虽然还有很多不是很理解的地方,但是我的动手设计能力的确在这次的设计中有所提高了。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我也明白了只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能够真的有所收获,才能真正掌握并且会在实践中用好这些知识。以后我会更加努力,多多在实践中去得出结论,用行动去理解理论的知识,让理论知识成为真正有用的知识。
9、参考文献
[1] 张德丰等编.MATLAB控制系统设计与仿真. 北京:电子工业出版社,2009.
[2] 赵广元编. MATLAB与控制系统仿真实践.北京:北京航空航天大学出版社,2009.
[3] 黄忠霖编. 自动控制原理的MATLAB实现[M].北京:国防工业出版社,2007.
[4] 程 鹏编.自动控制原理[M].北京:高等教育出版社,2010.
27
展开阅读全文