2017ch7.2 动态仿真设计.ppt

上传人:本田雅阁 文档编号:3096593 上传时间:2019-07-07 格式:PPT 页数:107 大小:5.88MB
返回 下载 相关 举报
2017ch7.2 动态仿真设计.ppt_第1页
第1页 / 共107页
2017ch7.2 动态仿真设计.ppt_第2页
第2页 / 共107页
2017ch7.2 动态仿真设计.ppt_第3页
第3页 / 共107页
2017ch7.2 动态仿真设计.ppt_第4页
第4页 / 共107页
2017ch7.2 动态仿真设计.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《2017ch7.2 动态仿真设计.ppt》由会员分享,可在线阅读,更多相关《2017ch7.2 动态仿真设计.ppt(107页珍藏版)》请在三一文库上搜索。

1、2019/7/7,1,Matlab语言机械工程应用 郑州大学机械工程学院,Ch7.2 动态仿真设计,研究机电系统动态特性或对其控制,需先数学建模,再模型仿真分析,再实验 仿真基础是相似性,2019/7/7,2,Matlab语言机械工程应用 郑州大学机械工程学院,1 仿真基本概念,仿真类型: 实物仿真 数学仿真(解析模型、统计模型、表上作业演练) 混合仿真,2019/7/7,3,Matlab语言机械工程应用 郑州大学机械工程学院,仿真过程及步骤,仿真一般过程:建模实验分析 主要步骤: 系统问题描述系统分析系统建模(数学模型或方框流程图)数据收集与统计检验构造仿真模型仿真程序编制与验证仿真模型确认

2、仿真实验设计仿真模型运行仿真结果分析仿真总结,2019/7/7,4,Matlab语言机械工程应用 郑州大学机械工程学院,2 机电系统建模,1). 模型分类: 按系统模型分类,2019/7/7,5,Matlab语言机械工程应用 郑州大学机械工程学院,按系统状态特征:离散型、连续型; 按系统是否含随机因素:确定性模型、随机性模型; 按是否具有时变性:静态、动态,2019/7/7,6,Matlab语言机械工程应用 郑州大学机械工程学院,2 ) 机电系统数学模型,线性定常系统: 线性时变系统: 可用叠加原理 非线性系统处理方法:线性化处理;忽略非线性因素;按非线性方法进行处理,2019/7/7,7,M

3、atlab语言机械工程应用 郑州大学机械工程学院,(1) 机械传动系统建模 机械移动系统 机械移动系统力学模型,2019/7/7,8,Matlab语言机械工程应用 郑州大学机械工程学院,两连体系统,(a) 系统方框图 (b) 简化后的系统方框图 两连体系统的动力模型,2019/7/7,9,Matlab语言机械工程应用 郑州大学机械工程学院, 机械转动系统,同步齿形带驱动装置示意图,同步齿形带驱动装置系统方框图,2019/7/7,10,Matlab语言机械工程应用 郑州大学机械工程学院,(2) 电路网络系统建模, 无源网络,(a) 无源网络 (b) 无源网络动态结构图 基本无源网络框图,2019

4、/7/7,11,Matlab语言机械工程应用 郑州大学机械工程学院, 有源网络,(a) 比例-积分电路 (b) 比例-积分电路动态结构 基本有源网络框图,2019/7/7,12,Matlab语言机械工程应用 郑州大学机械工程学院,(3) 伺服电动机动力模型, 电枢控制式直流电动机,电枢控制式直流电动机原理图,2019/7/7,13,Matlab语言机械工程应用 郑州大学机械工程学院, 磁场控制式直流电动机,磁场控制式直流电动机原理图,2019/7/7,14,Matlab语言机械工程应用 郑州大学机械工程学院, 交流伺服电动机,磁场控制式交流电动机原理图,2019/7/7,15,Matlab语言

