重庆大学城市科技学院自动控制原理课程设计.docx
《重庆大学城市科技学院自动控制原理课程设计.docx》由会员分享,可在线阅读,更多相关《重庆大学城市科技学院自动控制原理课程设计.docx(23页珍藏版)》请在冰豆网上搜索。
重庆大学城市科技学院自动控制原理课程设计
课题:
串联超前滞后装置课程设计
专业:
电气工程及其自动化
班级:
姓名:
指导教师:
设计日期:
2013年12月02日
成绩:
重庆大学城市科技学院电气信息学院
目录
一、设计目的2
二、设计要求2
三、实现过程3
3.1系统概述3
3.2、 设计与分析4
3.2.1课程设计题目4
3.2.2串联滞后的概念4
3.2.3设计方法4
3.2.4串联滞后理论分析4
3.2.5MATLAB设计步骤8
四、总结15
五、目录16
六、参考文献18
自动控制原理课程设计报告
一、设计目的
(1)掌握控制系统设计与校正的步骤和方法。
(2)掌握对控制系统相角裕度、稳态误差、剪切频率、相角穿越频率以及增益裕度的求取方法。
(3)掌握利用MATLAB对控制系统分析的技能。
熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。
(4)提高控制系统设计和分析能力。
二、设计要求
1.前期基础知识,主要包括MATLAB系统要素,MATLAB语言的变量与语句,MATLAB的矩阵和矩阵元素,数值输入与输出格式,MATLAB系统工作空间信息,以及MATLAB的在线帮助功能等。
2.控制系统模型,主要包括模型建立、模型变换、模型简化,Laplace变换等等。
3.控制系统的时域分析,主要包括系统的各种响应、性能指标的获取、零极点对系统性能的影响、高阶系统的近似研究,控制系统的稳定性分析,控制系统的稳态误差的求取。
4.控制系统的根轨迹分析,主要包括多回路系统的根轨迹、零度根轨迹、纯迟延系统根轨迹和控制系统的根轨迹分析。
5.控制系统的频域分析,主要包括系统Bode图、Nyquist图、稳定性判据和系统的频域响应。
6.控制系统的校正,主要包括根轨迹法超前校正、频域法超前校正、频域法滞后校正以及校正前后的性能分析。
三、实现过程
3.1、系统概述
MATLAB是美国Mathworks公司推出的一套高性能的数值分析和计算软件。
MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。
1984年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。
它将矩阵运算、数值分析、图形图像处理、仿真实验、编程技术结合在一起,为用户提供了强有力的科学及工程问题分析、计算和设计工具。
●数值计算和符号计算功能
MATLAB以矩阵作为数据操作的基本单位,提供了十分丰富的数据计算函数。
MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。
●绘图功能
MATLAB提供了众多的绘图操作,如二维、三维简单图像和复杂图像的绘制;另外MATLAB还可以用于设计图形用户界面,提供人机交互工作环境。
●编程语言
MATLAB具有程序结构控制、函数调用、数据结构、输入输出等程序语言的特征,而且简单易学、编程效率高。
●MATLAB工具箱
MATLAB除基本部分外还提供各种可选的工具箱。
MATLAB工具箱分为两大类:
功能性工具箱和科学性工具箱。
MATLAB系统包含五个主要部分:
●MATLAB开发环境;
●MATLAB数学函数库;
●MATLAB语言;
●,MATALB图形处理系统;
●MATLAB应用程序接口(API)
Mathworks公司的网址如下。
●www网址:
●匿名FTP服务:
ftp.M
●ftp.M的影像站点:
Novell.felk.cvut.cz
●新闻组:
comp.soft-sys.matlab
●www及FTP的internetIP地址:
141.212.100.10
Mathworks公司的技术服务联系方式如下。
●技术支持:
support@
●BUG报道:
bugs@
●文件库:
matlib@
3.2、 设计与分析
3.2.1课程设计题目
已知单位负反馈系统的开环传递函数
,试用频率法设计串联滞后校正装置,使系统的相位裕度
,静态速度误差系数
,增益欲度
。
3.2.2串联滞后的概念
之后校正设计是指利用校正器对数幅频特性曲线具有负斜率(即幅频曲线的渐近线与横坐标夹角的tan值小于零)的区段及其相频特性曲线具有负相移(即相频曲线的相角值小于零)区段的系统校正设计。
这种设计方法的突出特点是校正后系统的剪切频率比校正前的小,系统的快速性能变差,但系统的稳定性能却得到提高。
可见,在系统快速性要求不是很高,而稳定性与稳态精度要求很高的场合,滞后校正设计方法是很适合的。
3.2.3串联滞后设计
应用频率法确定滞后校正参数的步骤:
1、根据稳态性能指针,绘制未校正系统的波德图
2、选择滞后校正后的截止频率
3、确定滞后校正参数β
4、确定滞后校正的参数T1
5、写出滞后传递函数
6、绘制校正后的伯德图,检验性能指针
3.2.4串联滞后理论分析
1、首先确定开环增益K。
由于
2、未补偿系统开环传递函数应取:
手工画出未补偿系统的对数幅频渐近特性曲线:
如图
(1)所示
(1)确定各环节转折频率,依次标注在ω轴上:
惯性环节1:
惯性环节2:
(2)作L(ω)渐近线起始段,由G(s)可知
,作出
的点,直接作出L(ω)的斜率为-20dB/dec的起始段。
(3)在
(惯性节点转折频率)处,L(ω)的斜率增加-20dB/dec,由-20dB/dec变为-40dB/dec。
(4)在
(惯性节点转折频率)处,L(ω)的斜率增加-20dB/dec,由-40dB/dec变为-60dB/dec。
(5)画出校正前Bode图渐近线的程序代码:
(调用了渐近线求法的子函数bd_asymp2,子函数见附录Ⅰ)
num=40;%分子多项式系数
den=conv([0.062510],[0.21]);%分母多项式系数
G=tf(num,den);%求传递函数
w=logspace(-2,2,200);
[wpos,ypos]=bd_asymp2(G,w);%绘制BODE图渐近线
semilogx(wpos,ypos);%求折点
holdon;
grid
图
(1)未补偿系统的伯德图渐近线
3、未补偿系统的性能:
由图
(1)中可知未补偿系统的
,算出未补偿系统的相角裕度为,
说明待校正系统不稳定,而且穿越频率过大。
在这种情况下,采用串联超前校正是无效的。
可以证明,但超前网络的α值取到100时,系统的相角裕度不能超过40°,而且截止频率会继续加大。
考虑本题对截止频率没有要求,故选用串联滞后校正可以满足需要的性能指标。
4、根据期望的相角裕度
,求出校正后的穿越频率
,由公式
,在确定前
可取–6°,求出
。
5、根据求出的
,通过球相角裕度公式,
使用试探法,解得
7、确定滞后网络参数B和T。
当
,由图
(2)可以测得
,再由
,解得
。
令
,求得
。
于是串联滞后校正网络对数幅频渐近特性曲线如图
(2)中
所示,其传递函数为:
校正后系统的对数幅频渐进特性曲线如图
(2)中
所示,其传递函数为:
8、通过计算在MATLAB中画出全部的渐近线,程序代码如下:
(调用的bd_asymp2子函数,代码在附录Ⅰ)
w=0.01:
1:
100;
num=40;%分子多项式系数
den=conv([0.062510],[0.21]);%分母多项式系数
G=tf(num,den);%求传递函数
Gc=tf([4.21],[70.031]);
G1=series(G,Gc);
[x,y]=bd_asymp2(G,w);%待校正系统对数幅频渐近线
[xc,yc]=bd_asymp2(Gc,w);%滞后校正环节对数幅频渐近线
[x1,y1]=bd_asymp2(G1,w);%滞后校正后系统对数幅频渐近线
figure
(1);
semilogx(x,y,'r');holdon;
semilogx(xc,yc,'b');
semilogx(x1,y1,'k');
grid;
holdoff
图
(2)计算的伯德图渐近线
3.2.5MATLAB设计步骤
1、程序代码:
a.固有特性:
num=40;%分子多项式系数
den=conv([0.062510],[0.21]);%分母多项式系数
G=tf(num,den)%求传递函数
b.固有特性传递函数:
Transferfunction:
2、打开sisotool工具的程序代码:
Sisotool
图(3)SISODesignTool中的系统的图形设计环境反馈控制结构
3、载入固有特性Gs和静态速度误差系数:
根据要求系统的静态速度误差系数Kv=40,补偿器的增益应为1,如图(4)所示
图(4)SISO系统载入数学模型的界面
4、固有特性的根轨迹图和伯德(BODE)图:
从图(5)中Bode图幅频特性图和相位特性图左下角可以看出:
幅值裕度G.M.:
-5.6dB相位裕度P.M.:
-14.8°,
-π穿越频率:
ωg=-12.1rad/sec剪切频率:
ωc=8.94rad/sec。
由计算的数据——相角稳定裕量与模稳定裕量均是负值,这样的系统是根本不能工作的。
这也是从发散振荡的阶跃响应曲线图(6)看到,系统必须校正。
图(5)系统校正前的根轨迹图和bode图
5、校正前的阶跃响应图(Step):
图(6)中,在阶跃响应中有不稳定的状态。
图(6)系统校正前阶跃响应图
6、加入串联滞后校正:
在开环Bode图中点击鼠标右键,选择“AddPole/Zero”下的“Lag”菜单,如图(7)所示。
该命令将在控制器中添加一个滞后校正网络。
这是鼠标的光标变成“X”形状。
图(7)串联校正
7、加入串联校正后的根轨迹图和伯德(BODE)图和串联校正的传递函数C(s):
从图(8)中Bode图幅频特性图和相位特性图左下角可以看出
幅值裕度G.M.:
21dB相位裕度P.M.:
54.9°
-π穿越频率:
ωg=1.64rad/sec剪切频率:
ωc=8.56rad/sec。
可以看出幅值裕度、相位裕度都是满足要求的。
这也可以从比较稳定的阶跃响应曲线图(6)看到,系统满足要求。
图(8)校正后系统的根轨迹图和bode图
8、补偿器的传递函数:
Transferfunction:
9、验证(加入串联滞后校正):
加入串联滞后补偿器的程序:
num=40*[31];%分子多项式系数
den=conv(conv([0.062510],[0.21]),[701]);%分母多项式系数
G=tf(num,den)%求传递函数
Transferfunction:
10、固有函数乘补偿器的根轨迹图和伯德图(BODE)图:
图(9)固有函数乘补偿器的bode图
11、打开校正的阶跃(Step)图:
按图(10)所示选中Analysis(分析),就会显示ResponsePlotSetup这个窗口,点击OK就会显示图(11)的阶跃图
图(10)打开校正后的阶跃响应图
12、校正后的阶跃响应图(Step):
图(11)校正后的阶跃响应图
在图(11)上加入稳态特性
得图(12)的上升时间为:
峰值时间为:
最大超调为:
调节时间为:
图(12)校正后的阶跃响应图
13、系统校正后总公式:
四、总结
经过二个星期的实习,过程曲折可谓一语难尽。
在此期间我也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
通过利用《自动控制原理》课程设计这次机会,我们基本上掌握了MATLAB编程和仿真的应用方法,并加深了对自动控制知识的理解。
在做这次设计的同时我感受到了MATLAB的先进功能,他集成许多工具箱和仿真功能,具有很强的数值计算能力,使烦躁无味且很抽象的自动控制变得简单易学,吸引了大家的积极性。
在实验中,我们遇到了各种问题,如:
我们不能求得bode图的渐近线给我们计算造成极其大的影响,于是我们想到手工绘制渐近线,用CAD绘制渐近线。
这两种结果都有很大的误差。
于是我们团体决定查找MATLAB中bode图的渐近线画法,在我们一天的资料查询阅读中,我们终于完成了MATLAB的渐近线,给我们带来了惊喜的结果。
由于实验室的电脑没有联网,不能使用截屏,所以只能用Alt+Print和画图结合使用,增加了很多不必要的操作。
课程设计版本与平时实验课版本不同,操作时不熟练,在老师的指导下终于明白了方法。
对MATLAB中很对指令和语言不熟,导致我们频频出错。
在设计时对参数的不断尝试让我们明白了比重不断探索的科学研究精神,我想对于将来想从事科技行业的学生这是很重要的。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
某个人的离群都可能导致整项工作的失败。
实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们实习成功的一项非常重要的保证。
而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
我们在这次自动控制原理的课程设计中学习到了很多,我们期待更多类似的课程设计。
五、附录
1、附录Ⅰ(渐近线子函数bd_asymp2)
function[wpos,ypos]=bd_asymp2(G,w)
G1=zpk(G);Gtf=tf(G);
ifnargin==1,
w=freqint2(Gtf.num{1},Gtf.den{1},100);
end
zer=G1.z{1};pol=G1.p{1};gain=G1.k;wpos=[];pos1=[];
fori=1:
length(zer);
ifisreal(zer(i))
wpos=[wpos,abs(zer(i))];pos1=[pos1,20];
else
ifimag(zer(i))>0wpos=[wpos,abs(zer(i))];pos1=[pos1,40];
end,end,end
fori=1:
length(pol);
ifisreal(pol(i))
wpos=[wpos,abs(pol(i))];pos1=[pos1,-20];
else
ifimag(pol(i))>0
wpos=[wpos,abs(pol(i))];pos1=[pos1,-40];
end,end,end
wpos=[wposw
(1)w(length(w))];
pos1=[pos1,0,0];
[wpos,ii]=sort(wpos);pos1=pos1(ii);
ii=find(abs(wpos)w_start=1000*eps;
iflength(ii)>0,
kslp=sum(pos1(ii));
ii=(ii(length(ii))+1):
length(wpos);
wpos=wpos(ii);pos1=pos1(ii);
end
while1
[ypos1,pp]=bode(G,w_start);
ifisinf(ypos1),
w_start=w_start*10;
else,break;end
end
wpos=[w_startwpos];ypos
(1)=20*log10(ypos1);pos1=[kslppos1];
fori=2:
length(wpos)
kslp=sum(pos1(1:
i-1));ypos(i)=ypos(i-1)+...
kslp*log10(wpos(i)/wpos(i-1));
end
ii=find(wpos>=w
(1)&wpos<=w(length(w)));wpos=wpos(ii);ypos=ypos(ii);
2、附录II(无源滞后网络电路图)
3、附录Ⅲ(用CAD画的校正前bode渐近线)
六、参考文献
[1]胡寿松·自动控制原理·北京·国防工业出版社
[2]章燕申·控制系统的设计与实践·北京·清华大学出版社
[3]魏克新·MATALAB语言与自动控制系统设计·北京·机械工业出版社
[4]黄忠霖·控制系统MATLAB设计与仿真·北京·国防工业出版社
[5]谢自美·电子线路设计·实验测试·武汉·华中科技大学出版社
[6]张志涌、杨祖樱·2006.MATLAB教程·北京·北京航空航天大学出版社
[7]徐海军、王元飞·2004自动控制习题同步指导·北京航空工业出版社
[8]张德丰·2010MATLAB自动控制系统设计·机械工业出版社