一次P0171/P0174燃油系统过稀(System too lean)故障的诊断过程




前一段时间因为年检要due了,花了一些时间在试图troubleshoot我的2009 Hyundai Santa Fe上的P0171/P0174故障。在这个过程中查找了一些资料,了解了一些发动机燃油系统的工作原理。

问题

去年年底,我在用OBDII Scanner检查EVAP问题(图中的P0442)时,发现出现了另外两个故障码P0171和P0174,除了故障码本身之外没有任何症状。这两个故障码表示引擎中燃烧的混合气过稀,也就是空气太多,或汽油太少。

在开始解决问题之前,我们首先需要了解一些背景知识。

背景知识

众所周知,油门虽然叫油门,但是实际上控制的是节气门(throttle body)。既然驾驶者控制的只有发动机吸入空气的量,那么发动机是如何控制喷油量从而让气缸中的燃烧处于合适的空气/燃油比例的?

简单来说,以自然吸气发动机为例,当油门控制节气门打开时,位于空滤下游的空气流量传感器(Mass Airflow Sensor,”MAF”)会读取通过的空气流量。计算机会通过各种传感器读取空气流量,水温,负载,转速等数据,计算出合适的空气/燃油比和喷油量,然后命令喷油嘴喷射燃油。这就是开环控制。

这在理想情况下是OK的,然而实际情况下,发动机会受到各种因素的干扰而无法处于理想工况,从而无法达到最佳的燃油效率和排放标准,比如:

  • 进气管路并不完全密封,有少量未被MAF计量的空气进入到了气缸中参与燃烧
  • 喷油嘴有积碳,喷出的燃油比计算机的指令更少
  • 等等

要解决这个问题,就需要为系统运行的状况提供反馈,这就引出了闭环控制。

闭环控制(Closed Loop)

根据定义:

an automatic control system in which an operation, process, or mechanism is regulated by feedback.

发动机的每个Bank各有两个氧传感器,前氧传感器位于排气歧管下游,三元催化器上游,负责给计算机反馈排气中的氧气含量数据。后氧传感器位于三元催化器下游,其数据不影响发动机的行为,只用于监控三元催化性能。氧传感器数据将被用于检测燃烧状况,如果氧传感器数据显示系统过稀(lean condition),计算机将会命令喷油嘴多喷油(rich command);反之(rich condition)则少喷油(lean command)。

发动机刚刚启动时会处于开环控制,因为氧传感器在温度不够的情况下无法读出数据。在氧传感器和水温都达到工作温度之后,系统则转入闭环控制。在一些特殊情况下,比如发动机刚启动时(即使已经达到工作温度),油门全开(Wide Open Throttle),计算机会强制使用开环控制。

Open Loop
Closed Loop

那么在闭环控制下,计算机如何修正喷油量?这就引出了燃油修正(Fuel Trim)。

Fuel Trim

Short Term Fuel Trim

短期燃油修正(Short Term Fuel Trim, ”STFT”),顾名思义就是短期内对燃油(喷射)的修正。

当计算机通过氧传感器的数据得知系统过稀(或过浓),则会命令STFT升高(或降低),从而使气缸中处于合适的空气/燃油比。

STFT还有另一个作用。如果观察STFT的图表(上图),会发现STFT和氧传感器的读数一直在来回波动,这是因为计算机会通过调整STFT,从而控制喷油量让系统在lean/rich之间摆动,来产生三元催化反应所需的不同气体。在lean condition下排气中会含有更多氧气,可以促进HC和CO的氧化;在rich condition下会排气中会含有更多CO和HC,可以促进NOx的还原。(Ref: Catalytic converter – Wikipedia)

综上,STFT有两个作用:

  1. 控制喷油量让系统在lean/rich之间摆动,来产生三元催化反应所需的不同气体。
  2. 按照O2传感器的反馈来调节喷油量,使燃烧处于最佳状态。
Long Term Fuel Trim

然而只依靠STFT来修正燃油会存在下面的问题:

  1. STFT有上限和下限。假设STFT的上限为30%,而某个故障导致STFT处于25%时才能使发动机处于最佳工况,则没有足够空间使发动机处于rich condition从而达到最佳的催化效率。
  2. STFT没有被持久化储存
  3. STFT只适用于当前的工况(Load/RPM)