5、机械工程应用 郑州大学机械工程学院,机械系统和电系统存在着相似性。 机械系统电系统网络电系统传递函数机械结构的传递函数; 系统环节求出各环节的传递函数画出系统方块图求出系统的传送函数 连续系统应用拉普拉斯求得系统的传递函数拉普拉斯反变换求出系统的时间响应; 计算机控制(离散系统应用Z变换把s域的超越方程或离散系统z的代数方程离散系统的脉冲传递函数Z变换法求出离散系统的时间响应,2019/7/7,16,Matlab语言机械工程应用 郑州大学机械工程学院,7.3 Simulink概述,2019/7/7,17,Matlab语言机械工程应用 郑州大学机械工程学院,7.3.1 Simulink工作平台,

6、启动Simulink,通常有两种方法: (1)在MATLAB命令窗口中直接输入Simulink命令; (2)在MATLAB工具栏上单击Simulink按钮,如图7.1所示。,图7.1 启动Simulink,这样就可打开了Simulink的Simulink Library Brower(库模块浏览器) 。在菜单栏中执行File/New/Model命令,就建立了一个名为untitled的模型窗口。在建立了空的模块窗口后,用户可以在此窗口中创建自己需要的Simulink模型。,2019/7/7,18,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,19,Matlab语言机械工程

7、应用 郑州大学机械工程学院,2019/7/7,20,Matlab语言机械工程应用 郑州大学机械工程学院,图7.2库模块浏览器,图7.3 新建的空白模块窗口,2019/7/7,21,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,22,Matlab语言机械工程应用 郑州大学机械工程学院,连续模块,微分,状态空间,积分,传递函数,输入延迟,输入信号给定延迟,输入不定量延迟,零、极点模型,2019/7/7,23,Matlab语言机械工程应用 郑州大学机械工程学院,输入模块,2019/7/7,24,Matlab语言机械工程应用 郑州大学机械工程学院,输出模块,2019/7/7,2

8、5,Matlab语言机械工程应用 郑州大学机械工程学院,7.3.2 Simulink的仿真原理,1 Simulink仿真模块 通常,Simulink仿真系统包括输入(Input)、状态(states)和输出(Output)三个部分。,输入模块:即信号源模块,包括常数字信号源和用户自定义信号; 状态模块:即被模拟的系统模块,是系统建模的核心和主要部分; 输出模块:即信号显示模块,它能以图形方式、文件格式进行显示,注意:在设计一个模型时,必须先确定这三个部分的意,以及它们之间的联系;Simulink的仿真模型并非一定要完全包括这三个部分,它可以缺少其中一个或者两个; Simulink的状态模块可以

9、是连续的、离散的,或者它们二者的结合。,2019/7/7,26,Matlab语言机械工程应用 郑州大学机械工程学院,2 Simulink仿真过程 1)初始化阶段 对模型的参数进行估计,得到它们实际计算的值。 展开模型的各个层次; 按照更新的次序对模型进行排序; 确定那些显式化的信号属性,并检查每个模块是否能够接受连接它们输入端的信号; 确定所有非显式的信号采样时间模块的采样时间; 分配和初始化存储空间,以便存储每个模块的状态和当前值的输出。,2)模型执行阶段 模型仿真是通过数值积分来进行完成的,计算数值积分可以采用以下两步来进行: 按照秩序计算每个模块的积分; 根据当前输入和状态来决定状态的微

10、分,得到微分矢量,然后把它返回给解法器,以计算下一个采样点的状态矢量。在每一个时间步中,Simulink依次解决下列问题: 按照秩序更新模块的输出; 按照秩序更新模块的状态; 检查模块连续状态的不连续点; 计算下一个仿真时间步的时间。,2019/7/7,27,Matlab语言机械工程应用 郑州大学机械工程学院,1 连续模块库(Continuous) 在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所示。,7. 3.3 Simulink模块库,在库模块浏览器中单击Simulink前面的“+”号,就能够看到Simulink的模块库,如图7.2所示。,2019/7/7,28,

11、Matlab语言机械工程应用 郑州大学机械工程学院,1). 积分模块(Integrator): 功能:对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。 2). 微分模块(Derivative) 功能:通过计算差分u/ t近似计算输入变量的微分。 3). 线性状态空间模块(State-Space) 功能:用于实现以下数学方程描述的系统:,4). 传递函数模块(Transfer Fcn) 功能:用执行一个线性传递函数。 5). 零极点传递函数模块(Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子s表示的连续。 6)存储器

