您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验五--线性系统的稳定性和稳态误差分析
实验五自动控制系统的稳定性和稳态误差分析一、实验目的1、研究高阶系统的稳定性,验证稳定判据的正确性;2、了解系统增益变化对系统稳定性的影响;3、观察系统结构和稳态误差之间的关系。二、实验任务1、稳定性分析欲判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。(1)已知单位负反馈控制系统的开环传递函数为0.2(2.5)()(0.5)(0.7)(3)sGsssss,用MATLAB编写程序来判断闭环系统的稳定性,并绘制闭环系统的零极点图。在MATLAB命令窗口写入程序代码如下:z=-2.5p=[0,-0.5,-0.7,-3]k=0.2Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)dc=Gctf.dendens=poly2str(dc{1},'s')运行结果如下:dens=s^4+4.2s^3+3.95s^2+1.25s+0.5dens是系统的特征多项式,接着输入如下MATLAB程序代码:den=[1,4.2,3.95,1.25,0.5]p=roots(den)运行结果如下:p=-3.0058-1.0000-0.0971+0.3961i-0.0971-0.3961ip为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是稳定的。下面绘制系统的零极点图,MATLAB程序代码如下:z=-2.5p=[0,-0.5,-0.7,-3]k=0.2Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)[z,p,k]=zpkdata(Gctf,'v')pzmap(Gctf)grid运行结果如下:z=-2.5000p=-3.0058-1.0000-0.0971+0.3961i-0.0971-0.3961ik=0.2000输出零极点分布图如图3-1所示。图3-1零极点分布图(2)已知单位负反馈控制系统的开环传递函数为(2.5)()(0.5)(0.7)(3)ksGsssss,当取k=1,10,100用MATLAB编写程序来判断闭环系统的稳定性。只要将(1)代码中的k值变为1,10,100,即可得到系统的闭环极点,从而判断系统的稳定性,并讨论系统增益k变化对系统稳定性的影响。当K=1时,MATLAB程序如下:z=-2.5p=[0,-0.5,-0.7,-3]k=1Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)[z,p,k]=zpkdata(Gctf,'v')pzmap(Gctf)gridz=-2.5000p=0-0.5000-0.7000-3.0000k=1Zero/pole/gain:(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)Zero/pole/gain:(s+2.5)--------------------------------------------(s+3.03)(s+1.332)(s^2-0.1616s+0.6195)Transferfunction:s+2.5---------------------------------------s^4+4.2s^3+3.95s^2+2.05s+2.5z=-2.5000p=-3.0297-1.33190.0808+0.7829i0.0808-0.7829ik=1波形图如下:-3.5-3-2.5-2-1.5-1-0.500.5-0.8-0.6-0.4-0.200.20.40.60.80.40.660.820.90.9450.9740.990.9970.40.660.820.90.9450.9740.990.9970.511.522.533.5Pole-ZeroMapRealAxisImaginaryAxis图一:K=1时的零点极点分布图当K=1时,由于闭环极点不是全都具有负实部,所以该系统是不稳定的。当K=10时,MATLAB程序如下:z=-2.5p=[0,-0.5,-0.7,-3]k=10Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)[z,p,k]=zpkdata(Gctf,'v')pzmap(Gctf)gridz=-2.5000p=0-0.5000-0.7000-3.0000k=10Zero/pole/gain:10(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)Zero/pole/gain:10(s+2.5)-----------------------------------------(s+2.082)(s+3.335)(s^2-1.217s+3.6)Transferfunction:10s+25---------------------------------------s^4+4.2s^3+3.95s^2+11.05s+25z=-2.5000p=0.6086+1.7971i0.6086-1.7971i-3.3352-2.0821k=10波形图如下:-3.5-3-2.5-2-1.5-1-0.500.51-2-1.5-1-0.500.511.520.180.380.540.680.80.890.950.9860.180.380.540.680.80.890.950.9860.511.522.533.5Pole-ZeroMapRealAxisImaginaryAxis图二:K=10时的零点极点分布图当K=10时,由于闭环极点不是全都具有负实部,所以该系统是不稳定的。当K=100时,MATLAB程序如下:z=-2.5p=[0,-0.5,-0.7,-3]k=100Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)[z,p,k]=zpkdata(Gctf,'v')pzmap(Gctf)gridz=-2.5000p=0-0.5000-0.7000-3.0000k=100Zero/pole/gain:100(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)Zero/pole/gain:100(s+2.5)-------------------------------------------(s+5.358)(s+2.454)(s^2-3.612s+19.01)Transferfunction:100s+250----------------------------------------s^4+4.2s^3+3.95s^2+101.1s+250z=-2.5000p=1.8058+3.9691i1.8058-3.9691i-5.3575-2.4541k=100波形图如下:-6-5-4-3-2-1012-4-3-2-1012340.160.340.50.640.760.860.940.9850.160.340.50.640.760.860.940.985123456Pole-ZeroMapRealAxisImaginaryAxis图三:K=100时的零点极点分布图当K=100时,由于闭环极点不是全都具有负实部,所以该系统是不稳定的。2、稳态误差分析(1)已知如图3-2所示的控制系统。其中25()(10)sGsss,试计算当输入为单位阶跃信号、单位斜坡信号和单位加速度信号时的稳态误差。图3-2系统结构图从Simulink图形库浏览器中拖曳Sum(求和模块)、Pole-Zero(零极点)模块、Scope(示波器)模块到仿真操作画面,连接成仿真框图如图3-3所示。图中,Pole-Zero(零极点)模块建立()Gs,信号源选择Step(阶跃信号)、Ramp(斜坡信号)和基本模块构成的加速度信号。为更好观察波形,将仿真器参数中的仿真时间和示波器的显示时间范围设置为300。图3-3系统稳态误差分析仿真框图信号源选定Step(阶跃信号),连好模型进行仿真,仿真结束后,双击示波器,输出图形如图3-4所示。图3-4单位阶跃输入时的系统误差信号源选定Ramp(斜坡信号),连好模型进行仿真,仿真结束后,双击示波器,输出图形如图3-5所示。图3-5斜坡输入时的系统误差信号源选定加速度信号,连好模型进行仿真,仿真结束后,双击示波器,输出图形如图3-6所示。图3-6加速度输入时的系统误差从图3-4、3-5、3-6可以看出不同输入作用下的系统的稳态误差,系统是II型系统,因此在阶跃输入和斜坡输入下,系统稳态误差为零,在加速度信号输入下,存在稳态误差。(2)若将系统变为I型系统,5()(10)Gsss,在阶跃输入、斜坡输入和加速度信号输入作用下,通过仿真来分析系统的稳态误差。系统稳态误差分析仿真框图:图四:系统稳态误差分析仿真框图仿真波形图如下所示:图五:系统稳态误差仿真波形图三、实验要求1、完成实验任务中的所有内容;2、撰写实验报告。实验报告内容包括:(1)实验题目和目的;(2)实验原理;(3)实验任务中要求完成实验的程序代码、仿真框图、波形和数据结果;(4)讨论下列问题:a)讨论系统增益k变化对系统稳定性的影响;增益K可在临界k的附近改变系统的稳定性。b)讨论系统型数以及系统输入对系统稳态误差的影响。增大系统的开环增益k,可以减少0型系统在阶跃输入时的位置误差,可以减少i型系统在斜坡输入时的速度误差,可以减小ii型系统在加速度输入时的加速度误差。(5)实验体会。通过本次实验,我明白了如何用零点极点增益的形式在MATLAB上通过编程来判断一个高阶系统的稳定性,以及不同的增益对系统的影响。
本文标题:实验五--线性系统的稳定性和稳态误差分析
链接地址:https://www.777doc.com/doc-2647484 .html