实验一计算机控制系统时间响应分析一、实验目的1.培养学生初步的MATLAB编程能力;2.培养学生初步利用MATLAB对离散控制系统进行时域、频域分析的能力。二、实验原理及方法1.对如下离散控制系统进行单位阶跃响应、单位脉冲响应的仿真:8.06.15.14.32)(22+−+−=ZZZzzG2.用到的控制系统工具箱函数有:dstep()离散时间阶跃响应dbode()离散波特图dimpulse()离散时间单位脉冲响应dnyquist()离散Nyquist图3.可参考如下MATLAB语言仿真样例程序进行编程:num=[2-3.41.5];den=[1-1.60.8];%画离散单位阶跃响应曲线[y,x]=dstep(num,den)subplot(2,2,1)plot(y,'.r')gridxlabel('Time/s');ylabel('Amplitude');title('Discretestepresponse')%画离散单位脉冲响应曲线[y,x]=dimpulse(num,den);subplot(2,2,2)plot(y,'.g')gridxlabel('Time/s');ylabel('Amplitude');title('Discreteimpulseresponse')%画离散系统bode图subplot(2,2,3)1dbode(num,den,0.1);title('DiscreteBodePlot')grid%画离散系统的nyquist图subplot(2,2,4)dnyquist(num,den,0.1)title('DiscreteNyquistPlot')grid4.参考仿真结果曲线如下:0204060-0.500.511.52Time/sAmplitudeDiscretestepresponse010203040-1012Time/sAmplitudeDiscreteimpulseresponse-20020Magnitude(dB)10-1100101102-90090Phase(deg)-2024-4-2024-2dB-4dB0dB10dB6dB-10dB4dB2dB-6dBDiscreteBodePlotFrequency(rad/sec)DiscreteNyquistPlotRealAxisImaginaryAxis三、实验仪器及材料1.计算机一台;2.MATLAB平台;3.打印机一台。四、实验步骤1.开机,进入MATLAB记事本窗口;2.新建“**.M”文件,输入程序,保存“**.M”文件;3.进入命令窗口,运行“**.M”文件,实现仿真;2实验二伺服电机控制系统仿真一、实验目的1.初步掌握在MATLAB环境下,用Simulink建立系统模型2.培养学生对系统线性化模型进行仿真的能力。二、实验原理及方法Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包(DynamicSystemSimulation),是控制系统计算与仿真最先进的高效工具。主要的功能是实现动态系统建模、仿真与分析,从而可以在实际系统制作出来之前,预先对系统进行仿真与分析,并可以对系统做适当的实时修正或者按照仿真的最佳效果来调试及整定控制系统的参数,以提高系统的性能,减少系统设计过程中反复修改的时间,实现高效率地开发系统的目标。Simulink过利用模块组合的方法可以方便用户快速、准确地创建动态系统的计算机模型。它可以用来模拟线性与非线性系统,连续与非连续系统,或者这些混合的系统,是强大的系统仿真工具。Simulink的每一个模块实际上都是一个系统,一个典型的Simulink模块包括输入、状态和输出三个部分:●输入模块:即信号源模块,包括常数信号源、函数信号发生器和用户自定义信号;●状态模块:即被模拟的系统模块,它是Simulink的中心模块,是系统建模的核心和主要部分;Simu1ink的状态模块可以是连续的、离散的,或者是它们二者的结合。在MATLAB中,用函数tf()来建立控制系统的传递函数模型,或者将零极点模型或或者状态空间模型转换为传递函数模型。函数命令的调用格式为:sys=tf(mun,den)sys=tf(mun,den,ts)sys=tf(mun,den)函数返回的变量sys为连续系统的传递函数模型。函数输入参量mun与den分别为系统的分子与分母多项式系数向量。sys=tf(mun,den,ts)函数返回的变量sys为离散系统的传递函数模型。函数输入参量mun与den的含义同上,ts为采样周期,当ts=-1或者ts=0时,则系统的采样周期未定义。●输出模块:即信号显示模块,它能够以图形方式、文件格式进行显示,也可以在MATLAB的工作空间显示,输出模块主要集中在Sinks库。在Simulink中,模块都是用矢量来表示这三个部分的,如图2-1所示。图2-1基本模型1在三个部分中,状态模块是最重要的,它决定了系统的输出,而它的当前值又是前一个时间模块状态和输入的函数。现有的状态模块必须保存前面的状态值,并计算当前的状态值。Simu1ink仿真分为两个阶段:初始化和模型执行。三、实验仪器及材料1.计算机一台;2.MATLAB平台;3.打印机一台。三、实验步骤在Simulink中可以建立3种系统模型,即连续系统、离散系统和混合系统。利用Simulink仿真首先要确定现实系统对应的模型,只有建立模型以后才可以确定运用Simulink的那部分模块建立模型。连续系统使用微分方程描述,离散系统使用差分方程描述,离散一混合系统采用差分—微分联立方程描述。连续系统通常都是用微分方程描述的系统,而现实世界中的多数实际系统也都是连续变化的,根据现实世界建立连续的模型,通常使用Continuous模块库、Mathoperation模块库和Nonlinear模块库中的模块。离散系统通常都是用差分方程描述的系统,而实验中,都是采用离散采样。利用Simulink模型建模时,通常使用Discrete模块库、Mahhoperation模块库和Sink模块库和Source模块库中的模块。1下面以一个典型线性反馈控制系统为例说明实验的步骤。例:一个典型线性反馈控制系统结构如图2-2所示,图中R(s)为输入函数,y(s)为输出,Gc(s)为控制器模型,G(s)为对象模型,H(s)为反馈模型。各个模块分别为:4324)(23+++=ssssGc,33)(+−=sssG,101.01)(+=ssH图2-2线性反馈控制系统结构用Simulink仿真软件求出开环和闭环系统的阶跃响应曲线。Simulink软件仿真步骤如下:(1)开机,进入MATLAB窗口;选择“”选项按钮,进入simulink浏览器即模块库。2(2)在simulink窗口,新建一个模型窗口。(3)在模块库浏览器窗口中双击“ControlSystemToolbox”图标,即打开控制系统工具箱,并将其中的LTI模型拖动到新建的模型窗口中,共需要3个(可再拖动两次,也可以复制两个),重新命名后分别作为Gc(s)、G(s)和H(s)的函数模块。由于H(s)是反向模块(即表示负反馈),所以需选中该模块后,按快捷键(Ctrl)十R两次以改变其传输方向。(4)双击其中的Gc(s)模块,将出现设置模块参数对话框,将“LTIsystemvariable”一栏中原来系统默认的传递函数修改为tf(4,[1,2,3,4]),同样把G(s)的传递函数修改为tf([1,-3],[1,3]),H(s)的传递函数修改为tf(1,[0.01,1])。(5)在模块库浏览器窗口中,双击Sources模块(信号源),将其中的Step模块(阶跃信号)拖动到模型窗口;双击Math模块(数学运算),将其中的Sum模块(求和运算)拖动到模型窗口;双击Sinks模块(输出),将其中的Scope模块(示波器)拖动到模型窗口。并按图2—3连接好系统。(6)选择模型窗口“Simulation”菜单中的“Star”命令,即可得到与图2-4完全一致的闭环系统阶跃响应曲线。断开图2-3中H(s)模块左侧或右侧的连线,使其成为开环系统(如图2-5所示)。(7)再进行仿真,即可得到如图2-6的开环系统阶跃响应曲线。图2-3线形反馈控制系统仿真模型图2-4开环系统的阶跃响应曲线2-5线性反馈控制系统仿真模型图2-6开环系统的阶跃响应曲线3从这个例子可以看出,开环系统是稳定的,而闭环系统是不稳定的。因此,并不是所有的控制器和闭环结构都能够改善原系统的性能,事实上,如果控制器设计不当,则将使闭环系统的特性恶化。2、完成下面直流伺服电机电枢控制系统仿真实验.(1)建立数学模型直流伺服电机一般包括3个组成部分:·磁极电机的定子部分,有磁铁N-S极组成,可以是永久的磁铁(此类称为永磁式直流伺服电机),也可以是由绕在磁极上的激磁线圈构成。·电枢电机的转子部分,为表面上绕有线圈的圆柱形铁芯,线圈与换向片焊接在一起。·电刷电机定子的一部分,当电枢转动时,电刷交替地与换向片接触在一起。本节所介绍的直流伺服电机,其中激磁电流保持常数,而由电枢电流进行控制。这种利用电枢电流对直流伺服电机的输出速度的控制称为直流伺服电机的电枢控制。如图2-7所示。图2-7电路原理图其中,·Ea定义为电枢电压(伏特)·Ia定义为电枢电流(安培)·Ra定义为电枢电阻(欧姆)·La定义为电枢电感(亨利)·Eb定义为反电动势(伏特)·If定义为激磁电流(安培)·θm定义为转轴角位移(弧度)·Tm定义为电机产生的转矩(牛顿.米)4·Bm定义为电机和反射到电机轴上的负载的等效粘滞系数(牛顿.米/弧度.秒)-1·Jm定义为电机和反射到电机轴上的负载的等效转动惯量(千克.米2)电机所产生的转矩Tm,正比于电枢电流Ia与气隙磁通Φ的乘积,即:Tm=KIn1aΦ(2-1)而气隙磁通Φ又正比于激磁电流If,故式(11.4)改写为:Tm=KIn1aΦ=KIa(2-2)电流If为常数,KIn1aΦ合并为一个常数K,称为电机力矩常数。电枢电流Ia的正负值即代表电机的正反转。当电转动时,在电枢中感应出与电机转轴角速度成正比的电压,称为反电动势,即:Eb=Kbωm=Kbtmddθ(2-3)其中,Kb称为反电动势常数。电机的速度是由电枢电压Ea控制,应用基尔霍夫电压定律导出电枢电流的微分方程式为:LataddI+RaIa+Eb=Ea(2-4)电枢电流Ia产生的力矩,用来克服系统所含负载的惯性和摩擦,可得Jm22tmddθ+Bmtmddθ=T=KIa(2-5)(2)根据式(2-3)、式(2-4)、式(2-5),在Smulink建立模型图(见图2-8)。图2-8模型图5令Ra=1、La=0.2、Kb=1、Bm=0.1、Jm=5、K=0.5,在时间1秒加入2伏特驱动电压由Scope模块输出电枢电流波形和电机转速波形。(3)假设所有变量的初始值都为零,对式(2-3)、式(2-4)、式(2-5)分别取拉普拉斯变换,可得下列方程式:)()(ssKsEbbθ=)()()()(sEsEsIRsLabaaa=++(2-6))()()()(2sKIsTsBsJas==+θ设电枢电压Ea(s)为输入变量,电机转轴角位置θ(s)为输出变量。重组式(2-6)可得电机系统的框图,反电动势可以看作是一个与电机速度成比例的反馈信号,它增加了系统的有效阻尼(Damping)。上述直流伺服电机的传递函数为:])([)()(2baaaaaKKBRsJRBLsJLsKsEs++++=θ(2-7)依上述表示电机在Simulink中应用TransferFcn模块所建构的模型图如2-9所示。图2-9模型图4、打印仿真结果曲线;五、分析整理实验数据,写出实验报告。6实验三运动控制器的参数设定与GT-400运动控制卡的编程一、实验目的1、认识X-Y运动控制平台的典型硬件结构,伺服(步进)电机的工作原理,掌握运动控制平台的工作原理及GT-400型运动控制卡的运动程序设计。在Windows环境下编程使用动态连接库已与本台计算机