12、模块(Memory) 功能:保持输出前一步的输入值。 7)传输延迟模块(Transport Delay) 功能:用于将输入端的信号延迟指定的时间后再传输给输出信号。 8)可变传输延迟模块(Variable Transport Delay) 功能:用于将输入端的信号进行可变时间的延迟。,2019/7/7,29,Matlab语言机械工程应用 郑州大学机械工程学院,2 离散模块库(Discrete) 离散模块库(Discrete)主要用于建立离散采样的系统模型,包括的主要模块,如图所示。,1)零阶保持器模块(Zero-Order-Hold) 功能:在一个步长内将输出的值保持在同一个值上。,2019/

13、7/7,30,Matlab语言机械工程应用 郑州大学机械工程学院,2)单位延迟模块(Unit Delay) 功能:将输入信号作单位延迟,并且保持一个采样周期相当于时间算子z-1 。 3)离散时间积分模块(Discrete Time Integrator) 功能:在构造完全离散的系统时,代替连续积分的功能。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。 4)离散状态空间模块(Discrete State Space) 功能:用于实现如下数学方程描述的系统:,5)离散滤波器模块(Discrete Filter) 功能:用于实现无限脉冲响应(IIR)和有限脉冲响应(FIR)的数字滤波器。 6)离

14、散传递函数模块(Discrete Transfer Fcn) 功能:用于执行一个离散传递函数。 7)离散零极点传递函数模块(Discrete Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子z-1表示的离散系统。 8)一阶保持器模块(First Order Hold) 功能:在一定时间间隔内保持一阶采样。,2019/7/7,31,Matlab语言机械工程应用 郑州大学机械工程学院,3 函数与表格模块库(Function & Table) 函数与表格模块库(Function & Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂

15、的函数。该模块库包括多个主要模块、如图7.7所示。,2019/7/7,32,Matlab语言机械工程应用 郑州大学机械工程学院,1). 一维查表模块(Look-Up Table) 一维查表模块(Look-Up Table)实现对单路输入信号的查表和线性插值。 2)二维查表模块(Look-Up Table 2-D) 功能:根据给定的二维平面网格上的高度值,把输入的两个变量经过查表、插值,计算出模块的输出值,并返回这个值。 说明:对二维输入信号进行分段线性变换。,3)自定义函数模块(Fcn) 功能:用于将输入信号进行指定的函数运算,最后计算出模块的输出值。 说明:输入的数学表达式应符合C语言编程规

16、范;与MATLAB中的表达式有所不同,不能完成矩阵运算。 4)MATLAB函数模块(MATLAB Fcn) 功能:对输入信号进行MATLAB函数及表达式的处理。 说明:模块为单输入模块;能够完成矩阵运算。 注意:从运算速度角度,Math function模块要比Fcn模块慢。当需要提高速度时,可以考虑采用Fcn 或者S函数模块。 5)S-函数模块(S-Function) 功能:按照Simulink标准,编写用户自己的Simulink函数。它能够将MATLAB语句、C语言等编写的函数放在Simulink模块中运行,最后计算模块的输出值。,2019/7/7,33,Matlab语言机械工程应用 郑州

17、大学机械工程学院,4 数学模块库(Math) 数学模块库(Math)包括多个数学运算模块,如图7.8所示。,2019/7/7,34,Matlab语言机械工程应用 郑州大学机械工程学院,3). 矢量的点乘模块(Dot Product) 功能:矢量的点乘模块(Dot Product)用于实现输入信号的点积运算。 4). 增益模块(Gain) 功能:增益模块(Gain)的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。,1). 求和模块(Sum) 功能:求和模块(Sum)用于对多路输入信号进行求和运算,并输出结果。 2). 乘法模块(Product) 功能:乘法模块(Product)用于实现

