内燃机点火控制的例子——第1部分
这篇文章介绍一个示例项目我最近提交给MATLAB中心:四缸发动机点火控制仿真
这个项目是与艾萨克合作Hisahiro Ito在北美丰田汽车研发。在这个项目中,你会发现:
- 模拟的四缸引擎使用的实现Simscape语言
- 设计发动机模型的使用符号数学工具箱
- 动力传动系统实现使用Simscape动力传动系统
- 控制器实现使用一个导出功能风格模型,允许使用生成的代码嵌入式编码器结合外部环境和实时操作系统调度器发动机电子控制单元(ECU)
- 仿真的实时操作系统调度器使用Stateflow
- 模拟单片机硬件定时器的使用SimEvents
这个项目是为了教育目的,演示的目的上市产品可以一起使用。2022世界杯八强谁会赢?
在今天的文章中,我描述了发动机和动力传动系统的建模。我将在下周跟进职位描述控制器实现的。
概述
这张图片说明了一连串的事件在这个项目。
- 发动机曲轴是配备了一个齿轮。在这种情况下,牙齿是等距的每10度,与一个丢失的牙齿。
- 当曲轴旋转时,前面的牙齿通过传感器触发一个中断,执行代码的ECU。
- 代码计算引擎的位置和速度,并确定下一个缸应该火。
- 代码设置了一个硬件定时器,在适当的时间适当的火花塞。
接下来的情节展示了各缸火花塞发射时在一个燃烧周期。
开始
为了方便起见,参与这个项目的所有文件都包含在一个仿真软件项目。当你打开这个项目,一个快捷方式到主模型出现:
这是主要的模型是什么样子。
记录每个子系统在做什么,我使用笔记。笔记是一种方便的方法来添加富文本、模型方程,和图片。你可以打开和关闭Notes视图菜单或按Ctrl + Shift + N。如果你没有注意到,您可以单击并拖动标题栏的笔记将它移动到顶部,底部,向左或向右。你甚至可以停靠的画布。
引擎设计使用符号数学工具箱
里面包含引擎的子系统模型,您将看到笔记提供一系列MATLAB LiveScripts超链接,我的合作者艾萨克设计引擎创建的模型:
在这些文件中,艾萨克MATLAB生成函数和Simscape方程直接从符号数学工具箱。这里有一个例子计算气缸容积作为曲柄角的函数。
四缸引擎使用Simscape语言实现
将他的设计在仿真软件中,艾萨克Simscape语言使用。使用状态图建模为每一个阶段,他实现方程的燃烧循环:进气、压缩、膨胀、排气。
除了一个气缸组件,以撒也实现了一个进气组件,允许控制气流进入发动机使用节流阀和排气组件。
这是气缸的压力是什么样子的一个燃烧循环. .
组装引擎,我们连接的摄入量,四缸排气组件一起使用物理连接在一个子系统。然后我使用新的R2018b函数subsystem2ssc这个子系统转换成Simscape复合组件然后,我们可以包括在模型中使用Simscape组件块。这使我们所有的引擎在一个方便的参数对话框。
动力传动系统建模使用Simscape动力传动系统
增加发动机的负荷,我使用Simscape动力传动系统模块变矩器,离合器和行星齿轮在动力传动系统模型。我建议看完整的汽车模型示例一个类似的实现。
汽车的身体
对车辆的身体,我决定实现两个版本使用不同的子系统
因为使用Simscape艾萨克实现发动机模型,我使用Simscape首次实现动力传动系统:
对于第二个实现,我认为这是一个很好的机会来展示新产品的存在在R2016b发行,动力总成Blockset。这个产品(!)并没有一个引擎模型适合这个应用程序,但它包含的组件库模拟引擎子系统,传动总成、牵引电机、电池等。
这是我如何界面上的车辆身体1自由度纵向其余的Simscape网络:
我建议你看一看图书馆完全组装应用程序模型的引用汽车动力系统,包括汽油、柴油、混合动力和电力系统包括动力总成Blockset。
现在轮到你了
在我的下一个博客文章中,我将描述其余的模型架构。
与此同时,我想听到你的声音。把你下面的评论或问题。
- 类别:
- 世界杯预选赛小组名单社区,
- 有趣,
- 基于模型的设计,
- 建模、
- 物理建模
评论
留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。