Computer Diagnosis of the Lambda Sensor on BMW Petrol Engines via Using DIS

 

Lambda sensor diagnosis on BMW M50B20 engines using DIS

 

 

I am ready to make a bold statement — people know absolutely nothing about the lambda sensor. Half of my clients blame all their engine faults on the oxygen sensor. "The engine won't hold idle — I think the lambda is acting up." "My engine is constantly shaking — I was told it's the lambda." "I've lost performance — I suspect the lambda sensor," and so on. Clients are allowed to be uneducated; they compensate with money. But the problem has spread to people offering BMW computer diagnostic services. "I had diagnostics done at another service center, they told me the lambda sensor isn't changing its readings — so it's time to replace the sensor." In reality, the engine simply has a severe air leak.

 

In this article, I will try to teach how to diagnose a lambda sensor fault, and then move on to diagnosing engine faults based on lambda sensor readings.

 

First of all, you need to firmly understand for yourself — a lambda sensor never has a negative impact on the operation of a healthy engine. It will not cause: backfires in the exhaust, poor starting or running of the engine, fluctuating idle, stalling, loss of performance, etc. The lambda sensor is a very precise final adjustment sensor for engine operation. To put it simply, a fully healthy engine doesn't even need it, but that's in a vacuum.

 

In reality, any petrol engine has various breakdowns, wear, aging processes, etc. All this leads to the problem of poor mixture formation and subsequent combustion. Essentially, any engine fault is just incorrect mixture formation. Repairing a fault is returning mixture formation to normal. The lambda sensor allows for a partial analysis, based on oxygen level, of the burnt mixture and corrects the engine's operating mode. Essentially, it's a gas analyzer that constantly adapts the engine to the changing environment and to the engine's own faults. If an air leak appears — the DME learns about it and corrects the fuel delivery. If the car climbs high into the mountains, where the air is thin and contains less oxygen — the DME learns about it and adapts the fuel delivery. The lambda sensor will never be the cause of poor engine operation; on the contrary, it helps it and also simplifies fault finding.

 

If we delve deeper into the topic, the lambda sensor is needed more for the correct operation of the catalytic converter. The catalyst can only neutralize harmful substances within a specific exhaust gas composition. A strong deviation from this composition reduces the catalyst's efficiency or can even break it. But even without a catalytic converter on the car, the ability to constantly adapt the engine to environmental conditions outweighs the high price of the oxygen sensor.


A non-heated or non-functional lambda sensor

 

Lambda sensor diagnosis on BMW M50B25 engines using DIS

 

 

The first step is to determine the oxygen sensor's functionality. In 90% of cases, the DME can independently recognize a fault and store the corresponding error code. In the absence of an error, you need to manually check the lambda sensor's functionality using real-time data in DIS.

 

On a Bosch DME engine management system, the voltage of a not-yet-heated or non-functional lambda sensor will always be within 0.45 volts. The voltage may constantly change, but within a small range, around 0.4 — 0.5 volts. In this state, the lambda integrator is taken as One (1.00), and the DME waits for the oxygen sensor to heat up and activate.

 

 

Lambda sensor diagnosis on BMW M60B30 engines using DIS

 

 

On a Siemens DME management system, the voltage of a not-yet-heated or non-functional sensor will always be at 0.09 V. The integrator is taken as One (1.00), and the DME waits for the oxygen sensor to heat up.

 

But if on a Bosch DME system the voltage of a faulty sensor sits between lean and rich mixture (at the stoichiometric value), then on a Siemens DME system the voltage of a faulty sensor will be in the maximum rich mixture zone. Therefore, based on voltage alone, it is impossible to accurately determine a lambda sensor fault on a Siemens DME system, as the oxygen sensor could be working and reporting a very rich mixture that the DME simply cannot correct.

 

 

Lambda sensor diagnosis on BMW M60B40 engines using DIS

 

 

This is where the real-time parameter Mixture control with lambda sensor comes to our aid, which reports the sensor's heating status and its participation in engine operation. This status is available for viewing in all Siemens DME systems, but not in all Bosch DME systems.


