主要内容

容错燃油控制系统的建模

此示例演示如何将Stateflow®与Simulink®结合起来,以高效地对混合系统建模。这种类型的金宝app建模对于具有基于离散事件的多种可能操作模式的系统特别有用。传统的信号流在Simulink中处理,而控制配置的更改在Stateflow中实现。下面描述的模型表示汽油发动机的燃油控制系统。该系统具有很强的鲁棒性,可检测到单个传感器故障,并动态重新配置控制系统,以实现不间断运行。

分析和物理

物理和经验关系构成了该模型油门和进气歧管动力学的基础。空燃比的计算方法是将空气质量流量(从进气歧管泵出)除以燃油质量流量(在气门处喷射)。理想(即化学计量比)混合比在功率、燃油经济性和排放之间提供了良好的折衷。该系统的目标空燃比为14.6。通常,传感器确定废气(EGO)中存在的残余氧气量。这提供了混合比的良好指示,并为闭环控制提供了反馈测量。如果传感器指示氧含量高,控制法则会增加燃油率。当传感器检测到与非常低的残余氧气水平相对应的富燃油混合气时,控制器降低燃油率。

造型

图1显示了Simulink模型的顶层。金宝app要打开模型,单击开放模式.按下模型窗口工具栏中的Play按钮来运行模拟。模型从模型工作区加载必要的数据sldemo_fuelsys_data.m..该模型将相关数据记录到一个名为MATLAB工作空间的数据结构中sldemo_燃料系统输出并将数据流送到仿真数据检查器。记录的信号用蓝色指示器标记,而流信号用浅蓝色标记(见图1)。

请注意,将初始条件加载到模型工作区中可以使模拟数据与您可能打开的其他开放模型中的数据隔离开来。这也有助于避免MATLAB工作空间的混乱。要查看模型工作区的内容,选择Modeling > model Explorer,并从模型层次列表中单击model workspace。

注意,单元在模型和子系统图标以及信号线上是可见的。单元在端口和总线对象上指定。

图1:燃料控制系统模型的顶层图

Dashboard子系统(如图2所示)允许您在模拟期间与模型交互。故障注入开关可以从正常位置移动到故障位置来模拟传感器故障,而发动机转速选择开关可以切换来改变发动机转速。燃油和空气/燃料比信号通过仪表盘仪表和示波器可视化,在模拟运行期间提供视觉反馈。

图2:仪表盘分系统为燃油控制系统模型

燃油率控制使用来自系统传感器的信号来确定燃油率,从而给出化学计量混合物。在发动机气体动力学模型中,燃油率与实际空气流量相结合,以确定在排气时感知到的混合比例。

您可以使用仪表板子系统中的滑块开关,有选择地禁用四个传感器(油门角度、速度、EGO和歧管绝对压力[MAP]),以模拟故障。Simulink通过将滑块开关绑定到常量块的值参数来实现这一点。双击仪表板子系统以打开控制仪表板以更改开关的位置。同样,通过切换仪表板子系统上的发动机转速开关,也可以导致发动机转速过高的故障情况。重复表块提供油门角度输入,并定期重复掩码中指定的数据序列。金宝app

如图3所示,fuel_rate_control块使用传感器输入和反馈信号来调整燃油率,以给出一个化学计量比。该模型使用三个子系统来实现这一策略:控制逻辑、气流计算和燃料计算。在正常运行下,该模型估计气流速率,并将估计值乘以所需比率的倒数,得出燃油速率。来自氧气传感器的反馈提供了一个闭环调整的速率估计,以保持理想的混合比例。

图3:燃油率控制器子系统

控制逻辑

由一组六个并行状态组成的单个状态溢图,其整体实现了控制逻辑。图4顶部所示的四个并行状态对应于四个单独的传感器。底部剩余的两个并行状态同时考虑四个传感器的状态并确定整个系统操作模式。该模型以0.01秒的规则采样时间间隔同步调用整个状态流图。这允许及时过渡的情况及时进行正确的模式。

