系统建模与仿真第次课第六章幻灯片.ppt
系统建模与仿真第次课第六章第1页,共86页,编辑于2022年,星期一26.1 控制系统控制系统Simulink框图模型的建立框图模型的建立 进入MATLAB环境之后,键入simulink命令或用鼠标点击simulink的图标就可以打开相应的系统模型库。这一模型库包括:Commonly used blocks、Continuous、Discontinuities、Discrete、Math Operations等子模块。若想建立一个控制系统的结构框图,则应该选择File/New菜单项,这样就会自动打开一个空白的模型编辑窗口,允许用户输入自己的模型框图。打开输入源模块库的图标,将出现各种子模块库,比如包括:阶跃函数、正弦函数、白噪声函数、时钟、常数、MATLAB空间变量、信号发生器等,可以利用鼠标点中的方式来选择所需的子模块,并将它拖动到所打开的模型窗口上。第2页,共86页,编辑于2022年,星期一3第3页,共86页,编辑于2022年,星期一4第4页,共86页,编辑于2022年,星期一5第5页,共86页,编辑于2022年,星期一6第6页,共86页,编辑于2022年,星期一7第7页,共86页,编辑于2022年,星期一8第8页,共86页,编辑于2022年,星期一9第9页,共86页,编辑于2022年,星期一10第10页,共86页,编辑于2022年,星期一11第11页,共86页,编辑于2022年,星期一12第12页,共86页,编辑于2022年,星期一13第13页,共86页,编辑于2022年,星期一14第14页,共86页,编辑于2022年,星期一15第15页,共86页,编辑于2022年,星期一16第16页,共86页,编辑于2022年,星期一17 例例6.1 (1)试用Simulink建立一个如下图所示的典型PID控制系统模型。图6.1 典型PID控制系统方框图 假设输入信号r(t)选为单位阶跃信号,输出端接示波器。所连接成的SIMULINK模块框图如图6.2所示。在Simulink环境中选择PID参数如下:,。第17页,共86页,编辑于2022年,星期一18图6.2 典型PID控制系统的Simulink实现 第18页,共86页,编辑于2022年,星期一19单位阶跃响应如图6.3所示。图6.3 PID控制作用下闭环系统的阶跃响应 第19页,共86页,编辑于2022年,星期一20第20页,共86页,编辑于2022年,星期一21第21页,共86页,编辑于2022年,星期一22 例例6.1 (2)试用Simulink建立一个如下图所示的非线性控制系统模型。0.30.5-第22页,共86页,编辑于2022年,星期一23搭建的Simulink模型如下在模块中选择参数0.50.6第23页,共86页,编辑于2022年,星期一24 例例6.1 (3)试用Simulink建立一个如下图所示的非线性控制系统模型。搭建的Simulink模型如下第24页,共86页,编辑于2022年,星期一25第25页,共86页,编辑于2022年,星期一26第26页,共86页,编辑于2022年,星期一27第27页,共86页,编辑于2022年,星期一28 例例6.1 (4)试用Simulink建立一个如下图所示的线性时滞控制系统模型,并考察其单位阶跃响应。搭建的Simulink模型如下:第28页,共86页,编辑于2022年,星期一29时滞为0.4在模块中设定时滞为0.2在模块中设定第29页,共86页,编辑于2022年,星期一30现求其单位阶跃响应,将其输入模块换成单位阶跃,将其输出模块换成示波器。这样Simulink模型变为下图所示。第30页,共86页,编辑于2022年,星期一31第31页,共86页,编辑于2022年,星期一32运行该Simulink模型,结果如下图所示。第32页,共86页,编辑于2022年,星期一33 现在再来分析,如果该系统没有时滞,其单位阶跃响应又是如何的?此时,系统模型变为:搭建的Simulink模型如下第33页,共86页,编辑于2022年,星期一34没有时滞情况下的模型第34页,共86页,编辑于2022年,星期一35运行该Simulink模型,结果如下图所示。第35页,共86页,编辑于2022年,星期一36 例例6.1 (4)试用Simulink建立一个如下图所示的线性时变系统模型。搭建的Simulink模型如下:第36页,共86页,编辑于2022年,星期一37自定义M函数文件s_t.m表示阶跃信号y=s_t(t)自定义M函数文件f_t.m表示正弦函数y=f_t(t)在工作空间产生时间信号序列k,t第37页,共86页,编辑于2022年,星期一38自定义M函数文件s_t.m,表示阶跃信号y=s_t(t)function u=s_t(t)%step inputif t clear t=0:0.01:5;t=t;k=t;第39页,共86页,编辑于2022年,星期一40格式见下一页第40页,共86页,编辑于2022年,星期一41第41页,共86页,编辑于2022年,星期一42第42页,共86页,编辑于2022年,星期一43运行Simulink模型,结果如下第43页,共86页,编辑于2022年,星期一44若修改时变参数为常值,结果如下第44页,共86页,编辑于2022年,星期一456.2 利用利用SIMULINK进行数字仿真进行数字仿真 在前一节中其实已经初步介绍了数字仿真的过程。为了更详细地说明怎样利用Simulink进行数字仿真,在此举第二个例子来说明。例例6.2 利用Simulink工具画出下列系统在闭环状态反馈 ,情况下的的状态响应轨线。所连接成的SIMULINK模块框图如图6.4所示。第45页,共86页,编辑于2022年,星期一46图6.4 状态反馈闭环系统的Simulink实现 第46页,共86页,编辑于2022年,星期一47仿真结果如下:图6.5 闭环系统的状态响应 第47页,共86页,编辑于2022年,星期一48例例6.3利用Simulink工具画出下列系统在闭环状态反馈情况下的输出响应轨线。第48页,共86页,编辑于2022年,星期一49所连接成的SIMULINK模块框图如图6.6所示。第49页,共86页,编辑于2022年,星期一50仿真结果如下:状态变量 状态变量 第50页,共86页,编辑于2022年,星期一51输出变量输出变量图6.7 非线性系统的状态响应第51页,共86页,编辑于2022年,星期一52例例6.4利用Simulink工具画出下面方块图所示系统的输出响应轨线。其中输入信号取为:第52页,共86页,编辑于2022年,星期一53所连接成的SIMULINK模块框图如图6.9所示。图6.9 控制系统的Simulink实现第53页,共86页,编辑于2022年,星期一54仿真结果如下:图6.10 控制系统的输出响应第54页,共86页,编辑于2022年,星期一55例例6.5 利用Simulink工具画出下面带有饱和非线性特性的系统的输出响应轨线。其中输入信号取为如图6.12所示的三角脉冲信号,饱和特性具体参数如图6.13所示。图6.11带有饱和非线性的控制系统方块图第55页,共86页,编辑于2022年,星期一56图6.12 三角脉冲输入信号第56页,共86页,编辑于2022年,星期一57图6.13 饱和非线性特性第57页,共86页,编辑于2022年,星期一58 图6.12所示的输入信号在Simulink中可以很方便地通过运用Signal Builder模块来实现,所连接成的SIMULINK模块框图如图6.14所示。Signal Builder具有点编辑功能,在增加点数时,只要左手按住Shift键,右手左键双击想要增加点的位置即可。另外,每一个点的精确位置可以通过设定坐标来实现。第58页,共86页,编辑于2022年,星期一59第59页,共86页,编辑于2022年,星期一60图6.14 控制系统的Simulink实现第60页,共86页,编辑于2022年,星期一61 图6.14中饱和特性模块前面的增益5表示饱和特性的线性部分的斜率。在Simulink中,饱和特性模块只能设置纵坐标的上、下限幅,而不能设置代表转折点的横坐标值,所以只能在该模块前增加定常增益来表示其斜率,这样在仿真时等于确定了转折点的横坐标。仿真结果如下:第61页,共86页,编辑于2022年,星期一62图6.15 控制系统的输出响应第62页,共86页,编辑于2022年,星期一63例例6.6给出非线性系统的框图如下非线性环节非线性环节对象模型对象模型G(s)-其中,非线性环节为饱和非线性环节,第63页,共86页,编辑于2022年,星期一64理想饱和非线性环节h-h0 xy第64页,共86页,编辑于2022年,星期一65线性部分的传递函数为系统的输入信号为请画出系统的输出响应曲线。第65页,共86页,编辑于2022年,星期一66第66页,共86页,编辑于2022年,星期一67第67页,共86页,编辑于2022年,星期一68例例6.7给出非线性系统的框图如下非线性环节非线性环节对象模型对象模型G(s)-其中,非线性环节为理想继电器环节,第68页,共86页,编辑于2022年,星期一69h-h0 xy第69页,共86页,编辑于2022年,星期一70线性部分的传递函数为系统的输入信号符合下表所示的规律:请用simulink工具画出系统的输出响应曲线。t0.000.220.400.61 0.75 1.05 1.21.51.86 2.00u0.003.046.768.53 7.32 7.31 7.23 6.88 6.76 6.99第70页,共86页,编辑于2022年,星期一71首先产生输入信号序列,为此编制文件如下:t0=0.00,0.22,0.40,0.61,0.75,1.05,1.2,1.5,1.86,2.00;u0=0.00,3.04,6.76,8.53,7.32,7.31,7.23,6.88,6.76,6.99;t=0:0.01:2;u=interp1(t0,u0,t);t=t;u=u;在MATLAB的工作空间中运行该文件,就可得出输入信号序列t,u。第71页,共86页,编辑于2022年,星期一72第72页,共86页,编辑于2022年,星期一73第73页,共86页,编辑于2022年,星期一74例例6.8给定直流电机控制系统框图如下:-给定输入信号第74页,共86页,编辑于2022年,星期一75第75页,共86页,编辑于2022年,星期一76通过simulink仿真分析不同 值对系统性能的影响。第76页,共86页,编辑于2022年,星期一77K=0.3时的输出响应第77页,共86页,编辑于2022年,星期一78K=0.5时的输出响应第78页,共86页,编辑于2022年,星期一79K=0.8时的输出响应第79页,共86页,编辑于2022年,星期一80K=0.2时的输出响应第80页,共86页,编辑于2022年,星期一81现在用lsim()函数来进行时域仿真。编制文件如下:K=0.3;%可以调整的参数G1=tf(10,0.1,1);G2=tf(1,0.1,0,0);syms s;%s表示符号h1=tf(s);H=tf(0.1*h1);G=feedback(G1*G2,H,-1);G_cl=feedback(K*G,1,-1);t0=0,2,4,6,8,8.01,12,12.01,14;r0=0,4,4,0,0,8,8,0,0;t=0:0.01:14;r=interp1(t0,r0,t);lsim(G_cl,r,t);第81页,共86页,编辑于2022年,星期一82程序运行结果第82页,共86页,编辑于2022年,星期一83K=0.2时的结果:第83页,共86页,编辑于2022年,星期一84K=0.5时的结果:第84页,共86页,编辑于2022年,星期一85K=0.8时的结果:第85页,共86页,编辑于2022年,星期一86本次课内容总结本次课内容总结Simulink 的界面结构;Simulink 的使用方法;用simulink进行线性系统仿真;用simulink进行非线性系统仿真;Simulink 与Matlab编程的比较。第86页,共86页,编辑于2022年,星期一