18、对多路输入的乘积、商、矩阵乘法或者模块的转置等。,5). 常用数学函数模块(Math Function) 功能:用于执行多个通用数学函数,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。,2019/7/7,35,Matlab语言机械工程应用 郑州大学机械工程学院,6). 三角函数模块(Trigonometric Function) 功能:用于对输入信号进行三角函数运算,共有10种三角函数供选择。 7). 特殊数学模块 特殊数学模块中包括求最大最小值模块(MinMax)、取绝对值模块(Abs)、符号函数模块(Sign)、取整

19、数函数模块(Rounding Function)等。 8). 数字逻辑函数模块 数字逻辑函数模块包括复合逻辑模块(Combinational Logic)、逻辑运算符模块(Logical Operator)、位逻辑运算符模块(Bitwise Logical Operator)等。 9). 关系运算模块(Relational Operator) 关系符号包括:=(等于)、(不等于)、(大于)、=(大于等于)等。,10). 复数运算模块 复数运算模块包括计算复数的模与幅角(Complex to Magnitude-Angle)、由模和幅角计算复数(Magnitude-Angle to Comple

20、x)、提取复数实部与虚部模块(Complex to Real and Image)、由复数实部和虚部计算复数(Real and Image to Complex)。,2019/7/7,36,Matlab语言机械工程应用 郑州大学机械工程学院,5非线性模块(Nonlinear) 非线性模块(Nonlinear)中包括一些常用的非线性模块,如图7.9所示。,2019/7/7,37,Matlab语言机械工程应用 郑州大学机械工程学院,1.) 比率限幅模块(Rate Limiter) 功能:用于限制输入信号的一阶导数,使得信号的变化率不超过规定的限制值。 2)饱和度模块(Saturation) 功能:

21、用于设置输入信号的上下饱和度,即上下限的值,来约束输出值。 3)量化模块(Quantizer) 功能:用于把输入信号由平滑状态变成台阶状态。,4)死区输出模块(Dead Zone) 功能:在规定的区内没有输出值。 5)继电模块(Relay) 功能:继电模块(Relay)用于实现在两个不同常数值之间进行切换。 6)选择开关模块(Switch) 功能:根据设置的门限来确定系统的输出。,2019/7/7,38,Matlab语言机械工程应用 郑州大学机械工程学院,6 信号与系统模块库(signals &Systems) 信号与系统模块库(signals &Systems)包括的主要模块如图7.11所示

22、。,2019/7/7,39,Matlab语言机械工程应用 郑州大学机械工程学院,1). Bus 信号选择模块(Bus Selector) 功能:用于得到从Mux模块或其它模块引入的Bus信号。 2). 混路器模块(Mux) 功能:把多路信号组成一个矢量信号或者Bus信号。 3).分路器模块(Demux) 功能:把混路器组成的信号按照原来的构成方法分解成多路信号。 4). 信号合成模块(Merge) 功能:把多路信号进行合成一个单一的信号。 5). 接收/传输信号模块(From/Goto) 功能:接收/传输信号模块(From/Goto)常常配合使用, From模块用于从一个Goto模块中接收一个

23、输入信号,Goto模块用于把输入信号传递给From模块。 6)初始值设定模块(IC) 功能:初始值设定模块(IC)用于设定与输出端口连接的模块的初始值。,2019/7/7,40,Matlab语言机械工程应用 郑州大学机械工程学院,7 信号输出模块(Sinks) 信号输出模块(Sinks)包括的主要模块如图7.12所示。,图7.12 输出显示模块库,2019/7/7,41,Matlab语言机械工程应用 郑州大学机械工程学院,1). 示波器模块(Scope) 功能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。 2). 二维信号显示模块(XY Gr

24、aph) 功能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y 轴,同时把它们之间的关系图形显示出来。 3). 显示模块(Display) 功能:按照一定的格式显示输入信号的值。可供选择的输出格式包括:short、long、short_e、long_e、bank等。,4). 输出到文件模块(To File) 功能:按照矩阵的形式把输入信号保存到一个指定的MAT文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。 5). 输出到工作空间模块(To Workspace) 功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式