A working lambda sensor on a fully healthy engine

 

Lambda sensor diagnosis on BMW M70B50 engines using DIS

 

 

On a Bosch DME system, the lambda sensor voltage will constantly change in the range of 0.10.9 volts. Following the principle: Lean mixture — Rich mixture.

 

 

Lambda sensor diagnosis on BMW S38B36 engines using DIS

 

 

On a Siemens DME system, the lambda sensor voltage will also constantly change, but in the range of 0.14.9 volts. Following the principle: Rich mixture — Lean mixture.


Why should the lambda sensor voltage constantly change?

 

The engine ECU itself constantly changes, by a small amount, the injection signal. Usually no more than ± 0.1 ms, and the lambda sensor records these changes in mixture formation. The catalytic converter has the ability to store oxygen. Briefly put — the DME first makes the mixture rich in oxygen (so the catalyst can store it), and then lean (so the catalyst can use the stored oxygen to neutralize the exhaust gases).

 

The engine ECU has 2 operating modes. With and Without a lambda sensor, even in firmware that implies the use of an oxygen sensor.

 

In the first case, the DME will wait for the lambda sensor to activate (heat up), and constantly change the injection signal within ± 0.1 ms. Because that's how the DME firmware with lambda-based regulation works. The lambda sensor may be non-functional, but if the DME doesn't know this, it will still change the mixture, hoping that the sensor is just about to heat up and start working. Until the sensor activates, the DME will rely on the stored values of multiplicative and additive corrections in its memory.

 

In the second case, the DME knows that the lambda sensor is absent (the sensor connector is disconnected) or is faulty, and will no longer change the injection signal. In this case, either an error for the lambda sensor will be stored, or you will have to simulate it yourself. In order to forcibly switch the DME to non-lambda (open-loop) operation mode.

 

Therefore, if the lambda sensor is not working, and the DME cannot independently identify the fault, you can simulate the fault yourself — by disconnecting the sensor's connector. The DME will immediately switch to non-lambda operation mode.

 

 

Lambda sensor diagnosis using BMW DIS


The engine has a slightly lean mixture

 

Faulty lambda sensor on BMW

 

 

Let's consider an example where an engine with a Bosch DME has a lean mixture, for instance, due to an air leak.

 

95% of incoming air passes through the MAF, and 5% through a hole in the intake boot after the air meter. In this case, the normal amount of air enters the engine, but the air flow meter reports information to the DME about a smaller amount of incoming air. The injection signal is calculated mostly based on the air meter readings. Of course, other factors are also considered, for example: air and engine temperature, but their influence is many times smaller. Without the lambda sensor, we get a lean mixture in the engine.

 

The lambda sensor informs the DME about the incorrect (lean) mixture, and the DME begins to add the amount of fuel (increase injection time). The lambda-based operation mode has a limit on the maximum possible correction; the DME can add or subtract 0.5 ms of injection signal. In the opinion of BMW engineers — this is the maximum possible correction for a worn engine that does not require repair.

 

If the DME manages to correct the fuel mixture without exceeding this limit, then the engine starts running well, and the lambda sensor begins to inform the DME about correct mixture formation (the sensor voltage will constantly change between LeanRich).

 

In the animation, you can see that initially the injection signal is between 2.7 — 2.8 ms, and the lambda sensor reports a lean mixture. After which the DME increases the injection signal (adds the amount of fuel) until the lambda sensor starts reporting correct mixture formation. In the example, the correct mixture is between an injection signal of 3.2 — 3.3 ms. The lambda integrator becomes greater than One, 1.17.


The engine has a slightly rich mixture

 

Lambda sensor diagnosis on BMW via DIS

 

 

Let's consider an example where an engine with a Siemens DME has an enriched mixture, for instance, due to a faulty coolant temperature sensor.

 

The sensor constantly reports 5°C to the DME. Even though all other engine sensors are functional, the DME will still command an increased injection signal for stable engine operation during the warm-up phase. Although in reality, this is not required.

 

