试验一Matlab和Simulink中传递函数的建立.docx
《试验一Matlab和Simulink中传递函数的建立.docx》由会员分享,可在线阅读,更多相关《试验一Matlab和Simulink中传递函数的建立.docx(41页珍藏版)》请在冰豆网上搜索。
试验一Matlab和Simulink中传递函数的建立
实验
Matlab和Simulink中传递函数的建立
一.实验目的
1.掌握在Matlab中建立系统传递函数的方法。
2.掌握在Simulink中建立系统的传递函数及结构图的方法。
二.实验设备及仪器
计算机、Matlab软件
三.实验内容
Matlab是由美国Mathworks推出的一个科技应用软件,已经发展成为一个适用于多学科多工作平台的大型软件。
它涉及领域广泛,在本课程的实验中主要使用该软件的控制系统工具箱,以加深对控制理论及其应用的理解。
Simulink是该公司专门为Matlab设计提供的结构图编程与系统仿真的专用软件工具,该仿真环境下的用户程序其外观就是系统的结构图,使得系统仿真变得简便直观。
1.Matlab中建立系统传递函数
Matlab启动后的用户界面如图1-1所示,工作空间窗口可以显示Matlab中的各个变量。
命令窗口可以输入各种命令,这也是输入系统传递函数的窗口。
图1-1Matlab启动界面
(1).Matlab中求解微分方程
求解微分方程所用的命令为dslove(“方程1”,“方程2”,…),该函数最多可同时求解12个方程。
方程中的各阶导数项以大写的D表示,后面跟阶数,在接变量名,例如:
D2y代表
。
例1:
在Matlab中求解下列微分方程,变量初始值为
,
解:
在命令窗口中键入命令如图1-2所示。
可见方程的解
,通过ezplot命令可以绘制该微分方程解的曲线如图1-3所示。
图1-2Matlab中输入微分方程
图1-3ezplot命令绘制图形
(2).Matlab中输入传递函数常用的命令有:
tf,printsys,zpk。
命令tf,prinfsys可以输入多项式形式的传递函数,首先根据传递函数写出分子多项式的系数向量
,分母多项式的系数向量
。
然后输入命令tf(
)或printsys(num,den,’s’)即可得到传递函数。
例2:
在Matlab中输入如下系统传递函数
解:
在Matlab中输入如下命令,注意多项式系数输入时最高项系数在前,然后空格,次高项系数,直到常数项,如果某一项系数为零,在输入系数向量时补零。
在Matlab中输入如下命令。
可以看到tf和prinfsys的执行结果是相同的。
图1-4输入多项式传递函数
例3:
在Matlab中输入如下传递函数
解:
使用zpk命令可以输入零极点式传递函数。
命令输入方法及结果如1-5图。
参数第一项为零点向量,第二项为极点向量,第三项为增益。
图2-41输入零极点传递函数
图1-5输入零极点式传递函数
(3)Matlab中结构图的建立
前面讨论了如何输入系统传递函数,下一步是如何将各个模块连接起来形成系统的结构图,Matlab中有如下用于搭建系统结构图的命令:
●conv:
用于求两个多项式的卷积。
当需要两个多项式相乘时,使用该函数。
例如:
(s+1)*(s+2)。
在Matlab中输入num1=[11],num2=[12],num=conv(num1,num2),得到num=[132]。
Num为乘积后的多项式系数向量。
●series:
用于将两个传递函数串联。
具体形式为series(num1,den1,num2,den2),num1,den1为第一个模块的分子,分母多项式系数向量。
num2,den2为第二个模块的分子,分母多项式系数向量。
或者series(sys1,sys2),sys为使用tf命令生成的传递函数。
●parallel:
用于将两个传递函数并联。
使用方法可采用分子分母多项式向量输入或传递函数输入,parallel(num1,den1,num2,den2)或parallel(sys1,sys2)。
●cloop:
用于求单位反馈系统的传递函数。
使用方法为cloop(num,den,sign),或cloop(sys,sign),Sign=1是正反馈Sign=-1是负反馈。
●feedback:
用于求一般反馈系统传递函数。
使用方法为feedback(num1,den1,num2,den2,sign)或者feedback(sys1,sys2,sign)。
Sys2为反馈环节传递函数。
例4:
系统结构图如图1-6所示。
使用Matlab求如下系统的传递函数。
其中,
,
,
图1-6例4系统结构图
解:
步骤1,输入各环节传递函数如图1-7所示:
图1-7输入个环节传递函数
步骤2,求
和
串联后的传递函数如图1-8所示:
图1-8串联G1和G2
步骤3,求反馈后的传递函数如图1-9所示:
图1-9反馈后传递函数
例5:
求1-10图中的传递函数。
图1-10例5系统结构图
解:
在Matlab中输入如下命令,步骤1,求取内环部分传递函数如图1-11:
图1-11例5内环部分传递函数
步骤2,求系统传递函数如图1-12所示。
图1-12例5系统传递函数
2.Simulink中建立系统结构图
在Matlab工具栏中点击simulink选项,即可启动Simulink。
如图1-13所示。
图1-13启动simulink
Simulink启动后的界面如图1-14所示,可以看到simulink包括许多用于不同领域仿真的功能模块组。
本课程实验中常用的功能有Continuous,Sources,Sinks,controlsystemtoolbox。
Continous包括用于连续系统仿真的功能模块,用来建立系统的结构图。
Sinks包括用于显示输出结果的功能模块。
Sources包括各种信号源,可以为系统提供输入信号。
Controlsystemtoolbox中的inputpoint和outputpoint在系统性能分析时经常用到。
图1-14simulink启动界面
在Simulink中点击Createnewmodel项,出现建立系统模型窗口。
在continous组中用鼠标左键选择TransferFcn项,按住鼠标左键不放将其拖到系统模型建立窗口,在模型建立窗口中可以建立一个环节的方框图,如图1-15所示。
图1-15在simulink中输入环节方框图
双击该方框图,可以输入该方框图的分子分母多项式系数向量,设置该环节的参数,如图1-16所示。
图1-16输入传递函数系数向量
方框图的两边有用于连线的端子,可以将方框图连接起来组成复杂的系统。
例6:
在simulink中构造图1-17所示的系统结构图。
图1-17例6系统结构图
解:
在continous功能模块组中选择Tansferfcn输入
,
。
选择Integrator输入
,选择Derivative输入
。
在MathOperations选择Sum进行信号的反馈求和运算,选择gain输入增益0.2。
在Sources中选择Step阶越信号,作为系统的输入信号。
Sinks中选择scope示波器显示系统输出。
将所有模块用线连接起来组成系统结构图,如图1-18所示:
图1-18在simulink中输入系统结构图
虽然,该结构图与图1-17有些差别,但是表示的系统是相同的。
将模块拖到窗口中时,有时需要改变模块的方向,可以选中该模块,点击鼠标左键,选择Rotateblock可以旋转该模块。
如图1-19所示。
图1-19simulink中旋转方框图命令
四.实验总结与练习
1.在Matlab中输入传递函数的方法都有那些,分别使用何种命令?
2.练习在Matlab中用多种方法输入下面的传递函数,并写出相应命令。
3.练习在Simulink中输入下面系统的结构框图。
图1-20控制系统框图
实验二Matlab和Simulink中控制系统时域分析
一.实验目的
1.掌握在Matlab中控制系统的时域分析方法。
2.掌握在Simulink中控制系统的时域分析方法。
二.实验设备及仪器
计算机、Matlab软件
三.实验内容
1.Matlab中控制系统时域分析
Matlab中可以通过Step,impulse命令分析控制系统的阶越响应,脉冲响应。
使用方法为Step(num,den),impulse(num,den)。
应用lsim可以求任意输入函数下系统的响应,使用方法为lsim(num,den,u,t)。
例1:
应用Matlab分析如下一阶系统的阶越响应,脉冲响应,输入为正弦信号时系统的响应。
解:
1)输入命令如图2-1所示。
图2-1时域分析命令输入
可以看到一阶系统的阶越响应波形如图2-2,脉冲响应波形如图2-3。
图2-2一阶系统阶越响应波形
图2-3一阶系统脉冲响应波形
2)输入为正弦信号时的波形,输入命令如图2-4所示:
图2-4输入为正弦信号时的时域分析命令输入
可以看到输出波形如图2-5所示。
图2-5输入为正弦信号时一阶系统响应波形
例2:
二阶系统传递函数
设
,求
,0.5,
,0.9,2.0时系统的阶越响应。
解:
Matlab命令窗口中,输入命令如图2-6所示。
步骤1,输入传递函数系数向量
图2-6输入传递函数系数向量
步骤2,计算阶越响应如图2-7所示。
图2-7计算阶跃响应
不同
时,二阶系统阶越响应如图2-8所示,阶越响应的调节时间和超调量差别较大,当
时响应调节时间最短,超调量最小。
图2-8二阶系统阶越响应波形
例3:
比较如下一型系统如图2-9和二型系统如图2-10在跟踪速度信号时的差别。
图2-9一型系统图图2-10二型系统图
解:
对一型系统进行速度信号响应分析,在Matlab中输入命令如图2-11所示。
图2-11一型系统速度响应分析命令输入
求得一型系统跟踪速度信号的波形如图2-12所示。
图2-12一型系统跟踪速度信号波形
对二型系统进行速度信号响应分析,在Matlab中输入命令如图2-13所示。
图2-13二型系统速度响应分析命令输入
得到二型系统跟踪速度信号的波形如图2-14所示。
图2-14二型系统跟踪速度信号波形
2.Simulink中控制系统时域分析
Simulink中同样可以进行系统的响应分析。
一种方法是在Simulink中输入系统的结构图,施加需要的输入信号,将输出信号连接到示波器观察系统响应。
另一种方法是使用LTIviewer观察系统的阶越响应和脉冲响应。
例4:
一型系统与二型系统如例3所示,试用Simulink观察系统跟踪速度信号的差别。
输入系统结构图需要如下模块,comtinous模块组中的Transferfcn模块,MathOperation中的Sum模块,source中的Ramp模块和Sinks中的scope模块。
将各个模块拖入新建结构图窗口中后,用线连接各个模块,如图2-15所示。
图2-15Simulink中控制系统时域分析图
点击工具栏中的Start项,开始仿真。
双击两个示波器,可以看到两个系统的斜波响应如图2-16所示。
(a)一型系统跟踪速度信号波形(b)二型系统跟踪速度信号波形
图2-16控制系统跟踪速度信号波形
例5:
在Simulink中分析如下系统阶越响应的差别。
,
,
解:
输入系统结构图如下图2-17所示,其中MUX模块将三个输出量合成为一个向量,以便在同一示波器中进行比较。
在signalrouting工具组中可以找到该模块。
其他模块输入方法如前所述。
图2-17系统结构图
点击工具栏中的startsimulation按钮,启动仿真后,双击示波器可以观察到三个系统的输出如图2-18所示。
图2-18系统时域分析波形
可以看到增加系统零点使得调节时间缩短,超调量增加。
增加系统极点使得调节时间加长,超调量减小。
四.实验总结与思考
1.一阶系统与二阶系统的阶跃响应有什么特点?
并说明各系统参数对阶跃响应的影响。
2.一型系统与二型系统的速度信号跟踪有什么特点?
3.系统的零点数与极点数对系统的性能有何影响
实验三转速反馈控制直流调速系统的仿真
一.实验目的
1.会在Simulink中建立转速反馈控制直流调速系统的结构图。
2.会调整系统的结构参数,并能通过仿真分析其对系统性能的影响。
二.实验设备及仪器
计算机、Matlab软件
三.实验内容
MATLAB下的SIMULINK软件进行系统仿真是十分简单和直观的,用户可以用图形化的方法直接建立起仿真系统的模型,并通过SIMULINK环境中的菜单直接启动系统的仿真过程,同时将结果在示波器上显示出来。
下面进行转速负反馈闭环调速系统仿真。
图3-1为转速负反馈闭环调速系统仿真框图。
各参数如下:
直流电动机:
额定电压,额定电流,额定转速,
电动机电势系数。
假定晶闸管整流装置输出电流可逆,装置的放大系数,滞后时间常数。
电枢回路总电阻,电枢回路电磁时间常数,电力拖动系统机电时间常数
转速反馈系数。
对应额定转速时的给定电压。
图3-1比例积分控制的直流调速系统的仿真框图
1.建立仿真模型
进入MATLAB,单击MATLAB命令窗口工具栏中的SIMULINK图标,或直接键入SIMULINK命令,打开SIMULINK模块浏览器窗口如图3-2所示。
图3-2SIMULINK模块浏览器窗口
(1)打开模型编辑窗口:
通过单击SIMULINK工具栏中新模型的图标或选择→Model菜单项实现。
(2)复制相关模块:
双击所需子模块库图标,则可打开它,以鼠标左键选中所需的子模块,拖入模型编辑窗口。
在本例中拖入模型编辑窗口的为:
Source组中的Step模块;MathOperations组中的Sum模块和Gain模块;Continuous组中的TransferFcn模块和Integrator模块;Sinks组中的Scope模块如图3-3所示。
图3-3模型编辑窗口
(3)修改模块参数:
双击模块图案,则出现关于该图案的对话框,通过修改对话框内容来设定模块的参数。
双击Sum模块,打开如图3-4所示的加法器模块对话框,在Listofsigns栏目描述加法器三路输入的符号,其中|表示该路没有信号,如果需要的是加法器,则符号采用默认值不变;如果需要的是减法器,用|+-取代原来的符号。
图3-4加法器模块对话框
双击TransferFcn模块,则打开如图3-5所示的传递函数模块对话框,只需在其分子Numerator和分母Denominator栏目分别填写系统的分子多项式和分母多项式系数。
例如0.002s+1是用向量[0.0021]来表示。
根据图3-1与控制系统参数,修改各个传递函数模块的参数。
图3-5传递函数模块对话框
双击Step模块,打开如图3-6所示阶跃信号模块对话框,把Steptime阶跃时刻从默认的1改为0,在本实验中,额定转速的给定为10V,可以把Finalvalue阶跃值从默认的1改为10
图3-6阶跃输入模块对话框
双击Gain模块打开如图3-7所示的增益对话框,在Gain栏目中填写所需要的放大系数。
本实验中Gain的值KP暂定为0.56,Gain1的值1/
暂定为11.43,Gain2的值为0.01,Gain3的值为1/0.192。
图3-7增益模块对话框
双击Integrator模块打开如图3-8所示的积分模块对话框,选择Limitoutput框,在Uppersaturationlimit和Lowersaturationlimit栏目中填写本例的积分饱和值10和-10
图3-8Integrator模块对话框
(4)模块连接
以鼠标左键点击起点模块输出端,拖动鼠标至终点模块输入端处,则在两模块间产生“→”线。
单击某模块,选取Format→RotateBlock菜单项可使模块旋转90°;选取Format→FlipBlock菜单项可使模块翻转。
把鼠标移到期望的分支线的起点处,按下鼠标的右键,看到光标变为十字后,拖动鼠标直至分支线的终点处,释放鼠标按钮,就完成了分支线的绘制。
完成参数设置于连接后的仿真模型如图3-9所示。
仿真启动按钮
图3-9比例积分控制的无静差直流调速系统的仿真模型
2.仿真模型的运行
(1)仿真过程的启动:
单击启动仿真工具条的按钮或选择Simulation→Start菜单项,则可启动仿真过程,再双击示波器模块就可以显示仿真结果。
(2)仿真参数的设置:
为了清晰地观测仿真结果,需要对示波器显示格式作一个修改,对示波器的默认值逐一改动。
改动的方法有多种,其中一种方法是选中SIMULINK模型窗口的Simulation→ConfigurationParameters菜单项,打开仿真控制参数对话框如图3-10所示,对仿真控制参数进行设置。
图3-10SIMULINK仿真控制参数对话框
启动Scope工具条中的“自动刻度”按钮。
把当前窗中信号的最大最小值作为纵坐标的上下限,得到清晰速度与电流仿真曲线如图3-11所示。
自动刻度
(a)速度仿真曲线(b)电流仿真曲线
图3-11修改控制参数后的仿真结果
3.调节器参数的调整
在控制系统中设置调节器是为了改善系统的静、动态特性。
采用了PI调节器的转速控制系统,构成的无静差的调速系统。
SIMULINK软件的仿真方法为系统设计提供了仿真平台,可以选择合适的PI参数,得到振荡、有静差、无静差、超调大或启动快等不同的转速曲线。
图3-11中的转速仿真曲线反映了对给定输入信号的跟随性能指标。
如果把积分部分取消,改变比例系数,可以得到不同静差率的响应曲线直至振荡曲线;如果改变PI调节器的参数,可以得到转速响应的超调量不一样、调节时间也不一样的响应曲线。
经过比较可以发现系统的稳定性和快速性是一对矛盾,必须根据工程的要求,选择一个合适的PI参数。
当调节器参数设置为:
,时,系统转速响应无超调,但调节时间很长。
速度仿真曲线如图3-12所示。
图3-12无超调的仿真结果
当调节器参数设置为:
,时,系统转速的响应的超调较大、但快速性较好。
速度仿真曲线如图3-13所示。
自行设置调节器的参数,并对其结果进行分析。
图3-13超调量较大的仿真结果
四.实验总结与思考
1.在直流调速控制系统中,若采用比例调节器,其控制系统的有何特点,其比例系数的大小对控制系统的影响如何,系统的临界放大系数与比例调节器的临界比例系数如何计算;若采用比例积分调节器又如何?
2.在本例中由于未采用电流截止负反馈,电流的最大值达240A,明显超过了电动机允许的最大电流。
思考带有电流截止负反馈直流电动机调速系统的仿真模型如何建立,并结合仿真曲线进行分析。
实验四转速、电流反馈控制直流调速系统的仿真
一.实验目的
1.会在Simulink中建立转速、电流反馈控制直流调速系统的结构图。
2.会调整系统的结构参数,并能通过仿真分析其对系统性能的影响。
二.实验设备及仪器
计算机、Matlab软件
三.实验内容
采用了转速、电流反馈控制直流调速系统,设计者要选择ASR和ACR两个调节器的PI参数,有效的方法是使用调节器的工程设计方法。
工程设计是在一定的近似条件下得到的,再用MATLAB仿真软件进行仿真,可以根据仿真结果对设计参数进行必要的修正和调整。
转速、电流反馈控制直流调速系统的动态结构图如图4-1所示。
图4-1双闭环直流调速系统的动态结构图
已知系统的各个参数如下:
直流电动机:
220V,136A,1460r/min,Ce=0.132Vmin/r,允许过载倍数λ=1.5;晶闸管装置放大系数:
Ks=40;电枢回路总电阻:
R=0.5Ω;时间常数:
Tl=0.03s,Tm=0.18s;电流反馈系数:
β=0.05V/A(≈10V/1.5IN)。
分析后得:
整流装置滞后时间常数Ts=0.0017s,电流反馈滤波时间常数Toi:
由(1~2)Toi=3.33ms,取Toi=0.002s;电流调节器采用比例积分调节器,按KT=0.5计算可得其比例系数Ki≈1.013;τi=Tl=0.03s电流调节器的超前时间常数。
下面进行双闭环直流调速系统的仿真。
仿真分析与实际系统调试相同,先进行电流内环仿真,然后进行转速外环仿真。
1.电流环的仿真
电流环的仿真模型如图4-2所示,结合4-1图可确定模型中各模块的参数。
其中,Gain的增益为电流调节器的比例系数1.013,Gain1的系数为Ki/τi=1.013/0.03。
图4-2电流环的仿真模型
在仿真模型中增加了一个饱和非线性模块(Saturation),它来自于Discontinues组,双击该模块,把饱和上界(Upperlimit)和下界(Lowerlimit)参数分别设置为本实验中的幅值+10和-10如图4-3所示。
饱和上界,改为10。
饱和下界,改为-10。
图4-3Saturation模块对话框
按照工程设计方法设计电流环时,暂不考虑反电动势变化的动态影响,而在图4-2所示的电流环模型中,已把电动势的影响考虑进去,它可以得到更真实的仿真结果。
设置仿真的起始时间和停止时间分别为0.0s和0.05s。
启动仿真过程,调整示波器模块所显示的曲线,得到阶跃响应过程曲线如图4-4所示。
图4-4电流环的仿真结果(KT=0.5)
在直流电动机的恒流升速阶段,电流值低于200A,其原因是电流调节系统受到电动机反电动势的扰动。
调节电流调节器的参数,观察PI参数对跟随性能指标的影响趋势,可以找到符合工程要求的更合适的参数。
如KT=0.25可得调节器的传递函数为:
得到的电流环的阶跃响应仿真结果如图4-5所示,无超调但上升时间长。
若KT=1.0可得调节器的传递函数为:
,
得到的电流环的阶跃响应仿真结果如图4-6所示,超调大但上升时间短。
图4-5无超调的仿真结果(KT=0.25)
图4-6超调量较大的仿真结果(KT=1.0)
2.转速环的系统仿真
转速环的仿真模型如图4-7所示:
图4-7转速环的仿真模型
为了在示波器中反映出转速电流的关系,仿真模型中从SignalRouting组中选用了Mux模块来把几个输入聚合成一个向量输出给示波器Scope。
图4-8是聚合模块对话框,可以在Numberofinputs栏目中设置输入量的个数。
Step1模块用来输入负载电流。
取h=5,通过计算转速调节器的比例系数为Kn=11.7(Gain3增益),转速调节器的超前时间常数为τn=0.087s(Gain4增益11.7/0.087=134.48)。
图4-8聚合模块对话框
双击阶跃输入模块把阶跃值设置为10,得到起动时的转速与电流响应曲线如图4-9所示。
ASR调节器经过了不饱和、饱和、退饱和三个阶段,最终稳定运行于给定转速。
图4-9转速环空载高速起动波形图
若把负载电流设置为136A,满载起动,其转速与电流响应曲线如图4-10所示,起动时间延长,退饱和超调量减少。
图4-10转速环满载高速起动波形图
利用转速环仿真模型同样可以对转速环抗扰过程进行仿真,它是在负载电流IdL(s)的输入端加上负载电流,设置Step1的Steptime为1,Initialvalue为0,Finalvalue为136,可