Calculating and graphing MAF for turbocharged engines

Following on from the Valvetronic forum post, I felt it would be a good candidate to test out the relevant formulas to calculate airflow where turbochargers are installed.

I must give a huge thanks to Andy Crook at GotBoost Ltd as his input has been invaluable.

The engine in question is a 4-cylinder BMW 114i N13, producing 102 PS @ 4000 rpm. To determine MAF, we need to calculate the Volumetric Efficiency (VE) of the engine.

In a perfect world with 100% VE, this engine should consume approximately 102 gm/sec of air. This is derived from the quoted power output of the engine: max power 102 PS @ 4000 rpm.

VE at 100% = 102 PS x 1.0 = 102 gm/sec (1.0 is 100% expressed as a decimal: 100% / 100 = 1.0).

This provides an approximation of maximum airflow through this engine if VE were 100%. In reality, VE will be around 80% to 90%, and would constantly be changing based on numerous variables: inlet and exhaust lengths/diameters, turbocharger loading (exhaust side) valve lift, valve timing and valve duration, to name but a few. Note that this engine has VVT, VVT-L (Inlet) and a turbocharger, which are enough variables to consider for one day.

Therefore, a typical peak MAF value would use VE at 80% and look like the following:

102 PS x 0.8 = 81.6 gm/sec.

The reverse can also be used as an indication of engine power:

Measured Peak Airflow (gm/sec) / 0.8 = Engine power
81.6 gm/sec / 0.8 = 102 PS.

These rules of thumb can be used as indicators only for expected MAF/Power values when diagnosing engine running issues.
To calculate MAF for any given engine speed (here we use 4000 rpm, max power) we need to capture the manifold pressure.
For this, we can use a custom probe, but we need to understand the output characteristics of the manifold absolute pressure sensor (MAP) if we don’t have a WPS500X available. After hours of research, I believe the following specifications to be correct for our Bosch MAP sensor 0 261 230 253 (DS-S3 3-wire sensor).

Based on the data in the image above we know that:

• The sensor supply voltage = 5.0 V
• The nominal sensor voltage = 0.5 V
• The sensor voltage measurement range = 0.5 V to 4.5 V
• 0.5 V to 4.5 V utilizes 80% of 0 V to 5 V supply voltage 80% / 100 = 0.8
• The Sensor pressure measurement range 2.05 bar

The pressure measurement range is derived as follows:
Sensor Measurement range = 0.15 bar to 1.2 bar absolute (1 bar = atmospheric pressure)
0.15 bar (sensor minimum value) is below atmospheric, adding 0.85 bar returns this value to atmospheric pressure @ 1 bar
1.2 bar (sensor maximum value) is the value above atmospheric pressure @ 1 bar
0.85 + 1.2 = 2.05 bar measurement range

To determine the sensor incline/slope we use the formula:
Sensor voltage measurement range x Voltage supply / Sensor pressure measurement range
Sensor Incline = 0.5 - 4.5 V expressed as a decimal 0.8 x 5.0 V / 2.05 bar
Sensor incline = 0.8 x 5.0 / 2.05 = 1.951

To define sensor output at 1 V we use 1 / 1.951 = 0.512 bar.

The sensor incline, therefore, follows the rule, 1 V = 0.512 bar and because this sensor has a linear output 2 V would equal 1.024 bar and 3 V would equal 1.536 bar, etc.

To create a custom probe to display MAP sensor voltage as a physical pressure we use the linear equation: y = 0.512 x + 0

You can find more information on creating customs probes in the following article on custom probe creation and this short video.

To qualify the math, you can always use the scan tool data list to monitor MAP while simultaneously capturing the MAP sensor output via the scope using the custom probe we created above. With the ignition on and engine off, both the scan tool and the scope should display approximately 1 bar (atmospheric pressure).

