Serial wideband:
anywhere that a BEN is required, use this as the
new BEN:
WO2BEN = {GM.EQIVRATIO}*{EXT.WO2LAM1}
(i.e. change any BEN maps to use this and save with new filename).
Analog wideband:
you have to modify the WO2BEN pid to use the analog wideband lambda, e.g.
WO2BEN = {GM.EQIVRATIO}*{CALC.AFR_LC11}/14.7
(i.e. change any BEN maps to use this and save with new filename).
Shawn's
Calc.VET Tutorial and
Calc.MAFT Tutorial contain
calc_pids.txt files that define
WO2BEN for serial wideband
(and they also show how to define WO2BEN if you're using analog wideband).
Explanation/comparison of various tuning procedures:
AutoVE:
- disable CL/LTFT,
- disable MAF
(make sure MAF DTC is present),
- set PE safely rich to protect motor,
- capture log,
- create a
WO2BEN map that matches
B0101 (hint: copy the VE table, then in the map row/col properties click Paste Label),
- apply transient filter to map,
- paste-multiply map to
B0101.
AutoMAF:
- disable CL/LTFT,
- enable MAF
(make sure DTC goes away),
- set B0120 to zero to disable VE,
- set PE safely rich to protect motor,
- capture log,
- create a
WO2BEN map that matches
B5001 (hint: copy the MAF table, then in the map row/col properties click Paste Label),
- apply transient filter to map,
- paste-multiply map to
B5001.
Calc.MAFT:
- same as AutoVE (
corrects VE) but also simultaneously
calculates MAF (from corrected VE),
- can be done with or without CL/LTFT,
- create a map for CALC.MAFT and paste this into
B5001.
Calc.VET:
- same as AutoMAF (
corrects MAF) but also simultaneously
calculates VE (from corrected MAF),
- can be done with or without CL/LTFT,
- create a map for CALC.VET and paste this into
B0101.
Note:
when you do Calc.VET or Calc.MAFT be aware that positive trims are added during PE,
this has the effect of making the wideband correction ineffective,
so you may want to add the trims to the table that is being corrected (only for PE)
--> I'm going to make a calc pid which will add positive trims if I can figure out how to detect PE in the log.
Shortcut: while doing AutoVE, log GM.DYNAIR, and make a B5001-like map of GM.DYNAIR, multiply it by
WO2BEN, apply the transient filter, paste into B5001 as an initial MAF estimate (but note that Calc.MAFT and Calc.VET will do a better job).
Relationships:
- AutoMAF is a special case of Calc.VET.
- AutoVE is a special case of Calc.MAFT.
Note: Calc.VET and Calc.MAFT can be done with CL/LTFT disabled (in which case you use strictly WO2BEN).
SELBEN:
SELBEN is a combination of
LTFT and
WO2BEN, but you can restrict it to only
WO2BEN as long as you disable CL/LTFT.
WO2BEN:
WO2BEN is the wideband BEN, you use this with
disabled CL/LTFT.
Concept/Intent (what they do):
- Calc.VET corrects MAF and
calculates VE from corrected MAF
(with VE disabled).
-
Calc.MAFT corrects VE and calculates MAF from corrected VE (with MAF disabled).
Note:
-
the thing being calculated has to be disabled,
- the thing being corrected has to be enabled.
The word "corrects" indicates "corrected by multiplying by BEN factor".
The word "calculates" indicates "calculated using the physics equations".
Calc.MAFT is aka Reverse Calc.VET (you can see this when you compare the pids CALC.VEN and CALC.MAFN).
Pay careful attention to:
- is PE safely rich to protect motor,
- is PE enabled correctly to activate at significant load,
- is CL/LTFT enabled/disabled,
- is MAF enabled/disabled,
- is VE enabled/disabled,
- what pid is being used for BEN,
-
do units match between scantool and tunetool,
- was the transient filter applied,
- avoid using GM.AFR for anything other than display,
- keep pid channel count at 24 or less (to maintain fastest frame sampling rate).