We’ve changed something in the engine intake system and now our short term fuel trims (STFTs) are a bit high, eg more than +/- 5% because out MAF calibration is no longer accurate, the MAF signal no longer accurately represents the mass of air entering the engine.
NOTE: This article is dedicated to engines which are using a wideband lambda sensor to constantly measure fuelling.
Perhaps we fitted a performance intake that moved the MAF sensor location, perhaps we installed a larger diameter MAF sensor/housing. Generally speaking we changed something on the engine and now the MAF sensor is not reading accurately.
If we are able to program the engine ECU directly, the process of calibrating the MAF could be straight forward, we don’t need any external/extra devices.
If we don’t have the ability to tune the engine ECU directly, we need a separate product which can manipulate the MAF signal before it gets to the engine ECU. This could be a piggyback ECU like an AEM FIC8, Apexi AFC NEO etc.
To start calibrating our MAF sensor, regardless of the method (programming engine ECU directly or using a piggyback ECU) we need to know what the engine is doing. We need to know where the problem is how bad the problem is and to get this data we datalog.
I think the most straightforward way to do this is to use a free OBD scanner app like Car Scanner. This has a datalog function where we can download our data into a CSV file and analyse it on our computer. In addition to the app, we need an OBD2 Bluetooth dongle to connect the app to our car. I’ve had good experience with vGate products (icar2 and icar3).
Our datalog can be as simple as two channels, MAF signal (preferable voltage but grams/sec etc will also work) and STFTs.
From the CSV data we compare our MAF g/s measurements against the STFT at that same time. If we are seeing positive STFT at an airflow point we need to increase the signal going to the ECU MAF (increase fuelling) for that MAF signal. And vice versa for negative fuel trims. If short term fuel trim is negative, this tells us the ECU is having to take away fuel, so we reduce the signal going to the ECU for that airflow.
We do our adjustments and then do another datalog to see what the effect is. Analyse the datalog and make more adjustments if we need to. We keep repeating the process until we get our average STFTs where we want them, over the full range of airflow.
This tuning process will be the same if we are programming the engine ECU directly or using a piggyback/parallel ECU.
We absolutely could rely of the STFTs to keep our fuelling correct, assuming the trims are within the maximum adjustment the ECU can make.
The engine maps take into consideration that the sensors will not always be accurate for whatever reason (age, exposure to moisture/heat, bad fuel, high/low voltage etc) and they allow the engine to mak adjustments on the fly (the fuel trims).
But it’s less than optimal to run in this condition constantly and it assumes we have nothing actually mechanically/electrically wrong (now or in the future) with the engine eg low fuel pressure, faulty injector, bad sensor etc).
If something does go wrong with the engine, or if there is some unusual operating condition and the engine ECU needs to add 20% fuel for a short time or for longer, but the fuel trims were already operating at +20% because our MAF signal was not accurate, the engine ECU may only be able to add another 5% of fuel because its total adjustment limit is 25%.
There needs to be a limit on the amount of fuel correction the ECU can make. At some point the ECU needs to be able to tell the operator than something in the engine is not only performing less than optimally, but that something is performing well out of spec and needs be inspected. This warning from the ECU could be as simple as a check engine light, it could be more drastic and put the engine into limp mode.
Whatever the case may be, if we are already relying on a large correction in our fuel trims, if something does happen, we are giving the ECU less room to be able to make adjustments to compensate.
To a certain extent the ECU is making fuelling corrections based on the MAF sensor signal. If the signal from the MAF sensor is not accurate the ECU is going to be basing the igntion values on in accurate data which caused the ignition timing to be less than accurate/optimum.
If we reset our ECU for whatever reason, and our MAF calibration is accurate, the AFRs are going to be accurate from the off (everything else being setup properly).
If on the other hand we have been relying on high fuel trims by the ECU to get the fuelling correct it’s going to take some time for ECU to relearn what these trims need to be. Granted this might not take very long, but if the MAF was calibrated properly, it would not need any time at all.
In general I think it’s best practice to have our fuel trims as small as possible. It has the benefits detailed above and few if any downsides (perhaps we have to do a bit more work with our fuelling maps but the benefits we get more than make up for time invested).