A similar technique can be adopted using a vacuum or pressure gauge, where you apply a known pressure to the MAP sensor while comparing values at the scope and scan tool across the entire operating range of the sensor. This technique allows you to plot the MAP sensor output voltage in relation to the applied pressure. These values can then be entered into a lookup-table (see pages 10-14 in the custom probe creation article ).

Let’s move on:
The following waveform uses the above linear equation/custom probe for both Channel A (boost pressure sensor) and Channel B (MAP sensor). Both sensors have the same output characteristics and therefore the same linear equation applies. The part number of the boost pressure sensor (pre throttle/post intercooler) is 0 261 230 252 (DS-S3-TF 4 wire sensor). The 4th wire provides inlet air temperature data to the PCM. The channel labels identify all the remaining inputs to assist with the MAF calculation.

Let us apply math to bring about clarity.
In the waveform below, we have captured the vehicle’s acceleration in second gear on a level road surface (with the Valvetronic active) with the gas pedal to the floor until the engine speed peaks at 4000 rpm.

Note how Channel E (purple) indicates the throttle plate position (sensor 2). This sensor operates in reverse where the voltage decreases as the throttle opening increases.
In the interest of interpretation, I have used the math channel “-E” to invert this channel. (Simply adding the minus symbol before any channel letter will invert your chosen channel)

You can convert the crankshaft signal on Channel C to indicate engine speed by using the math channel: LowPass(freq(C), 50).

You can graph the airflow from the digital MAF sensor (Channel D) by using the math channel: freq(D).

To calculate the differential pressure between the Boost presser sensor and MAP sensor we use the built-in math channel: A-B
Here we can detect possible air leakage or intake anomalies as theoretically, if the throttle plate is open, boost pressure should approximately equal to the manifold pressure. Note below how the differential pressure is minuscule (62.41 mbar) until the throttle plate partially closes (@ 11.49 seconds) when the gas pedal is released. Here the boost pressure momentarily peaks against a partially closed throttle plate, while the manifold pressure falls into a depression.

Calculating MAF (with turbocharger):
• On the BMW N13 engine with the Valvetronic active and the gas pedal held to the floor in second gear to 4000 rpm.
• The data is captured simultaneously by both the scan tool and the scope.

By using data captured from the scan tool we obtained the following results:
MAF: 268 kg/h (74.44 gm/sec)
Engine speed: 3998 rpm
Intake pressure: 1267 mbar
Throttle: 2.5 V
Boost pressure: (Before throttle) 1286 mbar
VE calculated from scan tool data: VE = 74.44 / 102 = 72.98 % (rounded to 73% / 100 = 0.73)

The fundamental requirements for calculating the airflow (turbocharged engine) are:• Engine capacity (litres)
• Engine Speed (RPM)
• Manifold Absolute Pressure (Bar)
• Volumetric efficiency (% expressed as a decimal)

The equation is:

Engine Capacity (1.6) x VE (Derived using 74.44 gm/sec = 0.73) x 3998 rpm x 1.267 bar / 2 intake strokes per crankshaft revolution = MAF in Litres per minute
1.6 x 0.73 x 3998 rpm x 1.267 / 2 = 2958.232 L/min
1 litre of air = 1.223 gm @ sea level (15°C)
2958.232 L/min x 1.223 gm/litre for air mass = 3617.918 gm/min
3617.918 gm/min / 60 = 60.30 = gm/sec (using VE calculated from scan tool data)
To graph airflow within PicoScope, we can incorporate one of the following VE values into our math channel:
1. VE calculated from scan tool data 73% (0.73)
2. VE @ 80% 0.8 which is a typical average
3. VE @ 100% 1.0 to obtain the theoretical maximum airflow

If we use VE calculated from scan tool data (0.73) the math channel is as follows:

LowPass(freq(C),50)*(1.6*0.730)*B/2*1.223/60 = Air flow @ 73% VE (air mass at 1.223 gm/L)

If we use VE at 100% (1.0) the math channel changes to

LowPass(freq(C),50)*(1.6)*B/2*1.223/60 = Air flow @ 100% VE (air mass at 1.223 gm/L)

