资源描述:
《自动控制原理课程设计__用matlab进行控制系统的滞后校正设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、武汉理工大学《自动控制原理》课程设计说明书1滞后校正特性及校正方法1.1滞后校正特性滞后校正就是在前向通道中串联传递函数为的校正装置来校正控制系统,的表达式如下所示。(1.1-1)其中,参数a、T可调。滞后校正的高频段是负增益,因此,滞后校正对系统中高频噪声有削弱作用,增强了抗干扰能力。可以利用滞后校正的这一低通滤波所造成的高频衰减特性,降低系统的截止频率,提高系统的相位裕度,以改善系统的暂态性能。滞后校正的基本原理是利用滞后网络的高频幅值衰减特性使系统截止频率下降,从而使系统获得足够的相位裕度。或者,是利用滞后网络的低通滤波
2、特性,使低频信号有较高的增益,从而提高了系统的稳态精度。可以说,滞后校正在保持暂态性能不变的基础上,提高开环增益。也可以等价地说滞后校正可以补偿因开环增益提高而发生的暂态性能的变化。1.2滞后校正设计的一般步骤与方法(1)按稳态性能指标要求的开环放大系数绘制未校正系统的伯德图。如果未校正系统需要补偿的相角较大,或者在截止频率附近相角变化大,具有这样特性的系统一般可以考虑用滞后校正。(2)在未校正系统的伯德图上找出相角为的频率作为校正后系统的截止频率,其中为要求的相位裕度,为补偿滞后校正在产生的相位滞后,一般取。的选取:是为了补
3、偿滞后校正的相位滞后的,一般限制滞后校正的滞后相角小于,所以可以取小于的值。应取一个尽量小,但又能补偿滞后校正在处的滞后相角的值。一般,若较大,可取小一些。反之,若小,则取大一些。(3)在未校正系统的伯德图上量取量取(或由求取)的分贝值,并令,由此确定参数a(a<1)。这一步的意思是,在11武汉理工大学《自动控制原理》课程设计说明书处,设计滞后校正的幅值与原系统的幅值反向相等才能相互抵消,使校正后系统的截止频率为。(4)取,并由a求参数T。选的原则是使不超过(2)中所选的值,即。校正时只需要近似值,可近似由下式选取。(1.2-
4、1)(5)绘制校正后系统的伯德图,校验各项性能指标,若不满足,可重新选择或的值。11武汉理工大学《自动控制原理》课程设计说明书2校正前系统的分析2.1校正前参数确定2.1.1确定校正前单位反馈系统的开环增益K单位反馈系统的开环传递函数是:要求系统的静态速度误差系数,利用误差系数法确定系统的开环增益K,计算如下。因而校正前系统的开环传递函数为。2.1.2确定校正前单位反馈系统的幅值裕度和相位裕度先求校正前系统的幅值裕度。(2.1-1)(2.1-2)令可以确定幅值裕度对应的相位截止频率。利用三角函数可以求出相位截止频率。因而解得=
5、7.07rad/s。利用可以方便地求出幅值裕度或者h。11武汉理工大学《自动控制原理》课程设计说明书求校正前系统的相位裕度。先求增益穿越频率。在增益穿越频率处,系统的开环频率特性的幅值为1。由上式求得。利用增益穿越频率可以计算。由的值可以确定相角裕度。2.2用MATLAB作出系统校正前的伯德图,并计算系统校正前的幅值裕度和相位裕度。绘制校正前系统的伯德图的MATLAB程序,并由MATLAB计算系统校正前的幅值裕度和相位裕度,程序如下:num=100den=[0.02,0.3,1,0]g1=tf(num,den)[mag,pha
6、se,w]=bode(g1);%绘制g1的幅频特性和相频特性曲线margin(g1)MATLAB得出的结果如下:num=100den=0.02000.30001.00000Transferfunction:100----------------------0.02s^3+0.3s^2+s11武汉理工大学《自动控制原理》课程设计说明书由MATLAB绘制出的系统校正前的伯德图如图1所示。图1校正前系统的伯德图图2-1系统校正前的伯德图由图可以看出幅值域度h=-16.5dB和相角裕度都小于零,系统不稳定,需要串联一个滞后校正环节进行
7、校正,使系统趋于稳定。11武汉理工大学《自动控制原理》课程设计说明书3.确定滞后校正传递函数在MATLAB中输入以下命令:n=[2.31,1];d=[1.65,24.82,82.97,1,0];rlocus(n,d)G=tf(100*n,d);margin(G)其伯德图如下。图3-1系统校正后伯德图由伯德图可得满足设计要求11武汉理工大学《自动控制原理》课程设计说明书4.系统校正前后根轨迹图4.1未校正系统根轨迹图系统校正前传递函数为:由传递函数可知其根轨迹有3条分支,其极点为(0,0),(-10,0),(-5,0),没有零点
8、,其实轴上的主要根轨迹为,渐近线交点为(-5,0)渐近线与实轴夹角,将代入系统特征方程得:令其实部为零,解得:,K=15,故与虚轴交点为(0,7.07),(0,-7.07)和(0,0)解得:(舍去)在matlab的命令窗口中输入的程序为:n=1;d=[0.02,0.3,1,0