要解决这些问题,就引出了长期燃油修正(Long Term Fuel Trim, “LTFT”)。LTFT的作用是学习STFT的数值,将短期的修正持久化为长期的修正。经过LTFT的修正后,STFT会尽可能在0附近波动。

通常来说,LTFT在+/-10%范围内都是正常的,如果更高(比如20%-30%)则会点亮Check Engine Light。

LTFT和STFT的最大的区别在于LTFT并不是全局的,而是针对每种工况(Load/RPM组合)都有一个单独的数值。计算机中会存储类似下图的一张表,表中的每个单元都是从STFT学习而来的数值。这也是为什么在维修后需要清除故障码来让计算机重新学习,否则会需要很长时间和驾驶里程才能将表中的所有数值校正回来。

综上,燃油系统过稀问题是由于某种原因,导致发动机中的燃烧中出现了过多的空气,或者过少的燃油,并且偏离太大超出了阈值,所以计算机认为这是一个需要修理的问题。

定位故障

由于P0171/P0174两个故障码同时出现,表示问题同时出现在V形发动机上的两个bank上(如图),这意味着问题大概率出现在两个bank共用的部分,比如进气和油路。虽然并不能直接排除排气侧和氧传感器的问题,但是这两项可以放到最后再考虑。

需要注意的是:因为LTFT是通过适应性学习并被长期存储,所以我们所做的任何更改并不会立刻体现在LTFT上,因此在验证问题或验证维修时,需要看的是LTFT和STFT之和。除非明确说明,下文中所有“fuel trim”均指LTFT和STFT之和。

可能性1:真空泄漏(Vacuum Leak)

In automotive terms, a vacuum leak means that a certain amount of air has bypassed the usual engine intake tract.

我首先考虑的是真空泄漏问题。真空泄漏指的是由于进气管道破损等原因,未被MAF计量的空气进入到了汽缸中参与燃烧。

下图是空气在进入气缸之前的流向:进气口 -> 空滤 -> MAF(红色方框) -> 节气门 -> 进气歧管(Intake Manifold) -> 汽缸。在MAF之后的部件如果有破损或密封不严,就会有额外的空气被吸进引擎参与燃烧。

真空泄漏通常是导致系统过稀(System too lean)的最常见原因。我在更换EVAP Purge Valve(后面会提到)的时候把整个进气管道拆下来并且目视检查,同时目视检查了所有真空管线,并没有发现有任何破损,但是发现MAF和管子的连接处有略微的错位(如图),看起来是以前维护的时候没有装好。

重新安装之后发现,怠速时的Fuel Trim并没有明显变化,仍在在7%-8%左右。那么大概问题并不是这里引起的。

可能性2:EVAP泄漏

参考了论坛上的一些讨论和一些YouTube视频过后,我开始考虑这个故障与EVAP泄漏之间的关联。我的车上从去年(2021年)3月开始就出现了P0442 EVAP Small Leak故障码。由于这个问题并不影响驾驶并且可以使用trick混过年检,所以我一直没有去处理。虽然没有直接证据证明泄漏来自Purge Valve,但是以下两点可以从侧面指向Purge Valve。

  1. 如果Purge Valve关闭时不能完全密封,或者Purge Valve卡在了开的位置,那么空气会通过Purge Valve被吸进引擎而不经过MAF的计量,也算是某种意义上的真空泄漏。
  2. Purge Valve故障是这款车的通病。并且自从我拥有这辆车开始,就经常听到引擎后方传来哒哒哒的声音,在车左侧靠着墙(比如在drive thru的时候)尤其明显。经过检查发现声音来自Purge Valve。

要确定问题是否来自Purge Valve,只需要将Purge Valve拆下来,然后用Vacuum Pump Tester测试是否漏气即可。然而因为我这台车上的Purge Valve的位置过于刁钻并且很难在不破坏橡胶管的情况下拆下来,于是我决定直接暴力拆下Purge Vavle并且换掉。图中红色方框处的部件就是Purge Valve。

在换掉Purge Valve之后我试着从拆下来的Purge Valve吹气,然而并没有发现漏气。这说明旧的Valve并不存在泄漏问题。后续测试发现怠速时的Fuel Trim仍然没有明显变化。