The lambda sensor informs the DME about the incorrect mixture, and the DME begins to reduce the amount of fuel (decrease the injection signal). The lambda-based operation mode has a limit on the maximum possible correction; the DME can add or subtract 0.5 ms of the injection signal. In the opinion of BMW engineers — this is the maximum possible correction for a worn engine that does not require repair.

 

If the DME manages to correct the fuel mixture without exceeding this limit, then the engine will start running well, and the lambda sensor begins to inform the DME about correct mixture formation (the sensor voltage will constantly change between RichLean).

 

In the animation, you can see that initially the injection signal is between 3.5 — 3.6 ms, and the lambda sensor reports a rich mixture. After which the DME decreases the injection signal (reduces the amount of fuel) until the lambda sensor starts reporting correct mixture formation. In the example, the correct mixture is between an injection signal of 3.1 — 3.2 ms. The lambda integrator becomes less than One, 0.9.


Excessively rich or excessively lean mixture

 

Computer diagnosis of lambda sensor on BMW M20B25 engines using DIS

 

 

Let's consider an example where an engine with a Bosch DME has an excessively rich mixture.

 

In the animation, you can see that initially the injection signal is between 3.1 — 3.2 ms, and the lambda sensor informs the DME about a rich mixture. After which the DME begins to decrease the injection signal (reduce the amount of fuel), attempting to adjust to normal mixture formation: 3.0 — 2.9 — 2.7 — 2.6 — 2.5 ms, but the lambda sensor still reports a rich mixture. The DME has already decreased the injection signal by the allowable 0.5 ms (the lambda integrator equals 0.8), which is why an error is stored.

 

 

Computer diagnosis of BMW lambda sensor using DIS

 

 

The error informs that the DME has reached the maximum regulation limit, yet the mixture remains either too lean or too rich. After that, the DME switches to non-lambda (open-loop) operation mode, and the integrator is taken as One (1.00).


The Lambda Integrator

 

Knowing only the lambda sensor voltage, it is impossible to tell whether the DME is correcting the mixture based on its readings (whether the engine has over-fueling or under-fueling) or if the mixture is perfect and the sensor is simply reporting correct mixture formation in the engine (absence of faults).

 

 

Correct operation of BMW engine lambda sensor in DIS

 

 

This is why DIS displays the correction value called the Integrator. Using it, you can find out if the mixture is being corrected based on information from the lambda sensor, and if it is — in which direction and by how much.

 

To describe it more simply — the lambda sensor voltage, even with an air leak, will be in the correct range. It's just that, thanks to the information from the lambda sensor, the DME was able to correct the mixture to the correct value. Thanks to knowing the integrator value, we can learn about various faults in the engine. Faults which, in the opinion of BMW engineers, do not require urgent repair. This is why no error codes are stored, even though a minor fault is present.


How does this work?

 

  • Based on the information entering the DME from various sensors: air flow meter, temperature sensors, throttle potentiometer, etc., the required portion of fuel is calculated. This forms the injection signal.
  • Fuel injection and ignition of the formed mixture occur (engine operation).
  • The lambda sensor analyzes the exhaust gases and informs the DME about the amount of oxygen in them.
  • The DME calculates the integrator value for further mixture correction. If there are no problems with the mixture or the lambda sensor is not working, then the integrator will equal One (1.00). If the mixture is lean, then it needs to be enriched and the integrator value will be greater than One (>1.00). If the mixture is rich, then it needs to be leaned out and the integrator value will be less than One (<1.00).
  • The DME multiplies the injection time by the integrator value and obtains the corrected injection signal. If the integrator equals 1, the injection time does not change. If the integrator is less than 1, the injection time decreases. If the integrator is greater than 1, the injection time increases.

 

Example: Injection signal 3.55 ms, lambda sensor reports a rich mixture. The DME calculates how much to lean out the mixture. The result is an integrator equal to 0.8895. The DME multiplies the number 3.55 by 0.8895 and gets a corrected injection signal equal to 3.15 ms. Injection and mixture ignition occur (engine operation). This process continues indefinitely and allows for constant maintenance of the mixture composition and adaptation of engine operation to the environment.

 

