Quick guide to simultaneous VVE/MAF calibration for gen4+
#1
Quick guide to simultaneous VVE/MAF calibration for gen4+
I still see a lot of people using the old method of disabling the MAF to calibrate their VVE on 4th generation LS stuff, that generally being E38 controllers and up. This isn't necessary anymore because you can log those GMVE values in real time with HP Tuners. All you need to do is use the proper math parameter(s) and filters to transform the data into the classic '% error' you're used to, which I will describe here. One thing to remember, as you always should when calibrating anything airflow related...it must be at steady state. So you should be using a method of your choosing to filter out transients, which I won't get into here. This method also assumes using short term fuel trims (LTFT disabled), so any open loop guys or calibration into the power-enriched range will have to incorporate fueling error from a wideband.
The math:
GMVE STFT % error = ((MAF_af)*(1+(STFT_avg)/100)-(GMVE_af))/(GMVE_af)*100
Because steady state will always be looking at the MAF for airmass calculations, you must base your GMVE airflow error on the MAF airflow error. First, I normalize the STFT percentage so 0% becomes 1. A STFT of 5% would yield 1.05. Then multiply this by current MAF airflow to get an error corrected MAF airflow. From this value you subtract GMVE airflow to get a raw GMVE airflow error. Then, divide that error by the GMVE airflow to get your normalized VVE airflow error. Multiplying by 100 turns this back into % error to make pasting into the editor simpler.
To break the GMVE airflow calculation down a bit...
GMVE_af = (MAP*GMVE/IAT)*RPM/60*4
Take MAP in MEGApascals (important) and multiple by the raw GMVE value from CAN and divide by the IAT in KELVIN (also important). This gives a single cylinder airmass. To get flow rate, multiply by RPM, divide by 60 to get revolutions per second, and multiply by 4 for the number of induction cycles in one revolution. If you have a 4 or 6 cylinder, multiply by 2 or 3, respectively.
The full math parameter: GMVE STFT =
(([16.71]*(1+(.01*[6.156]+.01*[8.156])/2)-[12.56]/60*4*[11.92]*[2312]/[2127.240])/([12.56]/60*4*[11.92]*[2312]/[2127.240]))*100
Take this error data and plot it in your histograms and you would normally and save a bunch of time and disabling stuff in the calibration. As always, the more data points you get the better you filter out data noise.
Screen capture of the parameter working...
Notice at the cursor point, the average STFT in the third graph is showing -4.4%, so a MAF airflow overestimation. However the GMVE airflow, being slightly lower is showing only 0.3% error, so it's right on for that operating point.
The math:
GMVE STFT % error = ((MAF_af)*(1+(STFT_avg)/100)-(GMVE_af))/(GMVE_af)*100
Because steady state will always be looking at the MAF for airmass calculations, you must base your GMVE airflow error on the MAF airflow error. First, I normalize the STFT percentage so 0% becomes 1. A STFT of 5% would yield 1.05. Then multiply this by current MAF airflow to get an error corrected MAF airflow. From this value you subtract GMVE airflow to get a raw GMVE airflow error. Then, divide that error by the GMVE airflow to get your normalized VVE airflow error. Multiplying by 100 turns this back into % error to make pasting into the editor simpler.
To break the GMVE airflow calculation down a bit...
GMVE_af = (MAP*GMVE/IAT)*RPM/60*4
Take MAP in MEGApascals (important) and multiple by the raw GMVE value from CAN and divide by the IAT in KELVIN (also important). This gives a single cylinder airmass. To get flow rate, multiply by RPM, divide by 60 to get revolutions per second, and multiply by 4 for the number of induction cycles in one revolution. If you have a 4 or 6 cylinder, multiply by 2 or 3, respectively.
The full math parameter: GMVE STFT =
(([16.71]*(1+(.01*[6.156]+.01*[8.156])/2)-[12.56]/60*4*[11.92]*[2312]/[2127.240])/([12.56]/60*4*[11.92]*[2312]/[2127.240]))*100
Take this error data and plot it in your histograms and you would normally and save a bunch of time and disabling stuff in the calibration. As always, the more data points you get the better you filter out data noise.
Screen capture of the parameter working...
Notice at the cursor point, the average STFT in the third graph is showing -4.4%, so a MAF airflow overestimation. However the GMVE airflow, being slightly lower is showing only 0.3% error, so it's right on for that operating point.
The following 2 users liked this post by smokeshow:
FFDP (07-06-2020),
playtoy_18 (12-20-2020)
#2
Teching In
@smokeshow I've been trying to make sense of this for a couple days now but I'm a newb so please forgive my ignorance.
I've been able to replicate this exactly in VCM Scanner, even subbing out IAT for MAT (as mentioned on HP Tuners), but I still cannot figure out how to set up the histogram side of it for the MAF calibration. Do I just log MAF (frequency) and then build the standard histogram? Modified to exclude LTFTs, though, correct?
I've been able to replicate this exactly in VCM Scanner, even subbing out IAT for MAT (as mentioned on HP Tuners), but I still cannot figure out how to set up the histogram side of it for the MAF calibration. Do I just log MAF (frequency) and then build the standard histogram? Modified to exclude LTFTs, though, correct?
#3
@smokeshow I've been trying to make sense of this for a couple days now but I'm a newb so please forgive my ignorance.
I've been able to replicate this exactly in VCM Scanner, even subbing out IAT for MAT (as mentioned on HP Tuners), but I still cannot figure out how to set up the histogram side of it for the MAF calibration. Do I just log MAF (frequency) and then build the standard histogram? Modified to exclude LTFTs, though, correct?
I've been able to replicate this exactly in VCM Scanner, even subbing out IAT for MAT (as mentioned on HP Tuners), but I still cannot figure out how to set up the histogram side of it for the MAF calibration. Do I just log MAF (frequency) and then build the standard histogram? Modified to exclude LTFTs, though, correct?
#5
Thanks @smokeshow I think I've got it nailed!
Question, how would the above math parameter change to include LTFT?
Question, how would the above math parameter change to include LTFT?
#6
Teching In
How's this?
(([16.71]*(1+(.01*([6.156]+[7.156])+.01*([8.156]+[9.156]))*0.5)-[50070.56]/60*4*[11.92]*[2312]/[2126])/([50070.56]/60*4*[11.92]*[2312]/[2126]))*100
(([16.71]*(1+(.01*([6.156]+[7.156])+.01*([8.156]+[9.156]))*0.5)-[50070.56]/60*4*[11.92]*[2312]/[2126])/([50070.56]/60*4*[11.92]*[2312]/[2126]))*100
#8
Teching In
Awesome. I added the .240 and it worked. Now, off to log and calibrate! Thanks for the help @smokeshow !!
Side note, what do you think of this filter?
[50090.156.slope(100)]<5 AND [50090.156.slope(-100)]<5
Side note, what do you think of this filter?
[50090.156.slope(100)]<5 AND [50090.156.slope(-100)]<5
#10
TECH Fanatic
I'm really trying to figure this out but it's making my head spin LOL. I got how to set up the math to to normal MAF and VE tuning. But I'm having a hard time setting it up this way. MAybe somebody can help put it in laymen's terms.
The math:
GMVE STFT % error = ((MAF_af)*(1+(STFT_avg)/100)-(GMVE_af))/(GMVE_af)*100
So when trying to do the above. I'm going to Math Parameters Manager. Then trying to enter the math for above. But what I don't get is what GMVE_af is???
And I'm not sure what to do for the MAF part?
The math:
GMVE STFT % error = ((MAF_af)*(1+(STFT_avg)/100)-(GMVE_af))/(GMVE_af)*100
So when trying to do the above. I'm going to Math Parameters Manager. Then trying to enter the math for above. But what I don't get is what GMVE_af is???
And I'm not sure what to do for the MAF part?