欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    控制系统Matlab计算与仿真.ppt

    • 资源ID:6364198       资源大小:1.20MB        全文页数:72页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    控制系统Matlab计算与仿真.ppt

    1,控制系统Matlab计算与仿真,华南理工大学刘桂雄 教授,博士生导师2012年04月11日,目录,一、Matlab简介,二、控制系统Matlab仿真基础,三、Simulink仿真基础,3,一、Matlab简介,1.Matlab简介1980年前后,美国moler博士构思并开发;最初的Matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划时代意义的Matlab 4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是r2012a版,4,一、Matlab简介,2.Matlab语言特点,Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在Matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。Matlab语言最基本的赋值语句结构为 变量名列表=表达式 变量名为Matlab语句的返回值;等号右边是表达式的定义,它可以是矩阵,也可是函数调用。,5,一、Matlab简介,2.Matlab语言特点,Matlab下提供了两种文件格式:M文件,Matlab函数 M文件是普通的ascii码构成的文件,只有由Matlab语言所支持的语句,用户只需在Matlab的提示符下键入该M文件的文件名,Matlab就会自动执行该M文件中的各条语句。它采用文本方式,编程效率高,可读性很强。Matlab函数是最常用的特殊m文件,该函数是由function语句引导,其基本格式如下:Function 返回变量列表=函数名(输入量列表),6,二、控制系统Matlab仿真基础,1.控制系统数学模型,要分析系统,首先需要能够描述这个系统。在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型);状态方程模型(系统的内部模型);零极点增益模型;动态结构图(Simulink中使用)。这些模型之间都有着内在的联系,实际应用中,根据要解决问题的需要,往往要进行不同种类模型之间的转换,Matlab控制系统工具箱中为此提供了相应的命令函数。,7,二、控制系统Matlab仿真基础,1.控制系统数学模型,(1)传递函数模型,Matlab中用函数命令tf()来建立控制系统的传递函数模型。函数命令的调用格式为:sys=tf(num,den)函数返回的变量为连续系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量。sys=tf(num,den,Ts)函数返回的变量为离散系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量,Ts为采样时间。Matlab中还用函数printsys()来输出系统模型。,8,二、控制系统Matlab仿真基础,1.控制系统在Matlab中的描述,(2)零极点增益模型,Matlab中用函数命令zpk()来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=zpk(z,p,k)其中的z、p、k分别代表系统零点、极点、增益向量,函数返回连续系统零极点模型。sys=zpk(z,p,k,Ts)其中的z、p、k分别代表系统零点、极点、增益向量,Ts为采样时间,函数返回离散系统零极点模型。,9,二、控制系统Matlab仿真基础,1.控制系统在Matlab中的描述,表1 模型转换,二、控制系统Matlab仿真基础,例1 用Matlab表示传递函数为 的系统。解:num=2 3;den=4 3 2 1;sys=tf(num,den)执行结果:Transfer function:2 s+3-4 s3+3 s2+2 s+1,10,二、控制系统Matlab仿真基础,例2 用Matlab表示传递函数为 的系统。解:z=-3;p=0-1-2;k=2;sys=zpk(z,p,k)执行结果:Zero/pole/gain:2(s+3)-s(s+1)(s+2),11,二、控制系统Matlab仿真基础,例3 已知某控制系统的传递函数为,求Matlab描述的传递函数模型及零极点增益模型。解:num=0 0 1;den=1 3 2;sys1=tf(num,den)z p k=tf2zp(num,den);sys2=zpk(z,p,k)执行结果:,Zero/pole/gain:1-(s+2)(s+1),Transfer function:1-s2+3 s+2,12,二、控制系统Matlab仿真基础,在Matlab中描述系统的模型形式不仅仅拘泥于数学表达式,还有应用在Simulink仿真环境中的动态方框图形式。只要按照一定的规则画出系统模型图,然后用实际系统的数据进行设置,就可以对其实现仿真。模型化简包括:环节串联化简;环节并联化简;反馈环节化简。,(3)方框图模型化简,1.控制系统在Matlab中的描述,二、控制系统Matlab仿真基础,环节串联化简 多个环节相串联的连接形式是控制系统最基本的组成结构形式之一。在Matlab中用函数命令series()来实现串联化简。其调用格式为:sys=series(sys1,sys2)说明:也可简单地通过命令sys=sys1sys2实现。,14,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,环节并联化简 多个环节相并联的连接形式也是控制系统最基本的组成结构形式之一。Matlab中用函数命令parallel()来实现并联化简。其调用格式为:sys=parallel(sys1,sys2)说明:也可以简单地通过命令sys=sys1+sys2实现。,15,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,反馈环节化简 反馈连接结构是控制系统动态方框图动中常见连接形式。Matlab中用函数命令feedback()来实现反馈化简。其调用格式为:sys=feedback(sys1,sys2,sign)其中sign缺省值为-1,表示负反馈;若为正反馈,则sign=1。,16,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,(1)时域响应仿真 时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿真 控制系统工具箱中提供了一系列关于时域响应求取的函数命令。阶跃响应:step(sys)step(sys,t)dstep(a,b,c,d)dstep(num,den)脉冲响应:impulse(sys)impulse(sys,t)dimpulse(a,b,c,d)dimpulse(num,den),17,2.系统时域分析,例4 用Matlab绘制典型二阶系统的单位阶跃响应曲线。解:取,分别取 程序实现如下:c=0 3 7 10 20 40;k=25;t=linspace(0,10,100);num=k;for i=1:6 den=1 c(i)25;sys=tf(num,den);y(:,i)=step(sys,t);end plot(t,y(:,1:6),二、控制系统Matlab仿真基础,18,%,%,19,二、控制系统Matlab仿真基础,(1)时域响应仿真 时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿真 控制系统工具箱中提供了一系列关于时域响应求取的函数命令。Simulink环境下的仿真 此种方式的响应仿真将在第三部分作详细介绍。,20,2.系统时域分析,二、控制系统Matlab仿真基础,(2)系统稳定性分析 线性定常系统稳定性的数学定义是控制系统闭环特征方程的全部根,不论是实根或复根,其实部均应为负值,则闭环系统就是稳定的。由此可知,求解控制系统闭环特征方程的根并进而判断所有根的实部是否小于零,这是控制系统判稳的最基本方法,同时也是Matlab中提供和使用的思路。Matlab中提供命令函数roots()实现,其调用格式为:roots(P)其中,P是系统闭环特征多项式降幂排列的系数向量。,21,2.系统时域分析,二、控制系统Matlab仿真基础,例5 已知单位负反馈系统的开环传递函数为 试判断系统的闭环稳定性。解:k=1;z=-2;p=0,-1,-3;num,den=zp2tf(z,p,k);D=num+den;roots(D)执行结果:ans=-2.8393-0.5804+0.6063i-0.5804-0.6063i从结果看,特征根均为负实部根,因而该系统闭环稳定。,22,二、控制系统Matlab仿真基础,例6 已知单位负反馈系统的闭环传递函数为 试判断系统的稳定性。解:den=1-1.3 0.7 1.2 0.2;num=2 1-1;sys=tf(num,den)roots(sys.den1)执行结果:ans=1.0000+1.0000i 1.0000-1.0000i-0.5000-0.2000,23,从结果看,特征根中有正实部根,因而该系统不稳定。,二、控制系统Matlab仿真基础,(3)系统稳态误差分析 稳态误差是系统控制准确度的评价指标,实际计算是基于响应曲线的稳态值与期望值之差。控制理论的研究中典型的外作用有单位阶跃信号、单位速度(斜坡)信号、单位加速度信号,Matlab中,通过step()函数,其稳态误差为阶跃响应曲线的稳态值与期望值(1)之差。,24,2.系统时域分析,二、控制系统Matlab仿真基础,例7 已知一单位负反馈系统的开环传递函数为 G(s)=试求单位阶跃信号作为参考输入时产生的稳态误差。解:(a)判断系统稳定性 k=5;z=-0.2;p=0 0.5-1.5;num,den=zp2tf(z,p,k);sys=tf(num,den);sys1=feedback(sys,1);roots(sys1.den1)执行结果:ans=-0.3770+1.9805i-0.3770-1.9805i-0.2460,25,二、控制系统Matlab仿真基础,例7 已知一单位负反馈系统的开环传递函数为 G(s)=试求单位阶跃信号作为参考输入时产生的稳态误差。解:(b)单位阶跃输入产生的稳态误差 step(sys1);t=0:0.1:300;y=step(sys1,t);ess=1-y;ess(length(ess)执行结果:ans=1.4433e-015,26,从结果来看,1.4433e-015近似为零,说明一型系统承受阶跃信号时的稳态误差为零。,二、控制系统Matlab仿真基础,频域分析法是控制系统研究中应用频率特性来分析系统性能:稳定性、快速性和稳态精度的方法。此法不必直接求解系统的微分方程,而是间接地运用系统开环频率特性曲线分析闭环系统的响应。Matlab中提供了相应绘制频率特性曲线的命令函数。(1)nyquist曲线图调用格式为:Nyquist(sys)得到连续系统的极坐标图。Dnyquist(num,den,Ts)Dnyquist(a,b,c,d,Ts)得到关于离散系统的极坐标图。,27,3.系统频域分析,二、控制系统Matlab仿真基础,(2)伯德图 Matlab中绘制系统的伯德图使用命令函数bode()实现。其调用格式为:bode(sys)得到关于连续系统的伯德图;dbode(num,den,Ts)dbode(a,b,c,d,Ts)得到关于离散系统的伯德图。(3)系统相对稳定性分析 控制理论中用幅值裕度和相角裕度评价系统相对稳定性,Matlab中提供命令函数margin()从频域响应数据中计算出幅值裕度和相角裕度及其对应的角频率。gm,pm,wcp,wcg=margin(mag,phase,w)其中,wcg为剪切频率,pm为相角裕度,wcp为穿越频率,gm为幅值裕度Kg,28,3.系统频域分析,二、控制系统Matlab仿真基础,例8 已知系统开环传递函数为 试利用Matlab画出系统的奈奎斯特图。解:num=0,0,4;den=3,7,2,0;nyquist(num,den);grid on;title(Nyquist plot G(s)=4/(3s3+7s2+2s);,29,30,二、控制系统Matlab仿真基础,例9 已知系统的开环传递函数为试利用Matlab绘制系统的奈奎斯特图解:其程序:num=0,0,500;den=1,1,100,0;nyquist(num,den);,31,32,二、控制系统Matlab仿真基础,例10 已知系统的开环传递函数为 试利用Matlab绘制系统的伯德图。解:程序:num=0,0,500;den=1,1,100,0;bode(num,den);grid on;,33,34,二、控制系统Matlab仿真基础,例11 已知一单位反馈系统开环传递函数为试绘制bode图并计算系统频域性能指标。解:程序如下:num=0 0 0 2;den=1 6 5 0;sys=tf(num,den);mag,phase,w=bode(sys);gm,pm,wcp,wcg=margin(mag,phase,w)执行结果:gm=15.0000 pm=65.1454 wcp=2.2361 wcg=0.3731 margin(sys),35,36,三、Simulink仿真基础,1 Simulink简介,(1)Simulink由来,1990年,MathWorks软件公司为Matlab提供了新的控制系统模型图 输入与仿真工具,并命名为SIMULAB,使得仿真软件进入了模型 化图形组态阶段。因其名字与当时比较著名的软件SIMULA类似,1992年将该软件更名为Simulink;软件名称表明了系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制出所需要的控制系统模 型,然后利用Simulink提供的功能来对系统进行仿真和分析。作为 Matlab的一个重要组成部分,Simulink由于它所具有的上述的两大 功能和特色,以及所提供的可视化仿真环境、快捷简便的操作方 法,而使其成为目前最受欢迎的仿真软件。,Simulink是Matlab软件的扩展,它是实现动态系统建模和仿真的一个 软件包,它与Matlab语言的主要区别在于:其与用户交互接口是基 于Windows的模型化图形输入;其结果是使得用户可以把更多的精力 投入到系统模型的构建,而非语言的编程上;所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的 系统模块,用户只需要知道这些模块的输入输出及模块的功能,而 不必考察模块内部是如何实现的,通过对这些基本模块的调用,再 将它们连接起来就可以构成所需要的系统模型(以.mdl扩展文件存 取),进而进行仿真与分析。,(2)Simulink特点,利用Simulink进行系统仿真的步骤:启动Simulink,打开Simulink模块库打开空白模型窗口;建立Smulink仿真模型;设置仿真参数,进行仿真;输出仿真结果。,2 Simulink仿真基础,(1)Simulink基本操作,启动Simulink两种方法单击Matlab Command窗口工具条上的Simulink图标;在Matlab命令窗口输入Simulink;即弹出图示的模块库窗口界面(Simulink Library Browser),该界面右边的窗口给出Simulink所有的子模块库。每个子模块库中包含同类型的标准模型,这些模块可直接用于建立系统的Simulink框图模型。,启动Simulink,41,42,Simulink模块库(R2008a版本),Simulink模块库按功能进行分类,包括以下15类子库:,44,1.连续模块Continuous,2.非连续模块Discontinuous,3.离散模块Discrete,4.逻辑和位操作模块Logic and Bit Operations,5.查找表模块Lookup Table,6.数学模块Math Operations,7.模型检测模块Model Verification,8.模型扩充模块Model-Wide Utilities,9.端口和子系统模块Ports&Subsystems,10.信号属性模块Signal Attributes,11.信号线路模块Signal Routing,12.接收器模块Sinks,13.输入源模块Sources,14.用户自定义函数模块User-Defined Functions,(2)建立模型窗口,只有先创建一个空白的模型窗口,才能将模块库的相应模块复制到该窗口,通过必要的连接,建立起Simulink仿真模型,也将这种窗口称为Simulink仿真模型窗口。以下方法可用于打开一个空白模型窗口:在Matlab主界面中选择【File:NewModel】菜单项;单击模块库浏览器的新建图标;选中模块库浏览器的【File:New Model】菜单项,(3)模块操作,移动与删除,在Simulink模型或模块库窗口内,用鼠标左键单击所需模块图标,图标四角出现黑色小方点,表明该模块已经选中。在模块库中选中模块后,按住鼠标左键不放并移动鼠标至目标模型窗口指定位置,释放鼠标即完成模块拷贝。模块删除只需选定删除的模块,按Del键即可。,模块调整,改变模块位置与大小 选中模块,光标变成十字叉即可移动;将光标置于四角,即可改 变大小 改变模块方向 使模块输入端输入输出端口的方向改变。选中模块后,选取菜单 FormatRotateBlock(快捷键Ctrl+R),可使模块旋转90。,模块参数设置,双击指定模块图标,打开模块对话框,根据对话框栏目中提供的信息进行参数设置或修改。如双击模型窗口的传递函数模块,弹出图示对话框,在对话框中分别输入分子、分母多项式的系数,点击OK键,完成该模型的设置。,模块的连接,模块之间连接是用连接线将一个模块的输出端与另一模块的输入端连接起来;也可用分支线把一个模块的输出端与几个模块的输入端连接起来 连接线生成是将鼠标置于某模块的输出端口(显一个十字标),按下鼠标左键拖动鼠标置另一模块的输入端口即可。分支线则是将鼠标置于分支点,按下鼠标右键,其余同上。,说明模块的修改、调整、连接通常只能在仿真模型窗口中进行,不要直接对模块库中的模块进行修改或调整。,文件命名和保存,选择模型窗口菜单FileSave as后弹出一个“Save as”对话框,填入模型文件名,按保存(s)即可。,说明若不设置仿真参数,则采用Simulink缺省设置.,(4)系统仿真参数设定,打开Simulink仿真模型窗口,或打开指定的.mdl文件;设置仿真参数:在模型窗口选取菜单【Simulation:Parameters】,弹出“Simulation Parameters”对话框,设置仿真参数,然后按【OK】即可。,(5)系统仿真运行,仿真运行和终止:在模型窗口选取菜单【Simulation:Start】,仿真开始,至设置的仿真终止时间,仿真结束。若在仿真过程中要中止仿真,可选择【Simulation:Stop】菜单。也可直接点击模型窗口中的(启动)、(停止)仿真。,(1)开环与闭环,3 Simulink仿真实例,(2)复杂系统仿真,65,(3)PID控制仿真,在自动控制发展历程中,PID(比例积分微分)调节是历史最悠久、控制性能最强的调节方式。其调节原理简单,易于整定,使用方便;调节性能指标对于被控对象特性的稍许变化不很敏感,使其具有很好的调节有效性;同时可用于补偿系统使之达到大多数品质指标的要求。PID调节的传递函数模型为:,当TD=0、TI=时为比例调节器;当TI=时为比例微分调节器,若作为校正器相当于超前校正器;当TD=0时为比例积分调节器,若作为校正器相当于滞后校正器;当KP 0、TD 0、TI 时为全PID调节器。,Kp=1,Ki=0,Kd=0,Kp=1,Ki=0.1,Kd=0,Kp=1,Ki=0,Kd=10,Kp=1,Ki=0.1,Kd=10,Kp=1.12,Ki=0.072,Kd=3.52,Kp=1,Ki=0.1,Kd=2,Kp=2,Ki=0.1,Kd=10,Kp=1,Ki=0,Kd=0,PID调节作用分析,比例调节作用分析,随KP加大,闭环系统:超调量加大响应速度加快,积分调节作用分析,随TI加大,闭环系统:超调量减小响应速度微慢,微分调节作用分析,随TD加大,闭环系统:超调量增大响应速度微慢,4 Simulink仿真小结,Simulink是Matlab的一个扩展软件,它是基于模型化图型输入仿 真环境。模型化图型输入使得用户可以把更多的精力投入到模型的构建上 来,要求熟悉各功能模块库中各子模块的功能,熟练掌握 Simulink环境下模块的操作及线的处理,掌握自定义功能模块。掌握Simulink解法器的设置。使用Simulink进行仿真分析的关键是熟练地运用各功能子模块 构建出需要的正确的系统模型并合理地设置解法器以使仿真得以 正常运行。,

    注意事项

    本文(控制系统Matlab计算与仿真.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开