25、。 6). 终止信号模块(Terminator) 功能:中断一个未连接的信号输出端口。 7). 结束仿真模块(Stop simulation) 功能:停止仿真过程。当输入为非零时,停止系统仿真。,2019/7/7,42,Matlab语言机械工程应用 郑州大学机械工程学院,8 信号源模块库(Sources) 信号源模块库(Sources)包括的主要模块如图7.13所示。,图7.13 信号源模块库,2019/7/7,43,Matlab语言机械工程应用 郑州大学机械工程学院,1)输入常数模块(Constant) 功能:产生一个常数。该常数可以是实数,也可以是复数。 2)信号源发生器模块(Signal

26、 Generator) 功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。 3)从文件读取信号模块(From File) 功能:从一个MAT文件中读取信号,读取的信号为一个矩阵,其矩阵的格式与To File模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。,4)从工作空间读取信号模块(From Workspace) 功能:从MATLAB工作空间读取信号作为当前的输入信号。 5)随机数模块(Random Number) 功能:产生正态分布的随机数,默认的随机数是期望为0,方差为1的标准正态分布量。 6)带宽限制白噪声模块(Band Li

27、mited White Noise) 功能:实现对连续或者混杂系统的白噪声输入。 7)其它模块 除以上介绍的常用模块外,还包括其模块。各模块功能可通过以下方法查看:先进入Simulink工作窗口,在菜单中执行Help/Simulink Help命令,这时就会弹出Help界面。然后用鼠标展开Using SimulinkBlock ReferenceSimulink BlockLibraries就可以看到Simulink的所有模块。查看相应的模块的使用方法和说明信息即可。,2019/7/7,44,Matlab语言机械工程应用 郑州大学机械工程学院,7.3.4 仿真模型的建立与模块参数与属性的设置,

28、1. 仿真模块的建立 首先启动Simulink命令,建立一个空的模块窗口“untitled” ,然后利用Simulink提供的模块库,在此窗口中创建自己需要的Simulink模型。 具体方法:在模块库浏览器中找到所需模块,选中该模块后右击鼠标,把它加入到一个模型窗口中即可完成模块的建立。,图7.14添加模块,2019/7/7,45,Matlab语言机械工程应用 郑州大学机械工程学院,2. 模块参数与属性的设置 方法:在所建立的模型窗口中,选中相应的模块,单击右击鼠标,在弹出的快捷菜单中单击“Block parameters”选项(如图7.15所示),即可打开该模块的参数设置对话框,如图7.16

29、(a)所示。右击鼠标,在弹出的快捷菜单中单击“Block Properties”选项,即可打开该模块的属性设置对话框,如图7.16(b)所示。,图7.15 Block paramenters选项,2019/7/7,46,Matlab语言机械工程应用 郑州大学机械工程学院,3.模块的连接,一般情况下,每个模块都有一个或者多个输入口或者输出口。输入口通常是模块的左边的“”符号;输出口是右边的“”符号。 模块的连接方法:把鼠标指针放到模块的输出口,这时,鼠标指针将变为“+”十字形;然后,拖运鼠标至其它模块的输入口,这时信号线就变成了带有方向箭头的线段。此时,说明这两个模块的连接成功,否则需要重新进行

30、连接。,4.运行仿真 在运行仿真之前,首先保存已设置和连接的模型,然后就可以运行仿真。,2019/7/7,47,Matlab语言机械工程应用 郑州大学机械工程学院,1. Simulink仿真注意 (1)Simulink的数据类型 由于Simulink在仿真过程中,始终都要检查模型的类型安全性。模型的类型安全性是指从该模型产生的代码不出现上溢或者下溢现象,当产生溢出现象时,系统将出错误。查看模块的数据类型的方法是:在模型窗口的菜单中执行Format/Port Data Types命令,这样每个模块支持的数据类型就显示出来了。要取消数据类型的查看方式,单击Port Data Types去掉其前面的

