首页 > 解决方案 > 汽车 > 使用MapleSim 使用MapleSim对均值内燃机引擎建模和仿真


1.问题描述
  开发车辆引擎的高保真预测模型是动力总成工程师关注的一个重点。通过开发引擎的虚拟样机,汽车厂家可以最大限度地理解引擎的行为。这种理解在控制器的设计和开发过程中特别有价值,最大化车辆的性能,同时服从政府和环境的限制。在投资物理样机阶段之前完成这个分析已经被证明可以节约大量的时间,显著减少产品开发过程中的成本。

  本文介绍了使用MapleSim开发内燃机引擎的平均值模型,从使用各种物理建模技术创建参数化模型到最后的仿真。平均值模型提供了总的能耗/输出功率,不考虑进气/压缩/点火/排气的循环。引擎控制系统开发工程师特别青睐这些模型,因为他们仅关心感兴趣的系统属性,要求这些模型的计算速度足够快。请注意,由于这个模型使用了客户专有的数据,实际值已经被一些公开的数据源所代替。

2.解决方案
2.1均值 IC引擎模型
  模型提供了总功耗/速度/扭矩/油耗,给定空气/燃料气体的质量流。气流取决于节流阀的位置,这里使用了一个简化的引擎控制器闭合引擎的实际和期望速度之间的循环。
  引擎模型自身由三个主要的子系统组成:节气门、进气歧管、和引擎功率,加载引擎机轴上的载荷通过一个测功机模型提供。

图1:Mean-value engine model in MapleSim
2.2节气门子系统
  模型提供了总功耗/速度/扭矩/油耗,给定空气/燃料气体的质量流。气流取决于节流阀的位置,这里使用了一个简化的引擎控制器闭合引擎的实际和期望速度之间的循环。
  节气门子系统计算基于节气阀角度的空气质量流。在该模型中,角度由引擎控制器提供作为输入信号。基于节气门和阀的几何形状,有效的节气门截面积 () 与阀门角度 (ϕ) 的关系如下:


(Moskwa, 1988. Note all variable definitions are given in the glossary at the end of this article.)
质量流速本身与有效节气门面积和歧管压力的关系如下:


(Heywood, 1988)
  控制方程由两部分组成:亚音速和超音速,取决于歧管压力与环境的压力之比。
在MapleSim实现基于这些方程的自定义模型元件非常容易,只需要在Maple文件模板中输入这些方程,定义输入、输出和参数,Maple系统会自动将它们转换为一个MapleSim模块。方程表示为一个分段函数,流速条件变换时切换方程。

  注意到质量流块需要两个输入:节气门截面积 (   ) 和歧管压力 (    ),来自于歧管子系统的属性反馈。输出信号是通过节气门的空气/燃油质量流( )。
  在MapleSim中,你可以双击自定义元件打开对应的Maple文件,检查自定义模型使用的数学模型。下图3显示了计算有效节气门截面积的文件。

Figure 3: Maple document implementing the throttle area equation

2.3歧管子系统
  进气歧管对引擎气缸的气流和压力有着明显的影响。这里有两个物理效应需要考虑在内:

2.3.1 1. 歧管压力
  物理上,进气歧管引导空气/燃油混合物进入气缸,但同时也会导致阻塞,降低了气缸内的气压和质量流。歧管压力 () 和质量流() 的计算基于微分形式的理想空气状态方程,考虑等温条件下的进气歧管控制体积。 (Hendricks, E., et al., 1996).




这里包含了容积效率 (  ) ,描述如下


Figure4: Intake manifold
  同样,这些方程,包括歧管压力的微分方程,可以在Maple自定义元件文件中通过简单的方式输入上面格式的数学方程。唯一需要附加的因素是压力的初始条件,这个可以在自定义块中作为一个参数输入(定义为稍低于大气压)。
 
Figure 5: Manifold pressure and mass flow equations implemented in Maple as a custom component

  模型块的输入时引擎速度(RPM),节气门的质量流,由数据查找表生成的容积效率。输出是歧管压力和进入气缸的质量流。
