控制系统计算机仿真 第10讲_第1页
控制系统计算机仿真 第10讲_第2页
控制系统计算机仿真 第10讲_第3页
控制系统计算机仿真 第10讲_第4页
控制系统计算机仿真 第10讲_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章:采样控制系统的数字仿真授课人:李会军,3.2、采样控制系统数字仿真的一般方法,双重循环法,2,采样控制系统:连续部分、离散部分,连续部分:仿真步长h=T/N(N为正整数),仿真过程:由内循环和外循环构成;内循环以h为步长对连续部分进行仿真;外循环以采样周期T=Nh为步长对离散部分进行仿真。,离散部分:仿真步长为采样周期T,3.2、采样控制系统数字仿真的一般方法,双重循环法,3,示例1:采样控制系统如图所示,采样周期为T=0.1s。设初始状态x1(0)= x2(0) =0,试求在单位阶跃信号r(t)=1(t)作用下的状态响应。,解:因为要求单位阶跃信号作用下系统的状态响应,所以首先需要写

2、出被控对象的状态空间方程;被控对象为2阶系统,状态空间方程如下:,思考:此时对被控对象进行离散化时,应采用哪种离散化方法?,3.2、采样控制系统数字仿真的一般方法,双重循环法,4,可采用 ,验证状态空间方程的正确性,为了保证精度,连续部分离散化时的步长h比数字控制器的实际采样周期T小得多,取h=T/N=T/10=0.1T=0.01s。,思考:该状态空间方程属于哪种标准型?如何列写该标准型?,3.2、采样控制系统数字仿真的一般方法,双重循环法,5,利用MATLAB控制工具箱提供的系统离散化函数c2d,把连续状态空间模型变换为离散状态空间模型。,% 求连续被控对象离散化状态方程的程序(基于连续系统

3、离散相似算法) h=0.01; % 虚拟采样周期为0.01s A=0 0;1 -1;% 设置矩阵A B=1;0;% 设置矩阵B F,G=c2d(A,B,h); % 输入端采用零阶保持器,计算可得:,思考:如何手动计算F和G?,3.2、采样控制系统数字仿真的一般方法,双重循环法,6,连续被控对象的离散化状态空间方程为:,h=0.01; % 虚拟采样周期为0.01s A=0 0;1 -1;% 设置矩阵A B=1;0;% 设置矩阵B C=0 1;% 设置矩阵C D=0;% 设置矩阵D Ad,Bd,Cd,Dd=c2dm(A,B,C,D,h,zoh); % 输入端采用零阶保持器,也可使用如下程序计算:,

4、3.2、采样控制系统数字仿真的一般方法,双重循环法,7,数字控制器的差分方程:,仿真程序见Exercise1.m,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,8,Matlab的时域响应分析函数:,dimpluse:单位脉冲响应 dstep:单位阶跃响应 dinitial:零输入响应 dlsim:任意输入响应,注意:以上函数只能求解线性定常离散系统的时域响应,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,9,dstep函数,函数形式1:dstep(num, den, n),num:脉冲传递函数分子多项式的系数向量;

5、 den:脉冲传递函数分母多项式的系数向量; n:用户指定的采样点数(可省略,系统自动计算采样点数),num=2 -3.4 1.5; den=1 -1.6 0.8; dstep(num, den, 100); grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,思考:该离散系统的脉冲传递函数是什么?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,10,dstep函数,函数形式2: y, x, n=dstep(num, den),num:脉冲传递函数分子多项式的系数向量; den:脉冲传递函数分母多项式的系数

6、向量; y:系统在单位阶跃信号作用下的输出变量 x:系统在单位阶跃信号作用下的状态变量 n:系统仿真计算的点数,num=2 -3.4 1.5; den=1 -1.6 0.8; y, x, n=dstep(num, den); for k=1:n plot(k,y(k), k*); hold on end grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,11,dstep函数,函数形式3: dstep(A, B, C, D),A,B,C,D:系统状态空间方程的系