31、勾号即可。,7.4.3 Simulink仿真注意与技巧,图7.23 查看模块支持的数据类型,2019/7/7,48,Matlab语言机械工程应用 郑州大学机械工程学院,(2) 数据的传输 在仿真过程中,Simulink首先查看有没有特别设置的信号的数据类型,以及检验信号的输入和输出端口的数据类型是否产生冲突。如果有冲突,Simulink将停止仿真,并给出一个出错提示对话框,在此对话框中将显示出错的信号以及端口,并把信号的路径以高亮显示。遇到该情形,必须改变数据类型以适应模块的需要。,(3)提高仿真速度 Simulink仿真过程,仿真的性能受诸多因素的影响,包括模型的设计和仿真参数的选择等。对于

32、大多数问题,使用Simulink系统默认的解法和仿真参数值就能够比较好地解决。因素及解决方法: (1)仿真的时间步长太小。针对这种情况可以把最大仿真步长参数设置为默认值auto。 (2)仿真的时间过长。可酌情减小仿真的时间。 (3)选择了错误的解法。针对这种情况可以通过改变解法器来解决。 (4)仿真的精度要求过高。仿真时,如果绝对误差限度太小,则会使仿真在接近零的状态附近耗费过多时间。通常,相对误差限为0.1%就已经足够了。 (5)模型包含一个外部存储块。尽量使用内置存储模块。,2019/7/7,49,Matlab语言机械工程应用 郑州大学机械工程学院,(4)改善仿真精度 检验仿真精度的方法是

33、:通过修改仿真的相对误差限和绝对误差限,并在一个合适的时间跨度反复运行仿真,对比仿真结果有无大的变化,如果变化不大,表示解是收敛的。说明仿真的精度是有效的,结果是稳定的。 如果仿真结果不稳定,其原因可参是系统本身不稳定或仿真解法不适合。如果仿真的结果不精确,其原因很可能是: (1)模型有取值接近零的状态。如果绝对误差过大,会使仿真在接近零区域运行的仿真时间太小。解决的办法是修改绝对误差参数或者修改初始的状态。 (2)如果改变绝对误差限还不能达到预期的误差限,则修改相对误差限,使可接受的误差降低,并减小仿真的步长。,2019/7/7,50,Matlab语言机械工程应用 郑州大学机械工程学院,2.

34、 Simulink仿真技巧 连接分支信号线 先连接好单根信号线,然后将鼠标指针放在已经连接好的信号线上,同时按住“Ctrl”键,拖动鼠标,连接到另一个模块。这样就可以根据需由一个信号源模块,引出多条信号线。如图7.28所示。,图7.28 引出多条信号线示例,模块的编辑技巧 (1)调整模块大小 (2)在同一窗口复制模块 (3)删除模块 (4)编辑模块标签,2019/7/7,51,Matlab语言机械工程应用 郑州大学机械工程学院,7.3.5 其它应用模块集和Simulink扩展库,1. 通信模块集(Communications Blockset),图7.31 通信模块集中的模块库,2019/7/

35、7,52,Matlab语言机械工程应用 郑州大学机械工程学院,2数字信号处理模块集(DSP Blockset),3. 电力系统模块集(Power System Blockset),2019/7/7,53,Matlab语言机械工程应用 郑州大学机械工程学院,4. Simulink扩展库,扩展信号输出模块库(Additional Sinks),图7.35 扩展信号输出模块库,2019/7/7,54,Matlab语言机械工程应用 郑州大学机械工程学院,扩展离散库(Additional Discrete),扩展线性库(Additional Linear),图7.36 扩展离散库,图7.37 扩展线性库

36、,2019/7/7,55,Matlab语言机械工程应用 郑州大学机械工程学院,转换库(Transformations),图7.38 转换模块库,触发模块库(Flip Flops),图7.39 触发模块库,2019/7/7,56,Matlab语言机械工程应用 郑州大学机械工程学院,线性化库(Linearization),图7.40 线性化库,宇航模块库(Airspace Blocks),图7.41 宇航模块库,2019/7/7,57,Matlab语言机械工程应用 郑州大学机械工程学院,仿真实例,1)问题简述 机器人驱动系统: 输入信号计算机指令 输出信号电机转动角度,滤波部分二阶延迟环节 位置控

