这个例子展示了如何建模一个四缸火花点火内燃机从节流阀到曲轴输出。我们使用定义良好的物理原理,在适当的情况下,补充了描述系统动态行为的经验关系,而不引入不必要的复杂性。
本示例描述了围绕创建引擎模型的概念和细节,重点介绍了重要的Simulink®建模技术。金宝app基本模型使用Simulink的增强功能,以高保真度捕获基于时间的事件。金宝app在这个模拟中,一个触发子系统通过离散的阀门事件模拟了空气-燃料混合物从进气歧管到气缸的传递。这与进气流量、扭矩产生和加速的连续时间过程同时发生。第二种模型增加了一个额外的触发子系统,通过油门驱动器提供闭环发动机速度控制。这些模型可以作为独立的引擎模拟使用。或者,它们可以在更大的系统模型中使用,例如在牵引力控制系统的开发中,集成车辆和动力系统仿真。
该模型基于Crossley和Cook(1991)发表的结果。对四缸火花点火式内燃机进行了仿真。Crossley和Cook的工作还展示了如何根据测功机测试数据验证基于该模型的仿真。下文将分析Crossley和Cook所指出的引擎模型的关键元素:
节气门
进气歧管
质量流量
压缩冲程
扭矩产生和加速
注意:可以向模型中添加额外的组件,以提供更高的模拟精度,并更紧密地复制系统的行为。
模型的第一个要素是节流阀体。控制输入是节气门板的角度。模型将空气引入进气歧管的速率可以表示为两个函数的乘积:
节气门板角度的经验函数
是大气压力和流形压力的函数
在流形压力较低(真空较大)的情况下,通过节流阀体的流量是音速的,仅是节流阀角度的函数。该模型在方程1所示的压缩方程中使用切换条件来解释这种低压行为。
方程1
该仿真将进气歧管建模为一个关于歧管压力的微分方程。流入和流出质量流量的差值表示空气质量随时间的净变化率。根据理想气体定律,这个量与流形压力的时间导数成正比(见公式2)。请注意,与Crossley和Cook的模型(参见参考文献3到5)不同,这个模型不包括废气再循环(EGR),尽管这可以很容易地添加。
方程2
模型从歧管泵入气缸的空气质量流量由经验推导的方程描述在方程3中。质量率是流管压力和发动机转速的函数。
方程3
为了确定泵入气缸的总空气量,模拟集成了进气歧管的质量流量,并在每次进气冲程事件结束时对其进行采样。这决定了在进气冲程后和压缩前每个气缸中存在的总空气质量。
在直列四缸四冲程发动机中,180度的曲轴旋转将每个连续气缸的点火分开。这导致在每一个其他曲柄革命每个缸射击。在这个模型中,进气、压缩、燃烧和排气冲程同时发生(在任何给定的时间,一个气缸处于每个阶段)。考虑到压缩,每一次进气充能的燃烧从进气冲程结束后被曲柄旋转180度延迟。
模拟的最后一个元素描述了发动机产生的扭矩。扭矩计算使用的经验关系依赖于空气装药质量、空气/燃料混合比、火花提前和发动机转速(见公式4)。
方程4
用公式5计算发动机角加速度
方程5
我们使用Simulink将上面描述的模型元素合并到引擎模型中。金宝app下面的部分描述了我们为这个实现所做的决策和使用的关键Simulink元素。金宝app本节将展示如何在Simulink环境中轻松快速地实现复杂的非线性引擎模型。金宝app我们与福特汽车公司的Ken Butts®(2)共同开发了该模型。
图1显示了模型的顶层。请注意,一般来说,主要块对应于前面摘要中模型描述中给出的高级功能列表。利用Simulink的分层建模功能,图1金宝app中的大多数块都由更小的块组成。下面的段落描述了这些较小的块。
按下模型工具栏上的“播放”按钮来运行模拟。
图1:顶层的发动机模型和仿真结果
注意:该模型将相关数据记录在一个名为sldemo_engine_output
.记录信号有一个蓝色指示灯。在Simulink文档中阅读有关信号记录的更多信息。金宝app
在模型中,双击“油门和进气歧管”子系统打开它。它还包含另外两个子系统——“节流阀”和“进气歧管”子系统。打开“油门”和“进气歧管”,看看他们的组件。
图2:“油门”和“进气歧管”子系统
金宝app节流和进气歧管子系统的Simulink模型如图2所示。节流阀以非线性方式工作,并将其建模为一个具有三个输入的子系统。金宝appSimulink以函数块的形式实现了方程1中给出的各个方程。这为描述多变量非线性方程提供了一种方便的方法。“开关”块通过比较压力比与开关阈值(设置为1 / 2)来确定流量是否为声速。在声速状态下,流量仅是节流位置的函数。流动的方向是从较高的压力到较低的压力,由符号块确定。考虑到这一点,“Min”块确保压力比始终是统一或更小。
方程2中的微分方程模拟进气歧管压力。一个金宝appSimulink函数块计算进入气缸的质量流量,它是流形压力和发动机转速的函数(见公式3)。
积分器在“进气”块(位于“节气门和歧管”子系统内)中累积气缸质量气流。“阀门正时”块发出脉冲,对应于特定的旋转位置,以管理进气和压缩正时。阀门事件发生在每一个凸轮旋转,或每180度曲轴旋转。每个事件触发“压缩”子系统的一次执行。“压缩”子系统内的触发块的输出然后反馈给复位进气积分器。通过这种方式,虽然两个触发器在概念上发生在同一时刻,但积分器输出在被重置之前立即由“压缩”块处理。在功能上,“压缩”子系统使用“单元延迟”块插入180度(一个事件周期)的延迟之间的每个空气充电的吸入和燃烧。
考虑一个气缸的完整四冲程循环。在进气冲程中,“进气”块集成了来自歧管的质量流量。曲柄旋转180度后,进气阀关闭,“压缩”子系统中的“单元延迟”块对积分器状态进行采样。这个值,即累积质量电荷,可在“压缩”子系统的输出180度后用于燃烧。在燃烧行程中,曲柄由于产生的扭矩而加速。最后的180度,即排气冲程,以进气积分器的重置结束,为该特定气缸的下一个完整720度循环做好准备。
对于四个气缸,我们可以使用四个“进气”模块,四个“压缩”子系统等等,但每个子系统75%的时间都是空闲的。通过使用一组块执行所有四个圆柱体的任务,我们使实现更加有效。这是可能的,因为在我们建模的细节级别上,每个函数一次只应用于一个圆柱体。
发动机扭矩是四个变量的函数。该模型使用“Mux”块将这些变量组合成一个矢量,为“扭矩生成”块提供输入。一个函数块计算发动机扭矩(经验描述在公式4中)。在拖动扭矩块中通过阶跃函数计算的加载发动机的扭矩,在发动机动力学子系统中减去。差除以惯量产生加速度,这是积分,以达到发动机曲轴转速。
我们使用以下默认输入进行模拟:
试着调整油门来补偿负载扭矩。图3显示了模拟的发动机转速,驱动模拟的油门命令,以及干扰它的负载扭矩。
图3:开环仿真输入
图3 b:开环仿真结果
关闭模型。清除生成的数据。
模拟非线性复杂系统的能力,例如这里描述的引擎模型,是Simulink的关键特性之一。金宝app模拟的力量在上面模型的展示中是显而易见的。金宝appSimulink保持模型的保真度,包括精确定时的气缸进气事件,这对于创建这种类型的模型至关重要。基本引擎模型显示了Simulink的灵活性。金宝app
[1] P.R. Crossley和J.A. Cook, IEEE®国际会议“控制91”,会议出版物332卷,第2卷,第921-925页,1991年3月25-28日,爱丁堡,英国
[2] Simu金宝applink模型。由福特汽车公司的肯·巴茨开发。由Paul Barnard, Ted Liefeld和Stan Quinn修改,MathWorks®,1994-7。
[3] J. J. Moskwa和J. K. Hedrick,“汽车发动机实时控制应用建模”,Proc.1987 ACC,第341-346页。
B. K. Powell和J. A. Cook,“非线性低频现象学发动机建模与分析”,1987年,第332-340页。
[5] R. W. Weeks和J. J. Moskwa,“基于Matlab/Simulink的汽车发动机实时控制建模”,1995金宝app丛论文950417。