内燃机点火控制实例-第1部分
这篇文章介绍了一个我最近提交给Matlab Central的示例项目:四缸发动机点火控制仿真
该项目是与Toyota Motor North America研发丰田汽车的ISAAC Hisahiro Ito合作。在这个项目中,您会发现:
- 使用该实施的4缸发动机的仿真Simscape语言
- 设计的发动机模型使用符号数学工具箱
- 动力传动系统实现使用Simscape动力传动系统
- 控制器使用的控制器实现导出功能风格模型,允许使用嵌入式编码器与发动机电子控制单元(ECU)的外部环境和实时操作系统调度程序集成
- 使用实时操作系统调度器的模拟州流程
- 仿真了单片机的硬件定时器使用Simevents.
这个项目是为了教育目的,目的是演示如何将列出的产品一起使用。下载188bet金宝搏
在今天的帖子中,我将描述引擎和传动系统的建模。我将在下周发表一篇描述控制器实现的文章。
概述
此图像说明了该项目中的事件的连续。
- 发动机曲轴上装有一个齿轮。在这种情况下,牙齿每10度间隔一次,少了一颗牙齿。
- 当曲轴旋转时,齿在触发中断的传感器前方,在ECU上执行代码。
- 代码计算发动机的位置和速度,并确定下一个气缸应该射击。
- 代码设置一个硬件定时器,将在适当的时间点燃适当的火花塞。
下一个图显示了当火花塞被点燃时,每个汽缸在一个燃烧周期。
开始
为方便起见,项目中涉及的所有文件都包含在Simulink项目中。金宝app打开项目时,将出现到主模型的快捷方式:
这是主要模型的样子。
要记录每个子系统正在做什么,我使用笔记.注意是将富文本,方程和图像添加到模型的方便方式。您可以从“视图”菜单中打开并关闭“注释”,也可以击中Ctrl + Shift + n。如果您没有注意到,您可以单击并拖动笔记的标题栏以将其移动到顶部,底部,左侧或右侧。你甚至可以从画布中取出它。
使用符号数学工具箱的引擎设计
在包含引擎模型的子系统内部,您将看到Notes提供的超链接到一系列Matlab LiveScripts,即我的合作镜ISAAC创建设计引擎模型:
在这些文件中,ISAAC直接从符号数学工具箱生成MATLAB函数和SIMSCAPE方程。这里是计算汽缸容积作为曲柄角的函数的示例。
四缸引擎实现使用Simscape语言
为了在Simulink中融入他的设计,Isaac使用了Si金宝appmscape语言。使用状态图建模,他为燃烧循环的每个阶段:进、压缩、膨胀和排气建立了方程式。
除了气缸组件,Isaac还设计了一个进气组件,允许使用节流阀来控制发动机中的气流,以及一个排气组件。
这是汽缸中的压力看起来像在一个单一的燃烧循环过程中。
为了组装发动机,我们使用子系统内的物理连接连接进气,四缸和排气组件。然后我使用了新的R2018B功能subsystem2ssc.将此子系统转换为aSimscape Composite组件,然后我们可以使用Simscape组件堵塞。这使我们能够在一个方便的对话框中拥有所有引擎参数。
使用Simscape Driveline建模
为了添加引擎的负载,我使用了Simscape Driveline模块变矩器,离合器和行星齿轮模拟动力传动系统。我建议看看完整车型示例对于一个文档完备的类似实现。
车身
对于Vehicle主体,我决定使用变体子系统
因为Isaac使用Simscape实现了引擎模型,所以我使用Simscape Driveline制作了第一个实现:
对于第二个实施,我认为展示在R2016B发布的新产品的存在是一个很好的机会,动力总成Blockset.本产品没有(尚未!)具有适合该应用的发动机模型,但它包括用于模拟发动机子系统,传动组件,牵引电动机,电池组等的组件库。
这是我如何界面车身纵向1DOF对于Simscape网络的其他部分:
我建议你看一下完全组装的参考应用程序模型库汽车动力总成,包括汽油,柴油,混合动力和电动系统包括动力总成Blockset。
现在轮到你了
在我的下一篇博文中,我将描述剩余的模型体系结构。
与此同时,我希望能收到你的来信。请在下面发表您的评论或问题。
注释
要发表评论,请点击这里登录您的MathWorks帐户或创建新的。