主要内容

燃油容错控制系统建模

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

分析与物理

物理和经验的关系形成的基础上的油门和进气歧管动力学的这个模型。空气-燃料比的计算方法是将空气质量流量(从进气歧管泵出)除以燃料质量流量(在气门上喷射)。理想的混合比例(即化学计量)在动力、燃油经济性和排放之间提供了一个很好的折衷。该系统的目标空燃比为14.6。通常情况下,传感器确定废气(EGO)中残余氧的含量。这可以很好地显示混合比,并为闭环控制提供反馈测量。如果传感器显示高氧水平,控制律增加燃料率。当传感器检测到燃料丰富的混合物,对应于一个非常低水平的残余氧,控制器降低燃料率。

建模

图1显示了Simulink模型的顶层。万博1manbetx要打开模型,单击开放模式.按下模型窗口工具栏中的Play按钮以运行模拟。模型将必要的数据加载到模型工作区sldemo_fuelsys_data.m.该模型将相关数据记录到MATLAB工作空间中的数据结构称为sldemo_fuelsys_output并将数据传输到模拟数据检查器。记录的信号用蓝色指示器标记,而流信号用浅蓝色徽章标记(参见图1)。

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

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

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

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

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

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

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

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

图3:燃油率控制子系统

控制逻辑

由一组六个并行状态组成的单个状态流图完整地实现了控制逻辑。图4顶部显示的四个并行状态对应于四个单独的传感器。底部剩下的两个并行状态同时考虑四个传感器的状态,确定整个系统的运行模式。模型以0.01秒的常规采样时间间隔同步调用整个状态流图。这允许及时测试转换到正确模式的条件。

开放在fuel_rate_control子系统中双击control_logic状态流图。

图4:控制逻辑图

当执行开始时,所有的状态开始在它们的正常的模式,除了氧传感器(EGO)。的O2_warmup在预热期完成之前,将首先进入状态。当节流和压力传感器的测量值超出其标称范围时,系统会检测到它们的故障。在没有速度信号的情况下,流形真空表明速度传感器故障。氧传感器也有一个故障条件的标称范围,但是,因为零是最小信号水平和范围的底部,只有当它超过上限时,才能检测到故障。

无论哪个传感器故障,模型总是生成定向事件广播失败。公司.这样,通用传感器故障逻辑的触发是独立于传感器的。该模型还使用了相应的传感器恢复事件,失败。12月.的失败状态跟踪故障传感器的数量。计数器每增加一个失败。公司事件和递减每个失败。12月的事件。该模型使用了一个超状态,,对多个传感器失效的所有情况进行分组。

底部平行状态表示发动机加油方式。如果单个传感器故障,则继续运行,但空气/燃料混合物更丰富,以更高的排放为代价,使运行更平稳。如果多个传感器失效,作为安全措施,发动机会关闭,因为空气/燃料比无法可靠控制。

在氧传感器预热期间,模型将混合物维持在正常水平。属性中的预热状态,从而更改设计Rich_Mixture极权主义国家。如果在预热过程中出现传感器故障,会导致故障Single_Failure在预热时间过去后进入状态。否则,正常的状态此时处于激活状态。

中创建新状态,从而向模型添加了保护性超速特性Fuel_Disabled极权主义国家。通过历史节点的使用,我们保证当模型退出超速状态时,图表返回到适当的状态。随着对发动机的安全要求得到更好的规定,我们可以在Fuel_Disabled极权主义国家。

传感器校正

当传感器失效时,该模型计算传感器的估计值。例如,开放压力传感器的计算。在正常的传感器操作下,模型使用压力传感器的值。否则,模型估计值。

该模型计算了流管压力作为发动机转速和油门位置的函数的估计值。为了计算值,模型使用statflow中的Simulink函数。万博1manbetx

气流计算

气流计算块(如图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{发动机气缸排量体积}$$

$$\nu = \mbox{容量效率}$$

$$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 $ $

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

$$\dot{e_2} = e_1 \mbox{用于LOW模式,带有有效的EGO信号}$$

$$\dot{e_2} = 0 \mbox{用于RICH, DISABLE或EGO预热}$$

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

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

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

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

正常的闭环操作模式LOW,动态调整积分器,使误差最小化。积分在离散时间内执行,每10毫秒更新一次。然而,当运行开环时,在RICH或O2故障模式下,反馈误差被忽略,积分器保持不变。这基于最近的有效反馈给出了最好的修正。

燃料计算

fuel_calc子系统(在fuel_rate_control子系统中,参见图9)设置喷射器信号以匹配给定的气流计算和故障状态。第一个输入是计算出的气流估计。这与目标燃料/空气比相乘,得到命令的燃料率。通常目标是化学计量,即等于最佳空气与燃料比14.6。当传感器故障发生时,Stateflow控制逻辑将模式输入设置为2或3 (RICH或DISABLED),以便混合物的化学计量量略微丰富或完全关闭。

图9:fuel_calc子系统

fuel_calc子系统(图9)采用可调补偿(图10),以便在不同模式下实现不同的目的。在正常运行时,反馈校正信号的相位超前补偿增加了闭环的稳定裕度。然而,在RICH模式和EGO传感器故障(开环)期间,复合燃料信号被低通滤波,以衰减估计过程中引入的噪声。最终的结果是一个代表燃料流量的信号,在实际系统中,将被转换为喷油器脉冲时间。

图10:可切换补偿子系统

结果与结论

仿真结果如图11和图12所示。模拟运行时,油门输入在两秒内从10度上升到20度,然后在接下来的两秒内回到10度。这个循环不断重复,而发动机保持恒定的速度,以便用户可以试验不同的故障条件和故障模式。单击仪表板子系统中的传感器故障开关,模拟相关传感器的故障。重复此操作,将开关向后推至正常状态。

图11:比较不同传感器故障的燃料流量

图11比较了无故障条件下的燃油流量(基线)与每个传感器单独出现单一故障时的燃油流量。在每种情况下,请注意燃油流量和三角形油门命令之间的非线性关系(如图13所示)。在基线情况下,燃料率被严格调节,由于EGO传感器输入电路的开关性质,显示出一个小波动。在其他四种情况下,系统运行开环。该控制策略被证明在单故障模式下保持正确的燃料分布是有效的。在各故障工况下,燃油率基本为基线流量的125%,实现了80%富油的设计目标。

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

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

图13:节流命令

系统的瞬态行为如图14所示。在恒定的12度节流阀角下,系统处于稳态,在t = 2时引入节流阀失效,并在t = 5时进行修正。在故障开始时,燃料速率立即增加。当富比通过系统传播时,在排气处可以看到这种效应。当闭环运行恢复时,稳态状态迅速恢复。

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

讲话

如果在Stateflow调试器中启用动画,当各种状态被激活时,状态转换将在Stateflow图中高亮显示(参见图4)。激活的顺序通过改变颜色来表示。Stateflow和Simulink之间紧密耦合的协同作用促进了完整控制系统的建模和开发。万博1manbetx

相关的话题