E46 Fanatics Forum banner
  • Hey everyone! Enter your ride HERE to be a part of this month's Ride of the Month Challenge!
1 - 20 of 44 Posts

·
Super Moderator
2003 330cic, 2003 325iT
Joined
·
6,948 Posts
Discussion Starter · #1 · (Edited)
Introduction
It took me a long time to understand fuel trims, despite excellent videos by 50skid and excellent posts by JFOJ. I think I have a handle on them now, so I thought I would try to explain them as I understand them, and either help someone and/or get corrected. Here is my shot.

Theory
Fuel trim is adding or removing fuel from what the ecu would have expected to deliver in order to maintain the right fuel/air mixture. Factory range is +/- 2.0. Higher or lower is out of spec. Over 11% or so it throws a code.

The proper fuel/air mixture is calculated based on the volume of air as measured by the MAF and a map that contains assumptions about fuel pressure, injector diameter and flow rate, etc. The precat O2 sensors measure the exhaust gas and determine if the combustion was complete, meaning the correct balance of oxygen and fuel (stoichiometry).

Fuel Trims
Positive
fuel trims mean that the ECU is adding more fuel (hence positive) because the precat O2 sensors are measuring excess oxygen after combustion. The ECU presumes that if there is excess oxygen in the exhaust, the mixture needs more fuel - the percent represents the change in the fuel delivery volume. Positive fuel trims are common (as in universal) with e46s at around 125-150k. These are called “lean” because they are adding fuel to a mixture that has too little fuel. Over the long term, positive trims can contaminate the cats. This means positive trims above 3%, not just the ones that trigger P0171/P0174 codes.

Negative fuel trims mean the exhaust has excess un-combusted fuel - the ratio of fuel to oxygen is too high and the ECU is saying pull back on the gas. Negative fuel trims, called “rich” because they are adapting to a higher fuel ratio, are very uncommon.

The Long and Short of it
Long term fuel trims, which can be positive or negative, are “adaptations” calculated by the ECU based on patterns of fuel trim adjustments. Think of long-term as how much weight you gained on average after 40. You may go above or below if you diet or slack off, but it is unlikely that you will ever again be at your 22-year-old fighting weight. High LTFTs mean that your lean or rich condition is persistent, and it represents a baseline trim level. Short term fuel trims are instantaneous adjustments. The actual trim combines them both.

Note that “Resetting Adaptations” erases the LTFT compensation. Don’t do this. LTFTs will adapt naturally in a relatively short time after any repair.

A rich condition (negative fuel trims) doesn’t happen often in our cars. It can be leaky injectors that deposit more fuel than the ECU expects when it signals the injector. Not worth spending lots of time in this post on rich conditions.

A lean condition (positive fuel trims) is where the money is for our aging e46s. When it gets bad it causes P1071/P0174 codes and also various misfire codes like P0303, etc.

So why do we get lean conditions? Why would the exhaust indicate less fuel or more air as read by the pre-cat sensors (the trigger for additive trim)? The ECU does what it can with what it has, and what it has works beautifully until it doesn’t, mostly because it is built on a mountain of assumptions that, over time, stop holding up.

The ECU, for example, knows how much fuel it is asking the injector to dispense (across 2 banks and 6 cylinders), how much air is entering the intake boots per the MAF, and what the O2 sensors are saying about the post-combustion O2 levels. And it has its own logical programming to respond to these signals. Oh, and it gets rudimentary monitoring of voltages of the O2 and MAF sensors.

