实验一--控制系统的稳定性分析实验一控制系统的稳定性分班级:光伏2班姓名:王永强学号:1200309067实验一控制系统的稳定性分析一、实验目的1、研究高阶系统的稳定性,验证稳定判据的正确性;2、了解系统增益变化对系统稳定性的影响;3、观察系统结构和稳态误差之间的关系。
二、实验任务1、稳定性分析欲判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。
(1)已知单位负反馈控制系统的开环传递函数为0.2( 2.5)()(0.5)(0.7)(3)sG ss s s s+=+++,用MATLAB编写程序来判断闭环系统的稳定性,并绘制闭环系统的零极点图。
在MATLAB命令窗口写入程序代码如下:z=-2.5p=[0,-0.5,-0.7,-3]k=1Go=zpk(z,p,k)Gc=feedback(Go,1)Gctf=tf(Gc)dc=Gctf.dendens=ploy2str(dc{1},'s')运行结果如下:Gctf =s + 2.5---------------------------------------s^4 + 4.2 s^3 + 3.95 s^2 + 2.05 s + 2.5Continuous-time transfer function. dens是系统的特征多项式,接着输入如下MATLAB程序代码:den=[1,4.2,3.95,1.25,0.5]p=roots(den)运行结果如下:p =-3.0058 + 0.0000i-1.0000 + 0.0000i-0.0971 + 0.3961i-0.0971 - 0.3961ip为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是稳定的。
下面绘制系统的零极点图,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)Grid运行结果如下:z = -2.5000p =-3.0297 + 0.0000i-1.3319 + 0.0000i0.0808 + 0.7829i0.0808 - 0.7829i k =1输出零极点分布图(2)已知单位负反馈控制系统的开环传递函数为( 2.5)()(0.5)(0.7)(3)k sG ss s s s+=+++,当取k=1,10,100用MATLAB编写程序来判断闭环系统的稳定性。
只要将(1)代码中的k值变为1,10,100,即可得到系统的闭环极点,从而判断系统的稳定性,并讨论系统增益k变化对系统稳定性的影响。
1.当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)dc=Gctf.dendens=ploy2str(dc{1},'s')运行结果如下:Gctf =s + 2.5---------------------------------------s^4 + 4.2 s^3 + 3.95 s^2 + 2.05 s + 2.5Continuous-time transfer function.接着输入如下MATLAB程序代码:den=[1,4.2,3.95,1.25,0.5]p=roots(den)运行结果如下:p =-3.0058 + 0.0000i-1.0000 + 0.0000i-0.0971 + 0.3961i-0.0971 - 0.3961i下面绘制系统的零极点图,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)Grid运行结果如下:z = -2.5000p =-3.0297 + 0.0000i-1.3319 + 0.0000i0.0808 + 0.7829i0.0808 - 0.7829ik =1输出零极点分布图2.当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)dc=Gctf.dendens=ploy2str(dc{1},'s')运行结果如下:Gctf =10 s + 25---------------------------------------s^4 + 4.2 s^3 + 3.95 s^2 + 11.05 s + 25接着输入如下MATLAB程序代码:den=[1,4.2,3.95,1.25,0.5]p=roots(den)运行结果如下:p =-3.0058 + 0.0000i-1.0000 + 0.0000i-0.0971 + 0.3961i-0.0971 - 0.3961i下面绘制系统的零极点图,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)Grid运行结果如下:z = -2.5000p = 0.6086 + 1.7971i0.6086 - 1.7971i-3.3352 + 0.0000i-2.0821 + 0.0000ik = 103.当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)dc=Gctf.dendens=ploy2str(dc{1},'s')运行结果如下:Gctf =100 s + 250----------------------------------------s^4 + 4.2 s^3 + 3.95 s^2 + 101.1 s + 250Continuous-time transfer function. 接着输入如下MATLAB程序代码:den=[1,4.2,3.95,1.25,0.5]p=roots(den)运行结果如下:p =-3.0058 + 0.0000i-1.0000 + 0.0000i-0.0971 + 0.3961i-0.0971 - 0.3961i下面绘制系统的零极点图,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)Grid运行结果如下:z = -2.5000p =1.8058 + 3.9691i1.8058 - 3.9691i-5.3575 + 0.0000i-2.4541 + 0.0000ik =100输出零极点分布图2、稳态误差分析(1)已知如图3-2所示的控制系统。
其中25()(10)s G s s s +=+,试计算当输入为单位阶跃信号、单位斜坡信号和单位加速度信号时的稳态误差。
图3-2 系统结构图从Simulink图形库浏览器中拖曳Sum(求和模块)、Pole-Zero(零极点)模块、Scope (示波器)模块到仿真操作画面,连接成仿真框图如图3-3所示。
图中,Pole-Zero (零极点)模块建立()G s,信号源选择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)G ss s=+,在阶跃输入、斜坡输入和加速度信号输入作用下,通过仿真来分析系统的稳态误差。
信号源选定Step(阶跃信号),连好模型进行仿真,仿真结束后,双击示波器,输出图形如图所示。
信号源选定Ramp(斜坡信号),连好模型进行仿真,仿真结束后,双击示波器,输出图形如图3-5所示。
信号源选定加速度信号,连好模型进行仿真,仿真结束后,双击示波器,输出图形如图所示。
/四、讨论下列问题:1.讨论系统增益k变化对系统稳定性的影响;增益k可以在临界k的附近改变系统的稳定性。
2.讨论系统型数以及系统输入对系统稳态误差的影响。
增大系统开环增益k,可以减少0型系统在阶跃输入时的位置误差;可以减少i型系统在斜坡输入时的速度误差;可以减少ii型系统在加速度输入时的加速度误差。
五、实验体会。
1.熟悉了高阶系统稳定性的判定,进一步验证了稳定判据的正确性。
2.了解系统增益变化对系统稳定性的影响。
3.初次使用Matlab进行仿真实验,所以遇到较多的问题。
但是,通过不断的改进,所得结果渐渐趋于预计情况。
因此,在实验中熟悉了高阶系统的稳定性的判定,进一步验证了验证稳定性判据的正确性;了解系统增益变化对系统稳定性的影响。