The integrator only works in tandem with the lambda sensor. If the lambda sensor is not working, the DME will not calculate the integrator but will take it as one (1.00). Multiplying a number by one does not change the number. For mixture correction prior to the lambda sensor warming up, the DME calculates and stores in memory the multiplicative and additive long-term corrections.

 

 

Lambda sensor diagnosis using BMW DIS

 

 

The DME calculates the integrator down to millionths, which allows for very precise mixture correction.


Multiplicative and Additive Long-Term Fuel Corrections

 

Faulty lambda sensor on BMW

 

 

To activate, the lambda sensor needs to heat up to a high temperature. If its heating element is functional, it will heat up within about 5 minutes after starting a cold engine. Otherwise, the lambda will heat up only from exhaust gases, and the time increases to 15 minutes or more. All this time, the DME does not know what mixture the engine is running on, and an incorrect mixture accelerates catalyst degradation.

 

Therefore, the DME calculates corrections in advance (during lambda sensor operation) and saves them to memory. And during the lambda sensor warm-up period, the DME uses these stored corrections for temporary mixture adjustment. After the lambda sensor warms up, the DME corrects the mixture in real-time by calculating the integrator value. Simultaneously, the DME constantly updates the multiplicative and additive corrections in memory. Based on this data, one can also judge various engine faults.

Additive Correction — Idle Correction

 

The amount of incoming air at idle has a greater influence on engine operation than the amount of injected fuel. Therefore, based on lambda sensor readings, the DME can detect issues like: air leaks, faulty air flow meter, etc. The correction is calculated as a percentage, with a maximum mixture correction value of ±20%.

 

Example: At idle, the injection signal is 4.4 ms. The lambda sensor reports a lean mixture. The DME calculates a correction value equal to +4%. To correct the lean mixture, the injection time needs to be increased by 4%. The corrected injection time is now 4.57 ms.

Multiplicative Correction — Partial Load Correction

 

At higher RPMs, so much air enters the engine that air leaks no longer have a strong influence. What is much more important is the amount of injected fuel. Therefore, based on lambda sensor readings, the DME can check the condition of: injectors, fuel pump, fuel filter, etc. The correction is calculated in milliseconds (ms), with a maximum correction value of ±0.5 ms.

 

Example: A car has non-hermetic fuel lines, causing low pressure in the fuel rail. At 2000 RPM, the DME opens the injectors for 6.3 ms, but the lambda sensor reports a lean mixture. The DME calculates a correction value equal to +0.15 ms. To correct the lean mixture, the injection time needs to be increased by 0.15 ms. The corrected injection time is now 6.45 ms.

 

It is not strictly necessary that additive correction only recognizes air leaks, and multiplicative only recognizes fuel quantity. There can be a huge number of faults, but these factors are predominant.


A Bit About the Second Lambda Sensor

 

With the tightening of environmental standards regulating the content of harmful substances in exhaust gases, car manufacturers required active monitoring of the catalytic converter's condition. Mainly for two cases:

  • Monitoring the condition of the catalytic converter;
  • Correcting for catalyst wear on the engine side.

 

In the first case, the DME compares the exhaust gas readings between the first and second lambda sensors. If the catalyst did not use the oxygen present in the exhaust gases, or did not use it sufficiently, the DME concludes that the catalytic converter is faulty. A corresponding error is stored in the ECU's memory, and the "Check Engine" light illuminates on the instrument panel. In this case, the second lambda sensor simply informs the car owner of the need to visit a service center soon, and the mechanic of the need to replace the catalyst promptly. If the car were equipped with only one oxygen sensor, no one would know about the catalyst failure for a very long time, and accordingly, the exhaust gas composition would be far from environmental standards.

 

In the second case, the DME also compares the exhaust gas readings between the first and second lambda sensors. But now to improve catalyst efficiency or correct for its wear/degradation. If the catalyst stores less oxygen, but within acceptable limits, the DME learns this and reduces the amount of oxygen in the exhaust gases. And vice versa, if the catalyst is capable of storing more oxygen than is currently in the exhaust gases, the DME learns this and increases its amount by changing the injection signal.