What Can Go Wrong?
  1. The sensors could be wrong - a lazy MAF sensor may be reporting less air than is actually getting into the intake, lazy O2 sensors could be reporting O2 levels “late,” which is like playing the stock market with last week’s newspaper. Remember that there are no “sensors on sensors,” meaning that the ECU can only divine that readings are anomalous, not that a sensor has failed. This is really important - there is no extra sensor double-checking the O2 and MAF sensor values to make sure they are measuring correctly. So while there are codes when they fail to report, or where the O2 sensors don’t heat, or even the camshaft sensors fail to report, the lack of a sensor-related code does not mean that the sensor is working properly. In fact, the presence of a code with a sensor name is often an indicator of a problem that is not caused by the sensor itself.
  2. The sensors could be right, but there could be additional air entering after the sensor. Imagine a movie theater where the ticket taker is assiduously counting how many people enter the theater, but someone has wedged a door open behind her and is letting people in. The ticket counter is meticulous, however, they are monitoring a corrupted system. The count that the ticket taker has of attendees will likely be less than the number of people who leave after the film. This situation is called “unmetered air” which just means that air is being drawn into the combustion chamber behind the MAF. If you haven’t guessed yet, “unmetered air” is a fancy way of saying “vacuum leak.” The crankcase and intake operate with a vacuum, and the main openings are the actual valves and the airbox. Everything else is sealed tightly with seals, o-rings, gaskets, and plugs. If any of these seals fail, for example, a cap falls off the back of the intake or a rip develops in an intake boot, the vacuum will draw air into the intake behind the MAF like the open door at the theater behind the ticket-taker.
  3. The ECU may be sending pulse commands to the injectors and not getting the volume of fuel they expect. The fuel system does not have flow meters in the injectors, it only speaks in pulses. The calculation of fuel volume is a function of the expected delivery of fuel per unit time when the injector is activated, which can be calculated by flow rate at a consistent pressure. Do you see the potential issue? Yup, the ECU cheats by “assuming” 50 PSI fuel delivery. If the pressure is low (or high) then a pulse isn’t delivering the expected fuel volume.
Banks, Cylinders, and Precision
One last important part of the topology of the ignition control system - there is one MAF sensor, six coils, six injectors, two knock sensors, two camshaft position sensors, and two pre-cat O2 sensors. Since any or all of these can have issues, it is very hard to be precise. When you see a misfire in cylinder 4 or an O2 sensor issue in bank 2, take it with a grain of salt. These are not precisely isolated ignition pathways.

If there is a misfire in cylinder 4, and when you move the plug or coil the misfire moves with it, it is the plug or coil. But many times it won’t, because the issue is actually upstream or downstream of that cylinder. (So don’t replace all your coils immediately when you get a misfire)

Indirect Diagnosis
If you are still with me, then you know that sensors, fuel delivery, and air measurement are the big three causes for lean codes. When you get codes, there is a nice, orderly diagnostic routine that works well, and a heuristic for interpreting the fuel trims.

If we look back at the three ways that the ECU can be triggered into adding fuel, they boil down to sensors not reporting correctly, fuel delivery issues, and unmetered air.
  1. If you get high trims at idle and low trims at cruising speed, then you likely have a vacuum leak. Leaks are rarely large. At idle, a relatively small amount of air is entering the system, and the amount of unmetered air from a leak is a larger proportion. So it will have a bigger effect. At wide-open throttle, huge amounts of air are entering, so the unmetered air becomes inconsequential (and the ECU can’t measure the exhaust fast enough anyway) If you unplug the MAF sensor and the engine runs better, you have a vacuum leak. The ECU isn’t getting data from the MAF so it reverts to its default fuel/air map.
  2. If you get high trims at cruising speed and low trims at idle it is more likely fuel delivery. If the fuel pump is soft-failing, it can keep up at idle (the light-duty of supplying 50 PSI at a relatively low flow rate), but can’t keep up at higher throttle.
  3. If trims are high at both idle and cruise, you likely have a sensor issue (O2 or MAF).
Direct Diagnosis
The second approach is by directly diagnosing components. The sequence of diagnosis is important, as the earlier tasks are easier, cheaper, and more definitive, and the latter only really work because you have ruled out the systems from the former.

Fuel Delivery
I recommend you start with fuel delivery. It is very easy to do a good enough diagnostic and rule the pump and filter in or out.
  1. Get a fuel pressure tester with a Schrader connector. Remove the right beauty cover and attach the sensor to the valve on the rail (sorry fellow SULEV owners, no valve for us!).
  2. With the key in position 2, and the engine off, the meter should read 50 PSI. If it doesn’t, your pump is likely bad. VDO/Siemens only for replacement.
  3. Turn the ignition off and wait 20-30 minutes. The pressure should stay near 50. If it falls below 45, then you need a new fuel pressure regulator, which is part of the fuel filter. Note the maintenance interval on the filter is 60k miles, so if it is over that, replace it. I recommend replacing the pump at 120k.
