系统建模与仿真-第14次课-第六章(3).ppt_第1页
系统建模与仿真-第14次课-第六章(3).ppt_第2页
系统建模与仿真-第14次课-第六章(3).ppt_第3页
系统建模与仿真-第14次课-第六章(3).ppt_第4页
系统建模与仿真-第14次课-第六章(3).ppt_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,6.5MATLAB/SIMULINK在控制系统设计与仿真中的应用举例,例1,受控系统的模型,假定该系统的两个状态在物理上不可测量,试设计适当的状态反馈控制律及状态观测器,并对闭环系统进行数字仿真。,2,解,根据线性系统的分离原理,分别设计状态反馈控制律及状态观测器。,写出被控系统的一个状态空间表达式,G=tf(1,1,6,0);G1=ss(G),得,3,4,编制文件,A=-60;10;b=10;c=01;d=0;p=-4+6*j,-4-6*j;K=acker(A,b,p);,假定期望闭环极点为p=-4j6,则可按照Ackerman公式设计状态反馈矩阵,5,运行该文件得,KK=252,即得反馈控制律,6,其中,如果系统的状态物理可测,那么闭环系统的结构为,7,实际上该系统的两个状态在物理上不可测量,所以需要设计状态观测器:,假定期望观测器极点为,现在设计观测器反馈矩阵,编制文件如下:,8,A=-60;10;c=01;I=10;01;%单位矩阵symsk1k2s;%符号K_obsv=k1;k2;F=det(s*I-(A-K_obsv*c)%求观测器特征多项式,运行该文件得,F=s2+s*k2+6*s+6*k2+k1,9,根据期望观测器极点可构造期望观测器特征多项式,比较上述两式得,10,编制下列文件,解方程组,symsk1k2;k1,k2=solve(k2+6=22,6*k2+k1=120),运行该文件得,k1=24k2=16,11,编制下列文件,A=-60;10;c=01;K_obsv=24;16;A-K_obsv*c,运行该文件得,ans=-6-241-16,12,即得,最终得出状态观测器:,13,带有观测器的闭环系统状态空间表达式为,14,15,闭环系统的数字仿真,用MATLAB编程的方法,t,x=ode45(sf,0,3,-2,3,-6.5,-0.4);subplot(2,1,1);plot(t,x(:,1),r-);holdon;plot(t,x(:,3),b-);legend(x_1,xb_1);subplot(2,1,2);plot(t,x(:,2),r-);holdon;plot(t,x(:,4),b-);legend(x_2,xb_2);,16,figure(2);plot(t,x(:,2),k-);legend(y);,functiondx=sf(t,x)y=x(2);u=-2*x(3)-52*x(4);dx(1)=-6*x(1)+u;dx(2)=x(1);dx(3)=-6*x(3)-24*x(4)+24*y+u;dx(4)=x(3)-16*x(4)+16*y;dx=dx;,17,在程序中,x(3)和x(4)分别表示、。,程序运行结果,18,19,用Simulink仿真工具,20,与的时域响应,21,与的时域响应,22,输出信号,23,例2,考虑一个三阶对象模型,通过数字仿真研究比例控制器参数的不同取值对闭环系统单位阶跃响应的影响。,24,编写下列M文件,G=tf(1,1,3,3,1);K_p=0.1:0.1:1;fori=1:1:length(K_p)G_c=feedback(G*K_p(i),1,-1);step(G_c);holdon;endfigure;rlocus(G);axis(-2,2,-2,2);k=rlocfind(G),25,运行结果,K_p=0.1,K_p=0.2,K_p=1.0,K_p=0.9,26,根轨迹图,27,sim_008Selectapointinthegraphicswindowselected_point=0.0142+1.7329ik=8.0951,在工作空间中的运行信息,28,仿真结果分析:,当Kp的值增大时,系统响应的速度也将加快,闭环系统响应的幅值也将增加。,当Kp的值达到某一数量时,则闭环系统将不稳定。,根据根轨迹图可以人工标定:当Kp在(0,8.0951)范围内取值时,闭环系统是稳定的。,29,如果固定Kp=1,,并应用PI控制策略,,框图如下:,下面通过基于MATLAB的数字仿真探究的取值对闭环系统稳态精度的影响。,30,编写下列M文件,G=tf(1,1,3,3,1);K_p=1;Ti=0.7:0.1:1.5;fori=1:length(Ti)Gc=tf(K_p*Ti(i),1,Ti(i),0);G_c=feedback(G*Gc,1,-1);step(G_c);holdon;endaxis(0,20,0,2);,31,运行结果,32,从仿真结果可以看出:,(3)如果我们选择Ti=0.6,则系统将趋向于不稳定。,(1)PI控制的最大特点是使闭环系统没有稳态误差。,(2)Ti的值越大,闭环系统的稳定性越好,超调量越小,但是响应速度却逐渐减慢。,33,如果固定Kp=1,Ti=1,,并应用PID控制策略,,框图如下:,下面通过基于MATLAB的数字仿真探究的取值对闭环系统动态性能的影响。,34,这个PID控制器的传递函数等价于,编写下列M文件,35,G=tf(1,1,3,3,1);Kp=1;Ti=1;Td=0.1:0.2:2;form=1:length(Td)Gc=tf(Kp*Ti*Td(m),Ti,1,Ti,0);G_c=feedback(G*Gc,1,-1);step(G_c);holdon;endaxis(0,20,0,1.6);,36,运行结果,37,从仿真结果可以看出:,Td的值越大,系统的响应速度也越大,但是超调量却增加了。,在实际工程中,我们不可能实现纯微分动作,也不需要这样的效果,所以通常将纯微分动作近似成一阶惯性环节。这种近似的PID控制器为:,38,为了得到较好的近似,通常将N的值取得较大。,显然,当时,这种近似的微分作用也趋向于理论上的微分作用。,39,与非线性系统相比较,线性系统的设计与分析更加方便。所以对非线性系统进行小偏差线性化是系统建模的常用手段。,小偏差线性化实际上是在系统工作点附近的邻域内提取系统的线性特征,从而对系统进行分析设计的一种方法。,6.6非线性系统模型的小偏差线性化,40,考虑非线性系统,所谓系统的工作点,就是当系统状态变量的导数趋于零时的状态变量的值。,系统的工作点可以这样求取:,求解代数方程组,其解就是工作点。,41,当系统的工作点求得以后,可以得出近似的线性系统,进一步写成,其中,称为Jacobi矩阵。,42,在Simulink中提供了小偏差线性化的实用函数。,其中,函数trim()可以用来求解非线性系统的工作点,格式为:,x,u,y,dx=trim(model_name,x0,u0),model_name,x0,u0,x,u,y,dx,43,例3,假设非线性系统的Simulink模型如图所示,,44,x0,u0,y,dx=trim(sim_000,1),运行结果如下:,45,x0=0.2141-0.00000.1514u0=1y=0.2141dx=1.0e-007*0.0000-0.3248-0.0000,46,调用格式如下:,A,B,C,D=linmod2(model_name,x,u),其中:,x,u,A,B,C,D,47,A,B,C,D=linmod2(sim_000,x0,u0);G=ss(A,B,C,D),运行结果如下:,48,a=x1x2x3x1-0.70711x2-0.4282-4-3x3010b=u1x10 x20 x30,49,c=x1x2x3y1100d=u1y10Continuous-timemodel.,50,即得出的线性化模型为:,其中:,51,可见,在工作点附近得出的线性化模型为自治系统模型。,52,若采用默认设置,则可由下列语句得出线性化模型:,A,B,C,D=linmod2(sim_000);G=ss(A,B,C,D),运行结果如下:,53,a=x1x2x3x1-0.70711x2-1-4-3x3010b=u1x10 x21x30,54,c=x1x2x3y1100d=u1y10Continuous-timemodel.,55,得出的线性化模型与上面的自治系统完全不同:,其中:,56,若采用另一组初值,并指定输入信号为,,则可重新计算工作点:,x0,u0,y,dx=trim(sim_000,0),得出结果:,57,x0=000u0=0y=0dx=000,58,可由下列语句得出线性化模型:,A,B,C,D=linmod2(sim_000,x0,u0);G=ss(A,B,C,D),运行结果如下:,59,a=x1x2x3x1-0.70711x2-1-4-3x3010b=u1x10 x21x30,60,c=x1x2x3y1100d=u1y10Continuous-timemodel.,这样得出的线性化模型与默认情况的完全一致。,61,例4,试用Simulink实现下述模型,,62,解,在Simulink中搭建模型如下图所示。,Simulink文件名为sim_001.mdl。,63,在Matlab的工作空间中输入下列语句:,x0,u0,y,dx=trim(sim_001,1),运行结果如下:,64,x0=-0.00000.00000.0250-0.0000u0=0.5000,65,y=0.5000dx=1.0e-024*0.1680-0.05080.01680.0261,66,求得工作点为:,输入下列语句得出线性化状态空间模型:,A,B,C,D=linmod2(sim_001);G=ss(A,B,C,D),运行结果如下:,67,a=x1x2x3x4x1-12-20-200.4x21000 x30100 x400-20-0.1b=u1x11x20 x30 x41,68,c=x1x2x3x4y100200d=u1y10Continuous-timemodel.,69,即:,其中:,70,输入下列语句得出线性化传递函数模型:,G1=tf(G),运行结果如下:,Transferfunction:20s+10-s4+12.1s3+21.2s2+22s+10,71,即得传递函数模型:,72,例5,73,解,在Simulink中搭建模型如下图所示。,74,假设该模型的Simulink文件名定为simu005.mdl。,则可在Matlab的工作空间中输入下列语句:,x0,u0,y,dx=trim(simu005,1),其运行结果如下:,75,x0=0.00020.0588u0=0.9410,76,y=0.0590dx=1.0e-009*0.0364-0.2807,77,即求得系统的工作点(平衡点)为:,并非是初始状态!,78,输入下列语句得出线性化状态空间模型:,A,B,C,D=linmod2(simu005);G=ss(A,B,C,D),运行结果如下:,79,a=x1x2x1-31.953e-009x20-16b=u1x10 x21,80,c=x1x2y111d=u1y10Continuous-timemodel.,81,即得小偏差线性化模型:,其中:,82,对原非线性系统做单位阶跃响应仿真试验。,在Simulink模型中将输入信号换成单位阶跃信号,,将输出信号换成示波器。,在Simulink中将模型改成如下图所示。,83,84,Simulink运行结果如下图所示。,非线性系统的单位阶跃响应,85,对线性化系统做单位阶跃响应仿真试验。,在MATLAB的工作空间中输入命令:,step(G,1)gr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论