学生休息室

分享学生如何在日常项目中使用MATLAB和Simulink的技术和现实例子#学生成功#

提高汽车发动机的性能

在今天的帖子中,Roberto Valenti将提供有关MathWorks新卓越创新计划团队实施的项目的详细信息。

eMATLAB和Simulink设计项目的学生无处不在我们在博客中介绍了MathWorks卓越创新计划以及我们如何合作谢恩·麦科米教授佛罗里达农业机械大学机械工程系-佛罗里达州立大学工程学院试点这个项目。一个年代结果一组来自McConomy教授的高级设计课选择并致力于一个汽车项目GitHub列表在这个博客中,我们提供了关于这个项目的详细信息以及团队已经实现的解决方案。

该团队由四名大四学生组成:Austin LaFever, Patrick H. Marlatt, Frederick Peterson和Jonathan Wozny(学生照片见图1)曾参与一个汽车项目,名字叫MIMO发动机航路控制目的是设计和实现一个扭矩控制,以提高汽车发动机的性能使用多输入多输出(MIMO)方法。

这个具有挑战性的项目让学生有机会了解汽车动力系统、建模和仿真、系统识别以及越来越流行的模型预测控制等先进控制方法。此外,在整个项目中,他们有机会将行业相关工具应用于现实世界的应用,为他们在汽车行业的职业生涯奠定基础!

动机

内燃机在未来很长一段时间内将继续在汽车市场上使用。然而,发动机的性能、燃油经济性和排放必须不断提高,以保持其相对于更昂贵的全电动电源的可行性。例如,现代汽油和柴油发动机使用直接燃油喷射,这可能会导致低负荷的颗粒物排放,这些颗粒小到可以直接通过肺部进入人体血液,因此控制颗粒物是当今柴油和汽油发动机控制设计的主要重点。瞬态空燃比控制是解决颗粒物问题的关键。估计和控制进入发动机的气流的能力至少是空气-燃料比(AFR)控制问题的一半,而AFR对于获得良好的发动机性能、燃油经济性和排放至关重要。由于油门、废气门、凸轮相位器、气体再循环(EGR)等多个执行器会影响进入发动机的气流,多输入/多输出(MIMO)控制发动机气流是改善发动机气流控制和估计性能的理想方法,但目前市场上尚未完全实现。

简介

内燃机依靠外部环境通过发动机的气流来完成燃烧过程并为发动机提供动力。到目前为止,内燃机一直依赖于几十年前开发的单输入单输出(SISO)比例积分(PI)控制方法。这种方法操纵的主要部件控制气流进入发动机使用预定的稳态位置。在瞬态响应期间,输出与稳态运行相比不协调或不优化,导致转矩和排放控制效率低下。虽然有效的稳态控制是可以实现的,但有效的瞬态控制是不可实现的,因此需要改进,以跟上日益竞争的发动机性能和排放标准。在标准技术中,节气门和废气门不协调,无法提供升压或进气歧管压力(MAP)轨迹,从而产生良好的排放和扭矩瞬态响应。我们的项目目标是设计和实现空气系统的MIMO控制器,以在瞬态和稳态条件下对输出值进行协调和最优控制。这种控制方法通过控制油门和废气门来控制升力。然后,升力将与扭矩相关,以创建所需的扭矩响应。

我们决定遵循GM在[1]中所描述的工作,为气流组件,特别是油门和废气门,实现一个模型预测控制(MPC)系统,以有效地控制瞬态和稳态扭矩和排放。

方法

在本项目中,使用MathWorks Powertrain Blockset™中的火花点火(SI)发动机测功机对发动机系统进行了模拟,如图所示图2在下面。

图2发动机测功机模型

为了对系统进行建模,利用MATLAB中的系统识别工具箱,利用虚拟发动机仿真中获得的数据,分别建立了油门和排气门与MAP之间的二阶状态空间模型。由于系统是非线性的,可以通过在一系列工作点(发动机转速和扭矩命令)上创建模型来线性化。

数据收集

为了创建MPC控制器,每个控制器在进行控制计算时需要在特定的工作点上参考一个模型。为了做到这一点,我们运行模拟来收集发动机转速范围内的输入/输出数据;每次模拟都需要收集发动机转速、油门位置、废门位置和MAP的数据。在Simulink中对数据进行模拟和采集,然后在MATLAB中进行处理。在每个工作点/发动机转速下收集两组数据,一组用于系统识别,另一组用于系统验证。

建模

通过覆盖发动机转速来实现建模,使发动机在匀速状态下保持稳态。然后,控制器中的节流阀和废气门值被伪随机二进制序列(PRBS)覆盖,该序列被发送到节流阀和废气门值,本质上是“摆动”每个执行器,然后观察进气歧管压力(MAP)如何响应。当一个PRBS信号被发送到节流阀,废门位置保持不变,只看到节流阀的影响,反之亦然。为了提高精度,我们使用了差分建模系统,对数据进行去趋势化(' dettrend '命令用于输入/输出数据),然后降低数据的量级来改进系统建模。MPC在“差动控制模式”下工作最好。微分建模之所以得名,是因为它根据输入/输出的差异创建模型;从本质上讲,从测量的输入/输出数据中减去输入/输出的平均值,就可以看到由输入变化引起的输出的直接变化。该过程降低了歧管压力的值,使值的中点为零。

建模速度

图3:发动机转速5000 rpm时,油门PRBS信号和MAP响应

