Help us help you. By posting the year, make, model and engine near the beginning of your help request, followed by the symptoms (no start, high idle, misfire etc.) Along with any prevalent Diagnostic Trouble Codes, aka DTCs, other forum members will be able to help you get to a solution more quickly and easily!

2000 BMW 320i P0170, P0173 and intermittent misfire codes on all cylinders

More
3 years 10 months ago - 3 years 10 months ago #40976 by szgonik
So I spent quite some time today watching fuel trim reactions while idling. What seemed strange was the way fuel trims were reacting on switching between gas and LPG.

I got P0170 and P0173 codes thrown several times. I've never had them thrown at idle before. So again there's some inconsistence going on.

STFT's while idling on LPG were close to 0, LTFT's were 0%. As I switched to gasoline they would climb slowly to very positive and slowly return to values around 0. But LTFT's were still in unlearned state at 0%. I switched back to LPG and STFT's slowly dropped to very negative and then slowly climbed up back to values around 0. And LTFT's were still in unlearned state at 0%. It didn't seem right at all so I switched between LPG and gasoline several times always experiencing the same behavior. It was as the ECU was adjusting LTFT's but it wouldn't show in the live data. And I believe it was indeed.

BMW doesn't actually use terms STFT and LTFT values to describe fuel trims. Those values aren't even there in BMW factory software called INPA. The mixture is adjusted using different terms.

There's three processes that adjust fuel/air mixture. Two of them seem to be LTFT - one at idle and low load the other partial load until WOT open loop kicks in:
- Lambda integrator % is what I guess STFT PID is derived from to conform to OBD2 standards.
- Additive adaption value has no OBD2 equivalent. It's LTFT that gets learned at low loads and idle. But generic OBD2 scanner can't display this value.
- Multiplicative adaption value seems to be what BMW decided to derive LTFT from to comply with the OBD2. This value would never get learned unless the car is driven.

I'm not 100% sure I'm right on this but it would make a lot of sense on why STFT values react as ECU did learn LTFT but scan data still showed LTFT at 0%.

So looking at those values in INPA I made some tests on how they react as it idles on LPG, on LPG wit MAF disconnected, on gasoline MAF disconnected, and on gasoline MAF reconnected. My aim was mainly to determine how much fuel is being added with MAF diconnected.

Unfortunately I cleared adaptation values in INPA by accident before starting to record the video. The car was idling for some minutes on LPG before I checked them so they were adapted to LPG. And they were both 0.02 IIRC which isn't much and I consider being good values.

At start of the video the car is idling on LPG with values almost perfect. As I disconnect the MAF lambdaintegrator values go very rich. With MAF disconnected it seems the mixture is being richened by about 20%+. As I switch to gasoline values go a bit lean. With MAF reconnected they go to 1.28 which I believe is maxed out lean. Sitting at 1.28 for a while seems to throw codes and go open loop.



What I learned is I can't rely on reading idle STFT with OBD2 scanner on this car because there's no way to know what the learned additive value is. Which a kind of sucks because INPA has no means of graphing values of choice in single window.

I'm not sure what to think about 20%+ fuel being added with MAF disconnected. I was expecting it to be a bit richer but not that high. What do you guys (or girls, I hope there are some on this forum too) think. Does it seem normal or too high?

Today the car was having worst idle run ever. It would never throw fuel trim codes while idling before, today they appeared several times. But today it didn't throw the misfire ones for a change. Isn't it strange? The only thing I can think of it was rainy and a bit cooler weather today. If changes in the atmosphere caused these codes, might it be the MAF? I'm not sure but can't think of anything else.
Last edit: 3 years 10 months ago by szgonik.

Please Log in or Create an account to join the conversation.

More
3 years 10 months ago - 3 years 10 months ago #41035 by szgonik
I've been playing around with BMW DIS diagnostic software. It's the software authorized BMW workshops would use about 20 years ago. And I found MAF diagnostic procedure in it.

In the first step of the diagnostic procedure it reads MAF voltage at idle on fully warmed engine. It gives specs of 0.6V - 1.6V for my car. A huge range of acceptable voltages I'd say.

The voltage it measured at first was 0.66V which was very on the low side but still in specs but such low reading didn't make me confident enough to exclude the MAF being faulty.