The graphed airflow can be seen in the waveform below:

As you can see above, the calculated airflow values do not tally with the scan tool calculation of MAF 268 kg/h (74.44 g/sec)!
At 73% VE the math channel airflow peaks at 60.81 gm/sec.
At 100% VE the math channel airflow peaks at 83.37 gm/sec.
Had we used VE at 80% (average) the math channel airflow would peak at approximately 66.88 gm/sec.
One possibility is the update speed of the scan tool, as we cannot confirm the accuracy and correlation between parameters. With the scan tool, we have a momentary snapshot of data such as Engine Speed: MAF: Throttle Position over Time.

For example, the displayed airflow (268 kg/h) could relate to an engine speed that was momentarily above 3998 rpm! This is a real issue, as we use 268 kg/h to calculate VE and then incorporate the value into our math channel. This, of course, is another variable to consider and perhaps a good reason to use VE at 80 % (typical average) and VE at 100% within such math channels.

Another variable to consider is a possible error within the custom probe setting (based on inaccuracies within the acquired data sheet containing the MAP sensor output characteristics figure 1 and 2).
I am not one hundred per cent convinced the data applies to the sensor with part number 0 261 230 253, but the scope data for manifold pressure does match the scan tool data. To remove this variable, a WPS500X installed into the inlet manifold will deliver the actual pressure values requiring no processing via the PCM/Scan tool or a custom probe.

With the Valvetronic inactive
Given that we are using a Valvetronic engine, an identical (max power) road test was carried out to determine the effects on airflow with the Valvetronic actuator disconnected. This means that the engine can run as normal, utilizing the throttle plate for conventional air intake control with a fixed valve lift (set to maximum).

Using data captured from the scan tool we obtained the following results:
MAF: 263 kg/h (73.05 g/sec)
Engine speed: 3999 rpm
Intake pressure: 1249 mbar
Throttle: 1.8 V
Boost pressure: (Before throttle) 1255 mbar
VE Calculated from scan tool data: VE = 73.05 / 102 = 71.61% (71.61% / 100 = 0.72)

This is another statistic that surprised me. I thought that the airflow with the active Valvetronic would have been greater than with it inactive. At max power, there is little difference between airflow and calculated VE with the VT both active and inactive.
Once again, thinking this through: at WOT (or should I say gas pedal to the floor as the PCM decides where to position the throttle plate), the airflow will be similar for both running conditions (VT active/inactive) based on the intelligent throttle plate control.

With the VT active, the airflow is controlled via a clever combination of throttle plate position and inlet valve lift. With the VT inactive, the inlet valves default to maximum lift and the airflow is, therefore, controlled solely by the position of the throttle plate.

Take a look at the throttle plate position in the capture below compared to the waveform above. With the VT active, the throttle plate position is 2.5 V, with the VT inactive, the throttle plate position is 1.8 V.

Remember that the TPS 2 operates in reverse where the voltage decreases as the throttle opening increases. Here we have a larger throttle opening when VT is inactive.

Looking at the capture above, we can see how the throttle plate intervention (due to the VT being inactive) introduces a considerable pressure differential between the inlet manifold (post throttle) and the intake assembly (pre- throttle) given that the air intake is now controlled conventionally. Once again, the good news here is that with the throttle plate opening increased, the pressure differential under-boost conditions are 0 bar.
All in all, VE and MAF calculations are immensely challenging given the numerous variables associated with intake control systems (more so with turbocharger applications). However, I hope the formulas above (which incorporate boost/manifold pressure) will help with such calculations.

After posting this on the automotive forum, I received a very helpful comment:

“Hi Steve

What a great writing you have done here. It is not an easy task to calculate the correct airflow that the engine consumes when there are so many parameters / variables to be include in this calculation.