在较小的节流阀角度下,增压是敏感的,因为其位置的微小变化将与歧管中空气压力的大百分比差异相关。MAP也更容易建模和控制在小油门角;随着百分比油门的位置增加,系统变得更加难以建模。为了模拟油门和MAP之间的关系,废水闸门在100%完全打开(没有影响),油门在低值下“摆动”。提供合适模型的节流阀值非常低,不到10%。数字3.显示数据收集的变量MAP,油门位置,废气门位置,发动机转速在一个工作点。

排气泄压阀建模

图4:废气门PRBS信号MAP在发动机转速5000 rpm时的响应

废气门的建模以类似于节流阀的方式进行。废纸门在接近关闭时更加敏感(更多的空气旋转涡轮增压器,因此,更多的空气进入气缸),出于同样的原因,在小角度时节流是敏感的。为了模拟废液门,发送一个PRBS信号来覆盖废液门,并将节流阀保持在100%完全打开。这样做是为了确保只有废料门会对MAP响应产生影响,并创建一个废料门-MAP模型。图4显示数据收集的变量MAP,油门位置,废气门位置,和发动机转速。

系统识别

采用黑盒建模方法,将识别输入和输出数据放入MATLAB的系统识别工具箱。这是通过脚本和n4sid命令自动完成的。为了将每个输入变量与进气歧管压力联系起来,只需要二阶模型来生成准确的模型。

模型验证

为了验证用识别数据集创建的状态空间,然后在相同的参数(不同的PRBS信号)处收集第二个验证数据集。第二个数据集的输入被输入到状态空间,从我们的系统中创建一个“最佳猜测”输出。这被称为模型或拟合输出。然后通过绘制系统输出和模型输出的对比图来比较它们。使用MATLAB比较函数返回一个数字拟合,返回一个归一化均方根误差(NRMSE)值,如式1所示,返回拟合。我们的目标是达到90%以上。

在哪里 y">y是验证数据输出,y^">yˆ是系统输出,而且y-">y的意思是 y">y。以下是适合的油门(数字5而且废物门(数字6一个操作点。

图5:在发动机转速5000rpm时,油门在实测升压数据上的拟合模型

图6:废气门在发动机5000转/分时测量升压数据的拟合模型

结果和验证

图7:四种不同发动机转速下的油门控制

数字7显示发动机的绝对流形压力(MAP)输出(蓝色)是由MPC控制的节流值产生的,与期望输出(橙色)相比,在本例中,期望输出是正弦波。这些MPCS使用的状态空间模型与MAP相关(注意它不是微分MAP)。测试的工作点在四种不同的发动机转速下工作。从左到右,它们是750转、1000转、2500转和5000转。即使750 RPM部分的输出有噪声,整个系统的误差也只有1%,远低于我们1.75%的目标。由于输出遵循所需的MAP,存在滞后误差,但它是最小的。在之间的操作点1000转,2500转,和5000转,一个尖峰MAP可以被观察到。这是由于突然的RPM峰值和创建混乱的MAP控制器响应。控制油门的mpcnot能够立即作出反应,导致一个非常短暂的错误,因为油门是调整。误差对我们的精度影响不大控制器和可以有效地忽略。实现差分升压控制模型到MPC控制器中进行测试,求平均升压值被减去从boost命令进入MPC,并将标称执行器值添加到结果控制中命令差分升压离开MPC返回实际执行器所需的位置。一个年代imilar控制方法被用于排气泄压阀和类似的结果被获得。

为了确保该控制器可以在真实的电子控制单元(ECU)上运行,我们创建了一个硬件在环(HIL)系统来与模拟一起运行。图8显示了最终的HIL系统的图片。

HIL系统使用Arduino Uno作为数据采集和电机驱动器,接收MPC创建的模拟油门和废门位置。然后Arduino命令伺服电机移动到模拟角度,编码器以数字方式测量该角度。上图右侧显示的量角器将用于视觉检查油门/废门角度。编码器测量角度后,将数字信号发送回MATLAB,覆盖模拟节气门/废闸阀角度。如果MAP输出符合预期,则HIL系统已经验证了该控制方法可以应用于真实的ECU。

图8:硬件in the Loop系统:该系统由Arduino Uno作为电机驱动和数据采集,伺服电机作为行星,编码器测量电机旋转角度组成。

结论

最终的控制系统能够在不同工作范围下的mpc之间精确切换,以控制油门位置,从而产生所需的MAP命令。此外,系统的状态空间利用差分MAP、节流和废门来返回执行器值,以实现所需的MAP命令在稳定状态下的误差< 0.5%。

所实现的控制器可以单独控制节气门和废门,但不能同时控制以输出改进节气门和废门位置的单个矩阵。虽然我们没有实现MIMO系统,但我们建立了一个很好的框架来继续扩展该系统的MPC控制,并且相信我们的工作可以作为本研究继续进行的垫脚石

学生们的一段话:

“我们很想扩展我们对MathWorks工具的知识,并学习编码软件的实际应用。我们的团队对汽车以及如何优化发动机性能非常感兴趣,特别是因为它与排放有关,这个项目与我们的兴趣和研究非常一致。这个项目有一个很大的学习曲线,但这是一个非常有趣和非常有用的学习经历!”

那么,你怎么想?这是否列表激励你?你在寻找不同类型的项目吗?请在下面的评论中告诉我们你的想法。我们很乐意听到你的消息。

引用:

[1] Bemporad, A., Bernardini, D., Long, R.,和Verdejo, J.,“大规模生产的涡轮增压汽油机模型预测控制”,SAE技术论文2018-01-0875,2018,doi: 10.4272 /2018-01-0875。

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。

Baidu
map