I decided to create a calc pid that will let me calibrate MAF and VE table in one log using wide band, stft & ltfts. It must be more accurate to calibrate MAF and VE table from the same log data to get them to match, IMHO.
I need to get the math right in my head, here goes
Log all the usual pids asscociated with MAF, VE and trims.
Maps are MAP vs RPM as used in VE table, except for MAF cal.
Create map for BEN1 (GM.AIRPERSEC is PCM g/sec value) for refference
Create a pid for the map (BEN1 * GM.AIRPERSEC)/SAE.MAF gives BEN M correction for MAF.
Create a pid for the map (BEN1 * GM.AIRPERSEC)/GM.DYNAIR_LS2) gives BEN D correction for VE table.
How ever fuel trims have not been factored in...
Create a pid for the map (STFT1+LTFT1) = % TRIM
The math
For an example, (and we see that the GM.AIRPERSEC = GM.DYNAIR (The higher value of MAF & VE CALC, it could be vise versa))
BEN1 for GM.AIRPERSEC = 1.04
BEN M for SAE. MAF = 1.02 MAF is reading 2% lean
BEN D for GM.DYNAIR = 1.04 VE TABLE is reading 4% lean
How ever, for the example BEN D for VE table = 1.04, the combined fuel trims of STFT & LTFT is say 1%, this is where i need a sanity check with the calc.pid
The 1% fuel trims have been added and calculated for the BEN1 for GM.AIRPERSEC = 1.04, I need to still compensate for the 1% fuel trim, ie the BEN D should be 1.04 + 0.01 = 1.05 for the VE table calibration, and BEN M should be 1.02 + 0.01 = 1.03 for the MAF calibration.
My calc.pids
*CLC-00-900
cylair 0.0 1.5 .2 "{SAE.MAF.gps}*15/{SAE.RPM}"# ================================================== ============================
# File details
# ------------
#
# This section defines various details about the file format.
*FILE
#Parameter Value Description
#---------- ---------------- ---------------------------------------------------
VERSION 7.1.1 File version
DECSEP . Decimal separator used in this file
# ================================================== ============================
# Units
# -------------------
# See sae_generic.txt for more information on the *UNITS section
*UNITS
#Code System Abbr Description
#-------- ---------- -------- -------------------------------------------------------------
None None "" "No units"
# ================================================== ============================
# Add slot definitions here
# --------------------------------
# See sae_generic.txt for more information on "SLOT" formats
#
#Units Low High Fmt Expression
#------------ ------------- ------------- ---- --------------------------------------------------------------
*CLC-00-001
% -40 40 .2 "{SAE.SHRTFT1}+{SAE.LONGFT1}"
*CLC-00-002
% -40 40 .2 "{SAE.SHRTFT2}+{SAE.LONGFT2}"
*CLC-00-003
% -40 40 .2 "({SAE.SHRTFT1}+{SAE.LONGFT1}+{SAE.SHRTFT2}+{SAE.L ONGFT2})/2"
*CLC-00-004(
factor 0 2 .2 "(((({GM.AIRPERSEC}*{CALC.BEN1_B})/{SAE.MAF})*100)+{CALC.TRIMS1})/100"
*CLC-00-005
factor 0 2 .2 "(((({GM.AIRPERSEC}*{CALC.BEN1_B})/{GM.DYNAIR_LS2})*100)+{CALC.TRIMS1})/100"
# ================================================== ============================
*PRN - Parameter Reference Numbers
# --------------------------------
# See sae_generic.txt for more information on the *PRN section
#
#Code PRN SLOT Units System Description
#------------------------- ---- ------------ ---------------- ---------------- ------------------------------------------
CALC.TRIMS1 F001 CLC-00-001 % Tuning "ST1 & LTFT1 COMB"
CALC.TRIMS2 F002 CLC-00-002 % Tuning "ST2 & LTFT2 COMB"
CALC.ST_LT_AVE F003 CLC-00-003 % Tuning "ST1&2 & LTFT1&2 AVERAGE"
CALC.MAF_BEN1 F004 CLC-00-004 factor Tuning "MAF BEN1 FROM AIRPERSEC AND TRIMS1"
CALC.DYNAIR_BEN1 F005 CLC-00-005 factor Tuning "DYNAIR BEN1 FROM AIRPERSEC AND TRIMS1"
You can see from the attachments that I have applied this calc pid to, that the MAF BEN map why the PCM uses dynamic fueling at lower rpm’s, its way off..