One thing that you were a little suspicious about were the pressure sensor range and if you ask me is diagram/graph over this sensor not the correct one. It’s the right OEM number to that particular vehicle, but as you can see here I´ve found a Meat & Doria 82503 pressure sensor where the pressure range goes from 38 kpa to 260 kpa. This will off course create a totally different calculation which in the end could result in the correct output in terms of gram per second (g/s).

Once again thanks for great case study.

Regards
Kim”

I cannot tell you how long I searched for the MAP sensor data and never found this Meat & Doria datasheet. Truth be told, I would not know where to look as I have never heard of the manufacturer, so I owe a big thanks to Kim.

I think this proves just how challenging it can be to obtain such data and more importantly, how reliable is the data you discover.

Let’s look at the calculations again using the new measurement range:
38 kPA – 260 kPA (absolute)

To convert kPA to bar we divide the pressure value by 100:
38 / 100 = 0.38 bar
260 / 100 = 2.6 bar

Sensor Measurement range = 0.38 bar to 2.6 bar absolute (1 bar = atmospheric pressure)
0.38 bar (sensor minimum value) is below atmospheric, adding 0.62 bar returns this value to atmospheric pressure @ 1 bar.
2.6 bar (sensor maximum value) is the value above atmospheric pressure @ 1 bar
0.62 + 1.6 = 2.22 bar measurement range

To determine the sensor incline/slope we use the following formula:
Sensor voltage measurement range x voltage supply / sensor pressure measurement range
Sensor incline = 0.5 - 4.5 V expressed as a decimal 0.8 x 5.0 V / 2.22 bar
Sensor incline = 0.8 x 5.0 / 2.22 = 1.801

To define the sensor output at 1 V we use 1 / 1.801 = 0.555 bar
The sensor incline, therefore, follows the rule 1 V = 0.555 bar, and because this sensor has a linear output 2 V would equal 1.11 bar and 3 V would equal 1.665 bar etc.
To create a custom probe to display MAP sensor voltage as physical pressure, we use the linear equation y = 0.555 x + 0.

The difference between custom probe settings means that our manifold pressure will now read approximately 8% higher.

I think this is a perfect example of why we should capture the MAP sensor signal voltage at the same time as using a custom probe setting to measure manifold pressure (if you have enough channels).

In this scenario, you can apply math to the signal voltage (post-capture) to obtain the revised manifold pressure value.

In the example below, I have captured manifold pressure using the original custom probe setting y = 0.512 x + 0 (on Channel B) while capturing the manifold pressure sensor signal voltage (on Channel A) along with a WPS500X installed into the manifold (on Channel C).

We can see how the original custom probe (Channel B) displays 1.279 bar peak while the math channel A*0.555 (Magenta) displays 1.394 bar. Here the revised value of 0.555 is applied to the MAP sensor signal voltage on Channel A.

To confirm the accuracy of both, the WPS500X is used to qualify our physically measured manifold pressure where we obtain 330 mbar (gauge) or 1.330 bar (absolute).

So how does this affect our final MAF calculation?

VE calculated from the scan tool data (with the Valvetronic active @ 1.394 bar manifold pressure)

The engine capacity (1.6) x VE (derived using 74.44 gm/sec = 0.73) x 3998 rpm x 1.394 bar / 2 intake strokes per crankshaft revolution = MAF in Litres per minute
1.6 x 0.73 x 3998 rpm x 1.394 / 2 = 3254.756 L/min
1 litre of air = 1.223 gm @ sea level (15°C)
3254.756 L/min x 1.223 gm/litre for air mass = 3980.567 gm/min
3980.567 gm/min / 60 = 66.34 = gm/sec

This value is approximately 8% higher than originally calculated thanks to the increased boost pressure value.

Using VE at 100%:
1.6 x 3998 rpm x 1.394 / 2 = 4458.570 L/min
1 litre of air = 1.223 gm @ sea level (15°C)
4458.570 L/min x 1.223 gm/litre for air mass = 5452.831 gm/min
5452.831 gm/min / 60 = 90.88 = gm/sec

Once again, 8% higher than the calculations seen in figure 5.