1、用MATLAB进行控制系统的滞后 超前校正设计说明课程设计任务书学生姓名: 专业班级: 指导教师: 程 平 工作单位: 自动化学院 题 目: 用MATLAB进行控制系统的滞后超前校正设计 初始条件:已知一单位反馈系统的开环传递函数是要求系统的静态速度误差系数,,。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、 MATLAB作出满足初始条件的最小K值的系统伯德图,计算系统的幅值裕量和相位裕量。 2、前向通路中插入一相位滞后超前校正,确定校正网络的传递函数。3、用MATLAB画出未校正和已校正系统的根轨迹。4、用Matlab对校正前后的系统进行仿真分析,画出
2、阶跃响应曲线5、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。说明书的格式按照教务处标准书写。时间安排: 任务时间(天)审题、查阅相关资料2分析、计算3编写程序2撰写报告2论文答辩1指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要串联滞后-超前校正兼有滞后校正和超前校正的优点,即已校正系统的响应速度较快,超调量较小,抑制高频噪声的性能也较好。当校正系统不稳定,且要求校正后系统的响应速度,相角裕度和稳态精度较高时,以采用串联滞后-超前校正为宜。其基本原理是利用滞后-超前网络的超前部分来增大系统的相角裕度,同时利用滞后部分来改善系统的稳态性能
3、。此次课程设计就是利用MATLAB对一单位反馈系统进行滞后-超前校正。通过运用MATLAB的相关功能,绘制系统校正前后的伯德图、根轨迹和阶跃响应曲线,并计算校正后系统的时域性能指标。关键字:超前-滞后校正 MATLAB 伯德图 时域性能指标用MATLAB进行控制系统的滞后超前校正设计1 滞后-超前校正设计目的和原理1.1 滞后-超前校正设计目的所谓校正就是在系统不可变部分的基础上,加入适当的校正元部件,使系统满足给定的性能指标。校正方案主要有串联校正、并联校正、反馈校正和前馈校正。确定校正装置的结构和参数的方法主要有两类:分析法和综合法。分析法是针对被校正系统的性能和给定的性能指标,首先选择合
4、适的校正环节的结构,然后用校正方法确定校正环节的参数。在用分析法进行串联校正时,校正环节的结构通常采用超前校正、滞后校正和滞后-超前校正这三种类型。超前校正通常可以改善控制系统的快速性和超调量,但增加了带宽,而滞后校正可以改善超调量及相对稳定度,但往往会因带宽减小而使快速性下降。滞后-超前校正兼用两者优点,并在结构设计时设法限制它们的缺点。1.2 滞后-超前校正设计原理滞后-超前校正RC网络电路图如图1所示。图1 滞后-超前校正RC网络下面推导它的传递函数:令,则其中为超前部分的参数,为滞后部分。对控制系统进行串联滞后-超前校正的基本原理是利用滞后-超前校正装置的滞后部分改善控制系统的稳态性能
5、,同时利用其超前部分改善控制系统的动态性能。在确定校正装置的参数时,两部分基本上可以独立进行。设计串联滞后-超前校正装置的基本步骤大致如下:1.根据控制系统稳态性能指标的要求,确定校正后系统的开环放大数K。2.基于步骤(1)中的开环放大倍数K,绘制待校正系统的开环对数幅频特性,并求出此时系统的截止角频率和相角稳定裕度。3.在待校正系统的对数幅频特性上,取斜率从-20dB/dec变为-40dB/dec的转折角频率作为校正装置超前部分的第一转折角频率,这实际上是利用校正装置中超前部分的比例微分项和未校正系统中的惯性环节相对消的原理。这样做即可以降低校正后系统的阶次,又可以保证中频区域的斜率为-20
6、dB/dec,并占有较宽的频带。4.根据响应的速度的要求,确定校正后系统的截止角频率,并由该角频率处待校正系统的对数幅值计算校正装置滞后部分的分度系数。要保证校正后系统的截止角频率为以确定的,当时,下列等式成立5.根据滞后部分在校正后系统的截止角频率处产生的相角滞后越小越好的原则,确定滞后部分的第二转折角频率,一般可以取进而计算出的值,则滞后-超前校正装置滞后部分的传递函数即可求出为,6.根据系统相角稳定裕度的要求确定超前部分的时间常数,这时下列等式成立式中,是待校正系统在校正后系统截止角频率处的相角。由于上式中只有还未知,因此可以解出来,从而得到超前部分的传递函数为这样,串联滞后-超前校正装
7、置的传递函数可以求出为 7.校验校正后系统的性能指标。2 滞后-超前校正的设计过程2.1 校正前系统的参数根据初始条件,调整开环传递函数:当系统的静态速度误差系数时,。则满足初始条件的最小K值时的开环传递函数为2.1.1 用MATLAB绘制校正前系统的伯德图绘制伯德图可用命令bode(num,den)程序:num=50;den=0.002,0.12,1,0;bode(num,den)grid得到的伯德图如图2所示。图2 校正前系统的伯德图2.1.2 用MATLAB求校正前系统的幅值裕量和相位裕量用命令margin(G)可以绘制出G的伯德图,并标出幅值裕量、相位裕量和对应的频率。用函数kg,r,
8、wg,wc=margin(G)可以求出G的幅值裕量、相位裕量和幅值穿越频率。程序:num=50;den=0.002,0.12,1,0;G=tf(num,den);margin(G)kg,r,wg,wc=margin(G)得到的幅值裕量和相位裕量如图3所示。图3 校正前系统的幅值裕量和相位裕量又matlab运行界面可以得到运行结果: kg=1.2000 r=3.9431 wg=22.3607 wc=20.3882即幅值裕量:,相角裕量:,穿越频率:,截止频率:2.1.3 用MATLAB绘制校正前系统的根轨迹MATLAB中专门提供了绘制根轨迹的有关函数。p,z=pzmap(num,den)的功能是
9、绘制连续系统的零、极点图。r,k=rlocus(num,den)的功能是绘制部分的根轨迹。程序:num=50;den=0.002,0.12,1,0;rlocus(num,den)得到校正前系统的根轨迹如图4所示。图4 校正前系统的根轨迹2.1.4 对校正前系统进行仿真分析Simulink是可以用于连续、离散以及混合的线性、非线性控制系统建模、仿真和分析的软件包,并为用户提供了用方框图进行建模的图形接口,很适合于控制系统的仿真。仿真后得到的结果如图5和图6所示。图5 校正前系统的仿真图图6 校正前系统仿真的阶跃响应曲线由Simulink仿真得到的图形可以看出原系统的阶跃响应并不理想。其响应的速度
10、慢而且超调量明显过大,因此要将此系统串联滞后-超前校正来改善其性能指标。2.2 滞后-超前校正设计参数计算2.2.1 校正装置的传递函数2.2.2 确定校正参数先确定领先部分比例微分项的时间常数。为了计算方便和简单起见,又考虑到降低校正后系统的阶次,取,以对消原系统中的一个惯性环节,这样,图中对数幅频特性斜率从-20dB/dec变为-40dB/dec的转折角频率处曲线仍为-20dB/dec,至变为-40dB/dec。 根据设计指标要求,取校正后系统的截止角频率。在处下式成立,可以测算得,于是可以求得确定校正装置的滞后部分的传递函数。取则则滞后部分的传递函数为这样校正后系统的传递函数为根据相角稳
11、定裕度的要求计算出。由于在时,求得。于是最后得到串联滞后-领先校正装置的传递函数为校正后的开环传递函数为2.3 滞后-超前校正后的验证由于校正过程中,多处采用的是近似计算,可能会造成滞后-超前校正后得到的系统的传递函数不满足题目要求的性能指标。所以需要对滞后-超前校正后的系统进行验证。下面用MATLAB求已校正系统的相角裕量和幅值裕量。2.3.1 用MATLAB求校正后系统的幅值裕量和相位裕量程序:num=33.35,50;den=0.001332,0.1116,2.27,1,0;G=tf(num,den);margin(G)kg,r,wg,wc=margin(G)得到的校正后系统的幅值裕量和
12、相位裕量如图7所示。运行结果: kg= 5.2549 r= 48.3850 wg= 39.7404 wc= 13.5142即校正后系统的幅值裕量:,相角裕量:,穿越频率:,截止频率:由以上数据可以看出满足题目要求的性能指标系统的静态速度误差系数,,。因此设计的滞后-超前校正系统满足要求。图7 校正后系统的幅值裕量和相位裕量假设验证结果不满足指标,重新选择校正后的截止频率,重复上述过程,直到满足性能指标为止。2.3.2 用MATLAB绘制校正后系统的伯德图程序:num=33.35,50;den=0.001332,0.1116,2.27,1,0;bode(num,den)grid得到的伯德图如图8
13、所示。图8 校正后系统的伯德图2.3.3 用MATLAB绘制校正后系统的根轨迹程序:num=33.35,50;den=0.001332,0.1116,2.27,1,0;rlocus(num,den)得到的校正后系统的根轨迹如图9所示。图9 校正后系统的根轨迹2.3.4 用MATLAB对校正前后的系统进行仿真分析用Simulink对校正后的系统仿真。仿真后得到的结果如图10和图11所示。图10 校正后系统的仿真图图11 校正后系统仿真的阶跃响应曲线由图像可以看到与图6校正前系统仿真的阶跃响应曲线有明显区别,其超调量以及响应速度,调节时间都有明显的改善。还有串联此校正装置得到的性能指标满足题目的要
14、求。用MATLAB编程绘出阶跃响应曲线程序:k=50;num=conv(0.667,1,0,1);den=conv(conv(conv(1,0,0.02,1),2.22,1),0.03,1);sys=tf(k*num,den);Lsys=feedback(sys,1,-1);y,t,x=step(Lsys);plot(t,y);grid得到的阶跃响应曲线如图12所示。图12 校正后阶跃响应曲线用MATLAB编程绘出系统校正前后阶跃响应曲线程序:k1=50;num1=conv(0.667,1,0,1);den1=conv(conv(conv(1,0,0.02,1),2.22,1),0.03,1);sys1=tf(k1*num1,den1);Lsys1=feedback(sys1,1,-1);y1,t1,x1=step(Lsys1);k2=50;num2=conv(0,1,0,1);den2=conv(conv(1,0,0.1,1),0.02,1);sys2=tf(k2*num2,den2);Lsys2=feedback(sys2,1,-1);y2,t2,x2=step(Lsys2);plot(t1,y1,-r,t2,y2,-);grid得到的系统校正前后阶跃响应曲线见图13图13 系统
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1