开放Control_Logic StateFlow Chart,请在Fuel_Rate_Control子系统中双击它。

图4:控制逻辑图

当执行开始时,所有的状态开始在他们普通的模式,但氧气传感器(EGO)除外。的O2_Warmup.状态初始进入,直到预热期结束。当测量值超出额定范围时,系统会检测节流和压力传感器故障。在没有速度信号的歧管真空状态下,表示速度传感器故障。氧传感器也有一个故障条件的标称范围,但是,因为零既是最小信号水平,也是范围的底部,只有当它超过上限时,才能检测到故障。

无论哪个传感器发生故障,模型始终生成定向事件广播失败公司.这样,通用传感器故障逻辑的触发与传感器无关。该模型还使用了相应的传感器恢复事件,失败,十二月.的失败状态跟踪故障传感器的数量。计数器每一次递增失败公司事件和递减每个Fail.dec事件。该模型使用巨额型,多个,对多个传感器发生故障的所有情况进行分组。

底部平行状态表示发动机的加油模式。如果单个传感器出现故障,操作将继续进行,但空气/燃油混合气会更浓,从而以更高的排放为代价实现更平稳的运行。如果一个以上的传感器出现故障,发动机将作为安全措施停机,因为空燃比无法可靠控制。

在氧气传感器预热期间,模型将混合物保持在正常水平。如果这不能令人满意,您可以通过将预热状态移动到Rich_Mixture.超级国家。如果在预热期间发生传感器故障,则单一故障状态在预热时间过了之后进入。否则,正常的状态此时为激活状态。

中创建了一个新的状态,从而在模型中添加了一个超速保护功能Fuel_Disabled超级国家。通过使用历史连接,我们确保当模型退出超速状态时,图表返回到适当的状态。随着发动机的安全要求得到更好的规定,我们可以向发动机添加额外的停机状态Fuel_Disabled极权主义国家。

传感器校正

当传感器发生故障时,该模型计算传感器的估计值。例如,开放压力传感器计算。在传感器正常工作下,模型使用压力传感器的值。否则,模型估计价值。

该模型计算了歧管压力作为发动机转速和节气门位置的函数的估计。为了计算值,模型使用statflow中的Simulink函数。金宝app

气流计算

气流计算块(如图6所示)是中央控制法的位置。此块位于Fuel_Rate_Control子系统中(打开这个块).该块估计进气流量,以确定燃料率,从而给出适当的空气/燃料比。闭环控制根据剩余氧反馈来调整估计,以精确地保持混合比例。即使传感器故障要求开环操作,最新的闭环调整仍将保留,以最佳满足控制目标。

图6:气流估计及校正

方程式1

发动机的进气流量可以表述为发动机转速、歧管压力和一个时变比例因子的乘积。

$ $ q = \压裂{N}{4 \π}V_ {cd} \ν\压裂{P_m} {RT} = C_{泵}(N, P_m) N P_m = \ mbox{进气质量流量}$ $

$$N = \mbox{引擎角速度(Rad/sec)}$$

$$V_{cd} = \mbox{发动机气缸排量}$$

$$ mbox{volume efficiency}

$$P_m=\mbox{歧管压力}$$

$R, T = mbox{气体比常数,气体温度}$

CPUMP.由查找表计算并乘以速度和压力以形成初始流量估计。在瞬变期间,通过高通滤波器近似的衍生物的节流速率校正用于填充动态的空气流。根据等式2,控制算法提供额外的校正。

方程式2

$e_0 = 0.5 \mbox{for} EGO\le 0.5$

$$e_0 = -0.5 \mbox{for} EGO >0.5 $ $

$ _1 = K_i (N,P_m) e_0 \mbox{for} EGO\le 0.5$$

$$ . text = $$ . text = $$ . text = $$ . text = $$

$$ mbox{for RICH, DISABLE or EGO warmup}