37、制器PID 速度和电流控制器PID,2019/7/7,58,Matlab语言机械工程应用 郑州大学机械工程学院,2)电流环仿真分析,a)打开MatLab打开SIMULIK窗口 new弹出Untitled模块窗口,b)单击Continuious将传递函数Transfer fcn 拖至Untitled模块窗口,2019/7/7,59,Matlab语言机械工程应用 郑州大学机械工程学院,双击,弹出框图参数输入窗口,2019/7/7,60,Matlab语言机械工程应用 郑州大学机械工程学院,分子,分母,公差,2019/7/7,61,Matlab语言机械工程应用 郑州大学机械工程学院,分子1;分母0.4

38、 1 0,1,2019/7/7,62,Matlab语言机械工程应用 郑州大学机械工程学院,Untitled模块窗口变成了,2019/7/7,63,Matlab语言机械工程应用 郑州大学机械工程学院,分子1;分母0.02 1,1,同理,再建1/(0.02s+1),0.02s+1,2019/7/7,64,Matlab语言机械工程应用 郑州大学机械工程学院,c)在Math选项中,选择Sum,参数设为 , 选择并将增益函数Gain拖至Untitled模块窗口 参数为12,2019/7/7,65,Matlab语言机械工程应用 郑州大学机械工程学院,d)在Souce选项中,选择并将阶跃函数Step拖至 U

39、ntitled模块窗口,2019/7/7,66,Matlab语言机械工程应用 郑州大学机械工程学院,e)在Sink选项中,选择并将示波器函数Scope拖至 Untitled模块窗口,2019/7/7,67,Matlab语言机械工程应用 郑州大学机械工程学院,f)将各环节移位连接,完成仿真框图模型建立,2019/7/7,68,Matlab语言机械工程应用 郑州大学机械工程学院,g)单击Untiled菜单中的Simulation中的Start, 开始仿真。设置Scope参数y:2,X:5,后双击 Scope可得单位阶跃相应曲线,2019/7/7,69,Matlab语言机械工程应用 郑州大学机械工程

40、学院,7.4 机构系统建模与仿真分析SimMechanics,必须在6.1版本以上支持下运行,2019/7/7,70,Matlab语言机械工程应用 郑州大学机械工程学院,1. 打开方式: 1)Simulink SimMechanics,2019/7/7,71,Matlab语言机械工程应用 郑州大学机械工程学院,2)mechlib,刚 体,运动副,约束 与 驱动,检测 与 驱动,载荷,辅助工具,2019/7/7,72,Matlab语言机械工程应用 郑州大学机械工程学院,2.bodes刚体,刚 体,参数: 质量 位置 方向 坐标 等,机 器 环 境,两个独立机器 的非物理联接; 或联接两个 没有惯

41、性和 运动副、没有约束 不传输运动、 力或力矩的子机器环境,共 享 环 境,机器 参数、 约束、 线性化、 可视化环境,机 架 固 定 端,2019/7/7,73,Matlab语言机械工程应用 郑州大学机械工程学院,固定端ground,2019/7/7,74,Matlab语言机械工程应用 郑州大学机械工程学院,Body 刚体,2019/7/7,75,Matlab语言机械工程应用 郑州大学机械工程学院,3. 运动副模块组,revolute单自由度转动副; Prismatic单自由度移动副; Spherical球面副; Planar平面副; Universal球销副; Cylinder圆柱副; S

42、crew螺旋副; SixDoF六自由度等 拆分运动副Disassembled Joints 无质量联接运动副Massless Connectors,2019/7/7,76,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,77,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,78,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,79,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,80,Matlab语言机械工程应用 郑州大学机械工程学院,典型运动副,2019/7/7,81,Matlab语言机械工程应用 郑州大

43、学机械工程学院,2019/7/7,82,Matlab语言机械工程应用 郑州大学机械工程学院,棱柱副 参数设定 界面,传感器或驱动器数量,设置许可的运动或坐标系,2019/7/7,83,Matlab语言机械工程应用 郑州大学机械工程学院,4. 约束与驱动 Constrains&Drivers,静力学约束,驱动模块,齿轮约束,平行约束,曲线约束,直线驱动,角位移驱动,距离驱动,速度驱动,2019/7/7,84,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,85,Matlab语言机械工程应用 郑州大学机械工程学院,约束设置界面 驱动设置界面,传感器或驱动器数量,主动件及从动件