I let the car idle some more and did the measuring procedure again. This time idle voltage would read only 0.43V. Now that's way out of specs. No wonder O2 readings would go out of range lean with this value. The next step the tool wants me to do is measure pins at MAF connector. I already scoped those before and they seemed fine so there was no need to measure them again. The next step would be to connect BMW special tool to some diagnostic boxes to the ECU and do some measurements on them. I down have those boxes neither the proper hardware to be able to connect
probes to the diagnostic tool. And the tool wouldn't skip this step to let me go further.



Even if I obtained the missing pieces of this ancient hardware they would probably cost more than a new MAF.

So I'm calling it a bad MAF.

My engine might also have serious breathing problem when hot. And as materials tend to expand with higher temperatures it probably doesn't make sense for it to seal and breathe worse than cold. So maybe heat causes resistances in MAF circuit to rise which would explain lower voltage as under hood temperatures rise. Or maybe not. I'm just guessing. Trying to think logically a rubber hose between MAF and throttle plate might also cause such behavior. As rubber heats up it becomes softer and more pliable so a hole in such a hose may open up under hotter temperatures and cause more air drawn thorugh the hole which might cause less air being drawn through the MAF. But I'm pretty confident mine don't leak.

There's been a lot of evidence pointing to the MAF and the g/s reading did seem low to me all the time comparing it to other cars like that Kia Rio for example that had similar type of Siemens MAF but smaller engine. Now low reading is confirmed by comparing it to known good specs for the VIN number of this car.

I'm still not 100% sure but it made me confident enough to order a new MAF. Even if the MAF wasn't the main culprit it seems to be under reporting so I guess it has to be replaced anyway. So we'll see how it runs when I install it.
Last edit: 3 years 10 months ago by szgonik.

Please Log in or Create an account to join the conversation.

More
3 years 10 months ago - 3 years 10 months ago #41049 by szgonik
With new MAF it started cold without stalling. The startup was fine but not perfect. It took a few seconds to catch the proper idle RPM and I felt light shaking under my butt so there's probably still some minor misfire.

I tried the same tests as above with unpluging the MAF runing on gas and LPG. Idle trim values in INPA look better now the car idles fine and no error codes were thrown.

LPG with MAF connected. Values with old MAF were perfect with new MAF they're on the rich side. I think this might confirm that LPG might be calibrated too rich because at the point when they were calibrating it the MAF was already on it's way out.


LPG MAF disconnected. Slightly richer than before. So it seems it's normal for a substitute MAF value to richen the mixture by 20%+:


Gas MAF disconnected. Slightly richer than before too.


Gas MAF Reconnected. Values adapt to the lean side. But not nearly lean enough to throw a code and cause open loop.

The specs in DIS diagnostic software state good values are between -0.35ms and +0.35ms. So it's about halfway there. If I didn't have the diagnostic tools I'd call it a fix for sure but unfortunately I do and I'm not entirely happy with the numbers I see. I'd like to see them closer to 0 say less than +/-0.1ms.

The other thing there's strange is idle voltage of the new MAF's around 0.4V. Same as it was with the old one. But for some reason the car runs much better anyway. I guess it's not the voltage itself but maybe there was too much noise in the signal with the old MAF. I did scope the old MAF before though and couldn't see anything weird going on with the waveform. Maybe I'm just lacking experience to notice imperfections in the waverform.

I also didn't notice any obvious difference in all 4 O2 sensor behavior graphing them with OBD2 scanner. The upstream ones would still go fully lean on WOT and the downstream ones either mimic the upstream ones or show constant lean value.

I think the car might pass the emissions test now so I'll give it a try. Luckily it's easier to pass than in the US I think. They don't connect scan tool to check emission readiness monitors. Only CO content and lambda values are measured at the tail pipe while idling and at 2500 RPM AFAIK.

I'm not finished diagnosing this car yet but if I manage to pass emissions I'll be able to register it and drive it so LTFT will be able to adjust and I'll be able to collect much more meaningful data. If I fail I'll at least get some data on what's going on with exhaust gasses. But since MAF reading still seems too low I would suspect a hidden air leak somewhere. I guess I might need to get a hold of smoke machine afterall.
Last edit: 3 years 10 months ago by szgonik.

Please Log in or Create an account to join the conversation.

Time to create page: 0.226 seconds