$$ e_0, e_1, e_2 = \mbox{中间错误信号

图7:发动机气体动力学子系统

图8:发动机气体动力学子系统中的混合和燃烧块

非线性氧传感器(EGO sensor block)位于发动机气体动力学子系统(Figure 7)内的混合与燃烧模块(Figure 8)内。EGO sensor被建模为双曲切线函数,当在0.5伏附近时,它提供有意义的信号。因此,通过切换阈值检测反馈回路中的原始误差,如公式2所示。如果空燃比较低(混合气较稀),则原空气估计值太小,需要增加。相反,当氧传感器输出高时,空气估产太大,需要降低。利用积分控制,使校正项达到一个水平,使混合比例中的稳态误差为零。

正常闭环操作模式低,动态调整积分器以最小化误差。集成在离散时间以离散时间进行,每10毫秒更新。然而,当操作开环时,在富裕或O2故障模式中,忽略反馈错误并保持积分器。这基于最新的有效反馈提供了最佳校正。

燃料计算

燃料_calc子系统(燃料_control子系统内,请参见图9)设置注射器信号以匹配给定的气流计算和故障状态。第一个输入是计算的气流估计。这乘以目标燃料/空气比以获得命令燃料速率。通常,目标是化学计量,即等于最佳空气到燃料比为14.6。当发生传感器故障时,状态流控制逻辑将输入的模式设置为2或3的值(富含或禁用),使得混合物略高于化学计量或完全关闭。

图9:fuel_calc子系统

燃料_calc子系统(图9)采用可调补偿(图10),以便以不同模式实现不同的目的。在正常操作中,反馈校正信号的相位铅补偿增加到闭环稳定性边缘。在丰富的模式和自我传感器故障(开环)中,复合燃料信号是低通滤波,以衰减估计过程中引入的噪声。最终结果是表示在实际系统中的燃料流量的信号将被转换为喷射器脉冲时间。

图10:可切换的补偿子系统

结果和结论

模拟结果如图11和图12所示。运行模拟时,油门输入在两秒钟内从10度倾斜到20度,然后在接下来的两秒钟内返回到10度。当发动机保持恒定转速时,此循环持续重复,以便用户可以试验不同的故障条件和故障模式。单击仪表板子系统中的传感器故障开关,模拟相关传感器的故障。重复此操作,将开关滑回正常操作。

图11:比较不同传感器故障的燃油流速

图11将无故障条件(基线)下的燃料流量进行比较,其速率在每个传感器的单个故障存在下单独施加。在每种情况下,请注意燃料流和三角形节流指令之间的非线性关系(如图13所示)。在基线情况下,燃料速率紧紧地调节,由于EGO传感器的输入电路的切换性,表现出小纹波。在另外四个案例中,系统操作开环。证明控制策略有效地在单故障模式下保持正确的燃料轮廓。在每个故障条件下,燃料速率基本上是基线流量的125%,实现了80%富含的设计目标。

图12:比较不同传感器故障时的空燃比

图12绘制了每种情况下对应的空气/燃料比率。基线图显示了闭环操作的效果。混合比例的调节非常严格,符合14.6的化学计量目标。图12底部四个地块显示了丰富的混合比例。尽管它们不像在闭环情况中那样受到严格管制,但它们接近空气/燃料的目标(0.8*14.6=11.7)。

图13:油门指令

系统的瞬态行为如图14所示。具有恒定的12度节流角和稳态的系统,在T = 2时引入节流衰竭并在T = 5处校正。在发生故障的开始时,燃料速率立即增加。随着富裕比传播通过系统,在排气时看到效果。然后在恢复闭环操作时快速恢复稳态条件。

图14:对故障检测的瞬态响应

讲话

如果在statflow调试器中启用动画,状态转换将在statflow图中高亮显示(参见图4),因为各种状态都被激活了。激活的顺序用颜色的变化来表示。statflow和Simulink之间的这种紧密耦合的协同促进了完整控制系统的建模和开发。金宝app

相关的话题