2.3.2 容积效率
  容积效率 (  ) 的模型是由数据查找表生成,数据表是在一定范围内引擎速度和歧管压力对应的容积效率的实验值,存储在Excel® 表格内。由于保密的原因,这里显示的实际数据值已经被修改,但是它们给出了一个合理的近似值以说明模型的使用性

 
Figure 6: Volumetric efficiency lookup table

2.4引擎子系统
  该引擎子系统考虑了通过传递到气缸内的油气混合物燃烧产生的功率、热效率、引擎内摩擦和惯量的损失,以及驱动轴上的惯性负载。
制动力包含在引擎子系统中,没有考虑损耗功率。如图7所示,净功率的计算位于输出力矩(在输出扭矩子系统中)和最右侧的机械法兰端口之间的界面上。

Figure 7: Engine subsystem

2.4.1 热效率
  热效率 ( ) 使用了多项式表达式的经验公式 (Hendricks, E., et al.,1996),考虑了速度 (n),歧管压力(),空燃比(λ ):
 这里, 

  系数bn,cn,和dn 通常来源于制造商的测试数据,具有很高的保密性。在这里,我们使用了Hendricks提供的系数
使用这些方程创建一个自定义元件,空燃比 (λ)、引擎毡度(n)、歧管压力 () 作为输入,返回热效率 ( ) 作为输出。

2.4.2 引擎功率计算
引擎工具和速度的计算机与下面的引擎方程 (Hendricks, E., et al.,1996):和 
这里,


 
  方程中的 都是常数,可由实验获得。(本例中使用了教科书的数值)
  使用这些方程创建了一个自定义元件,计算净功率。但是,由于这个模型需要提供外部载荷,可以用经验近似值代替载荷功率(Pload) ,微分方程代替引擎速度,以及驱动轴的载荷功率和速度。

2.4.3 载荷和净功率计算
  从整个项目看,该模型已经开发为一个信号流模型框图,引擎的数学分别用一个个方程表示(用自定义元件)。然而,MapleSim的一个强项是,工程系统可以用连接的元件表示,元件间的传递属性包含在连接线上。这种“非因果”的建模方法让工程系统建模变得非常容易,例如连接测功机的外部载荷到引擎模型。这意味着载荷功率隐式地被确定,因此引擎速度可以被计算,仅需要在表示驱动轴的连接线上添加一个速度传感器。
实际上,实现了上面的速度方程。
 


 
Figure 9: Available torque with power and speed sensors
  主要的困难是信号流模型和非因果机械模型的集合,实现的方法是计算引擎的制动扭矩 ((Pind - Ploss)/n) ,然后将它转换为非因果的扭矩,应用到表示内燃机引擎惯量的惯量模块,最后应用到机械旋转法兰,来你接外部载荷(见图10)。
在图中,输出扭矩子系统连接到代表引擎驱动轴的机械法兰。两个法兰之间插入的是一个功率传感器,提供净功率(Pbrake–Pload) ,和一个速度传感器,提供引擎速度信号,返回到引擎功率模块,满足功率方程的需要。

Figure 10: Engine torque. Signal-flow to acausal representation

2.5外部载荷(测功机)
  引擎的功率和速度可以通过传动轴上已有的扭矩得到,允许通过机械法兰附加一个机械载荷。相比信号流模型,这个非因果连接让加载载荷到系统上变得容易。在这个项目的将来阶段,传输和传动模型可以很容易地以这种方式连接到引擎。
在项目的当前阶段,使用了一个简单的测功机模型,加载外部载荷到引擎(见图11)。
测功机模型包括转动惯量表示动力系统载荷,车辆质量、平移惯量、和粘性阻尼表示拖动载荷。在仿真过程中,将 t=20时对引擎应用一个阶跃载荷,观察系统响应。

Figure 11: Dynamometer model