7、数矩阵,A=0 1 0;0 0 1;0.453 -1.863 2.4; B=0;0;1; C=0 0.005 0.005; D=0; dstep(A, B, C, D);grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,思考:该离散系统的输入输出个数是多少,该离散系统的阶数是多少?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,12,dstep函数,函数形式4: y,x,n=dstep(A, B, C, D),A,B,C,D:系统状态空间方程的系数矩阵 y:系统在单位阶跃信号作用下的输出变量 x:系统在单

8、位阶跃信号作用下的状态变量 n:系统计算的采样点数,A=0 1 0;0 0 1;0.453 -1.863 2.4; B=0;0;1; C=0 0.005 0.005; D=0; y, x, n=dstep(A, B, C, D); for k=1:n plot(k,y(k), k*); hold on end grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,13,示例2:应用Matlab时域响应函数求解下列系统的单位阶跃响应。,解:系统的闭环脉冲传递函数如下

9、,思考:如何求解系统的闭环脉冲传递函数?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,14,调用dstep函数,求解单位脉冲响应的程序如下所示:,clear all num=0.005,0.005,0; % num为脉冲传递函数分子多项式按z的降幂 % 系数排列的行向量 den=1,-2.4,1.863,-0.453; % den为脉冲传递函数分母多项式按z的降幂 % 系数排列的行向量 dstep(num,den,300); % 调用dstep求离散系统单位阶跃响应 xlabel(采样周期数k); % 横坐标的单位为采样周期 grid on;,使用Si

10、mulink模型进行验证,详见Validate.mdl,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,15,如果调用dstep()函数时有返回值,则不直接绘制单位阶跃响应曲线,而是返回单位阶跃响应的离散数据,程序如下:,clear all num=0.005,0.005,0; % 脉冲传递函数分子多项式按z的降幂系数 % 排列的行向量 den=1,-2.4,1.863,-0.453; % 脉冲传递函数分母多项式按z的降幂系数 % 排列的行向量 yk,x,n=dstep(num,den,300); % yk为存放输出离散序列的数组,n为dstep % 函数

11、自动设定的采样点数 T=0.1; % 已知系统采样周期为0.1s for k=1:n plot(k*T,yk(k), k*); % k为采样序列号,k*T为第k次采样对应的时刻 hold on end xlabel(时间(s); grid on;,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,16,采样系统的离散化模型也可用离散状态空间方程表示。由系统闭环脉冲传递函数,可以直接写出对应的离散状态空间模型,其可控标准型为:,可使用dstep函数,直接调用系数矩阵,绘制阶跃响应曲线:,思考:如何根据系统的脉冲传递函数列写可控标准型?,3.3、Matlab在采

12、样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,17,程序如下:,% 仿真程序 clear all F=0 1 0;0 0 1;0.453 -1.863 2.4;% 设置矩阵F G=0;0;1;% 设置矩阵G C=0 0.005 0.005;% 设置矩阵C D=0;% 设置矩阵D dstep(F,G,C,D);% 绘制单位阶跃响应曲线 xlabel(采样周期数k);% 标准x轴 grid on;,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,18,示例3:使用Simulink求解下述采样系统的单位阶跃响应,采样周期T=0.1s,解:系统的S

13、imulink仿真模型如下,仿真模型详见Exercise3.mdl,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,19,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,20,仿真结束之后,还可以手动绘制状态曲线:,% 仿真程序 plot(t,x1,k:,t,x2,k*); legend(x1,x2); grid on; xlabel(time(s); ylabel(x1,x2);,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,21,示例4:某计算机控制系统如下所示,已知T1=0

14、.1, T2=0.2, T3=0.1。,采样周期T=0.01s,数字控制器采用数字PID调节器,即:,式中,Kp=0.7,Ki=0.9T,Kd=0.1/T 。试使用Simulink对该计算机控制系统单位阶跃响应进行仿真;,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,22,解:数字PID调节器的脉冲传递函数为。,数字控制器的采样周期为0.01,纯滞后环节的滞后时间为0.1,仿真模型详见Exercise4.mdl,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,23,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,24,plot(t,y,k.); axis(0 10 0 1.2); xlabel(t(s) ); ylabel(y);

温馨提示

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

评论

0/150

提交评论