人在仿真软件

仿真软件和基于模型的设计

内燃机点火控制的例子——第1部分

这篇文章介绍一个示例项目我最近提交给MATLAB中心:四缸发动机点火控制仿真

这个项目是与艾萨克合作Hisahiro Ito在北美丰田汽车研发。在这个项目中,你会发现:

这个项目是为了教育目的,演示的目的上市产品可以一起使用。2022世界杯八强谁会赢?

在今天的文章中,我描述了发动机和动力传动系统的建模。我将在下周跟进职位描述控制器实现的。

概述

这张图片说明了一连串的事件在这个项目。

项目概述

  • 发动机曲轴是配备了一个齿轮。在这种情况下,牙齿是等距的每10度,与一个丢失的牙齿。
  • 当曲轴旋转时,前面的牙齿通过传感器触发一个中断,执行代码的ECU。
  • 代码计算引擎的位置和速度,并确定下一个缸应该火。
  • 代码设置了一个硬件定时器,在适当的时间适当的火花塞。

接下来的情节展示了各缸火花塞发射时在一个燃烧周期。

汽缸火花信号

开始

为了方便起见,参与这个项目的所有文件都包含在一个仿真软件项目。当你打开这个项目,一个快捷方式到主模型出现:

仿真软件项目的快捷方式

这是主要的模型是什么样子。

主要模型
点击图片放大

记录每个子系统在做什么,我使用笔记。笔记是一种方便的方法来添加富文本、模型方程,和图片。你可以打开和关闭Notes视图菜单或按Ctrl + Shift + N。如果你没有注意到,您可以单击并拖动标题栏的笔记将它移动到顶部,底部,向左或向右。你甚至可以停靠的画布。

引擎设计使用符号数学工具箱

里面包含引擎的子系统模型,您将看到笔记提供一系列MATLAB LiveScripts超链接,我的合作者艾萨克设计引擎创建的模型:

笔记MLX

在这些文件中,艾萨克MATLAB生成函数和Simscape方程直接从符号数学工具箱。这里有一个例子计算气缸容积作为曲柄角的函数。

符号数学工具箱

四缸引擎使用Simscape语言实现

将他的设计在仿真软件中,艾萨克Simscape语言使用。使用状态图建模为每一个阶段,他实现方程的燃烧循环:进气、压缩、膨胀、排气。

Simscape Modechart

除了一个气缸组件,以撒也实现了一个进气组件,允许控制气流进入发动机使用节流阀和排气组件。

这是气缸的压力是什么样子的一个燃烧循环. .

气缸压力

组装引擎,我们连接的摄入量,四缸排气组件一起使用物理连接在一个子系统。然后我使用新的R2018b函数subsystem2ssc这个子系统转换成Simscape复合组件然后,我们可以包括在模型中使用Simscape组件块。这使我们所有的引擎在一个方便的参数对话框。

Simscape subsystm2ssc

动力传动系统建模使用Simscape动力传动系统

增加发动机的负荷,我使用Simscape动力传动系统模块变矩器,离合器行星齿轮在动力传动系统模型。我建议看完整的汽车模型示例一个类似的实现。

Simscape动力传动系统

汽车的身体

对车辆的身体,我决定实现两个版本使用不同的子系统

因为使用Simscape艾萨克实现发动机模型,我使用Simscape首次实现动力传动系统:

动力总成Blockset车辆

对于第二个实现,我认为这是一个很好的机会来展示新产品的存在在R2016b发行,动力总成Blockset。这个产品(!)并没有一个引擎模型适合这个应用程序,但它包含的组件库模拟引擎子系统,传动总成、牵引电机、电池等。

这是我如何界面上的车辆身体1自由度纵向其余的Simscape网络:

动力总成Blockset车辆

我建议你看一看图书馆完全组装应用程序模型的引用汽车动力系统,包括汽油、柴油、混合动力和电力系统包括动力总成Blockset。

现在轮到你了

在我的下一个博客文章中,我将描述其余的模型架构。

与此同时,我想听到你的声音。把你下面的评论或问题。

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。

Baidu
map