Regardless, you should still eliminate the fuel pump and filter first, because although the pump is a little pricey, it is really simple to diagnose.

Vacuum Leaks
In most threads on e46fanatics, if there is a lean code, folks will say vacuum leak for one very good reason: because our old cars with rotting rubber tend to start leaking like sieves.

In the M54, vacuum leaks happen everywhere a seal, gasket, cap, boot, or o-ring is used within the “circle of trust” that we call the intake. To truly diagnose, get a smoke test. I recommend going to a shop and have them smoke test it. When they have precisely located the leak(s), deal with it(them), then proceed to replace all the rest of the rotting rubber if original or compromised, including:
  • Valve cover gasket (if older than 100k)
  • Intake boots
  • DISA seal if original, or if when you remove it you do not experience resistance
  • Any caps on the nipples at the rear of the intake
  • All small vacuum lines, including those for the SAP solenoid (runs behind the engine), the vacuum canister (330), and the fuel filter line from the F connector on the intake boot
  • The CCV
  • O-ring on the intake air temp sensor (if present)
  • Oil pan gasket
  • Dipstick tube and dipstick o-rings
  • Air distribution rail o-rings
Note that the brake booster is a source of vacuum leaks, but as it has a one-way valve it resists smoke testing. Remove the booster hose, put your thumb over the end, and run the engine. If this improves the fuel trims, or if the fuel trims change when you remove and replace your thumb, then you may need a new booster.

MAF and O2 Sensors
We test the O2 and MAF sensors last because they are much harder to test. So part of the logic is “If you fixed fuel pressure and vacuum leaks, and your fuel trims are still high, replace the sensors.” I want the logic to be more elegant than that, but suspect it ain’t.

You can test the O2 sensors somewhat by graphing them with an OBD tool and comparing them against known good values. For me, I note that the maintenance interval for pre-cat O2 sensors pre-facelift is 100k miles, and facelift is 125k. Odds are yours are older, just replace them. Bosch only.

MAF is always last, mostly because in the early, glamorous period of battle folks find it a lot of fun to replace coils, and there is usually no budget by this point. The MAF is also last because it is very hard to test. Yes, less than 3.9g/s at idle is a good indicator of laziness, but you likely don’t have the testing equipment to do better than that. If you have ruled anything else out, or are over 175k miles, replace the MAF sensor with VDO/Siemens only - no RockAuto, eBay, or Amazon!

MAF Tips

  1. Unless you are running a cold air intake, don’t waste money on MAF sensor cleaner. There is no source of chemical contaminants between our air filters and the MAF sensor.
  2. If your car is 175k or older, it is the MAF
  3. Unplugging the MAF is not a useful method for diagnosing the MAF.
  4. As a reminder, while there is a "s**t the bed" MAF code when it simply fails to respond (yes you should replace then), there are no sensors on the MAF that can attest to its accuracy, so don’t expect a code.
In Closing...
If you have gotten here, thank you. You are brave and true, and a little compulsive, but in a good way. I will leave two parting notes:
  1. If you don’t have the latest software on your ECU, contact @BaliDawg and have it updated to the latest.
  2. There are many cool and awesome tools like INPA, ISTA+, BMW Scanner 1.4, Carly, fox pro, and more. That said, buy the VeePeak Bluetooth LE adaptor and the OBD Fusion app if you want to maximize the ability of our forum to help you. We just speak OBDFusion.
tl;dr
“It was the MAF. It is always the MAF” :LOL:
 

·
Registered
2000 E46 323i, 3.0L and 2.0L Z3's
Joined
·
989 Posts
Thank you for the write up. I read it to the end. Agree with what you have explained.

