Air Flow Meters – Pros & Cons for Tuners and DIY Programmers

Air Flow Meters – the Pros

In the last post I talked about my first attempt at using a mass type Air Flow Meter (AFM) with my Rabbit DIY ECU. Knowing the output curve of the AFM is key because knowing how many grams per second of air are flowing through the engine makes calculating the fuel flow straight forward. You just need to know the injector flow-rate, target AFR and engine speed to calculate the injector milliseconds (ms) each engine cycle. Shown below is the output voltage of VDO AFM 5WK97012 found DIY style with an inexpensive anemometer (see July 2017 blog).

Accurate, direct measurement of airflow is one major advantage of tuning using an AFM versus a Manifold Absolute Pressure (MAP) sensor. A MAP sensor based system needs a large number of calibrated Volumetric Efficiency (VE) points so that the airflow can be estimated indirectly, and in turn the injector ms.

Another major advantage of using AFM instead of MAP to calculate fuel injector ms is found in an engines with Variable Valve Timing (VVT). A MAP based system becomes very difficult to tune because the VE of the engine is different at any load point depending on the cam advance or retard.

Lastly, a MAP based system can’t easily adapt to changes in airflow as the engine ages or is modified. Valve wear and deposits, changes to the intake or exhaust and modifications to cam lift and timing will alter the VE at any given load point, meaning a re-calibration of the VE table is needed. An AFM system will (within reason) automatically adapt to these changes because the air flow is directly measured instead of indirectly estimated.

By now you might be wondering why any OEMs use MAP sensors at all when the AFM has so many advantages! I was wondering the same thing until I started calibrating my DIY project Holden Astra Z18XE. Now let’s talk about the downsides of using an AFM…

Air Flow Meters – the Cons

First things first – engine start! Trouble is with an AFM, there isn’t a reliable signal output at cranking speeds from which to calculate the fuel quantity. A simple strategy I added to the Rabbit DIY ECU is a cranking airflow table indexed against engine RPM. That way the ECU can look up a calibrated airflow value at cranking speeds instead of being upset by an unreliable and fluctuating signal when cranking.

The second issue comes about because the AFM is almost too good at doing its job. AFMs are very fast and accurate. It becomes clear after a short while tuning with the AFM that there seems to be overshooting of the output signal whenever the throttle is moved. It is as if the AFM measures too much airflow each time the throttle opens, and too little each time it closes. A similar effect does not occur in MAP based systems.

Arduino Fuel Injection

This characteristic comes about because the AFM is measuring the in-rush of air into the manifold as the pressure rises as well as the actual airflow into the engine. A manifold with a volume of say 2L holds around 2.5 grams of air at zero vacuum. If this 2.5 grams in-rushes over 1/10s, the additional AFM ‘spike’ is 25 g/s!

The unwanted effect is over-fuelling (too rich) and under-fuelling (too lean) during throttle movements. Some tuners might say this is a good thing – improving throttle response. For the Rabbit DIY ECU, I want users to be able to meet emissions standards, and know that the measured AFR is as close as possible to the target AFR table.

A simple solution that works well in the Rabbit DIY ECU is to revert to a known ‘learned’ airflow whenever the throttle is moving. The learned airflow table is a lookup table of airflow depending on throttle position and engine speed, shown below.

Arduino ECU Fuel Injection

When the throttle moves, the airflow measurement comes from the learned airflow table. When the throttle is steady, the AFM output is used because it is more accurate. Also, when the throttle is steady, the backup table is updated from the AFM output, ‘learning’ more accurate values.

This method removes the over-fuelling rich spikes on throttle openings. Some data collected with the learned airflow table enabled and disabled is shown below. The data was collected using GP-meter 6.0 DIY AFR controller.

Air Fuel Ratio Bosch LSU4.2 LSU 4.9

With the learned airflow table (light blue points) enabled, the AFR shows a steady 15.0 when the throttle is opened, but spikes to 12.0 without any correction (dark blue points). The lean-out (AFR > 15) that happens when the throttle closes is because the injector opening time becomes too small. This is OK because the too rich AFRs are generally more problematic for emissions control than too lean AFRs.

You can see the two throttle openings and response on the GP-meter 6.0 DIY AFR controller here in this Thottle Opening Video. The video corresponds with the AFR measurements shown above.

Another disadvantage of using an AFM is that air leaks in the inlet or manifold cause an inaccurate output from the AFM – this doesn’t occur with a MAP sensor system.

In future, the Rabbit DIY ECU will support a dual input strategy of using both AFM and MAP sensor. This is important for turbo-charged engines where direct boost measurement is a critical input.

Next post: Adding a map or curve to the Rabbit ECU Windows tuning application.