44、许可的驱动及坐标系,传感器数量,主动件及从动件参数,2019/7/7,86,Matlab语言机械工程应用 郑州大学机械工程学院,4. 检测与驱动模块,2019/7/7,87,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,88,Matlab语言机械工程应用 郑州大学机械工程学院,检测与传感器设置界面,力矩,力,2019/7/7,89,Matlab语言机械工程应用 郑州大学机械工程学院,5. 载荷模块,2019/7/7,90,Matlab语言机械工程应用 郑州大学机械工程学院,载荷设置界面,刚度系数,阻尼系数,自然长度,位置、速度、受力,2019/7/7,91,Matlab

45、语言机械工程应用 郑州大学机械工程学院,6. 辅助工具模块,2019/7/7,92,Matlab语言机械工程应用 郑州大学机械工程学院,辅助工具设置界面,连接物体数目及位置,2019/7/7,93,Matlab语言机械工程应用 郑州大学机械工程学院,SimMechanics 建模与示例,1. 建模基本方法 1)选择机器环境、固定端(必须至少有一个)、刚体及运动副; 2)定义刚体与运动副的相对位置及连接方式: 固定端运动副刚体运动副刚体。刚体固定端 一个刚体可由两个以上的运动副构成运动分支,但一个运动副必须只能且仅能与两个刚体相连 3)设置刚体特性:质量、特性、位置及固定端和参考坐标系; 4)设

46、置运动副特性:平移轴、旋转轴及胶点 5)旋转、连接并设置约束和驱动模块,2019/7/7,94,Matlab语言机械工程应用 郑州大学机械工程学院,SimMechanics 建模与示例,6)选择、连接并设置对应的驱动与检测模块,还可将检测、驱动模块与非SimMechanics模块相连,但普通SimMechanics模块不行 7)封装子系统,已构成功能更强大的系统,2019/7/7,95,Matlab语言机械工程应用 郑州大学机械工程学院,SimMechanics 建模与示例,2019/7/7,96,Matlab语言机械工程应用 郑州大学机械工程学院,(1) 绘制仿真框图,1)建立仿真框图雏形

47、A)选择并拖拽bodys中机械环境图标1次、固定图标2次、刚体坐标3次; B)选择并拖拽Joints中Revolute图标4次; C)选择并拖拽检测与驱动模块组中的Joint Sensor图标2次检测杆2两个端点3和2的运动轨迹; D)从Simulink的Sink中拖拽示波器1次,2019/7/7,97,Matlab语言机械工程应用 郑州大学机械工程学院,2019/7/7,98,Matlab语言机械工程应用 郑州大学机械工程学院,2)完善模型 坐标轴铰接点4指向铰接点1,垂直纸面向上为z轴正方向; 双击ground1, 选择show machine environment port 增加与机

48、器环境的 连接端口;,2019/7/7,99,Matlab语言机械工程应用 郑州大学机械工程学院,双击revolute3和2,将number of sensor/actuator ports的默认值0修改为1自动输出一个新端口,2019/7/7,100,Matlab语言机械工程应用 郑州大学机械工程学院,双击示波器,选parameter,在general选项卡页面,取出floating scope选线即可与两个joint senosor模块相连接,2019/7/7,101,Matlab语言机械工程应用 郑州大学机械工程学院,旋转(Ctrl_R)、更名、连接各模块,可得simulink框图雏形,框图雏形,2019/7/7,102,Matlab语言机械工程应用 郑州大学机械工程学院,(2)设置模型参数,1)设置机械环境,2019/7/7,103,Matlab语言机械工程应用 郑州大学机械工程学院,2)机架参数设置 Ground2参数设置:输入节点4坐标值(-0.434,0.04,0) Ground1参数设置:输入节点4坐标值(0.434,0.04,0),2019/7/7,104,Matlab语言机械工程应用 郑州大学机械工程学院,3) 旋转副设置 双击revolute4,绕z轴旋转,设为0,0,1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1