I agree with you on diagnosing Fuel supply , Vacuum leaks and MAF separately. However I change the order slightly.
  • Vacuum leaks first. Most common problem and many people have a scanner that can look a fuel trims. If this solves the problem, then they don't need any additional test gear.
  • Fuel supply second. Less common problem than vacuum leaks, People don't usually have a fuel pressure tester and have to buy/hire one.
  • MAF third. As you said, its a hard sensor to test, so eliminate all other items first.
 

·
Super Moderator
2003 330cic, 2003 325iT
Joined
·
6,948 Posts
Discussion Starter · #5 ·
Thank you for the write up. I read it to the end. Agree with what you have explained.

I agree with you on diagnosing Fuel supply , Vacuum leaks and MAF separately. However I change the order slightly.
  • Vacuum leaks first. Most common problem and many people have a scanner that can look a fuel trims. If this solves the problem, then they don't need any additional test gear.
  • Fuel supply second. Less common problem than vacuum leaks, People don't usually have a fuel pressure tester and have to buy/hire one.
  • MAF third. As you said, its a hard sensor to test, so eliminate all other items first.
I agree that vacuum is the most common, but I figured a quality smoke test is more expensive than a fuel pressure test. If the pump and filter are failing (and everyone has a filter that is too old), then you can figure it out with a cheap tool. But I do agree.

And I admire your fortitude in reading the whole thing!
 

·
Registered
2004 325i 5sp Steel-Blue sedan
Joined
·
213 Posts
Thanks for writing this, I've been getting lean codes and misfires once in a while, but after replacing my coils and plugs some of that seems to have gone away. My long fuel trims are a little bit off but better than they were. I'm going to leave the car as it is for the winter but when it gets warm again i'll probably start tackling all the damn vacuum leaks that I probably have.
I'm pretty sure that my CCV system has been replaced at some point, so what other parts should I look at?
 

·
Registered
2004 325i 5sp Steel-Blue sedan
Joined
·
213 Posts
@Archbid I'm getting long term fuel trims that are very high (like 20%). My car has a new fuel filter, plugs, coils, and air filter. My odometer is around 181k, should I just pull the trigger on a new MAF or try replacing checking for vacuum leaks, O2 sensors and stuff?
 

·
Administrator
2004 330Ci 115k miles
Joined
·
16,298 Posts
@Archbid I'm getting long term fuel trims that are very high (like 20%). My car has a new fuel filter, plugs, coils, and air filter. My odometer is around 181k, should I just pull the trigger on a new MAF or try replacing checking for vacuum leaks, O2 sensors and stuff?
High fuel trims are typically vacuum leaks. Do a throrough smoke test to find them. Read this thread for details.
 

·
Registered
Joined
·
2,185 Posts
For the record, these are the fuel trims for my 330cic at cruising speed. Car has 191k miles on it.

View attachment 916264
When I saw this I drooled for 2 minutes.

I'm caught in a conundrum that I was burning oil like an sob since I bought the car. Tried the 02 pilot mod, didn't do much. Then I did the Bavarian mod and consumption dropped significantly. From a quart every 700 miles to a quart every 4000 miles

But the sacrifice I endure is the system pulls more crank vacuum and my ltft at idle are around 18%. Under driving conditions they stabilize at 5-7%. I've replaced all the normal sources of leaks but the mod itself may be sucking in air. I can't seem to seal it up. Just ranting over here. I need to do a smoke test to see.

Sent from my ONEPLUS A6000 using Tapatalk
 

·
Registered
Joined
·
2,473 Posts
When I saw this I drooled for 2 minutes.

I'm caught in a conundrum that I was burning oil like an sob since I bought the car. Tried the 02 pilot mod, didn't do much. Then I did the Bavarian mod and consumption dropped significantly. From a quart every 700 miles to a quart every 4000 miles

But the sacrifice I endure is the system pulls more crank vacuum and my ltft at idle are around 18%. Under driving conditions they stabilize at 5-7%. I've replaced all the normal sources of leaks but the mod itself may be sucking in air. I can't seem to seal it up. Just ranting over here. I need to do a smoke test to see.

