The BMW had fault codes 227 and 228 stored (P0171, P0174) indicating a lean fuel system. This means the vehicle is running lean and the DME has tried to correct the condition but has reached it upper limit. Fault codes 227 and 228 are specific to a fault when the engine is at part throttle (not idle). This tells us that it’s unlikely the lean condition caused by and engine vaccum leak.
Next I went for a drive in the vehicle. I ran the engine through each RPM range from idle, steady cruise to WOT (wide open throttle). You can see the Part Load fuel trim is indicating a lean condition, (by adding fuel) during my entire test drive. Part Load does take some time to update, so I suggest a 15 minute test drive at the minimum.
During my test drive I am able to eliminate many possible causes of the lean condition. For example; I monitor Idle Load fuel trim at idle to see if it could be a vaccum leak. That coupled with freeze frame data ruleda vacuum leak out.
I also perform a WOT test on the fuel system. If the oxygen sensor holds above 800 mv for the entire time I am at WOT, the fuel pump and fuel delivery system can deliver enough fuel. Next I check the engine and exhaust system by looking at G/PS or Kg/H. This reading tells me about engine efficiency. I can estimate the amount of air at a given RPM, therefore testing the MAF sensor without touching it.
Here’s what I did.
Next I contacted Dinan with the information. They agreed to write a custom DME map for this car. Once I received the map I programmed the car again with Dinan’s MIP tool. It took a week or so to receive the new DME map, so the vehicle owner had to drive with the MIL light ON.
This is a tricky fix. Without my standard fuel trim drive cycle test (to test components during the test drive), I may have replaced parts that were not faulty. It is important to approach each and every fuel trim fault the same way. A structured test plan will build confidence and make quick work of these common faults.