MAP sensor accuracy test - Ford Focus 1.6 16V Zetec SE
I've been racking my brain for quite a while now trying to solve a lean idle condition and high positive fuel trims at idle on this car. No vacuum leaks could be detected (though this is a speed density engine, so a vacuum leak really shouldn't influence fuel trims much) and nothing seemed obviously wrong, yet the car was generally running quite lean at idle and basically whenever the vacuum was high (like while engine braking).
Well, it seems like I've finally found the culprit. Looks like the MAP sensor readings get progressively more out of calibration the lower the intake manifold pressure gets. At idle, the MAP sensor is reading around 4-5 kPa lower pressure than it should according to the vacuum gauge - the vacuum gauge is reading around 29-30 kPa of absolute pressure (so around 21 inHg of vacuum for the people using the imperial units), but the MAP sensor actually reads 24 kPa. So it's quite obvious the ECU tries to lean out the fuel mixture, since it sees less air than there is, and then has to correct that leaning by high positive fuel trim to get back to stoichiometry.
Interestingly enough, at higher pressures, the calibration error seems to disappear and at around 40 kPa of absolute pressure (and above), the readings are pretty much correct, leading to an issue that mimics the classic symptoms of a vacuum leak (but again, this is a speed density engine, so the fuel trims should not be affected much by a real vacuum leak, unlike a mass airflow engine).
Sadly, Torque Pro is quite slow to react and also lags a bit behind, so it doesn't show how low the MAP readings actually go when you rev the engine to something like 2-3k rpm and then go off the throttle - the vacuum gauge dial doesn't really drop below 18 kPa, but the MAP readings (when using a faster scan tool like Forscan) can momentarily go as low as 9-10 kPa at that time - which is actually the lowest pressure the MAP sensor can detect, according to the specifications.
Also, please ignore the "Vacuum" dial - I have no idea what the reading it shows is, it's certainly not the amount of vacuum the engine is pulling. Just look at the "Intake" reading, that is actually what the MAP sensor sees. To get the amount of vacuum the engine is pulling at the time (in kPa), just subtract the "Intake" value from 100.
So yeah, guess I need a new MAP sensor.