Sent from my ONEPLUS A6000 using Tapatalk
How’s your trims when you disconnect your brake booster and plug it with your thumb? Do they drop?

Also, have you tried Liquimoly Engine Flush right before an oil change?

Or what about running a tank or two of no-ethanol gas?. You might have to wait until April to find it though.

Finally, is your oil pan gasket leaking?

Keep us posted!
 

·
Registered
Joined
·
2,185 Posts
How’s your trims when you disconnect your brake booster and plug it with your thumb? Do they drop?

Also, have you tried Liquimoly Engine Flush right before an oil change?

Or what about running a tank or two of no-ethanol gas?. You might have to wait until April to find it though.

Finally, is your oil pan gasket leaking?

Keep us posted!
I haven't tried any of that, but I do know that deleting the ccv and going conventional pcv route it directly impacted my ltft in a detrimental way. It may be that our vacuum system is just not equipped to handle the vacuum I'm pulling. Oddly I don't throw any coded though. Only when the stft goes above 20% will a cel be thrown. With the conventional pcv setup, on cold startup my ltft climb close to 20% then after the car is warmed up settle down to 3-5%.

And yes, my oil pan and main rear seal are sweating, but not dripping. Those are probably attributing to my high ltft.

So I mitigated with my oil consumption but ltft are wacky

Car runs great though. 30-32 mpg on the highway. 22-24ish around town.

Sent from my ONEPLUS A6000 using Tapatalk
 

·
Administrator
2004 330Ci 115k miles
Joined
·
16,298 Posts
I haven't tried any of that, but I do know that deleting the ccv and going conventional pcv route it directly impacted my ltft in a detrimental way. It may be that our vacuum system is just not equipped to handle the vacuum I'm pulling. Oddly I don't throw any coded though. Only when the stft goes above 20% will a cel be thrown. With the conventional pcv setup, on cold startup my ltft climb close to 20% then after the car is warmed up settle down to 3-5%.

And yes, my oil pan and main rear seal are sweating, but not dripping. Those are probably attributing to my high ltft.

So I mitigated with my oil consumption but ltft are wacky

Car runs great though. 30-32 mpg on the highway. 22-24ish around town.

Sent from my ONEPLUS A6000 using Tapatalk
@Megalocnus used a clever adjustable flow valve inline to hand-tweak the vacuum level. Find his thread and see if that would help. May be a setting that is enough vacuum yet not so strong as to pull air around seals and fittings.
 

·
Registered
Joined
·
2,185 Posts
@Megalocnus used a clever adjustable flow valve inline to hand-tweak the vacuum level. Find his thread and see if that would help. May be a setting that is enough vacuum yet not so strong as to pull air around seals and fittings.
Genius!! I will be searching for that after the little one goes to sleep !

Thanks bali!!

Also, go Bill's lol. Die hard Buffalo fan here!

Sent from my ONEPLUS A6000 using Tapatalk
 

·
Registered
Joined
·
1,442 Posts
When I saw this I drooled for 2 minutes.

I'm caught in a conundrum that I was burning oil like an sob since I bought the car. Tried the 02 pilot mod, didn't do much. Then I did the Bavarian mod and consumption dropped significantly. From a quart every 700 miles to a quart every 4000 miles

But the sacrifice I endure is the system pulls more crank vacuum and my ltft at idle are around 18%. Under driving conditions they stabilize at 5-7%. I've replaced all the normal sources of leaks but the mod itself may be sucking in air. I can't seem to seal it up. Just ranting over here. I need to do a smoke test to see.

Sent from my ONEPLUS A6000 using Tapatalk
Maybe it's coming in through the sump gasket? Are you leaking down there? What about the petrol filler cap O ring? Is it cracked? The dipstick tube O ring?
 

