第4章 Simulink 运动学仿真
SIMULINK仿真

后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s
simulink仿真说明

Simulink是Simulation和link仿真链接。
是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。
必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。
以前MATLAB仿真编程是在文本窗口中进行的。
输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。
因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。
就可以用鼠标和键盘进行仿真。
三种方法进入Simulink1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL.2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击‘新建文件‘3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单击‘新建文件‘。
一、模块的提取左键拖曳右键add to二、模块的移动放大和缩小移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳缩放 : 点击模块四个角拖曳三、复制粘贴和删除和windows一样删除选择clear四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block顺时针90度。
五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动还可以右键单击然后Hide name六、模块参数设置:双击七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个输入端松开左键。
八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续按下鼠标左键改变方向即可。
移动光标指向要移动的线段,然后拖动鼠标即可删除选中要删除的部分,然后delete直流电动机的直接启动新建一个simulink 仿真平台打开simulink然后点击新建打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台Elements里面选BreakerConnectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接地。
培训学习资料-Simulink运动学仿真_2023年学习资料

s3-1曲柄滑块机构的Simulink仿真-可以用MATLAB中的function块将此函数嵌入到simu ink仿真中,function块可以-在“Functions and Tables”库中找到。-funct on块可以把矢量作为输入和-输出,但矢量必须由原始信号-“组装”而成。输入矢量(函数中-Constantu用Mux块(多路转换器)组装得-到。请注意信号连接的顺序和其-cumpwel.mn-在函数中使用的顺序完 样。同-样地,用DeMux:块来分解输出矢-量(函数中的x。-图4-4扩展模块图以包含茵数compvel. m,将积分恭的输人和函数的输出-联系起来
s3-1曲柄滑块机构的Simulink仿真-用下面两种方法建立起仿真的初始条件。最直接的方法就是双击仿真流 图中-的积分器图标,在“Initial condition”产中输入数值。这种方法对于更复杂的初-始条件会 得非常笨拙。另一种方法是为MATLAB环境变量设置初始值。-在MATLAB命令提示符中键入-th20=0; th30=0;-r10=5.0;-可以用MATLAB环境中一系列命令来非常-容易地改变初始条件,而无需在每 初始-条件改变时双击每个积分器图标。其次,-这种方法可以在MATILAB允许的最大精度-范围给出simul nk的初始条件。-图4-7为Simulnk中的积分设置初始条件的对话框-对于这里的仿真情况,因为初始条件可 精确给出而显得并不重要。然而。-多数的仿真需要使用复杂的几何关系,创始条件的精度对仿真的正确运行有-着重要 影响。
Matlab系列之Simulink仿真教程

交互式仿真
Simulink支持交互式 仿真,用户可以在仿 真运行过程中进行实 时的分析和调试。
可扩展性
Simulink具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
Simulink仿真教程

控制科学与工程系
第四章 Simulink动态仿真
1.
Sources库 ① Sine Wave:产生幅值、频率可设置的正弦波信号。 双击图标 (认定该模块已拷贝到用户模型窗,以下均如此), 弹出正弦波的参数设置框图。图中参数为Simulink默认值,用 户可根据需要对这些参数重新设置。 幅值、频率为2,基准为 0.5,其波形如下图所示:
仿真技术
控制科学与工程系
第四章 Simulink动态仿真
1.
Sources库 ② Step:产生幅值、阶跃时间可设置的阶跃信号。 双击图标 ,弹出阶跃信号的参数设置框图。图中参数为Si mulink默认值。
当设置幅值为0.8,阶跃时间 为1秒时,阶跃波形如下图 所示:
仿真技术
控制科学与工程系
仿真技术
控制科学与工程系
第四章 Simulink动态仿真
4.1 Simulink 基本操作
4.1.1 启动Simulink a) 启动Simulink。 单击MATLAB Command窗口工具条上的Simulink图标,或 者在MATLAB命令窗口输入simulink,即弹出图示的模块库 窗口界面(Simulink Library Browser)。该界面右边的窗口给出 Simulink所有的子模块库。 常用的子模块库有Sources (信号源),Sink(显示输出), Continuous(线性连续系统), Discrete(线性离散系统), Function & Table(函数与 表格),Math(数学运算), Discontinuities (非线性),D emo(演示)等。
仿真技术
控制科学与工程系
第四章 Simulink动态仿真
MATLAB_Simulink软件的曲柄导杆机构运动学仿真

[研究・设计]收稿日期:2007204209作者简介:赵小刚(1981-),男,陕西户县人,助教,主要研究方向为机械工程CAD CAM 。
MA TLAB S i m ulink 软件的曲柄导杆机构运动学仿真赵小刚1,李永春2 (1.陕西国防工业职业技术学院机械系,陕西户县 710302; 2.陕西科技大学机电工程学院,陕西西安 710021) 摘 要:为了求解曲柄导杆机构的运动学规律,运用矢量法进行了分析,建立了曲柄导杆机构的运动学数学模型。
使用M A TLAB Si m ulink 仿真软件对曲柄导杆机构进行了运动学仿真,得到了导杆及滑块的位移、速度、加速度的运动曲线。
使用这种方法求解机构的运动学参数具有精度高、速度快等特点。
关 键 词:曲柄导杆机构;运动学;M A TLAB Si m ulink 软件;仿真中图分类号:TH 112;T P 391.9 文献标志码:A 文章编号:100522895(2007)06200392030 引 言曲柄导杆机构是一种应用比较广泛的平面连杆机构,它可以将曲柄的旋转运动转换成为导杆的往复摆动(摆动导杆机构)或整周旋转运动(转动导杆机构)[1]。
曲柄导杆机构还可以与别的基本四杆机构组合在一起,构成一些实用的组合机构,如刨床,车床的主运动机构等。
机构的运动参数是分析评价机构工作性图1 曲柄摆动导杆机构简图能,优化新机构的基本依据[2]。
对曲柄导杆机构的运动分析,即构件上特定点的位移、速度和加速度分析,常用的方法有图解法和解析法。
图解法较直观、方便,但是精度不高,需要反复作图;而解析法人工计算运算量大,容易出错[3]。
本文以曲柄摆动导杆为例,提出用M A TLAB 软件仿真工具箱Si m u link 对曲柄导杆机构进行运动学仿真,得到曲柄导杆机构的运动曲线,该方法使解析法获得更高的精度。
1 曲柄摆动导杆机构运动学数学模型的建立图1所示为一曲柄摆动导杆机构,曲柄OA 为原动件,导杆B A 是从动件,通过滑块,曲柄的连续转动转变为导杆的往复摆动。
Simulink仿真教程
Simulink动态仿真
Simulink动态仿真
Simulink 基本操作
建立Simulink仿真模型 d) 模块调整 改变模块位置、大小; 改变模块方向 ➢ 使模块输入输出端口的方向改变。选中模块后,选取菜 单Format→RotateBlock,可使模块旋转900。
Simulink动态仿真
9.2.1 Simulink模块库 4. Math 库
②
:符号函数。
➢ 该模块的输出为输入信号的符号。下图为对正弦信号经 符号运算后的波形。
4. Math 库
③
:实现一个数学函数。
Simulink动态仿真
➢ 右图为该函数的参数设置框。点击函数设置的下拉窗口,可 选择所需要的函数。选定函数后,该模块图标将显示所选函 数。如选择“Square”,则模块图标变为:
块。它没有输入口,但至少有 一个输出口。
双击图标 模块图:
即弹出该库的
➢ 在该图中的每一个图标都是一 个信号模块,这些模块均可拷 贝到用户的模型窗里。用户可 以在模型窗里根据自己的需要 对模块的参数进行设置(但不 可在模块库里进行模块的参数 设置).
Simulink动态仿真
Simulink动态仿真
①
:数字表,显示指定模
块的输出数值。
②
:X-Y绘图仪用同一图形窗
口,显示X-Y坐标的图形(需先在
参数对话框中设置每个坐标的变
化范围),当X、Y分别为正、余
弦信号时,其显示图形如下:
Simulink动态仿真
Simulink动态仿真
Simulink模块库 2. Sinks 库
③
:示波器。显示在仿真过程产生的信号波形。双击该图
第4章 SIMULINK仿真
• (9)Signal Attributes(信号属性模块库)和Signal Attributes(信号属性模块库) Routing(信号路由模块库) Routing(信号路由模块库)
• • • • • • • • • • • • • • • 这两个模块库主要是由描述信号系统的模块构成,其中主要模块有: Data Type Conversion (数据类型转换器) IC(初始状态); Probe(探测器); Width(带宽); Bus Creator(总线生成器); Bus Selector(总线选择器); Data Store Memory(数据记忆存储); Data Store Read(数据读存储); Data Store Write(数据写存储); From(导入); Goto(传出); Goto Tag Visibility(传出标记符可视性); Multiport Switch (多路选择开关); Mux(混合)
• (7)Model Verification(模型辨识模块库)和ModelVerification(模型辨识模块库) ModelUtilities(扩展模型模块库) Wide Utilities(扩展模型模块库) • 这两个模块库由描述模型辨识的和扩展模型模块构成,其 中主要模块有: • Assertion(确认); • Check Discrete Gradient(检查离散梯度); • Check Dynamic Range(检查动态系统范围); • Check Dynamic Lower Bound(检查动态系统低段范围) • Check Static Range(检查静态系统范围); • Check Input Resolution (检查输入分辨率); • DocBlock(模块注释文本); • Model Info(模型信息); • Timed-Based Linearization(基于时间的线性化模型)
Simulink运动学仿真
在函数中使用的顺序完全样。同
样地,用DeMux块来分解输出矢 量(函数中的x)。
§3-1 曲柄滑块机构的Simulink仿真
下面,适当的信号被“联网’”到Mux块,
§3-1 曲柄滑块机构的Simulink仿真
为完成仿真,加入一个Mux块.以此将输出结果集合成一个矩阵。该矩阵在仿 真完成时在MATLAB平台中是可见的。 可以对simulink中的 信号线进行标注。 双击该线,会打开 一个文本框允许你 输入信号的名称, 这对于解释和文件 说明仿真过程非常 有用。完成后的仿 真过程示于图4—6 中。
柄的初始位置为 =0, 此时曲柄和连杆处于同一条线上。 3 也等于零, 2 滑块处于距离坐标原点长度为 r2 r3 的位置。
这个位置在活塞一气缸装置中被称为“上死点(TDP)”。
§3-1 曲柄滑块机构的Simulink仿真
用下面两种方法建立起仿真的初始条件。最直接的方法就是双击仿真流程图中 的积分器图标,在“Initial condition”产中输入数值。这种方法对于更复杂的初 始条件会变得非常笨拙。另一种方法是为MATLAB环境变量设置初始值。 在MATLAB命令提示符中键入 th20=0; th30=0; r10=5.0; 可以用MATLAB环境中一系列命令来非常 容易地改变初始条件,而无需在每次初始 条件改变时双击每个积分器图标。其次, 这种方法可以在MATILAB允许的最大精度 范围给出simulink的初始条件。 对于这里的仿真情况,因为初始条件可以精确给出而显得并不重要。然而。 多数的仿真需要使用复杂的几何关系,创始条件的精度对仿真的正确运行有 着重要的影响。
要使仿真顺利地进行,积分器的输入必须和相应的积分器恰当地连接起来。 第一个输入的是 2 ,这里假设 2 为常量并作为仿真的输入, 可以使用Source库中中的一个,另外两个速度可以从闭环矢量方程(4—6) 中求得。 编写一个MATLAB函数来求解(4—6)方程,函数名为compel,存储于文 件compel.m中。
实验四-SIMULINK仿真模型建立及仿真
实验四 SIMULINK仿真模型的建立及仿真(一)一、实验目的:1、熟悉SIMULINK模型文件的操作。
2、熟悉SIMULINK建模的有关库及示波器的使用。
3、熟悉Simulink仿真模型的建立。
4、掌握用不同的输入、不同的算法、不同的仿真时间的系统仿真。
二、实验内容:1、设计SIMULINK仿真模型。
2、建立SIMULINK结构图仿真模型。
3、了解各模块参数的设定。
4、了解示波器的使用方法。
5、了解参数、算法、仿真时间的设定方法。
例7.1-1 已知质量m=1kg,阻尼b=2N.s/m。
弹簧系数k=100N/m,且质量块的初始位移x(0)=0.05m,其初始速度x’(0)=0m/s,要求创建该系统的SIMULINK 模型,并进行仿真运行。
步骤:1、打开SIMULINK模块库,在MATLAB工作界面的工具条单击SIMULINK图标,或在MATLAB指令窗口中运行simulink,就可引出如图一所示的SIMULINK模块浏览器。
图一:SIMULINK模块浏览器2、新建模型窗,单击SIMULINK模块库浏览器工具条山的新建图标,引出如图二所示的空白模型窗。
图二:已经复制进库模块的新建模型窗3、从模块库复制所需模块到新建模型窗,分别在模块子库中找到所需模块,然后拖进空白模型窗中,如图二。
4、新建模型窗中的模型再复制:按住Ctrl键,用鼠标“点亮并拖拉”积分模块到适当位置,便完成了积分模块的再复制。
5、模块间信号线的连接,使光标靠近模块输出口;待光标变为“单线十字叉”时,按下鼠标左键;移动十字叉,拖出一根“虚连线”;光标与另一个模块输入口靠近到一定程度,单十字变为双十字;放开鼠标左键,“虚连线”变变为带箭头的信号连线。
如图三所示:图三:已构建完成的新模型窗6、根据理论数学模型设置模块参数:①设置增益模块<Gain>参数,双击模型窗重的增益模块<Gain>,引出如图四所示的参数设置窗,把<Gain>增益栏中默认数字改为2,单击[OK]键,完成设置;图四:参数已经修改为2的<Gain>增益模块设置窗②参照以上方法把<Gain1>增益模块的增益系数改为100;③修改求和模块输入口的代数符号,双击求和模块,引出如图五所示的参数设置窗,把符号栏中的默认符号(++)修改成所需的代数符号(--),单击[OK]键,完成设置;图五:改变输入口符号的求和模块参数设置窗④对积分模块<Integrator1>的初始状态进行设置:双击积分模块<Integrator1>,引出如图六所示的参数设置窗,把初始条件Initial condition 栏中的默认0初始修改为题目给定的0.05,单击[OK]键,完成设置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可以对simulink中的信号线进 行标注。双击该线,会打开一 个文本框允许你输入信号的名 称,这对于解释和文件说明仿 真过程非常有用。
§4.1 曲柄滑块机构的Simulink仿真
修改后的仿真系统
§4.1 曲柄滑块机构的Simulink仿真
2 运行曲柄滑块机构的仿真
前面已经强调指出,必须确保所建立的初始条件的相容性。对于基于速度 的仿真,相容性意味着初始条件代表连杆的真实有效位置。对加速度仿 真,除了位移的相容性要求外,初始速度也必须表示一个有效的速度组合。 将曲柄滑块机构视为一个单自由度系统可以更好地理解这一点。 如果指定了曲柄转速( ω2 的初始速度),那么另外两个速度( ω3 和 r1 ) 也就通过速度方程(4—6)确定了下来。 这里给出两个例子。第 一个例子仿真在匀加速 下从零速度状态开始执 行,第二个例子在匀速 条件下运行。
线的分支:按住鼠标右 键,在需要分支的地方 拉出即可以。或者按住 Ctrl键,并在要建立分支 的地方用鼠标拉出即可。
将适当的信号和函数的输入联系起来
§4.1 曲柄滑块机构的Simulink仿真
为完成仿真,加入一个Mux块.以此将输出结果集合成一个矩阵。该矩阵在仿 真完成时在MATLAB平台中是可见的。
2 − r2ω2 sin θ 2 − r2ω2 cos θ 2 − r3ω3 sin θ 3 − r3ω32 cos θ 3 = r1 2 r2ω2 cos θ 2 − r2ω2 sin θ 2 + r3ω3 cos θ3 − r3ω32 sin θ 3 = 0
写成如下矩阵形式:
⎡ r3ω3 sin θ3 ⎢ −r cos θ 3 ⎣ 3
匀速输入时完成的运动学仿真(文件slicrank.mdl)
§4.1 曲柄滑块机构的Simulink仿真
3 建立初始条件
在仿真运行之前,必须为积分器建立适当的初始条件。这是求解任何微分 方程的关键一步。而且,这对于运动学仿真显得待别重要。如果使用了不 相容的初始条件,将会导致仿真失败。
初始条件必须是机构在某个真实位置时的角度和长度。
Mux和DeMux 在Signal routing (commonly used block) 双击可以改变Mux和DeMux 输入信 号线和输出信号线的数目
扩展模块图以包含compvel.m,将积分器的输入和函 数的输出联系起来
§4.1 曲柄滑块机构的Simulink仿真
下面,适当的信号被“联网’”到Mux块,
§4.1 曲柄滑块机构的Simulink仿真
function [x]=compvel(u) % % function to compute the unknown velocities for a slider crank with % constant crank input % u(1)=omega-2 % u(2)=theta-2 % u(3)=theta-3 % % Define the geometry % r2=1.0; r3=4.0; % a=[r3*sin(u(3)) 1; -r3*cos(u(3)) 0]; b=[-r2*u(1)*sin(u(2)); r2*u(1)*cos(u(2))]; % x=inv(a)*b;
§4.1 曲柄滑块机构的Simulink仿真
4 仿真结果
5 4.8 4.6 Piston Displacement (In) 4.4 4.2 4 3.8 3.6 3.4 3.2 3
0
0.01
0.02
0.03 0.04 Time(Sec)
0.05
0.06
0.07
§4.1 曲柄滑块机构的Simulink仿真
4 仿真结果
50 40 30 Connect Rod Speed (rad/s) 20 10 0 -10 -20 -30 -40 -50
0
0.01
0.02
0.03 0.04 Time(sec)
0.05
0.06
0.07
§4.1 曲柄滑块机构的Simulink仿真
4 仿真结果
200 150 100 Piston Speed (in/s) 50 0 -50 -100 -150 -200
R2 + R3 = R1
§4.1 曲柄滑块机构的Simulink仿真
⎧r2 cos θ 2 + r3 cos θ3 = r1 将 R2 + R3 = R1 分解到x和y坐标轴上,得到 ⎨ ⎩ r2 sin θ 2 + r3 sin θ3 = 0 ⎧−r2ω2 sin θ 2 − r3ω3 sin θ3 = r1 上式对时间求导数,有 ⎨ ⎩ r2ω2 cos θ 2 + r3ω3 cos θ3 = 0
2 1 ⎤ ⎡ a3 ⎤ ⎡ −r2ω2 sin θ 2 − r2ω2 cos θ 2 − r3ω32 cos θ3 ⎤ ⎥ ⎥⎢r ⎥ = ⎢ 2 0 ⎦ ⎣ 1 ⎦ ⎣ r2 a2 cos θ 2 − r2ω2 sin θ 2 − r3ω32 sin θ3 ⎦
〔4—9)
比较方程〔4—9)和矩阵形式的速度方程(4—6),这两个方程左端2×2的矩 阵完全一样。由此可以看出闭环矢量方程导数的这一重要特性。可以将此 作为推导新的机构运动方程时验证方程正确性的重要检查方式。其中 Nhomakorabear1 是矢量
写成矩阵形式
大小的变化率,也是滑块相对于地面的平移速度。 R1 ⎡ r3 sin θ3 1 ⎤ ⎡ω3 ⎤ ⎡ −r2ω2 sin θ 2 ⎤ ⎢ −r cos θ 0 ⎥ ⎢ r ⎥ = ⎢ r ω cos θ ⎥ (4—6) 3 2 ⎦ ⎣ 3 ⎦⎣ 1 ⎦ ⎣ 2 2
ω2
如果将 ω2 视为仿真的输入,可以用数值积分从速度中计算出 θ 2 、 3 和 θ
§4.1 曲柄滑块机构的Simulink仿真
4 仿真结果
假设曲柄以1800 r/min(188.5rad/s)的速度旋转。按这种速度,曲柄 仅在0.07s之内就旋转了两圈,所以仿真的时间从0~0.07s。双击仿真中的 constant块可以设置曲柄的旋转速度。出现的对话框允许为曲柄旋转速度 输入任意值。角速度的单位是rad/s.注意到这一点是十分重要的。为便 于进行分析,以转/分(r/min)为单位的曲柄旋转速度必须转化为rad/s。
积分模块以输出信号的名称(即仿真结果)来标识
§4.1 曲柄滑块机构的Simulink仿真
要使仿真顺利地进行,积分器的输入必须和相应的积分器恰当地连接起来。 第一个输入的是 ω2 ,这里假设 ω2 为常量并作为仿真的输入, 可以使用Source (commonly used block)库中的一个,另外两个速度可以从 闭环矢量方程(4—6)中求得。 编写一个MATLAB函数来求解(4—6)方程,函数名为compel,存储于文 件compel.m中。
在MATLAB命令提示符中键入 >>plot(tout,simout(:,5)) >> xlabel('Time(Sec)') >> ylabel('Piston Displacement (In)') plot(tout,simout(:,2)) xlabel('Time(sec)') ylabel('Connect Rod Speed (rad/s)') > plot(tout,simout(:,4)) xlabel('Time(sec)') ylabel('Piston Speed (in/s)')
本例的初始条件可以通过简单的几何关系求解给出。为了便于求解,假设曲
θ 柄的初始位置为 θ 2 =0, 此时曲柄和连杆处于同一条线上。 3 也等于零,
滑块处于距离坐标原点长度为
r2 + r3 的位置。
这个位置在活塞一气缸装置中被称为“上死点(TDP)”。
§4.1 曲柄滑块机构的Simulink仿真
用下面两种方法建立起仿真的初始条件。最直接的方法就是双击仿真流程图中 的积分器图标,在“Initial condition”产中输入数值。这种方法对于更复杂的初 始条件会变得非常笨拙。另一种方法是为MATLAB环境变量设置初始值。 在MATLAB命令提示符中键入
§4.1 曲柄滑块机构的Simulink仿真
求解上面的加速度方程(4—9)需要一个新的函数文件compacc.m。 function [x]=compacc(u) % function to compute the unknown accelerations for a slider crank with % variable speed crank input % u(1)=alpha-2 % u(2)=omega-2 % u(3)=omega-3 % u(4)=theta-2 % u(5)=theta-3 % Define the geometry r2=1.0; r3=4.0; % a=[r3*sin(u(5)) 1; -r3*cos(u(5)) 0]; b=[-(r2*u(1)*sin(u(4))+r2*u(2)^2*cos(u(4))+r3*u(3)^2*cos(u(5))); r2*u(1)*cos(u(4))-r2*u(2)^2*sin(u(4))-r3*u(3)^2*sin(u(5))]; x=inv(a)*b;
0
0.01
0.02
0.03 0.04 Time(sec)
0.05
0.06