1、学 号: 0121111360232课 程 设 计题 目用MATLAB进行控制系统的超前校正设计学 院自动化学院专 业自动化班 级自动化11班姓 名指导教师谭思云2013年12月25日课程设计任务书学生姓名: 刘嘉雯 专业班级:自动化1102班 指导教师: 谭思云 工作单位: 自动化学院 题 目: 用MATLAB进行控制系统的超前校正设计。 初始条件:已知一单位反馈系统的开环传递函数是要求系统的静态速度误差系数。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、 用MATLAB作出满足初始条件的K值的系统伯德图,计算系统的幅值裕度和相位裕度。2、 在系统前向
2、通路中插入一相位超前校正,确定校正网络的传递函数,并用MATLAB进行验证。3、 用MATLAB画出未校正和已校正系统的根轨迹。4、 课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。说明书的格式按照教务处标准书写。时间安排:1、 课程设计任务书的布置,讲解 (半天)2、 根据任务书的要求进行设计构思。(半天)3、 熟悉MATLAB中的相关工具(一天)4、 系统设计与仿真分析。(三天)5、 撰写说明书。 (二天)6、 课程设计答辩(半天)指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要11课程设计目的22设计条件及任务要求22.1设计条件
3、22.2设计任务要求23设计基本原理33.1超前校正33.2根轨迹法54设计过程64.1基本思路及步骤64.2校正前系统分析64.2.1开环增益64.2.2相位裕度和幅值裕度74.2.3伯德图84.2.4根轨迹94.3超前校正系统设计104.3.1 理论分析104.3.2参数计算114.3.3编程设计124.4校正后系统分析134.4.1伯德图134.4.2根轨迹145结果对比与分析155.1校正前后阶跃响应曲线155.2结果分析166总结17参考文献18摘要在自动控制理论中,超前校正是相当重要的一环,对于系统的优化有很重要的意义。用MATLAB进行控制系统的超前校正设计是对所学的自动控制原理
4、的初步运用。本课程设计先针对校正前系统的稳定性能,用MATLAB画出其根轨迹及伯德图进行分析,是否达到系统的要求,然后对校正装置进行参数的计算和选择,串联适当的超前校正装置。最后通过阶跃响应曲线对比前后系统,论证校正后的系统是否达到要求。关键字:超前校正 MATLAB 伯德图 根轨迹用MATLAB进行控制系统的超前校正设计1课程设计目的本次课程设计通过让学生自主设计控制系统,进一步加深对自动控制原理基本知识的掌握和认识,更深入地研究相关理论。并通过对系统的分析和设计,提高实际动手能力。使用MATLAB软件,学习利用根轨迹及伯德图等对系统进行分析。旨在培养学生的系统分析能力、设计能力及编程能力,
5、巩固理论所学。2设计条件及任务要求2.1设计条件初始条件如下:已知一单位反馈系统的开环传递函数是 要求系统的静态速度误差系数,。2.2设计任务要求(1)用MATLAB作出满足初始条件的K值的系统伯德图,计算系统的幅值裕度和相位裕度。(2)在系统前向通路中插入一相位超前校正,确定校正网络的传递函数,并用MATLAB进行验证。(3)用MATLAB画出未校正和已校正系统的根轨迹。(4)课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。说明书的格式按照教务处标准书写。3设计基本原理3.1超前校正超前校正的基本原理就是利用超前相角补偿系统的滞后相角,改善系统的动态性能,增
6、加相位裕度,提高系统的稳定性。超前校正利用超前网络或PD控制器进行串联校正,在前向通道中串联传递函数为:=,1其中参数、为可调,如图3-1所示。图3-1超前校正装置结构图超前校正装置的伯德图如图3-2所示。图3- 2超前校正网络的伯德图超前校正的目的是改善系统的动态性能,实现在系统静态性能不受损的前提下,提高系统的动态性能。通过加入超前校正环节,利用其相位超前特性来增大系统的相位裕度,改变系统的开环频率特性,提高其稳定性。一般使校正环节的最大相位超前角出现在系统新的穿越频率点。如图3-3所示,典型的无源超前装置由阻容元件组成。装置的传递函数为 (1) 式中 图3-3典型无源超前装置 通常a为分
7、度系数,T叫时间常数,由式(1)可知,采用无源超前网络进行串联校正时,整个系统的开环增益要下降a倍,因此需要提高放大器增益交易补偿。根据式(1),可以得无源超前网络的对数频率特性,超前网络对频率在1/aT至1/T之间的输入信号有明显的微分作用,在该频率范围内,输出信号相角比输入信号相角超前,超前网络的名称由此而得。在最大超前角频率处,具有最大超前角。超前网络(2-1)的相角为: (2)将上式对求导并且令其为零,得到最大超前角频率: 将上式代入(2),得最大超前角: 同时还容易得到。最大超前角仅仅与衰减因子a有关,a值越大,超前网络的微分效果越强。但是a的最大值还受到超前网络物理结构的制约,通常
8、情况下,a取为20左右,这也就意味着超前网络可以产生的最大相位超前约为65,如果所需要的大于65的相位超前角,那么就可以采用两个超前校正网络串联实现,并且在串联的两个网络之间加入隔离放大器,借以消除它们之间的负载效应。所以通过以上的分析发现,利用超前网络进行串联校正的基本原理,是利用超前网络的相角超前特性。只要正确的将超前网络的交接频率1/aT或1/T选在待校正系统截止频率的两旁,并适当的选择参数a和T,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善系统的动态性能,使校正后的系统具有以下特点:(1)低频段的增益满足稳态精度的要求;(2)中频段对数幅频特性的斜率为-20db/
9、dec,并且具有较宽频带,使系统具有满足的动态性能;(3)高频段要求幅值迅速衰减,以减少噪声的影响。3.2根轨迹法根轨迹法是一种求特征根的简单方法,在控制系统的分析与设计中得到广泛的应用。这一方法不直接求解特征方程,用作图的方法表示特征方程的根与系统某一参数的全部数值关系,当这一参数取特定值时,对应的特征根可在上述关系图中找到。这种方法叫根轨迹法。根轨迹法具有直观的特点,利用系统的根轨迹可以分析结构和参数已知的闭环系统的稳定性和瞬态响应特性,还可分析参数变化对系统性能的影响。在设计线性控制系统时,可以根据对系统性能指标的要求确定可调整参数以及系统开环零极点的位置,即根轨迹法可以用于系统的分析与
10、综合。在控制系统的分析和综合中,往往只需要知道根轨迹的粗略形状。由相角条件和幅值条件所导出的 8条规则,为粗略地绘制出根轨迹图提供方便的途径。根轨迹绘制方法如下:(1)根轨迹的分支数等于开环传递函数极点的个数。(2)根轨迹的始点(相应于K=0)为开环传递函数的极点,根轨迹的终点(相应于K=)为开环传递函数的有穷零点或无穷远零点。(3)根轨迹形状对称于坐标系的横轴(实轴)。(4)实轴上的根轨迹按下述方法确定:将开环传递函数的位于实轴上的极点和零点由右至左顺序编号,由奇数点至偶数点间的线段为根轨迹。(5)实轴上两个开环极点或两个开环零点间的根轨迹段上,至少存在一个分离点或会合点,根轨迹将在这些点产
11、生分岔。(6)在无穷远处根轨迹的走向可通过画出其渐近线来决定。渐近线的条数等于开环传递函数的极点数与零点数之差。(7)根轨迹沿始点的走向由出射角决定,根轨迹到达终点的走向由入射角决定。(8)根轨迹与虚轴(纵轴)的交点对分析系统的稳定性很重要,其位置和相应的K值可利用代数稳定判据来决定。4设计过程4.1基本思路及步骤超前校正的方法有很多种,本次课程设计中采用频域法。步骤如下:(1)根据稳态误差要求,确定开环增益K。(2)利用已确定的开环增益,计算待校正系统的相角裕度和幅值裕度。(3)根据截止频率的要求,计算a和T。令,以保证系统的响应速度,并充分利用网络的相角超前特性。显然成立的条件是 根据上式
12、不难求出a值,然后确定T。(4)验算已校正系统的相角裕度。验算时,求得,再由已知的算出待校正系统在时的相角裕度。最后,按下式算出 如果验算结果不满足指标要求,要重选,一般使增大,然后重复以上步骤。4.2校正前系统分析4.2.1开环增益校正前系统开环传递函数为:题目要求系统的静态速度误差系数取Kv=6,根据静态速度误差系数Kv的计算公式:得:Kv=6 可知校正前的开环增益为:K=6。则校正前的开环传递函数为:4.2.2相位裕度和幅值裕度使开环频率特性的相角为的频率,称为相位穿越频率,即 使开环频率特性的幅值为1或者的频率,称为增益穿越频率或者截止频率,即或者 相角裕度和幅值裕度或的定义如下: 或
13、者 根据和可列出如下方程:=-180 求得校正前系统截止频率,相位穿越频率。于是得出校正前系统的相位裕度和幅值裕度为,。 4.2.3伯德图由伯德图可得校正前系统的相位裕度和幅值裕度。由校正前系统开环传递函数:用MATLAB绘制伯德图的程序如下:clear all;k0=6;n1=1;d1=conv(1 0,conv(0.1 1,0.3 1);mag,phase,w=bode(k0*n1,d1);figure(1);margin(mag,phase,w);hold onfigure(2);s1=tf(k0*n1,d1);sys=feedback(s1,1);step(sys)由MATLAB绘制出
14、的系统校正前的伯德图如图4-1所示。图4-1校正前系统伯德图由图可知,校正前系统:相位裕度 截止频率 幅值裕度 穿越频率用MATLAB得出的结果与计算结果一致。4.2.4根轨迹用MATLAB绘制根轨迹的程序如下: num=1; den=0.03 0.4 1 0; rlocus(num,den) 图4-2为校正前系统的根轨迹。图4-2 校正前系统根轨迹4.3超前校正系统设计 4.3.1 理论分析 先求取超前校正的最大超前相角及取得最大超前相角的频率。 超前校正时系统的截止频率增大,未校正系统的相角一般是较大的负相角。这里 加上一个附加角,用于补偿。 超前校正的频率特性 相频特性 令,求得 于是
15、即当时,超前相角最大为。可以看出,只与有关。由上面的结果可见,只与有关。越大,越大,对系统的相角补偿越大,超前网络的微分效应越强,高频干扰越严重,为了保持较高的系统信噪比,实际选用的值一般不超过20。进一步分析还可以得到,当(即),的增加就不显著了。当时,超前校正最大补偿相角为,其实是不可能实现的。同时越大,需要增加的放大倍数越大,校正环节的物理实现就越困难。所以,综合考虑上述因素,一般取,即用超前校正补偿的相角一般不超过。4.3.2参数计算取附加角 最大超前相角 则求得校正后开环截止频率为. T=0.0529s 也可在校正前系统伯德图上作直线与未校正系统对数幅频特性曲线相交, 即可求出校正后
16、开环截止频率。因此可以得出超前校正的传递函数为: 4.3.3编程设计可利用MATLAB编程,直接得到超前校正装置的传递函数。程序如下: k=6;n1=1;d1=conv(1 0,conv(0.1 1,0.3 1);mag,phase,w=bode(k*n1,d1);gama=50;gama1=gama-21.2+30;gam=gama1*pi/180;a=(1-sin(gam)/(1+sin(gam);abd=20*log10(mag);am=20*log10(sqrt(a);wc=spline(abd,w,am);T=1/(wc*sqrt(a);Gc=tf(T 1,a*T 1)MATLAB编
17、程结果如图4-3所示。图4-3 MATLAB显示结果4.4校正后系统分析4.4.1伯德图加入超前校正装置后,系统的传递函数为:用MATLAB绘制伯德图的程序如下: n1=6;d1=conv(1 0,conv(0.1 1,0.3 1);s1=tf(n1,d1);s2=tf(0.4401 1,0.05278 1);sope=s1*s2;mag,phase,w=bode(sope);margin(mag,phase,w) 由MATLAB绘制出的系统校正后的伯德图如图4-4所示。 图4-4校正后系统伯德图由图可知,校正后系统:相位裕度,截止频率 。 4.4.2根轨迹用MATLAB绘制根轨迹的程序如下:
18、 num=6*0.4401 1;den1=conv(1 0,0.1 1);den2=conv(0.3 1,0.05278 1);den=conv(den1,den2);G1=tf(num,den);rlocus(G1)图4-5为系统校正后的根轨迹图。 图4-5校正后系统根轨迹5结果对比与分析5.1校正前后阶跃响应曲线用MATLAB画出校正前后系统的单位阶跃响应的程序为num1=6;den1=0.03,0.4,1,0;num3=2.6406,6;den3=0.00158,0.0512,0.453,1,0;t=0:0.02:5numc1,denc1=cloop(num1,den1)y1=step(
19、numc1,denc1,t)numc3,denc3=cloop(num3,den3)y3=step(numc3,denc3,t)plot(t,y1,y3);gridgtext(before)gtext(after)所得阶跃响应曲线如图5-1所示。图5-1校正前后阶跃响应曲线5.2结果分析由校正后系统伯德图和根轨迹可以看出,由于采用了串联超前校正,相角裕度由原来的21.2增大到45.5,满足系统的静态速度误差系数,的要求。由系统单位阶跃响应曲线可以看出:(1)加入校正装置后,校正后系统单位阶跃响应的调节时间大大减小,大大提升了系统的响应速度。(2)校正后系统的超调量明显减小了,阻尼比增大,动态性
20、能得到改善。(3)校正后系统的上升时间减小很多,从而提升了系统的响应速度。综上,串入超前校正装置后,明显地提升了系统的动态性能指标,增强了系统的稳定性。6总结通过这次对控制系统的超前校正的设计与分析,我对串联超前校正环节有了更清晰的认识,加深了对课本知识的进一步理解,也让我更进一步熟悉了相关的MATLAB软件的基本编程方法和使用方法。通过复习课本知识以及查阅有关资料确定了整体思路,通过自己演算确定校正网络参数,然后运用MATLAB软件编程验证,作图。在word编辑以及MATLAB软件遇到了一系列问题,通过上网查询或者请教同学都得到了解决,因而设计的过程中也提高了我的各方面能力,收获很大。本次课
21、程设计的核心之一是MATLAB软件的使用,MATLAB是一款功能十分强大的软件,不仅在信号与系统上有充分的应用,在自动控制上也显示出了它强大的功能。用MATLAB可以绘制跟轨迹,伯德图,那奎斯特图,还可以仿真。平时上课只知道课本上的理论知识,其实MATLAB就是一个理论与实际联系的很好的工具,通过学会用MATLAB我可以更好的理解课本上的理论知识。 总之,通过本次课程设计我体会到了学习自动控制原理,不仅要掌握书本上的内容,还要灵活思考,善于变换,在提出问题、分析问题、解决问题的过程中提高自己分析和解决实际问题的能力。要把理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。并且
22、以后一定要多读多写MATLAB的各种程序,以便在将来的工作学习中能更好的应用!参考文献1 胡寿松.自动控制原理(第四版).北京:科学出版社,20022 王万良.自动控制原理.北京:科学出版社,20013 宋乐鹏.自动控制原理.北京:清华大学出版社,20124 马莉.MATLAB语言实用教程.北京:清华大学出版社,20105 黄坚.自动控制原理及其应用.北京:高等教育出版社,2004附录常用MATLAB函数简介(1)step函数用MATLAB作控制系统单位阶跃响应时,如果已知系统的传递函数的系数,则可以用step(num,den)或者step(num,den,t),就得到系统的单位阶跃响应曲线。
23、step(num,den)中没有指定时间t,系统会自动生成时间向量,响应曲线图的坐标也是自动标注的。若采用命令step(num,den,t)求系统的单位阶跃响应,其中的时间t由用户指定,MATLAB会根据用户给定的时间t,算出对应的坐标值。执行该命令不能自动画出系统的单位阶跃响应图,而要令加plot绘图命令。除了求单位阶跃响应的step函数,MATLAB中还提供了求系统各种响应的函数,例如求脉冲响应的impluse命令、求系统零输入响应的initial命令。(2)rlocus 函数虽然用手工精确绘制系统根轨迹是非常困难的,但用计算机很容易精确地绘制出根轨迹。MATLAB中专门提供了绘制根轨迹的
24、有关函数。 p,z=pzmap(num,den)的功能是绘制连续系统的零、极点图。 r,k=rlocus(num,den)和r,k=rlocus(num,den,k)的功能是绘制根轨迹图。r,k=rlocus(num,den)是绘制部分的根轨迹。系统自动确定坐标轴的分度。如果用户需要设置坐标的范围,只要在程序中加上指令:v=-x,x,-y,y;axis(v)。如果要以给定的参数范围绘制根轨迹,则执行命令k,poles=rlofind(num,den,p)。 k,poles=rlofind(num,den)和k,poles=rlofind(num,den,p)的功能是确定根轨迹上poles处的根
25、轨迹放大系数的值。(3) bode函数MATLAB中,绘制伯德图可用命令bode(num,den)。如果需要给出频率的范围,可调用指令w=logspace(a,b,n),频率的采样点的值在十进制数和之间产生个十进制对数分度的等距离点。如果需要指定幅值mag和相角phase范围,则执行命令mag,phase,w=bode(num,den)MATLAB在频率响应范围内能够自动选取频率值绘图。本科生课程设计成绩评定表姓 名刘嘉雯性 别女专业、班级自动化1102班课程设计题目:用MATLAB进行控制系统的超前校正设计课程设计答辩或质疑记录:成绩评定依据:序号评定项目评分成绩1选题合理、目的明确(10分)2设计方案正确,具有可行性、创新性(20分)3设计结果(例如:硬件成果、软件程序)(25分)4态度认真、学习刻苦、遵守纪律(15分)5设计报告的规范化、参考文献充分(不少于5篇)(10分)6答辩(20分)总分最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日