·
Registered
Joined
·
178 Posts
Fuel trim is adding or removing fuel from what the ecu would have expected to deliver in order to maintain the right fuel/air mixture. Factory range is +/- 2.0. Higher or lower is out of spec. Over 11% or so it throws a code.
I think I mentioned last year my 2002 330i (MS43) ran for several tanks at ~24% STFT with no code. It coded only if it exceeded 27% (which seemed like a limit, never saw anything higher and supported by something I read on bimmerprofs) for some period of time and/or number of times. Oddly, LTFT never changed.

The DME actually keep trims for idle and above idle separately. I think this determines to some extent how LTFT is updated. I have to try INPA as you can actually see these separately.

I suspect there is a difference between MS43,45, and 45.1(widebands) and/or M56 (SULEV) engines, it terms of trim value which will throw a code. I would expect M56 engine or 45(.1) DME to be capable of tighter control of emissions. Which DME coded with 11% (total LTFT+STFT)?

Trims are in response to O2 readings. O2 has the final say in stoichiometry. From fuel to engine wear, trims are a necessity. The problem, as you know, is the DME has no way of knowing if O2 are accurate. So cat damage comes not from fuel trim itself, but from O2 sensors that are lying. Faulty O2 results in false trims, improper air/fuel ratio, poor economy, and eventually failed cats. The downstream O2 are supposed to help determine the condition of upstream O2, but it seems like the sensitivity isn't there as it seems all kinds of makes and models will run happily without coding forever, while burning more and more fuel, then throw cat codes for a major repair bill. I finally found a Bosch doc which explained why old sensors give a bad reading. They still switch, but slower in one direction, the math done by the DME can't or doesn't account for this so calculated STFT is incorrect. Unforutanetly, O2 lazyness not something you'll see on OBD, you'd need a scope. O2 cycle about every 1.25 seconds while we are lucky to see a frame every 4-8 seconds on OBD. If you see a questionable O2 on OBD, it's bad.

I think a 0% fuel trim is hard to achieve in most cases. Ideal, but dependent on so many variables. Do logs just sit flat at 0% the entire drive? Which DME?

I have this feeling that some trips my 330i has much better economy. This is simply by watching the ecometer. Sometimes it will sit well above 30MPG as I drive, other times it struggles to reach 30. Nothings seems unusual. Sometimes a rip at WOT will change behavior. Unfortunately, this is the wife's car and even so she hasn't been to the office in almost a year so getting much data is tough right now, maybe one tank a month.
 

·
Registered
Joined
·
303 Posts
That's skilled write-up Archbid. Wouldn't it be nice if we had a procudure to accurately test A MAF. They're clever but uncomplicated devices & and I'm stunned they have the nerve to charge so much. I've worked with another E46 contributor to tame the AK90+ modules; and we got that beast tamed to simplicity. Perhaps someday I'll attempt to produce a MAF tester. I made a spaggetti version with my first BMW refresh, and found that some of the Japanese ones work .. and many are crap. The trick is .. which ones accurately mimic the OEM. If we could confidently answer that question, it would help everyone's wallet.
 

·
Super Moderator
2003 330cic, 2003 325iT
Joined
·
6,948 Posts
Discussion Starter · #19 ·
That would be awesome!
Honestly, I think a set of new O2 sensor readings would also be useful. Combine them on a chart with old ones and I suspect you would be able to see laziness - especially from cold start
 

·
Registered
2000 E46 323i, 3.0L and 2.0L Z3's
Joined
·
989 Posts
MAF models and test procedures I have got. From rough and ready to the very accurate. Been writing it up to share on the forum but it has turned into a novel. Plus I'm still learning things and have to go back and run new tests to confirm the learnings and edit the document lots.

O2's have been this weeks learning. Still working on models and test procedures. Still learning lots. I have a fundamental problem with trying to diagnose O2's with OBD Fusion logs. Using 5 second snapshots to accurately capture a target that cycles around once per second at idle and something like 10 times a seconds at highway speeds. Yes you capture data and it looks good, but you have missed a whole lot more that could be useful. The best I've got so far is 320 ms snapshots for 2 O2 sensors only in a datalogger. Otherwise it is a storage-scope job, which I don't have. I'm interested in your views on how to capture good O2 data?
 
1 - 20 of 44 Posts
Top