主要内容

容错燃油控制系统的建模

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

分析和物理

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

建模

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

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

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

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

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

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

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

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

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

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

控制逻辑

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

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

图4:控制逻辑图

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

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

底部平行状态表示发动机的加油模式。如果单个传感器出现故障,操作仍将继续,但空气/燃料混合物更丰富,以更平稳的运行,但代价是更高的排放。如果超过一个传感器失效,作为一项安全措施,发动机会关闭,因为空气/燃料比不能可靠地控制。

在氧气传感器预热期间,模型将混合物保持在正常水平。如果这不能令人满意,您可以通过将预热状态移动到Rich_Mixture极权主义国家。如果在预热过程中出现传感器故障,则会触发Single_Failure状态在预热时间过了之后进入。否则,正常的状态此时为激活状态。

中创建了一个新的状态,从而在模型中添加了一个超速保护功能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{manifold pressure}$

$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所示。如果空燃比较低(混合气较稀),则原空气估计值太小,需要增加。相反,当氧传感器输出高时,空气估产太大,需要降低。利用积分控制,使校正项达到一个水平,使混合比例中的稳态误差为零。

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

燃料计算

fuel_calc子系统(在fuel_rate_control子系统内,见图9)设置喷油器信号以匹配给定的气流计算和故障状态。第一个输入是计算出的气流估计。这个乘以目标燃料/空气比得到指令燃料率。通常情况下,目标是化学计量的,即等于最佳的空气燃料比14.6。当传感器发生故障时,statflow控制逻辑将模式输入设置为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底部四个地块显示了丰富的混合比例。尽管它们不像在闭环情况中那样受到严格管制,但它们接近空气/燃料的目标(0.8*14.6=11.7)。

图13:节流命令

系统的瞬态行为如图14所示。在恒定的12度节流阀角度和系统处于稳态的情况下,在t = 2时引入节流阀故障,并在t = 5时进行修正。在故障开始时,燃料率立即增加。当富比通过系统传播时,在排气中可以看到影响。当闭环操作恢复后,稳态条件迅速恢复。

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

讲话

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

相关的话题