到这里似乎进入了死胡同,于是我发了这个帖子寻求帮助,我提了两个问题

  • 7-8%的fuel trim算不算正常?
  • 如果不正常,应该从哪入手?

来自AUTOSPARK的回复指出:

What happens to the trim numbers as you increase RPM? Maybe the problem is happening off idle.

这让我意识到了一个问题:我之前只考虑到了怠速时的情况,而没有考虑实际驾驶时的情况。

如果lean condition仅在怠速时出现,通常更容易触发另一对故障码P2187/P2189(System too lean at idle)。表现是怠速时fuel trim较高,当转速升高时,fuel trim会随之降低。如果故障码仅有P0171/P0174,则需要考虑到在驾驶时出现lean condition的情况。

可能性3:燃油供应/MAF

于是我进行了一些测试,首先我在怠速时踩油门,将转速提升到4000RPM。发现在转速升高时,fuel trim会随之升高,如图。

总体来说这不是一个好现象,因为这很可能指向燃油供应问题。但是其实还有另一种可能性:

前文提到,造成混合气过稀的原因,要么是因为空气多了,要么是因为汽油少了。但是”空气多了“这一可能性存在两个分支:

  1. 参与燃烧的空气比MAF测量到的更多(真空泄漏)
  2. MAF测量到的空气量比实际更少(MAF故障/需要清洁)

MAF是很脆弱的传感器,如果MAF上沾了过多的灰尘,或者有树叶或昆虫残骸挡住了传感器,则会使MAF输出的读数不准确。MAF问题和燃油供应问题体现在fuel trim趋势上并没有区别:两者都表现为转速升高时fuel trim随之升高,并没有明显的表现可以区分两者。但是这个问题也相对容易定位:只需要用MAF Cleaner清洁MAF,即可排除MAF的问题,如果之后问题仍然存在,则可以定位问题到燃油供应上。

方法很简单,只需要把空滤盒子连带着MAF拆下来,使用MAF Cleaner清洁即可。

Illustration of a bird sitting on a branch.
Illustration of a bird flying.

然而与此同时,两位网友均认为根据我之前po出的数据来看,是燃油供应问题。

#14 Circuitsmith:

It seems there’s not enough fuel delivery when under load.

Could be a weak fuel pump or clogged fuel filter.

I would test for fuel pressure and volume.

#15 Carfixer007:

It’s starving for fuel. Plugged or bad pump.

这台引擎上并没有用于测量rail pressure的Schrader Valve,因此要测量燃油压力非常困难(需要拆掉后排座椅测量油泵处的压力)这时AUTOSPARK指出了一种新方法:

That’s a PITA test and it needs special tools. Before going down that route I suggest using the engine’s O2 sensors to check fuel delivery :

Set the scan tool up to graph the TPS and O2 sensor output voltages, then take the car for a test drive. Find a clear stretch of road and floor the throttle. With the throttle fully open the fuel system will switch to open loop control, allowing the mixture to go fully rich. That should be reflected in O2 voltages swinging high (about 1.0V). If the O2 voltages go low (lean) there is a fuel delivery problem. But that doesn’t necessarily mean there is anything wrong with the fuel pump. It could be caused by incorrect MAF sensor output.

大致意思是在驾驶过程中踩地板油使油门(节气门)全开,这时候计算机会强制使用开环控制,允许引擎处于rich condition。我们期望O2传感器的输出处于接近1.0V的较高位置(rich)。如果观察到O2传感器的输出变低(lean),则说明油门全开时引擎吸入大量的空气,而燃油供应不足导致无法烧掉这么多的空气。这很可能意味着燃油压力不足,或者MAF输出了不正确的读数。

于是我按照AUTOSAPARK的方法做了一次测试,结果如下:

可以看出在油门全开时,O2传感器得到的读数处于较高位置,接近1.0V,这符合AUTOSPARK所述的期望结果。

结论

在troubleshoot的过程中我排除了真空泄漏和油路问题,最后通过清洁MAF传感器修复了问题。我认为造成问题的原因很可能是MAF传感器,但是因为没有对照,所以并不能100%确认。在清洁了MAF传感器之后已经过了大约两个月,问题没有再次出现。

References




Leave a Reply

Your email address will not be published.