2.6转速控制
  该引擎转速控制子系统并不代表真实的引擎控制单元(ECU),它仅仅提供代表驾驶和整体的控制规律,达到稳定引擎响应到期望的转速。驾驶员期望的转速使用了一个阶跃函数到有限制的PID控制模块,设置期望的节气门的角度,给定期往和实际转速之间的差值。
  PID模块中的限制用于确保阀门不超过节气门中阀门机构的物理限制。对于该模型,极限设置为8到78度,但不同的引擎会有所不同。
使用PID模块的另一个优势是定义范围(或者或是限制模块),它包含一个抗饱和功能,不仅保持输出在它的范围内,而且停止积分。这意味着当输出返回到范围内时,积分器不需要从当前状态跌落后发出角度值,而是直接立即发出正确的角度值。
 

3.实施步骤
3.1 模型参数化
  该项目的一个任务是提供一个整体框架,可通过调正设计参数和查询表用于不同内燃机引擎。为了这个目的,模型是完全参数的,用户可以在一个地方统一调整参数:引擎参数块。
  参数块的功能是让你可以在一个地方集中管理所有的参数。点击参数块,你可以在MapleSim用户界面(见图12)内查看和便器参数器中的参数值。你也可以创建参数块的库用于不同的引擎,使用时仅需要拖入新的参数库并替换原有引擎参数。
  通过这种方式,你可以使用相同的基础MapleSim模型分析各种不同的引擎模型。

Figure 12: Parameters in the engine parameter block

4.结果分析
4.1 运行仿真和结果
总周期:30秒
引擎速度:怠速 (1000 RPM),
然后在t= 2秒时设置为5000RPM
外部载荷:200 N,然后在t =20时设置到3000 N
  在仿真过程中,数个属性被监测和图形显示。处于讨论的目的,这里仅考虑节流阀的角度、可用功率、转速、载荷和油耗。
注意到结果中在t = 2秒时,转速设置点增加到5000 RPM,节流阀打开到达最大角度。当引擎转速从1000 RPM增加到5000RPM,阀门角度降低到一个稳定的角度 (~15 deg),提供足够的空气流维持新的转速。
  在t=20时,外部载荷增加到3000 N,节流阀打开提供更多的功率,转速在发挥到5000RPM前稍有下降。
毫无疑问,当引擎转速增加时,然后外部载荷增加时,油耗显示了增加。
Throttle Valve Angle


Brake Power
 

External Load
 

Engine Speed
 

Fuel Consumption
 

4.2 进一步的工作  
  该模型是项目的第一阶段,对某些型号的内燃机引擎生成一个现实的、参数化的均值模型。基于行业专家的反馈,在项目的后期会进一步改进该模型。这些改进包括空气/燃料比率(当前假设是常数),点火和可变气门正时(VVT)的影响,以及增加涡轮增压器和催化转换器等模型部件。
  项目组已经将该模型转换为实时C代码,用于在HIL测试平台上(例如dSPACE®和National InstrumentsTM LabVIEWTM Real-Time和 NI VeriStandTM)。引擎模型的下一阶段将包括传输和动力系统模型,以便让它可用于驾驶循环,与其他引擎模型和实际引擎测试数据的校验。

4.3总结
  
该项目的一期工程是使用MapleSim和Maple实现出版的引擎模型方程和经验模型。通过使用自定义元件和查找表,可以很容易地使用表示引擎属性的连接线集成。信号流对象可以与“非因果”的机械系统模型元件形成互补,很好地实现机电一体化系统的建模。
在本文中,仿真使用了来自于公共资源的引擎参数,以便于可以让你对模型有比较直观的正确理解,我们只能与客户使用内部设计数据来验证结果。由于保密的原因,虽然我们不能公开这些结果,但我们可以报道说,结果的正确性是非常令人鼓舞的。
随着项目的进展,我们将看到更多的细节被添加到,以提高模型的保真度和范围,特别是应用到HIL实时测试应用。