PDA

View Full Version : Calculated Air Flow rate



Dirk Diggler
June 8th, 2005, 07:39 AM
where is the pid derived from? Does it use DYNCYL_AIR_DMA or CYLAIR_DMA to derive its values

Blacky
June 8th, 2005, 08:30 AM
where is the pid derived from? Does it use DYNCYL_AIR_DMA or CYLAIR_DMA to derive its values

PID {CALC.CYCLAIR} is defined in sae_generic.txt as:


CALC.CYLAIR F500 CLC-00-900 "cylair" Air "Air mass per cylinder"

It uses SLOT CLC-00-900 which is defined as:

*CLC-00-900
cylair 0.0 1.5 .2 "{SAE.MAF.gps}*15/{SAE.RPM}"


From that you can see that CALC.CYLAIR is calculated as MAF*15/RPM.
Where MAF is in g/s

Regards
Paul

Dirk Diggler
June 8th, 2005, 12:20 PM
Sorry i wasnt a little clearer. I was referring to GM.DYNAIR.

Blacky
June 8th, 2005, 01:33 PM
{GM.DYNCYLAIR} is looked up by the PCM in the VE table plus a couple of mathematical adjustments for pressure and temperature.

VE is grams of air per cylinder multiplied by the charge temperature divided by the charge pressure (g*Kelvin/kPa). The closest values we have to charge temperature and pressure is IAT and MAP respectively.
So if we multiply by MAP in kPa and divide by IAT in Kelvin we get a good estimate of grams per cylinder.

DYNCYLAIR = (VE*MAP)/IAT

Where VE is in g*Kelvin/kPa
MAP is in kPa
IAT is in Kelvin

OR

(VE*MAP)/(IAT+273.15)
Where VE is in grams*Kelvin/kPa
MAP is in kPa
IAT is in DegC

Note: the next release of EFILive (7.2.3 pre-release 2) has a VE PID that returns the VE lookup value in grams*Kelvin/kPa. And a calculated PID that calculates VE as a % but that requires you to enter the engine size into the scan tool.

Regards
Paul

MN C5
June 9th, 2005, 01:59 PM
So this means changing our VE tables will change the timing values by possibly moving the timing into a different cell column dependent on the VE tables affect on GM.DYNCYLAIR

Perhaps one of you M.E. types can come up with a spread sheet that matches the V.E. table with GM.DYNCYLAIR for each value at RPM

Blacky
June 9th, 2005, 02:31 PM
Yes and no.

Yes changes to the VE table may change the calculated GM.DYNCYLAIRPID's value.

It won't have the "jump to the next cell" type effect that you suggest because of the interpolation performed by the PCM.

The PCM calculates a weighted average of the looked up value with its surrounding cells, based on how far the lookup indexes (indices?) are from the row/column labels.

See this thread for an explanation of interpolation:
http://www.efilive.com/forum/viewtopic.php?t=1730&highlight=interpolation

It shows the VE table in the example, but the same logic can be applied to looking up values in any table - including spark tables.

Regards
Paul