ls1 tuning info 1
TRANSCRIPT
![Page 1: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/1.jpg)
PCM Tuning Process Flow
1. DISABLE ALL TORQUE MANAGEMENT – This will eliminate all torque management
within the PCM. Ignore this step for a standard transmission (M6) and continue to step 2.
A. Open the VCM Editor>Edit>Transmission>Torque Management
B. Set Abuse Mode Enable = False
C. Set Abuse Mode RPM, Abuse Mode TPS and Abuse Mode Speed = 0
D. Select>Abuse Mode Torque Reduction vs. RPM. Set all values = 0
2. LTFT TUNING –
A. In the VCM Editor>Edit>Engine Diagnostics>General>MAF Sensor Fail Frequency = 0.
This will set a P0103 code and turn on the SES light. Ensure that the P0103 DTC is
enabled and you are seeing P0103 in the DTC list. Don’t worry about the DTC at this
time.
B. In the VCM Editor>Edit>Engine>Spark Advance>Main Spark vs. Airflow vs. RPM Open
Throttle/Moving. Copy the High Octane table to the Low Octane table. The computer
reverts to the low octane table when a MAF failure is indicated, this will assure optimal
timing.
C. Start the VCM scanner>Histogram display. File>Connect. Then Tools>VCM
Controls>Fuel & Spark>Fuel Trim Learn>Reset Fuel Trims.
D. Changes to the LTFT’s do not take effect immediately – the PCM requires about 50
minutes or roughly 100 miles to allow for the PCM to relearn the fuel curve. Try not to
enter PE mode while driving and logging for this procedure. Log about 30 minutes of
driving at many different speeds and conditions. Try to hit as many cells in the histogram
as possible. Stop logging and save the log. Do NOT turn off the engine until the log is
saved or it will be lost. Go to VCM Scanner>Histogram display>LTFT's. Open the VCM
Editor>Edit>Engine>Airflow>Main VE and select Primary VE vs. RPM vs. MAP.
E. The goal is to get ALL LTFT’s between -5 and +5. Positive LTFT's indicate fuel is being
added because of a lean condition. Richen this cell by increasing the VE table value by
the amount of the LTFT value. The operation is opposite for negative LTFT's.
If LTFT = (4), VE cell value is 67, result would be (67)+(4)=71 - increasing the VE, which
is adding fuel. If the LTFT was (-4), the result would be (67)+(-4)=63, decreasing VE and
thus reducing fuel. To decrease LTFT values, a smaller number or number closer to zero,
ADD the difference between the positive LTFT value and zero to the corresponding cell in
the VCM Editor>Edit>Engine>Airflow>Main VE>Primary VE vs. RPM vs. MAP table. To
increase a LTFT value, a larger number or number farther away from zero, SUBTRACT the
difference between the LTFT value and zero and SUBTRACT from the corresponding cell
in the VCM Editor>Edit>Engine>Airflow>Main VE>Primary VE vs. RPM vs. MAP table. For
![Page 2: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/2.jpg)
example, In the VCM Scanner>Histogram display, the (.8, 40) cell, 800 RPM's and 40
kPa, is 4. To bring the VCM Scanner>Histogram display>LTFT cell (.8, 4.0) DOWN to 0
from 4 ADD 4 to the (.8, 4.0) cell in the VCM Editor>Edit>Engine>Airflow>Main
VE>Primary VE vs. RPM vs. MAP table. If the VCM Scanner>Histogram display>LTFT cell
(2.0, 30) is -10, SUBTRACT 10 from the (2000, 30) cell in the VCM
Editor>Edit>Engine>Airflow>Main VE>Primary VE vs. RPM vs. MAP table to bring it UP to
0. This will not work out exactly but will be VERY CLOSE.
F. Repeat steps D-F until ALL values in the VCM Scanner>Histogram display>LTFT are
between -5 and +5. Try to complete this on the same day for best results as LTFT values
can vary +-4% per day.
G. Once all values are between -5 and +5, look at the VCM
Editor>Edit>Engine>Airflow>Main VE>Primary VE vs. RPM vs. MAP>3D Surface graph. If
the 3D Surface graph looks choppy, click on polynomial smoothing ONCE. This will
smooth out the table values and provide a crisper throttle response. The table can also
be hand smoothed using the 3D graph. Look for spikes in the table and
increase/decrease the cells around the spike, creating a smooth table. Now rescan, and
go back to step E.
3. WOT PE TUNING – Do this only AFTER all LTFT's are -5 to +5. This method uses the
stock narrow band oxygen sensors which are not accurate for this type of tuning.
A. Open the VCM scanner, do not worry about resetting the fuel trims they should be
learned at this point. If not, it takes roughly 100 miles or 50 minutes of driving to set the
LTFT's.
B. Open the VCM Scanner>Histogram display and do a nice 0-70 or preferable 0-100mph
run. Look at knock retard FIRST. If knock retard is present, skip to section 4. If knock
retard is not present, continue to the step C.
C. Open the VCM Scanner>Histogram display>Air/Fuel tab and look at the 100(kPa) row.
Most cars seem to like narrow band oxygen sensor reading between 890mv - 900mv.
D. For example, at 100(kPa), 3200(RPM) the narrow band oxygen sensors are at 950mv.
We want to bring that down to 890mv. Go to the VCM Editor Engine>Fuel>Power Enrich,
PE Enrichment>V8 Mult vs. RPM. Make sure Plus and Selected are bubbled in. In this
case the narrow band oxygen sensor is reading rich, so bring it down by
SUBTRACTING .01. NOTICE THE DECIMAL!!!! VERY IMPORTANT!!! If lean, BELOW 890mv
then ADD .01 at a time. This is a small increment but we do not want to hurt the motor.
E. After making the changes, go back to step B and repeat until the oxygen sensors are
in the 890mv to 900mv range.
![Page 3: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/3.jpg)
4. ELIMINATING KNOCK RETARD -
A. In the VCM Scanner>Histogram display>Retard, look for ANY knock retard. For
example, cell (4.0, .20) shows 4 degrees of knock retard. This should be 0, so SUBTRACT
4 from the VCM Editor>Edit>Engine>Spark Advance>Main Spark vs. Airflow vs. RPM
Open Throttle/Moving>High Octane (4000, .20) cell. Values cannot be less than zero in
this table.
B. In the VCM Editor>Edit>Engine>Spark Advance>Main Spark vs. Airflow vs. RPM Open
Throttle/Moving>High Octane, go to the (4000, .20) cell AND/OR whatever other cells
that have knock retard and SUBTRACT the amount of knock retard that is present in the
Histogram display from the value that is in the corresponding cell in the VCM
Editor>Edit>Engine>Spark Advance>Main Spark vs. Airflow vs. RPM Open
Throttle/Moving>High Octane table. Subtract by simply clicking on the Plus selection and
in the box type -4 or whatever number you have to subtract by and click commit.
C. Scan again and verify NO knock retard is present. If still present, repeat from step A.
5. A4 TRANSMISSION SETTINGS -
A. Ensure all Torque Management is disabled. If not, see Section 1.
B. Open the VCM Editor>Edit>Transmission>A4 Shift Speed. Set WOT Shift Enable %TPS
= 90.
C. Set WOT Shift Disable %TPS = WOT Shift Enable %TPS-10 or 80 if you used the
parameter in step B.
D. Look at VCM Editor>Edit>Transmission>WOT Shift RPM vs. Shift. Set these table
parameters to the desired WOT shift RPM for each gear. Keep in mind there is a slight
delay at the shift point that will cause the engine to exceed these RPM settings. Ensure
the VCM Editor>Edit>Engine>Fuel Control>Fuel Cutoff, DFCO>RPM Limits>P/N Cutoff
RPM is roughly 500 RPM higher than these settings. We don’t want to hit the rev limiter
during the WOT shift. Set Normal, Performance, and Hot tables to the same parameters.
E. VCM Editor>Edit>Transmission>WOT Shift Speed vs. Shift--PLEASE PROVIDE ME WITH
A GOOD LINK FOR THIS. I KNOW THERE ARE TABLES/CALCULATORS PER GEAR OUT
THERE.
F. VCM Editor>Edit>Transmission>Shift Speed vs. %TPS vs. Shift = Leave stock
parameters.
G. Go to VCM Editor>Edit>Transmission>A4 Shift Properties>Desired Shift Time vs.
Torque>Normal. I basically guessed here, and could use some input. For the first half of
the torque band, I set shift time to .500 so you get nice soft, smooth shifts. Starting
about midway, I decreased to .250 and for last 1/4 I changed to .100. I heard you do not
want to go below .100 or else you will run into some kind of gear crossing? Please feel
free to fill in here.
![Page 4: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/4.jpg)
H. Go to VCM Editor>Edit>Transmission>Base Shift Pressure vs. Torque vs. Gear. Okay
this is kind of weird and I don't understand it, but what I PERSONALLY did was again take
half of the chart and to the left. Take this and set to a LOW # like 10. I have a shift kit in
my car, and setting first half gives me nice smooth shifts. You would never know I had a
shift kit or torque converter in my car. I then took the middle and started beefing up
shifts in increments of 10 then increments of 15. By far right of table I have shift
pressure up to 96. Now, when you drive my car at 0-1/4 throttle it is SMOOTH. 1/2
throttle, you can feel a nice crisp shift. WOT it chirps tires from 1-2 and 2-3 shifts nice
and hard.
I. Upshift/Downshift pressure modifiers - I don't understand. If you do, teach me and I'll
update.
J. If you have a shift kit, leave max line pressure at 90. If not you can probably set to
100.
The Basics IDEAL (Rich) (Lean)Base (ltrims) - 0 +
(Lean) (Rich)WOT (O2's) .800 .880-.890 .900
(Rich) (Lean)A/F (WOT) 12.5 12.8 or .9 13.3
A/F (non-WOT) PCM will try to maintain 14.7:1
Other Important Values
IAC (idle) : 30-50IAC (load) : <120Injector Duty Cycle : See the chart belowKnock Retard : 0LTFT’s : -5 to +5MAF Flow : Timing : 26-28 WOT, 15-18 idleWOT 02 : .880-.890 for narrow band sensors
Injector Duty Cycle Chart - The general rule is to not exceed 80% duty cycle.
Duty Cycle
![Page 5: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/5.jpg)
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%RPMs3000 4 ms 8 ms 12 ms 16 ms 20 ms 24 ms 28 ms 32 ms 36 ms 40 ms3500 3 ms 7 ms 10 ms 14 ms 17 ms 21 ms 24 ms 27 ms 31 ms 34 ms4000 3 ms 6 ms 9 ms 12 ms 15 ms 18 ms 21 ms 24 ms 27 ms 30 ms4500 3 ms 5 ms 8 ms 11 ms 13 ms 16 ms 19 ms 21 ms 24 ms 27 ms5000 2 ms 5 ms 7 ms 10 ms 12 ms 14 ms 17 ms 19 ms 22 ms 24 ms5500 2 ms 4 ms 7 ms 9 ms 11 ms 13 ms 15 ms 17 ms 20 ms 22 ms6000 2 ms 4 ms 6 ms 8 ms 10 ms 12 ms 14 ms 16 ms 18 ms 20 ms6500 2 ms 4 ms 6 ms 7 ms 9 ms 11 ms 13 ms 15 ms 17 ms 18 ms7000 2 ms 3 ms 5 ms 7 ms 9 ms 10 ms 12 ms 14 ms 15 ms 17 ms7500 2 ms 3 ms 5 ms 6 ms 8 ms 10 ms 11 ms 13 ms 14 ms 16 ms8000 2 ms 3 ms 5 ms 6 ms 8 ms 9 ms 11 ms 12 ms 14 ms 15 ms
Fuel Trim Cell Info
0 : Non load (? Coast or idle)1 : Non load 2 : Non load 3 : Non load 4 : Non load 5 : Non load 6 : Load Part throttle 7 : Load Part throttle 8 : Load Part throttle9 : Load Part throttle10 : Load Part throttle11 : Load Part throttle12 : Load Part throttle 13 : Load Part throttle 14 : Load Part throttle 15 : WOT 16 : Idle PARK, A417 : Idle NEUTRAL, A418 : Idle Engine warm?, AC on, M619 : Idle Engine warm?, AC off 20 : Idle Engine Cold?, AC off21 : Non load (? deceleration) 22 : WOT
Non load cells 0-5, 21Idle 17-20Part Throttle 6-14WOT 15, 22
Fuel Trim Group 1, Cells 0 - 3 FTC 0 - 2 slight deceleration, little to no load FTC 3 low load, power enrichment
Fuel Trim Group 2, Cells 4 - 7 FTC 4 low load, part throttle FTC 5 low load, part throttle FTC 6 moderate load, part throttle FTC 7 moderate load, part throttle, power enrichment
Fuel Trim Group 3, Cells 8 - 11
![Page 6: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/6.jpg)
FTC 8 - 10 moderate load, part throttle FTC 11 moderate load, part throttle, power enrichment
Fuel Trim Group 4, Cells 12 - 15 FTC 12 - 14 higher load, power enrichment FTC 15 higher load, power enrichment, wide open throttle (EPA definition @ 100%
Load)Fuel Trim Group 5, Cells 16 - 19
FTC 16, Automatic transmission in "Park" or "Neutral", hot idle, a/c on FTC 17, Automatic transmission in "Park" or "Neutral", hot idle, a/c off FTC 18 hot idle, a/c on (Manual or Automatic transmission in "Drive") FTC 19 hot idle, a/c off (Manual or Automatic transmission in "Drive")
Fuel Trim Group 6, Cells 20 - 22 FTC 20 cold idle, a/c on or off FTC 21 moderate deceleration / no load FTC 22 higher load, power enrichment
AFR Info
Here is a chart that I have that should give you some insight into what standards are for lean cruise etc...
9.0:1 BLACK SMOKE (NO POWER)
11.5:1 RICH BEST TORQUE @ WOT
12.2:1 SAFE BEST POWER @ WOT
13.3:1 LEAN BEST TORQUE @ WOT
14.6:1 STOCHIMETRIC AFR ( CHEMICALLY CORRECT )
15.5:1 LEAN CRUISE
16.5:1 BEST FUEL ECONOMY
18.0:1 CARBURETED LEAN LIMIT
22.0:1 EFI LEAN LIMIT
O2 Sensor Info
The narrow band O2's are just that: narrow. That means they can detect when the AFR is
14.7 accurately, but greater than 14.7 is a "blur" and less than 14.7 is a"blur". The AFR,
outside of the narrow band centered around 14.7, can only be accurately resolved by the
sensors as either rich or lean.
The software in the PCM is a "switching algorithm". Basically if it sees the narrow band on
the low side of the threshold voltage (which can vary depending on operating conditions -
see {B4105} - O2 Switch Point.) it will increase fuel until it sees the O2 voltage on the rich
side of the threshold. Then it will reduce fuel. This oscillation process assumes that because
it is often crossing from rich to lean then "on average" the PCM is delivering 14.7 AFR -
assuming all other components and calibrations are functioning and correct.
![Page 7: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/7.jpg)
The narrow bands never actually measure the AFR, they just tell the PCM: rich - lean - rich -
lean - rich - lean and so on.
The software algorithms in the PCM would be *very* different if fuel delivery was controlled
by a couple of wideband O2 sensors instead.
The other O2 calibrations are used to:
1. Alter how fast the PCM tries to bring the O2 voltage back across the switch point to the
other side. Too fast and it will get too much overshoot, too slow and it will stay rich or lean
too long.
The STFT multipliers are multiplied by the STFT correction factor - which determines haw
much adjustment the PCM makes to the injector base pulse width when trying to bring the
O2 voltage back across the threshold. The further the O2 voltage is away from the threshold
the more the multipliers are driving the fuel delivery back across the threshold.
2. Alter how fast the STFT and LTFT are updated. The higher the airflow, (based on CL Mode
which is based on air flow - see {B4107 - Closed Loop Mode) the faster the update
frequency.
The LTFT Update Filter determines how much weight the current STFT should carry when
applied to the LTFT. The higher the airflow, the more effect the STFT will have when used to
update the LTFT.
PE Tuning Info
Naturally Aspirated
Air/fuel ratio for peak power is 12.8. If tuning on a Dynojet, try for 12.2 – 12.5 air/fuel ratio. If
tuning on a Mustang dyno or on the street try for 12.8 – 12.9. Some tuners say that LS
motors run the best at 13.1. The AFR curve should be rich up to max torque then lean out
slightly up to maximum RPM and then go a little rich a few hundred RPM’s beyond maximum
for safety.
In PE mode the PCM uses the richer of the PE and Open loop F/A tables.
PE Delay
If the RPM is below the delay RPM defined it will blend in PE at the PE enrichment rate.
That’s why many people set the enrichment rate to 1. With a lower RPM delay PE will apply
immediately above the RPM specified and full PE will activate at the RPM specified.
![Page 8: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/8.jpg)
Normal practice for automatic transmissions is to set that RPM limit to the stall speed of the
converter. For manual transmissions set it a little less than the take-off RPM. An enrichment
rate of 1 effectively negates the delay RPM. For cars that experience tip-in knock retard at
WOT this is often the solution.
PE Delay is disabled in all car calibrations. The editor (HPT v1.6 and down) is missing the
actual PE Delay value (we plan to add it), however, on cars PE Delay is always set to 0, it is
only very rarely used on some trucks.
VE Tuning Info
Higher VE values add fuel (telling the PCM you have more useable oxygen in the cylinder)
Lower VE values subtract fuel (telling the PCM you have less useable oxygen in the cylinder)
If the MAF sensor will be reconnected or enabled after VE tuning, only tune the idle and part
throttle areas of the VE table 4000rpm and below. If MAF sensor is permanently removed or
disabled (Speed Density) then tune the entire operating area of the table. A note on VE
tables: 98-00 model years use primary and secondary VE tables, while 01-04 model years
use only a primary or single VE table. When tuning a 98-00 model with the MAF sensor
disabled, the PCM will default to the secondary VE table. Ensure all VE table changes are
performed on the secondary table.
TIP: If you unplug the MAF sensor during SD tuning instead of setting the MAF Fail Frequency
to 0, the MAF PID will have to be replaced with the Dynamic Airflow PID for the timing
histogram to function.
The ultimate measure is whatever it takes to eliminate the error between commanded and
measured AFR.
SD and Open loop are two different things, you can be in open or closed loop with either SD
or MAF. For part throttle, I would say you need to tune in closed loop (OE O2s and LTFT and
STFT), whether it is SD or MAF is up to you. For WOT you need to log AFR Commanded and
Wideband ARF, the scanner will then allow you to log AFR % Error and you can use that
directly (or half) to compensate for errors in your VE Table. I would recommend only using
the Wideband on a dyno (or the track) and on WOT runs only. And yes, it would be better to
be in SD mode and not have corrections made/influenced by the MAF.
Golden Rules to Tuning SD via WBO2
1. Make absolutely sure your STFT's and LTFT's are off and report 0 at all times - if this is not
the case you are wasting your time.
2. Ensure your WBO2 is up to correct operating temperature and is installed and calibrated
correctly.
3. Ensure your injectors are calibrated correctly, remember you have 3 different ways to skin
this cat and eliminating this one as "correct" is easy.
![Page 9: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/9.jpg)
4. Ensure your timing is set to something reasonable (no point tuning fuel if you are hitting 5
deg timing)
5. set your commanded AFR to whatever you want it to be via open loop, PE, whatever
tables. It really doesn't matter what you choose as the final result will be linear or very close
to (ie. if your fuel is 5% rich when you are shooting for 12.8, then it will likely be the same
5% rich if you are shooting for 14.7). VERY IMPORTANT: if you do have large transitions
between commanded AFR (eg. 14.7 to 12.5) you need to be aware of allowing for that
transition in your tuning by holding a little longer after the transition has been made so that
the averaging effect can ensure you plot enough points at the real load condition not the
fuel transition.
6. mess with the VE until you get the commanded AFR within a few % of the measured AFR.
7. check your work by setting a different commanded AFR in the PE table and see how close
the measured is. eg. set for 12.0 AFR you should see the WBO2 hit 12.0 as well. This is the
beauty of having a correctly dialing in VE (airflow) component as you can now directly tweak
your PE (or better still use the VCM Controls) to find out at what AFR (and spark) you make
peak torque for each RPM. Note: remember there is a slight dependence of AFR on spark but
nothing huge if you used reasonable timing values to begin with.
VE Tuning Configuration
First, will you be using a wide band AFR to set up VE or will you plan on relying on LTFT. This
will determine whether or not you want to disable closed loop or not.
Regardless, you will want to get the influence of the MAF out of the picture first. There are
several ways to do this in software without unplugging anything. I would set the MAF Fail
upper limit to zero and then se set the MAF Fail Monitor {P0103 as I recall} to No MIL
(disables Malfunction Indicator Lamp also known as the Service Engine Soon/SES light) to
prevent a service engine soon light while you are tuning SD. In VCM Editor in the DTC
display make sure you have your MAF DTC's (maf HI and Lo freqencies) set to report an error
on 1'st error. If you disable the MAF DTC's in the editor, you will not set them even if you set
your maf fail to 0. As long as your MAF DTC is set correctly to error on the 1'st error, you can
set your MAF fail to 0 and don't even need to unplug it.
Disable Deceleration Fuel Cut-Off (DFCO) so that your low MAP values don't get
misrepresented when the engine goes into DFCO.
Then if you are using a WBAFR, disable Closed Loop by setting the Closed Loop Engine
Coolant Temperature (ECT) to the maximum (252 degrees F or anything above 230 will do).
That way, the engine never reaches the enabling temperature to begin closed loop.
Now you will need to log the actual AFR versus the commanded AFR (14.68:1 for normal
![Page 10: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/10.jpg)
Stoichiometric operation) with a Map/Histogram. For each cell, you will use the measured
AFR from the wide band as the numerator and the commanded AFR and convert that to a
decimal fraction to use as a multiplier for the current VE for that cell. This will produce a new
VE Value for the cell which should then be readjusted a couple of more times to get it right.
The method for using LTFT (or actually STFT is better) is similar but less precise. If the fuel
trim function is positive, the VE is too lean for that cell and the VE value needs to be
increased in steps until the fuel trim value goes to zero or slightly negative.
One thing that I want to emphasize is if your injector flow rate (IFR) is properly set up for
your vehicle (let's assume that your injectors are original equipment and you have the
factory IFR values in the IFR table) avoid tuning via IFR at all costs. I've seen a lot of posts
where people try to tune using IFR which will alter anything and everything about mixture.
Use the VE table only to adjust VE.
BTW, unless you have done head/cam changes, induction system or header changes, the
factory VE table will be pretty well right. You'll know if it's close right away once you've
disabled the MAF and have logged some data.
I forgot to mention about disabling PE. The easiest way to do that is to set the time delay to
60 seconds (or similar value).
Another thing you want to do when logging is to put the vehicle in like third gear and make
slow steady acceleration/deceleration changes so that the logging of the cell values
represent pretty much steady state conditions for each cell. Log higher MAP and RPM values
in second gear the same way. If you're getting some knock retard while you're doing this in
Stoch at higher power settings, retard the timing in the High Octane Table by a few degrees
across the board (like -6 degrees everywhere) and make a note of this so you can reset it
back to baseline later. The car will run like a dog with a lot of retard, but it's the only safe
way to check out VE at high power settings with risking the potential of knock damage at
Stoic.
Have fun. Tuning is a lot of fun and frustration mixed together. However, you'll get an
education about your vehicle that you couldn't get any other way. The frustration is what
makes the satisfaction so good as you get everything to run the way you want it to.
EFILive SD Tuning Configuration
B3313 (Engine>Fuel>DFCO>Parameters) - I disabled DFCO by changing the enable ECT to
250. As long as my coolant temp doesn't hit 250*, DFCO is off.
![Page 11: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/11.jpg)
B3618 (Engine>Fuel>Mixture>PE Mod...on RPM) - I set the EQ ratio to 1.00 to disable the PE
modifier.
B3605 (Engine>Fuel>Mixture>EQ Ratio...Open Loop) - I set the EQ ratio to something safe
like 1.17 to command a 12.5 AFR. Remember, commanded_AFR_=_stoich/EQ.
B3801 (Engine>Fuel>Trim>Parameters) - I set LTFT correction to disable to turn off LTFT's.
B4205 (Engine>Fuel>Trim>Closed Loop Temp Enable) - I set all values in here to 250* to
command open loop the whole time.
B5914 (Engine>Spark>General>Spark Low-Octane) - I copied the high-octane table to the
low octane table to ensure a good spark curve. I didn't modify this table at all, so it was still
the factory spark curve.
C6002 (Engine Diagnostics>Engine DTC MIL enablers) - P0101, P0102, P0103 were all
changed to No MIL to turn off the SES when we disable the MAF.
C2901 (Engine Diagnostics>MAF>Parameters) - I set the MAF High Freq. Fail 1 to 0 to
disable the MAF. Don't unplug the MAF. You can still log the signals/output for MAF
calibration later.
After flashing that into the computer, what I chose to log was:
Absolute Throttle Position (TP)
Air Flow Grams/Cyl - SD (DYNCYLAIR_DMA)
Base Eff. Num. 1 - Tech Edge (BEN_TE1) << LC-1 was altered to match TE output.
Commanded AFR (AFR)
Current Gear (GEAR)
Engine Coolant Temp (ECT)
Engine RPM (RPM)
Heated O2 Sensor V B1S1 (HO2S11)
Heated O2 Sensor V B2S1 (HO2S21)
High/Low Octane Adaptive Spark (ASPARK) << not needed if you copy high-octane to low-
octane.
Ignition Timing Adv. #1 Cylinder (SPARKADV)
Injector Base Pulse Width B1 (IBPW1)
Injector Base Pulse Width B2 (IBPW2)
![Page 12: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/12.jpg)
Injector Duty Cycle B1 (INJDC1)
Injector Duty Cycle B2 (INJDC2)
Intake Air Temp (IAT)
Intake Manifold Absolute Pressure (MAP)
Mass Air Flow Raw Freq. (MAFFREQ)
Retard Due to Knock (KR)
Vehicle Speed Sensor (VSS)
Wide Band AFR 1 - Tech Edge (AFR_TE1) << reprogrammed LC-1 to match TE output.
Remember, this log is for things I needed/wanted. Look through the PIDs and see if there is
something you would like to log to attack a problem or tweak a table.
In your scanner, you can open your log and map the BEN factor you logged earlier. Pay
attention to the cell counts (n) as you only want to use the cells with enough activity. Use
the filters to access the data you want to see and filter out the crap you don't. Once you
have some good data to work with, switch to the average correction factor (x). These are
corrections that you need to make to your VE table. I made them to my Main VE Table
(Engine>Fuel>Airflow>Main VE Table) because I have an '02 f-body. Wash, rinse, and
repeat.
This will help get you closer to where you need to be. Just keep your eyes open on the
forums, make smart decisions, and don't change too many things at once. That should be
enough to get people started. Don't forget to restore the stock tables for the changes made
in the beginning to get you back to normal, closed-loop operation.
VE Tables and Smoothing
The VE of an engine is determined by the acoustic properties of the inlet and exhaust
manifolding and the dynamic flow properties of the valve etc. Generally the harmonic
resonances are indeed "peaky" in ideal circumstances (very low loss, low order harmonic).
However, in an LS1 intake/exhaust setup these resonances are way out at the top end of the
RPM scale due to the short runner length. In fact most car makers go out of their way to
avoid a peaky response. Also, with most traditional designs the loss of the system (due to
high airflows thru small passages) really dampens everything to a large degree, also a
reasonable sized plenum adds to that dampening effect. Putting all the resonances out of
the normal operating ranges and also designing in things like smaller port areas to increase
velocity and plenums to dampen harmonics and assist NVH - all lead to smoother VE curves.
However, as long as you are operating at steady state with a properly calibrated WBO2
(operating within its time response) the commanded AFR vs. measured AFR is the ultimate
measure. Again, it is *very* unlikely you would see a relative difference between adjacent
![Page 13: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/13.jpg)
cells of more than a few %.
Larger camshafts with large overlap, you are mostly tuning around reversion effects and
reversion related effects such as localized port heating. I haven't studied this reversion stuff
in detail (since most newer engine designs have variable cam timing that eliminates all this
and hence most experimentation has stopped and assumed "problem solved"), but the
concepts looks at least a couple orders more complex to me (whenever i see chemical
equations in physics problems i usually give up).
It’s important to have a smooth VE table. A rough VE table will be more susceptible to burst
knock retard and will not provide smooth throttle transients.
1. I personally smooth each time, but I don't think it's necessary. I don't stick with the raw
polynomial results, however. I have a spreadsheet which compares the poly value to the
range the value should be within to stay within my AFR range. I don't let the value fall
outside of these bounds.
3. The adjoining cells should be smooth not spikey. If it's a dip, it should look like a U, not a
V. You should tweak the spike and the values around it to smooth it out.
4. I'm guessing that the max VE cell value you'll see for a stock vehicle would be ~100-110. I
think I've seen VE tables from FI cars which are in the 150+ range.
VE and Burst Knock
Once the VE table is correct, tune out any detected burst knock by increasing the
Edit>Engine>Spark Retard>Burst KR Enable Delta Cyl Air Threshold vs. RPM table.
SD Tuning, LTFT’s and MAF Table Scaling
Once the MAFless (SD) VE table is correct and the mass air flow sensor is reconnected, the
LTFT’s will go positive. Now scale the VCM Editor>Edit>Engine>Airflow>MAF
Calibration>MAF Airflow vs. Output Frequency table positive to get the LTFT’s back to where
they were when it was MAFless (SD). The point is to get an accurate VE table and then
adjust the MAF calibration table to agree with the VE table at the observed LTFT values.
MAF Sensor Info
The stock mass air flow calibration is correct +/-4% as long as nothing in the intake tract has
been modified. If the MAF meter, air lid, air intake, or air filter has been modified than the
MAF Airflow vs. Frequency table will need modification. Do this after the VE table has been
corrected.
MAF Tuning – In Work
1.) Make sure you log Dynamic Airflow vs MAF Frequency (Hz) In HP Tuners it is measured in
lb/min so we will have to convert this later for the MAF table (g/sec).
2.) Go do enough driving to log a variety of MAF frequencies. You probably won't get a whole
lot of data above 10,000 Hz or below 2000 Hz, but get as much as you can. Cruising on the
![Page 14: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/14.jpg)
highway is a good place for this as you can cover all rpms and a wide range of mph.
3.) Save the log run and export the data into an Excel readable format and sort the data by
MAF frequency (smallest to largest).
4.) Section off MAF frequency ranges that register with the frequency points on the MAF
table (i.e. For MAF table freq = 3000, you want to use the data you logged in the range of
2940 to 3065) Take the average of all the Dynamic Airflow data in this range. The reason
you want to use this range is so that the average is calculated using a sort of "swing error"
that straddles the calibration point itself.
5.) Once you have calculated averages for each range (this will be very tedious and take
quite a bit of time, but using excel functions makes it much easier) you will have new MAF
Airflow data to rebuild the table with. 1 lb/min is equal to 7.58 g/sec so do that calculation
and you will derive a new MAF table.
6.) For all the calibration points that you were missing data for (above 10K Hz, below 2K Hz)
you can either shoot in the dark and scale up accordingly, or if you choose to log raw MAF
air readings in tandem with Dynamic Airflow and frequency, you can calculate the variance
b/w your dynamic airflow and MAF airflow and scale up by the trends you see on either
extreme. (i.e. If as you get closer to 10K and you notice the dyn airflow is 10% higher than
the stock MAF airflow, then you can go ahead and "assume" that above 10K Hz it will most
likely behave the same, otherwise you could try to log 155+ mph runs)
I know this seems like a very painstaking way to do this but it worked very well for me and
using a lot of excel functions I was able to reduce the time on this project significantly. I
have verified that my MAF reports almost exactly what dynamic airflow the motor sees and
therefore does not cause any confusion for the trims (this other bit of business in this thread
is not MAF related). Some people have tried using scatter plot functions to derive equations
that will supersede any manual calculation, but having to "best fit" the curve for the logged
data leaves an element for bias and human error. Manual calculation appears to be the most
error free method that I can think of. Hopefully someone can come up with an easier way!
'how do you know when you got enough data for your MAF calibration?' it was a good
question, but the answer is 'the moment you see your MAF and Dynair 'dance' on the graphs
in unison'.
I've found that almost a 1 to 1 ratio between scaling percentage vs trim value does the trick.
just make sure you have a good idea of what MAF Hz range your trimming is occurring in,
this will take either a good eye while driving, or some studying of logs! (IE: if you have trims
of -10, scale back by 5-10%, 5 being conservative, 10 being overzealous)
its kinda like this. from the factory the ve table is the backup controller, the maf is the
primary measuring device for airflow, the maf reading is double checked against the ve
table to make sure nobodies gone crazy. Now in a perfect world you VE table would be
perfectly tuned to match your engine then you plug the MAF in and perfectly tune it to
![Page 15: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/15.jpg)
match your VE table.
Now for the imperfect world most of us live in.
Log your rpm, mass air flow g/sec (use imperial pounds if you must), mass air flow
frequency, TP, dynamic cylinder air and fuel trims, save the logs
Now what you will have to do is open the log in excel and figure out what frequency areas of
the maf need massaging to bring your fuel trims in line, keep in mind that changing the VE
alone will not make much if any change to the fuel trim but changing the MAF flow VS
frequency even 1% makes big changes. Also keep in mind that if you change maf without
changing VE you can start setting codes and getting flat spots and bogs in throttle response.
confused yet?
Its not that hard, histogram shows which VE cell, if you look at raw data in excel you will
easily find the MAF frequency that was in play when that particular cell was in use. My rule
of thumb is if I add 1% to a MAF frequency range I will add double (2% in this example) in
the VE cells in that range.
EFILive MAF Calibration with a .map
0. Assuming a calibrated VE using speed density mode and "AutoVE"...
1. Put the tune in closed loop and all normal PE, etc.
2. Disable LTFT {B3801} and STFT idle trims {B4108}.
3. Log a bunch of data - normal driving, wide open (to hit the high Hz, do some bonzai 4th
gear 100+ mph runs ).
4. Save the log file.
5. Filter the throttle transients out using the BEN filter.
6. Copy and paste the MAF map as a factor into your MAF table in the tune.
7. Repeat steps 3 through 6 and you'll have the MAF dialed.
My MAF is dialed in to within 1% from 2375 Hz to 11k+.
LS1 VCM Main Airmass Calculation
The VE table looks as though it is in meters cubed; it is just not used like a conventional VE
table. The VE values are such that the PCM can directly back calculate to g/cyl, the primary
means to determine fueling and timing.
This is what makes it so confusing. You can't solve for air mass, you have to solve for g/cyl.
The equation
VE = ((mass flow * IAT / (MAP * RPM * Displacement))
Mass flow: grams/sec
IAT: Degrees Kelvin
![Page 16: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/16.jpg)
MAP: Bar
RPM: RPM
Displacement: Cubic Meters
To solve for the mass flow in g/sec simply re-arrange the equation.
Mass flow = (VE * MAP * RPM * Displacement) / IAT
A very important calculation the VCM must make to ensure correct fuel mixtures under all
driving conditions is the dynamic air mass calculation. This is the main calculation the VCM
uses to determine how much air it should use for the Base Fuel Calculation (Inj PW). The air
mass calculation is not simple and uses various combo's of MAF and SD inputs depending on
engine operating conditions such as current engine RPM. It may also make decisions based
on whether the engine is in a steady load state (steady MAP) or unsteady load state
(Unsteady MAP). Note, that these thresholds change with RPM and MAP. E.g. at higher RPM
or high MAP readings you have more leeway before the VCM decides that you have an
Unsteady MAP condition. This unsteady MAP definition is basically there to decide if a
throttle transient has occurred (or other) i.e. the MAF input is known not to be accurate
under these operating conditions.
Under normal conditions (i.e. all sensors working properly) in the code I’m looking at it is like
this:
(caveat: many of these thresholds may vary between code revs and vehicle type)
RPM > 4000
----------
trust MAF completely and ignore SD calcs (apart from MAF sanity checking purposes)
RPM < 4000
----------
if RPM < 2400 and MAP < 84 kPa then
Steady MAP threshold = 0.0 kPa
else
Steady MAP threshold = 0.8 kPa
If (Steady MAP) then
Calculate MAF Air mass/SD Air mass ratio (used for Unsteady MAP operation)
Correction Air mass = MAF Air mass (filtered)
else
Correction Air mass = SD Air mass x MAF/SD Air mass Ratio (calculated during Steady
MAP conditions)
![Page 17: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/17.jpg)
Transient Corrected Air mass = previous Final Air mass + proportion of Correction Air mass
Final Air mass = fn(MAF Airflow, previous MAF Airflow, prev 3 MAP readings, prev 3 TPS
readings,
Transient Corrected Air mass)
There are 9 coefficients to this filter (and a total of up to 16 different sets of coefficients
depending on operating conditions). It is worth noting that the previous value is weighted
heaviest followed by the 2 MAF terms, so MAF dominates IMHO).
There are also a number of checks at the end to make sure things do not exceed certain
limits.
To summarize:
1. High RPM behavior is totally based on MAF
2. Mid RPM behavior has an allowance on Steady MAP behavior before it switches to
Unsteady MAP
3. Low RPM behavior (where the bulk of the fuel cells are) is dictated by unsteady MAP
behavior that is still mostly dominated by the MAF input with small tweaking from SD)
If the VCM decides that a throttle transient has occurred (unsteady MAP), the airflow
incorporates a "correction" from the SD calculations. This value is the SD calculated air mass
multiplied by the previous ratio of measured MAF air mass to calculated SD air mass (this
normalizes it, since you are worried about the transient deviation from MAF air mass only).
The way I understand it is this, imagine you are cruising (MAP is steady), you have a decent
vacuum in the manifold and you change the throttle position quickly. Air rushes into the
manifold to service the change in air demands from the engine itself but also to try and fill
the vacuum. The result is that the MAF reads higher than it should at that point in time
(spikes). This is more pronounced at low RPM where the engine airflow is smaller and the
relative proportion of extra airflow due to filling vacuum is higher, also the MAF is known to
be more inaccurate at lower RPM and more non uniform airflow. IMHO, the SD correction is
to account for filling and emptying of the manifold during throttle transients and also to
smooth the MAF's spikiness at lower RPM’s.
The bottom line is that if the engine is at a steady load state or operating at high RPM then
the airflow is 100% based on the MAF once you get thru all the filters and calculations. And
the SD calcs only get used for transients and smoothing lower speed operation.
At no stage does the MAF get ignored completely in these calcs (the dominating terms of the
![Page 18: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/18.jpg)
main filter calc are always MAF based).
An interesting point to note is that removing the MAF basically bypasses the whole system
and directly sets the Final Air mass value to be the result of the SD lookup (it also disables
things like knock learn and a few other nice things). Most have taken to calling this "Backup
SD Mode" which is as good a name as any I guess and I meant to allow the engine to run
with a failed MAF (although it is quite possible to tune using this mode (e.g. HSV GTS 300kw
comes factory this way). There is another way to disable the MAF system completely (i.e.
without setting the DTC's) and by tuning of the thresholds and other flags you can get a fully
functional SD tune happening, the so called "True Speed Density Mode".
The PCM does calculate an adjustment to the VE based on IAT as follows:
g/cyl = VE*MAP/charge_temp
Ve is in g*K/kPa
MAP is in kPa
charge_temp is in degK
Using the gas equation n=PV/RT shows that n (mass) is proportional to Pressure and Volume
and inversely proportional to Temperature (not the square root of temperature)
charge_temp is calculated as follows:
273.15+IAT+((ECT-IAT)*factor)
ECT is in degC
IAT is in degC
factor is a multiplier between 0 and 1.
At low airflow it is closer to 1 which weights the charge_temp in favour of ECT.
At high airflow (>150g/s) it is closer to 0 which weights the charge_temp in favour of IAT.
The factor is calibrated in a lookup table (not available in EFILive) that is indexed on airflow
in g/s from 0 to 150g/s. Typical factor values are 0.8 for 0g/s down to 0.1 for 150g/s and
above.
The theory being that heat (ECT) is transferred from the heads and manifold after the IAT
has been measured and prior to the air entering the cylinder.
LTFT and STFT Info
![Page 19: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/19.jpg)
STFT Info
The PCM uses the Short Term Fuel Trim (STFT) for real time fueling corrections. They have a
10% window that will only affect the Long Term Fuel Trim (LTFT) if the fueling correction is
beyond the 10% window for 10 seconds. If this condition exists, the LTFT is changed and
acted upon during the next PCM timed cycle, which is every 10 minutes.
LTFT Info
The purpose of LTFT’s is to compensate for engine and sensor age and variation over time.
+ LTRIMS, PCM is sensing a lean condition and adding extra fuel
- LTRIMS, PCM is sensing a rich condition and subtracting fuel
Positive long term fuel trims (LTFT's) indicate the PCM is commanding more fuel in order to
compensate for what is being perceived as a lean condition. By doing so it maintains a
stoichiometric air-fuel ratio of 14.7:1 during closed loop operation. That is, less than wide
open throttle.
Negative LTFT's indicate the PCM is commanding less fuel due to what is perceived as a rich
condition although the air-fuel ratio remains the same at 14.7:1 and in reality it's neither
truly lean nor rich.
However, positive LTFT's can result in a rich air-fuel ratio during WOT operation because the
PCM will add fuel in addition to the PE table. If they were negative no fuel is subtracted
during WOT as that could result in a lean condition resulting in detonation.
If the LTFT's are positive, often resulting in a rich AFR during WOT, horsepower may be
gained by getting the LTFT's as close to zero or slightly negative during closed loop. In this
way no additional fuel is added during WOT. If the LTFT's are negative no additional
horsepower can be gained because the AFR at WOT is then determined solely by the power
enrichment table without any additional fuel being added except during CAT over temp
conditions.
To put it simply what's happening is the Mass Airflow Sensor (MAF) is calibrated to expect
outside air temperatures and temperature change rates within a specified range. When you
add an aftermarket intake you often get colder and therefore denser, more oxygen rich air,
than what the MAF is calibrated for. It interprets this as more air than expected when in
reality there really isn't. In turn the PCM tells the injectors to stay open for a longer period of
time by lengthening the Injector Pulse Width in order to inject more fuel into the combustion
chambers. By doing so the air-fuel ratio remains at 14.7 parts of air for every one part fuel.
Hence it is neither lean nor rich but rather right where it's supposed to be.
But, when you go WOT the PCM remembers it had to add additional fuel during closed loop
and adds this extra fuel in addition to a predetermined amount called for in the Power
Enrichment vs. RPM table. This results in a too rich condition at WOT and a loss of
horsepower. Or to put it another way: not as much H.P. as you can obtain should that extra
fuel not have been added.
For this reason you want the LTFT's as close to zero or slightly negative during closed loop
![Page 20: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/20.jpg)
so no extra fuel is added during WOT. You do this by using scanning software and a program
such as LS1 Edit, etc. to get the LTFT's correct. Once they are you can then tune WOT using
a wideband O2 meter and typically adjust the PE vs. RPM table for the AFR you want. Note:
some applications such as nitrous or forced induction cars usually require a richer AFR than
a normally aspirated car.
What is closed loop you ask? Closed loop operation means the front O2 sensors (forward of
the catalytic converters) are used to help determine the AFR and offer feedback to the PCM
as to the current AFR. The PCM then adjusts the injector pulse rate to maintain a 14.7:1 AFR.
So it's just that, a closed feedback loop.
What does open loop operation mean? Well, instead of using a closed feedback loop (the O2
sensors are not used for input) the PCM uses a lookup table that, to put it simply, is just a
table that says "at this RPM use X amount of fuel." This is called the PE vs. RPM table or
"Power Enrichment vs. RPM" table.
Deleting Rear Oxygen Sensor’s
Driver Side Codes:
137 - HO2S Circuit Low Voltage Bank 1 Sensor 2
138 - HO2S Circuit High Voltage Bank 1 Sensor 2
140 - HO2S Circuit Insufficient Activity Bank 1 Sensor 2
141 - HO2S Heater Performance Bank 1 Sensor 2
Passenger Side Codes:
157 - HO2S Circuit Low Voltage Bank 2 Sensor 2
158 - HO2S Circuit High Voltage Bank 2 Sensor 2
160 - HO2S Circuit Insufficient Activity Bank 2 Sensor 2
161 - HO2S Heater Performance Bank 2 Sensor 2
Go to Edit>Engine Diagnostic’s>DTC’s>Error Mode = 3 for each of the codes above.
Go to Edit>Engine Diagnostic’s>DTC’s>SES Enabled = Off for each of the codes above.
Idle Info
Sensor Info
Throttle Position Sensor
The Throttle Position (TP) sensor is connected to the throttle shaft on the throttle body unit.
It is a potentiometer with one end connected to 5 volts from the PCM and the other end to
PCM earth. A third wire connects from a sliding contact in the TP sensor to the PCM allowing
![Page 21: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/21.jpg)
the PCM to measure the voltage from the TP sensor. As the throttle is moved (accelerator
pedal moved), the output of the TP sensor changes. At a closed throttle position,
the output of the TP sensor is below 1.25V. As the throttle valve opens, the output increases
so that, at wide-open throttle (WOT), the output voltage should be about 4 volts.
By monitoring the output voltage from the TP sensor, the PCM can determine fuel delivery
based on throttle valve angle (driver demand). A broken or loose TP sensor can cause
intermittent bursts of fuel from the injectors, and an unstable idle, because the PCM
interprets the throttle is moving. The TP sensor is not adjustable and there is no set
value for voltage at closed throttle because the actual voltage at closed throttle can vary
from vehicle to vehicle due to tolerances. The PCM has a special program built into it that
can adjust for the tolerances in the TP sensor voltage reading at idle. The PCM uses the
reading at closed throttle idle for the zero reading (0% throttle) so no adjustment is
necessary. Even if the TP sensor voltage reading was to be changed by: tampering, throttle
body coking, sticking cable or any other reason, the TP sensor will still be 0%. The PCM will
learn what the closed throttle value is every time the throttle comes back to closed throttle.
General Operation And Strategies
The PCM calculates the IAC position based on a number of Airflow calculations and
estimations, the final idle airflow value consists of the following two main components:
- Base Idle Airflow (Base + LTIT)
- Adaptive Airflow correction (STIT)
LTIT = Long Term Idle Trim
STIT = Short Term Idle Trim
Note: These names are made up to more easily understand than proportional, integrator,
slow filtered idle airflow, etc.
The first thing to realize is that the PCM only runs the adaptive idle control routines when at
idle conditions (below certain TPS and MPH limits). However, the base airflow routine is
controlling the IAC position during all driving conditions (things you are aware of already,
such as the Throttle Cracker, and if you set your Base Running Airflow values too high you
get cruise control etc.). The combination of all these components is what I call the Base Idle
Airflow in grams/sec.
Base Idle Airflow
The Base Idle Airflow is combination of looked up values from various tables within the PCM
and also incorporates a Long Term Idle Trim (LTIT) correction. This airflow directly controls
the IAC position when at non-idle and is the "starting point" for adaptive idle control. The
base airflow consists of the sum of the following individual components:
![Page 22: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/22.jpg)
Base Running Airflow
- this is the main Idle Airflow when in PN (A4 only) or Gear (A4 or M6)
- a table vs ECT
Startup Airflow
- additional airflow during engine startup and initial run period (decays to zero in the first
few seconds of engine operation)
- a table and a few delays and decay rates
Startup Spark Retard Airflow
- airflow correction to account for startup spark retard (if used)
Fans On Airflow
- Additional airflow to account for increased engine load during cooling fan operation
- Two values depending if one fan active or both active.
DFCO Airflow
- used to set IAC position during DFCO
Throttle Cracker Airflow
- additional airflow to open the IAC based on MPH and RPM
- zero during idle conditions
- a table
Throttle Follower Airflow
- controls rate of closing the IAC valve during throttle closure
- zero during idle conditions
- a few tables of initial value and decay rates
Long Term Idle Trim Airflow (LTIT)
- a slow moving correction based on the adaptive idle routines (think LTFT's for fuel)
- the idea of this correction is to bring the Short Term Idle Trims (STIT) to zero
- it has +ve and -ve limits
- a calculated value
AC Airflow
- airflow correction for when the AC is on, this is a torque based calculation that estimates
how much torque the AC is pulling and calculates an airflow correction to compensate.
IAC Park Airflow
- airflow used to calculate IAC position when ignition is off and engine not running
- used in place of all of the above
- a table
Adaptive Idle Control
The whole point of the idle control routines is to maintain the desired Idle RPM. The PCM
therefore needs to "close the loop" and use the Idle RPM error as a feedback to provide this
![Page 23: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/23.jpg)
control. The monitoring of the Idle RPM results in a Short Term Idle Trim (STIT) that provides
the fast moving closed loop control of the IAC valve. Again here it is very analogous to the
STFT's and feedback from the O2 sensors. That’s why I chose these names rather than
Proportional, Integral, and Derivate.
Okay, so the PCM has a Desired Idle RPM it is trying to achieve and it is constantly
measuring the current RPM and calculating an Idle RPM error value. The PCM uses various
aggressive and not so aggressive algorithms to control the STIT, to provide fast convergence
(and also stall saver capability) but also reasonable idle stability.
During all this, the PCM is maintaining a fairly complex state machine of, Are we at
idle?, Is the engine transitioning back to idle?, etc. The PCM does remember a few different
last known state of the STIT, for example, when you turn on the AC the PCM stops updating
the "ACoff STIT" and starts updating the "ACon STIT" (again here think Fuel Trim cells). The
idea of this is that when you turn the AC off the PCM can quickly return to the original IAC
operating point. For A4 vehicles you also have the PN/Gear dimension as well.
A good example of the STIT in action is if you have an M6, you have your foot on the
brake and you partially let the clutch out and you feel the engine pull harder to try and
maintain the desired idle RPM. If you were logging the IAC steps or the desired idle airflow
you would see it increase. Monitoring the LTIT and STIT is a very good tool to get your Base
Running Airflow values correct, ensuring your LTITs are not maxing out on the limits and
troubleshooting PN/Gear and Fan On/Off stumble etc., especially after head/cam install.
Desired Idle Airflow
The net result is that the PCM takes the Base Idle Airflow (including LTIT) and then adds the
STIT to come up with a final Desired Idle Airflow (which generally is available as a PID for
logging). Then there is a final step that takes this airflow value and translates it to the actual
IAC valve position or the ETC TPS position. It's basically just a unit’s transformation for the
most part and the IAC and the ETC have their own control routines and state machines that
effectively take this idle airflow as an input.
The "Desired Idle airflow part, which is the final "airflow" value the idle control
routines deliver to set either the IAC motor position or the ETC position.
After the "Desired Idle Airflow" is calculated, it is then translated into an "Effective
area" value in square millimeters (mm2). This is the cross sectional area required to deliver
the airflow desired (taking into account air density and pressure ratio across the
throttle/IAC). Now at this point the calculation branches to either IAC or ETC.
If IAC is installed the "Effective Area" is translated into a number of "steps" that
delivers this area (a table of IAC Steps vs. Effective Area).
If ETC is installed then there is a single value that translates "Effective Area" into
"Desired throttle area percent" units of % area per mm2. This number is then handed over to
the ETC routines that control the ETC TPS %.
![Page 24: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/24.jpg)
The ETC logic is quite simple in that it has two main inputs the Accelerator Pedal
Position (APP%) and the "Desired throttle area percent" (IAC%). In the ETC code there is a
maximum value that the IAC% is clipped at as a safety check (mostly on the throttle
cracker), but the Throttle Cracker, Follower, Adaptive and various compensation routines are
all the same tables (i.e. the ETC code has nothing extra).
Now, the ETC looks at the APP% and checks if it is 0. If it is not 0 then the
commanded ETC position is a direct function of the APP%+IAC% (accounting for throttle
cracker). If it is zero then the ETC position is controlled via the IAC% (as you would expect).
Once this ETCDesiredThrottleArea% has been passed thru the numerous limiter
functions (ETC RPMlimiters, MPH limiter, TorqueMangement etc.) the final ETC Rotation% is
calculated via a simple transfer function of ETC Rotation% vs DesiredThrottleArea%.
There are maximum slew rates, minimum position checks and a few other
parameters here, but in terms of idle nothing else comes into it.
Unless you have modified your ETC in anyway, there would be no reason to change
the ETC% vs EffectiveArea scaler or anything else there as far as i can see.
What else?
In addition to the Idle Airflow routines the PCM also has an RPM based idle spark correction
"closed loop" operation that it uses to control the idle RPM. Since the spark advance can
move much faster than the IAC, it can provide very fine control of idle speed. When logging
you will see this as a jagged spark advance chart, most noticeable with cams at lower idle
RPM’s where the spark advance generally oscillates between its min/max allowed values as
the engine lopes at idle.
Idle Tuning
To set idle speed go to VCM Editor>Edit>Engine>Idle>Idle RPM>Target Idle RPM vs. ECT
table and change cell values to desired idle RPM. If idle RPM is modified up or down, the VCM
Editor>Edit>Engine>Idle>Base Running Airflow>Idle Airflow vs. ECT table must be adjusted
up or down also.
If a lean idle condition is present modifying VCM Editor>Edit>Engine>Fuel Control>Open &
Closed Loop>Idle Proportional Fuel Tables = Off will most likely eliminate it and any low RPM
surging.
A Basic Idle Tuning Strategy for Cable Actuated TB’s
1. Set idle speed to desired RPM. 900-950 is good for cars with aftermarket cams.
2. Go to all your spark tables and set the park and drive idle values to about 22
degrees.
3. Now switch to a scanner that lets you see IAC counts and TPS voltage. This is where
we will spend some time.
![Page 25: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/25.jpg)
4. We want IAC counts to be 40-60 for cars with aftermarket cams. The stock cam runs
about 60-80 counts. A car with an aftermarket cam will want less IAC counts.
5. To reduce IAC counts turn off the car. Turn the idle set screw clockwise to open the
throttle blade a LITTLE. Unplug the TPS, turn the key to the on position, DO NOT start
the car, for 30 seconds. Turn the key off and plug TPS back in.
6. Start the car and begin scanning. Monitor the IAC counts and repeat step 5 until the
IAC counts come into line. It will take about 4-6 times to get the IAC counts correct.
Note: TPS voltage must be less than 1.25 volts. If above 1.25 volts, the PCM will fall into
the wrong cell at idle. Check the TPS voltage each time the set screw is adjusted and
adjust as necessary.
Another adjustment that will help start-up and idle is to go to the cranking VE table and
multiply the whole table by about 80% to lower it. Now go to the primary or secondary, if
the PCM has it, VE table and drop about 3-6 points off the idle area.
A Basic Idle Tuning Strategy for Electronic Throttle Control TB’s
New Idle Airflow MPIDs (vehicle dependant):
- Startup Airflow
- Throttle Cracker Airflow
- Throttle Follower Airflow
- Fans Airflow
- Startup Retard Airflow
- AC Airflow
- Base In Gear Airflow
- Long Term Idle Trim Airflow In Gear
- Base PN Airflow
- Long Term Idle Trim Airflow PN
- Short Term Idle Trim Airflow
- Park Position Airflow
Idle (transition) tuning procedure for C5's (drive by wire)
A collaborative effort between Nick Williams and myself. A lot of testing on many cars has
been done to ensure the process works. Besides it makes sense. There are pieces of
information that have been stated by others, but seem to have been somewhat ignored. The
MAPS in EFI have helped make the tuning process easier. We are very open to ideas,or the
need for clarity. You can prove the process by logging the information suggested, from a
stock car and you will see the results make sense.
The following assumes a reasonable tune has been done to the car. Here is a quick outline of
my preferred method.
![Page 26: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/26.jpg)
-Put back all stock airflow and timing values.
-Input the stock IFR values for stock injectors, or calculate new values for larger ones.
-Put in A/F multiplier values(PE RPM), calculated to your preference. (ex.14.7/12.8 = 1.15
mult.)
-Work on VE's with the MAF zeroed. (You can do speed density. I just don't feel it's
worthwhile if you run an MAF. JMO. Others can do what's right for them.) Bring the MAF back
on line and adjust it for ltrims.
-Then do Idle Transition Tuning.
Idle transition tuning:
-Start with Ltrims reasonably negative and your Standing Idle is set where you are happy
with it at all temps.
-If your VE's are off by 20% or more they need to be set.
-Return all airflow tables to stock, except idle, idle airflow parked(IAC Park) and idle
airflow(RAF). This is so the car will idle. If you can return all the airflow tables to stock, go
ahead.
-Set up Maps for Maf gms/s and Desiac gms/s, by ECT. Use the format in the PCM.
-Log, IATc, ECTc, SAE MAF gms/s, GM DESIAC gms/s.
Since you are in open loop when you first start the car, watch for your trims to show(closed
loop) and your idle to settle to where it's set and start the tuning log.
Log while parked, from the coldest engine temperature to fully warmed.
Log for at least five minutes after warm up to get better averages and since this is the
temperature where problems are noticed.
-If it's an a4, log in gear with the A/C on. You may want to repeat this process in neutral later
or just check to see if your RPM's stay up when driving and you put the car in neutral.
-If it's an M6 log in neutral.
-Input the logged MAF values into the idle airflow (raf) table, by temperature.
-For stock TB Raise or lower idle airflow parked (IAC park ) values.
You want to match logged desiac and maf values.
This is done within each IAT range. You will need to watch Desiac and Maf results in Dash
f10.
Raising/lowering IAP raises/lowers desiac.
-For 90 mm TB move the Effective Area table values 6 places towards the
higher values and leave the IAP values stock.
The idle airflow parked table is the difficult part for a number of reasons.
-The temperatures are IAT. Some think they are ECT.
-The temperature scale is in 20c increments.
-Raising the IAP values raises logged desiac, and raises expected airflow. The TB closes
![Page 27: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/27.jpg)
some and you could get stalling surging, etc., if your target is wrong. The opposite scenerio
would be racing. This is important, since you are working with logged averages and
may/probably need to make small adjustments and the affect is counter intuitive.
-This needs to be done on different days in order to set within each IAT range as weather
changes push your intake temperatures up or down.
-Finally, timing will help idle and flare at start up. If you have EFI Pro you
can use BI-D Controls to test(SOP)timing changes, otherwise program
timing changes a little at a time. Make the changes in Base Spark in
Gear and Base Spark in Park/Neutral.
-Check, ltrims, AFR and adjust.
-When you change IFR's, MAF #'s, timing and airflow table values, the
trims are affected
This process will help eliminate, stalling, surging, false idle learn and unlearn, colds,
headaches, etc. My opinion is that many of the problems that occur after a cam are a result
of not understanding the IAP table. You will notice that your ltrims and strims become flatter.
There are some situations that make perfection a little harder.(Maybe impossible). Don't
have knowledge past a G5X3.
-Really big cam. ex. Mine is a 228/589/112 in an a4 and tuning is easy.
-Long tubes that place the 02 sensors far back, which allow them to cool fast and take
longer to heat up.
-Cold air intake, which causes rapid IAT changes.
-Any throttle body with a ridge that's been worked.*
-Descreened MAF/ not properly calibrated.
-Low rear gears(3.73 and lower) and a stock or almost stock stall converter.
-The tuners ability.
* I continually read opinions that the 90mm TB is hard to tune. The N. Williams 90mm TB
and stock TB's are not hard to tune. It's the cam.
Don't look for perfection in the numbers, they do bounce around. If after you do this it idles
and transitions well, be happy.
F-Body Particulars
Process is the same for the F-body. You just have to make sure the IAC motor is within range
to give the motor the air it wants. With a big cam car the IAC uses up alot of its range or all
of it just to get enough air thru for idle on a cold start. Two ways to fix this. You can drill the
hole in the blade out bigger or you can adjust the closed position set screw to open the
![Page 28: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/28.jpg)
blade more. Adjusting the screw will require a reset on the TPS to get it to read 0% at idle.
The stock camaro that I have idles around 65 steps when hot. Use that as a target to
determine how big of an adjustment to make. Once you have the IAC motor within range,
then start trying to get the DESIAC gms/sec to match close to the MAF gms/sec.
HPT Info
Monitor your two LTIT's and STIT in the scanner. You will notice the LTIT should settle to a
constant value after a few minutes (idle learn process) in PN and Gear for A4's and Gear for
M6's. After the LTITs have settled take note of the following:
- the LTITs should be within the min/max limits shown in the editor (see the help file)
- the STIT should be close to 0
If the LTIT's are at either the min or max limit you have a problem with your base running
airflow (if LTIT is max and the STIT is positive then your base running airflow is too low, if
LTIT is min and the STIT is negative base running airflow is too high). Also it's good to watch
your STIT when the fans come on so you can see if the correction is ok.
I tend to keep the limits at the factory settings and just change the base running airflow
numbers and the various compensation factors.
The important thing to remember is the base running airflow is the starting point for the
adaptive idle routines. Most cruise control and rpm drop issues when coming to a stop are
symptoms of the LTITs being at their limits due to base running airflow being out to much.
This is most noticeable after a camshaft change.
The main one is the "Cooling Fan Airflow" this is the extra IAC airflow required to
compensate for the alternator load when either one or both fans are on.
There is also the throttle cracker which opens the IAC based on RPM and mph, and the
throttle follower which is a dampener/decay function for when you close the throttle
suddenly.
The other is the AC. The AC is a little different as it is torque based, you'll need to head over
to the Engine -> Torque Management -> Engine Torque section and look at the "AC
Compressor Torque" tables. Again, watching your LTIT and STIT when the AC comes on will
tell you which way you need to move things.
The LTIT and STIT are similar to fuel trims and are displayed in g/sec (grams air per second)
error.
![Page 29: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/29.jpg)
Let the idle learn, then whatever the +- LTIT (Long Term) error is adjust the corresponding
value in the Base Running Airflow table by the error value. Remember to log the engine
temperature so you don’t start changing the wrong location in the table. When you get
close, you can use the STIT (short term)
90mm Throttle Body Info
I made a spreadsheet that calculated airflow for the 75mm Throttle Body and 90 Throttle
Body. 48% is not related to airflow, it is the percentage of step that the 90mm uses to mimic
the 75mm Area. So.....
Hypothetically
IF a 75mm TB @ 40 steps has 1 cu/inch of area
Than
a 90mm TB would need 19.2 steps to have the same 1 cubic inch of area
So you need to....
Multiply the 40 steps by .48 to get 19.2
40 x .48 = 19.2
There is a lot more to the calculation but this is the jist. Rather than using steps since the
step is going to be linear and equally sized, I used 0 to 90degrees and calculated area based
on .25 degree. Calculated area when open - area closed to find total area gained, divided
that by my 360 steps (360 - 1/4 or .25 degree increments) to find total area for each 1/4
degree of throttle movement. I used that to make a chart to map area of the 75mm TB as
the butterfly opens from 0 to 90 degrees or WOT. I made another chart based on the area as
it gained and reversed solved the 90mm TB to find the required step to mimic the exact
area that the 75 shows. The steps were 48% less in each calculation. So regardless of what
unit that the ECU uses this calculates the same thing.
__________________________________________________ _____
Actual Data**
Stock **
The effective area table is confusing. If you look at it, the ECU says I need 128 area units I
need to open the TB up to 17 steps.
Move 6 step right method **
By moving the table 6 places to the right as suggested with a larger TB it now says...
If I need 40 area units I now need to open the TB up 80 steps.
My Calculated Method***
If I need 40 area units I need to open up the TB 61 steps
Idle Fueling
![Page 30: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/30.jpg)
The VCM Editor>Edit>Engine>Idle>Idle Airflow>Base Running Airflow>Idle Airflow vs. ECT
table is used to control idle stability. The 400, 800, and 1200 rpm cells at the lowest MAP
value’s in the VCM Editor>Edit>Engine>Airflow>Main VE>Primary VE vs. RPM vs. MAP table
also influences idle fueling.
Idle Tuning For Cam’ed Cars – Surging And Bucking
don't want to step on anybody's toes here, but you will be able to get it to idle without
drilling your TB. I actually prefer not to drill the TB. We tune 240+ cams without drilling the
TB.
Here are some things you can try.
Idle Limiters --> Idle Speed: 950
Idle Limiters --> IAC Park Position: Raise all points from 40C and up to 21
Idle Limiters --> Idle Air In Gear: All points 60C and up to 8.6
Fuel --> Main VE Table: Multiply column 400 rpm by 60. Multiply column 800 by 80. Multiply
column 1200 by 90.
Ignition --> High Octane Table: Add 2 deg to all points 400 to 1000 RPM, .08 to .32 g/sec
Once done with this program, start the car and check for surging. If the car surges, unplug
the IAC and see if the surging stops. If the surging stops follow below.
Idle Limiters --> Idle Air in Gear --> All points above 60C to 9.2
Take the car for a drive and check your idle. If the car goes on cruise control reduce the Idle
Air in Gear Table .2 (further if necessary). If the idle holds at 2000 RPM for extended periods
of time reduce the P/N Airflow Decay table for all points above 10 MPH by 5% (multiply by
95) until this stops. Be vary careful on this table.
If car keeps surging with the IAC unplugged two more things to try.
Multiply Main VE table by another 95% (total reduction of 85%). Repeat until the surging
goes away, or until the car begins to hesitate when you take off.
High Octane Table, Reduce timing for all points 400 to 1000 RPM, .08 to .32 g/sec by 2.
Repeat, but don't reduce it any more than 6 degrees.
If your car still doesn't idle after this, then you have other problems, and should start looking
elsewhere.
Hunting Idle
That's one of two things. Either the IAC closed loop code needs adjusting (which we are in
the process of adding) or it's the closed loop fuel. When you get your wideband hooked up,
look at where the AFR is switching. If it's making radical adjustments, try lowering the base
proportional slightly. You only want it to move around the 14.7 point, but not switch from
![Page 31: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/31.jpg)
12.0 to 16.0. On those types of cam profiles you need a lot less fuel switching on the lower
end.
They will idle hunt every time. Your O2 readings on your scanner should show clean
switching from rich to lean.
DFCO
the way to verify is with the scanner. If your spark ramps down, then the injector BPW shuts
off, then comes right back on that’s it. On some cases the fuel never gets cut, but the spark
ramps in and out. Closed Loop surging - Depending on your cam size you may need to tweak
the DFCO. Depending on your injector size you may need to tweak the closed loop
proportional gains.
Stall Saver
The stall saver function calls into action the derivative idle control (fast) at a RPM Fast/Slow
ratio of 1.0 and disables the AC.
IAC Park Position Airflow vs. IAT
Increasing IAC values reduces the IAC airflow. Think about the IFR table - increasing the IFR
reduces fuel flow (inj. PW). At least with Fly-by-wire the "IAC Park" table does more than set
the IAC with ignition OFF. It effects the transition to idle airflow. You can see this by
watching the change in "Desired IAC" as you change the "IAC Park". There is a sweet spot
relationship between Desired IAC (g/sec) and MAF airflow (g/sec). When the values are
within a few percent of each other your idle will be noticeably improved.
It seems like on cold start it starts with the park position airflow and decays to the raf table
after about 40 seconds
Running Airflow
If your car is stalling or dipping then more likely you idle airflows are out and the adaptive
idle is going out of its limits.
try logging the new idle MPIDS:
- Idle Adapt (STIT) (lb/min,g/sec)
- LTIT Gear/ACoff (lb/min,g/sec)
- LTIT PN/ACoff (lb/min,g/sec)
- there are also many others
The STIT should be around 0 and the LTITs should be within the limits shown in the editor.
Important to note that the STIT is set to 0 every time you go off-idle.
If they aren't then you need to adjust either the airflows to get them within the limits, or the
limits themselves.
The limits represent the "remembered" IAC airflow for that idle condition (PN/Gear/ACon
![Page 32: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/32.jpg)
etc.) if you have idle transition issues then chances are your STIT has to make a quick catch-
up every time you return to idle because the LTIT is at the limit.
too much air will result in very negative LTITs & STIT , likely you will have RPM hanging up
when you go off idle or come to a stop.
Aim to get your LTITs within limits (~0) for all driving conditions
Adjusting IAC Position vs Effective Area
Adjusting the idle set screw increases the effective airflow area in the throttle body without
the pcm knowing it. If you look at the table in question, you'll see how the first several cells
are 0's. On the stock tune the cells are 0 from 0-12, meaning there is about 12mm2 of area
for the air to pass through with the IAC completely closed. When you adjust your set screw
or drill the tb hole you increase this area so it would make sense to move the table to the
right so the pcm knows you already have more area. I ended up moving the table 8 cells to
the right after some trial and error so the zeros go 0-26. the single most important thing
you'll have to do to get your car to idle with a bigger cam is to let the engine get more air by
adjusting the set screw or drilling the hole bigger. Once you do that you may notice your
rpms will hang when coming to a stop, and that's what this is intended to fix.
Log dynamic airflow and desired airflow. That's another thing I found out, IAC and desired
IAC are almost always the same, the only difference is the response time of the IAC motor.
I made an idle config with all the normal stuff plus dynamic airflow, desired idle airflow, iac
position, and fuel trim cell. TPS voltage would probably be good too. I had to get rid of my o2
voltage and pulse width to make room. look for the difference between desired idle airflow
and dynamic airflow. If desired idle airflow is smaller, the table needs to shift to the right.
Once this operation is complete, Running Airflow (RAF) will need to be adjusted.
Yep, log your IAC position...some people say it should be between 30-50 at idle with the AC
off, but mine is even lower. If you read up, you'll see where a guy was getting 95 at idle,
which really limits what your IAC can do to control your idle when you turn your AC on (it can
only open so far, after all). ok so you want the IAC position to be low, and then you go and
alter the effective area once you get the reading of IAC opening to be low like you would
like, correct? the lower the better because it give the computer more room to compensate?
So to keep your IAC from having to open as much, you crack the throttle body with the set
screw, and make sure your TPS% still reads zero (you probably already know how to do this).
This lets more air in manually, but your computer doesn't know this since the TPS % is still
reading 0. That's where this table comes in handy...you can now tell it what you did, and it
will start working with you instead of against you.
As it came from the factory, your car is expecting approximately 12mm^2 of area that your
engine can draw air from at idle (with the TB closed, of course). If you alter the throttle body,
![Page 33: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/33.jpg)
change to a larger throttle body, have to adjust the idle set screw due to a cam, etc, you are
changing the effective area in the TB that your car can draw the air from. This is evident by
an idle that will stick at something like 1000-1100 RPMs as it is settling back down to idle.
The IAC vs. Effective Area (Edit -> Idle -> Idle Airflow -> IAC Position vs. Effective Area
[under the "General" heading]) table is meant to tell your computer how much area it can
expect to draw the air from.
1. Get your IAC counts in line by adjusting the TB set screw/drilling out the TB, whichever
you choose (I'd recommend the former rather than the latter).
2. Once you get them where you want them, you now need to log the Dynamic Air Flow and
the Idle Desired Air Flow. These numbers will most likely be off. If your Idle Desired Air Flow
is smaller than your Dynamic Air Flow, you need to adjust the IAC vs. Effective Area table to
the right.
3. Notice in the table how the columns 0-12 are zeroed out. This is telling you the computer
is expecting to see 12mm^2 of area to pull air from at idle. If you can figure out how much
your new area is after you have adjusted the TB, good on ya! I, however, could not. So this
will be trial and error.
4. Copy the existing table from where the values are not zero all the way to the right. Now,
zero out another 4 or so more cells (until 0-20/whatever all read 0). Now paste back in the
original table right after your last zero (this would now be in column 22), and your table will
fill back in, clipping off the last four numbers at the end.
5. Log your Desired Air Flow and Idle Desired Air Flow, and see if it is closer. Once again, if
your IDAF is smaller than your DAF, then you need to adjust the table to the right some
more (that is, 0 out some more columns). I adjusted mine so 0-22 are zeroed out, cell 24
now has a value of 1, cell 26 has a value of 10, etc).
6. Once you have them close, your car should now stop hunting for an idle when coming to a
stop.
Tuning IAC Position vs. effective area and Idle Airflow
well i just about have this all wrapped up and i see lots of guys posting up on here about idle
issues. so i figured i would let you guys know what has worked for me. also kinda put things
together from other threads, ive been getting pms about what i have been doing. lots of
people are doing this but now you guys that want to and have no idea can do it lol
![Page 34: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/34.jpg)
first off the logging configuration, btw this was all in hp tuners. i logged:
-IAC Position
-Desired Idle Airflow (g/sec)
-Dynamic Airflow (g/sec)
-STIT
-LTIT Gear, AC off
i logged from a cold start in the morning so i could get coolant and intake air temps as low
as possible. i then let the car reach operating temp at IDLE, no gas what-so-ever.
after this i went into the graph in the scanner after i saved the log and had it show only 2
sections, one was the desired and dynamic airflow and the other section was the IAC
position. you want the airflow lines to pretty much overlap each other. on the high side IAC
counts (125-290) i was getting less air than desired and on the other end i was getting too
much. normally for a variance of 1-2 g/sec i used 5-10 IAC steps, 3-4 g/sec 10-15 steps, 4-6
g/sec 15-20 steps, and 8+ g/sec i used 20+. this will really vary on your TB and whats been
done with it. mine is a ported jantzer tb with epoxy filling.
that will take some playing with to find out what will work, what i did was make small
changes until i saw the lines get close. once they got really close i would make small
changes, about 2-3 IAC steps until the lines overlapped.
here is an example. say at IAC step you have more air desired than the dynamic airflow is
reading. you will want to increase the IAC number in this area. what you are doing is telling
your car that the effective open area is smaller than it thinks, so this will make it open the
IAC motor more to let in more air because where it was just wasn’t cutting it.
now if the dynamic is higher than the desired you want to lower the number. Usually if they
are off like this there is a point at which the iac step is set right. Remember what the
number is where they switch if this is what’s happening to you, you don’t want to change
that number because its pretty good. and then branch out from there. Completing this step
doesn’t matter if your VE table is set right or anything. This simply "recalibrates" the IAC
steps/effective opening area. Once this all falls in line you can now recalibrate the idle
airflow.
to fix the idle airflow you will have to make sure the IAC effective area is all set right AND
that your VE table is set where you want it and you have the fuel trims you desire, at idle.
now you want to see what the idle trims are off by. ive just started this step and whatever
![Page 35: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/35.jpg)
g/sec it says its off by at each ECT i will change it by about 75% of what i see. so far its been
working pretty good. if its negative u want to decrease and if positive, increase it.
now my car will idle very well, my idle speed is set at 800 at operating temps and this is with
the f13 cam (230ish duration and .590ish lift on a 112) when i tap the gas the rpms go up
and the idle recovers nicely with no over or undershooting. Coming to a stop the car will not
dip down in rpm or anything.
Hopefully this will help some of you guys out tuning for a better idle. if anything is unclear
let me know and i will try to clear it up. but so far this has worked out perfectly for me. it
takes some time since the car has to be cold. i have made about 10 tunes and counting to
get this right, although most was trial and error because I didn’t understand too much others
were doing before.
Here are my numbers I have for my iac steps, maybe help some of you all with similar TB for
a starting point.
starting at 16 the IAC steps go:
2 5 7 11 16 23 32 42 54 71 87 105 122 140 163 179 199 221 244 261 276 287 298 307 313
315---->this is my highest number and goes from #68 all the way up to 120, that was my
max before so i left it. and questions or something i have wrong let me know.
Tuning the VE table in HPTuners - Overview
Wideband and Narrowband methods
The LTFT value is your indicator of how much error is in your Volumetric Efficiency table. If
Block Learn is at 0% everything is just right. If your STFT is more than 3 % away from 0 , the
LTFT value is still "learning". A motor is considered well tuned to have LTFT values between
+- 4%. Not every motor can achieve this though.
Step by Step for SD tuning Wideband Method:
1: Unplug MAF sensor
2: Disable the SES lights for MAF codes P0101, P0102, P0103 (No check engine light.) Do not
completely disable the codes or the PCM will not fall into SD mode. Only turn off the SES
light, DO NOT DISABLE THE CODES THEMSELVES!
3: Change all points to 1.13 in the Open Loop F/A vs ECT vs MAP table (commands AFR of
![Page 36: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/36.jpg)
13.0)
4: Change all points in the Closed Loop Enable Coolant Temp vs IAT table to 250* (Disables
closed loop)
5: Copy High Octane table to the Low Octane Table (computer reverts to low octane table
when MAF is unplugged, this assure’s optimal timing)
6: Change all points in the Power Enrich Fuel Multiplier vs RPM table to 1.0 (disables PE
mode)
7: Use your wideband and HPT histogram to verify AFR of 13.0
8: Make adjustments to the VE table accordingly to dial in a 13.0 AFR using the desired
formula - current afr/13.0 = VE multiplier
example: cell @ 1600 rpm Map 50 is showing the air/fuel to be at 11.7 in the histogram.
11.7/13.0=0.9 Lets say that your VE table has a value of 48 listed at 1600 rpm, Map 50.
Using the above formula you would multiply that value times (.9). 48*.9=43.2. 43.2 would
be your new VE value. Continue using this formula until all data has been plotted.
9: Hand smooth VE as described by Magnus (a smooth VE results in crisper throttle
response), upload new .bin and repeat steps 7 and 8 until all cells in the histogram are 12.8 -
13.2.
10: Change all points in Open Loop F/A vs ECT vs MAP table back to stock (re-enable stoich
commanded AFR)
11: Change all points in the Closed Loop Enable Coolant Temp vs IAT table back to stock (re-
enables closed loop operation and fuel trim leaning)
12: Change all points in the Power Enrich Fuel Multiplier vs. RPM table back to stock (re-
enables PE mode)
13: Use wideband and PE table to dial in desired WOT AFR. (Optimum HP at WOT)
Step by Step for SD tuning Narrowband (stock) o2' Method:
1st a couple of things to keep in mind:
a: This method will not be as accurate as the one above, but it should get you real close for
part throttle.
b: Please keep in mind that depending on where you have your PE enable settings, you will
probably only get "0" LTFT values in your histogram after 4,000 RPM.
c: For WOT you will still need a WBo2.
d: There will always be a 2-4% change in learning from day to day. Weather, fuel, and
engine dynamics vary quite a bit. It’s the VCM's job to learn these corrections. It is
recommended that all tuning sessions be done in like weather conditions.
e: There are two methods of using the LTFT's to correct the VE table, below is a description
of the two taken from the HPTuners help file. I will try to elaborate a little more on them.
1: Unplug MAF (Replace with strait bellows if you do not have intentions of ever using a MAF
again ie. always speed density.)
![Page 37: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/37.jpg)
2: Disable the SES lights for MAF codes P0101, P0102, P0103 (No check engine light.) Do not
completely disable the codes or the PCM will not fall into SD mode. Only turn off the SES
light, DO NOT DISABLE THE CODES THEMSELVES!
3: Copy High Octane table to the Low Octane Table (computer reverts to low octane table
when MAF is unplugged, this assure optimal timing)
4:Write your file to the VCM and go for a drive approx 20-30 minutes, and try and hit has
many cells as possible. Use the "default" config file and scan your LTFT's and STFT's into the
histogram.
5: After you have logged sufficient data, it is now time to look at what changes you need to
make. This will require looking at both the LTFT and STFT data on a cell by cell basis.
a: If the majority of your LTFT cells, are greater than a 10% swing (+- 10), then refer to
method 1.
b: If the majority of your LTFT cells, fall between +-10% then refer to method 2.
Method 1 using the LTFT and STFT corrections from the scanner histogram data:
The VE table corrections can be derived by the following formula:
(+-LTFT%) + (+-STFT%) = Final % Learned
If your LTFT histogram value @1600 RPM, 30 kPa Map is +7 and the associated STFT value is
-2 your total % fuel correction is +5. Use about ½ the correction (2.5%) on the VE table cell
@1600 RPM 30 kPa Map to avoid overshoot.
Repeat this process for any LTFT histogram value until you see a +- 4% range. After you
reflash your VCM with the new VE table, use the VCM Controls function to reset the fuel
trims before you start recording new data. This will give you a “clean slate” to work with.
It will take you the better part of an afternoon to log the LTFT, make the corrections to the
VE table, then verify the results on the histogram again.
Method 2 using the STFT corrections only from the scanner histogram data:
This will require you to disable the LTFT process.
Use of this method requires your VE table to be no more than 10% off. If your VE table is
beyond this, start with method 1 first.
Depending on your model you can either turn the LTFT enable option to “Off”
(Edit>Engine>Fuel Control>Open &Closed Loop>Long Term Fuel Trim Enable = OFF) or set
the LTFT minimum Engine Coolant Temp (ECT) to its maximum value. Using the scanner
reset your Fuel Trims. Go for a drive and record the STFT's.
The above step of disabling the LTFT learning process will let the VCM run the STFT
![Page 38: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/38.jpg)
correction, but no make any LTFT corrections.
The advantage to this is you only have to use the STFT table on the histogram to get your
fuel % correction values. You no longer have to do the (+-LTFT %) + (+-STFT %) math or
keep track of the LTFT cell number in use.
The number derived in the histogram can now be used as a 1:1 ratio in the VE table. So, if
you are showing -7 in your histogram, you could subtract 7 from the corresponding VE cell,
the net result should be a value closer to 0 during your next logging session.
This will take you about ½ the time to log the STFT, make the corrections to the VE table,
then verify the results on the histogram again.
Once you have achieved a histogram of near 0 values, you can go back into the editor and
re-enable your trims.
VE Tuning using % AFR Error Histogram
You are just looking at the AFR that is being read from the wideband. While it’s good to know, there are a few more steps needed to turn that data into fuel corrections for the VE table. It all depends on what you are doing. If you are tuning part throttle closed loop stuff, use the normal LTFT histogram for the error. If you are tuning WOT, open loop stuff, log the commanded AFR PID in the scanner. The software will automatically create a % AFR error histogram log against the wide band AFR reading. This % AFR error can be copied and pasted into the VE table. As I like to work on separate sections of the fuel table, I do my tuning then select the area on the histogram I was concentrating on. Then copy from the histogram and paste special on the same section of VE table. You can do the full % or % by half on the VE table. If I am doing multiple runs I will select the % by half to try and keep the normal motor dynamics (cyl, head temps, etc) from skewing the tune too much. When playing with large percents, say 10% up, use the FULL % adjustment. When your chasing smaller numbers, use the HALF % change otherwise you tend to keep overshooting the mark Be careful if you are working with a calibration that has two VE tables. If you are running mafless then you will be on the secondary VE and low octane spark tables.
In which case you can copy the corresponding KPA row from the scanner logs to your VE table.
LS1 Tuning Guide
This document will attempt to layout a step by step process to guide you in the tuning of
your ls1 powered vehicle
Requirements
In order to properly tune your car there are a few items that you need to have available
![Page 39: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/39.jpg)
1. HP Tuners
2. Laptop computer
Outline
There are many different ways one can tune a car, but below I have outlined a methodical
process which should work well.
1: Set absolute parameters
2: Start car, verify
3: Tune idle
4: Tune part throttle
5: Tune WOT
1: Absolute parameters
At this point the laptop is connected to the car and the base program is downloaded and
saved (*always* start with YOUR base program). The number one thing to remember when
editing the PCM is to make only one or a few small changes at a time.
First start with the "absolute" parameters. These values can be known and set with total
objectivity. These generally include gear ratio, fan turn on temps, rev limiter, etc. Choose a
desired idle rpm and enter it initially. The main idea here is to keep the program as stock as
possible - we only want to change values that have a concrete value - leave shift points,
fuel, spark, and other subjective values alone.
The only tricky parameter to set here will be injector constant. This is because the LS1 does
not have a manifold vacuum regulated fuel pressure, so as manifold vacuum changes (and
rail pressure stays constant) the pressure drop across the injector change, so the injector
flow/constant itself changes. If a vacuum referenced regulator is used, (some supercharger
setups, etc.) then simply fill in a constant value across the range.
2: Start car, verify
Now we will start the car and verify that everything is working properly. Before we actually
key on we should have our scanning/logging software hooked up and ready to go. The
suggested minimum parameters to be logged are:
RPM, MAF flow (g/sec or lb/min), MAF Frequency, MAP, Spark Advance, Knock Retard,
Injector Pulse width (left and right banks), O2 sensors - B1S1 and B2S1, IAC Position, L-trim
(left and right), S-trim (left and right).
In addition to any parameters of special interest, all data should be logged to disk.
![Page 40: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/40.jpg)
Now we are ready to start the car. Start it and begin logging. First verify everything seems
mechanically sound (oil pressure, etc.). Next, look at the MAF flow and/or frequency. As you
blip the throttle this value should increase/change. Let the car run for a while to heat up and
go through its DTC tests. Watch out for any kind of SES light. If any are observed determine
if it is a mechanical/electrical problem or if it is simply caused by a new engine combination
(camshaft, etc.). Once the vehicle is up to operating temperature verify that the O2 sensors
are responding to changes in the throttle. If the vehicle seems to be running decently (no
pinging or potentially problematic situations) drive it around for awhile. Monitor the STFT’s,
LTFT’s, and O2 values and ensure no great splits exist, exhaust leaks, etc. If the O2 sensors
are old or just aren't switching fast enough (anti-freeze and RTV can both kill them easily)
they should be replaced before continuing any further.
3: Idle
Now that we have verified everything is in proper working order we can begin tuning. Idle is
the best place to start. Previously we set the desired idle rpm - subjectively decide if this
rpm correct. If not, change the value and re-evaluate. Once the desired idle rpm is achieved,
we can begin tweaking it for stability. Take note of the IAC counts. In a no load situation
(neutral, no ac) they should be no lower than 30, and no higher than 50. A hole may need to
be drilled in the throttle body or enlarge the one that is already there to bring down the IAC
values. Do this until they are acceptable. Now put a load on the car (D if automatic, and put
the AC on). The values here should be no higher than 120 or so. If they are enlarge the hole.
Repeat the above process until the IAC values fall inline. If the idle is still unacceptable then
try adjusting the timing. Be careful of adding to much timing - it can give a great no load
idle, but with any kind of load will become erratic. A "hunting" idle is a sure sign of too much
timing. To adjust the timing at idle the base spark tables are the easiest place. The tables
are scaled vs. rpm and g/cyl of airflow. The rpm part is evident. To calculate the g/cyl use
the following formula:
g/cyl = 15 * MAF(g/sec) / RPM
This formula takes mass flow per unit time and converts it to mass flow per cylinder. The 15
is a constant which corresponds to the characteristics of a V8 running a 4-cycle combustion
cycle. The easiest thing to do is to load the log file into excel (export it as a CSV), then
create a formula in excel which applies the formula above.
4: Part Throttle
Not that the idle is correct and we have verified that the car is in proper working order we
can begin part throttle tuning. The first step in this is to record a long log file of driving, a
minimum of 20 minutes, but the longer the better.
![Page 41: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/41.jpg)
Once we have a log file we can begin the data reduction. The first element we will tune will
be the fuel delivery. At part throttle the computer uses the MAF meter to find the amount of
air entering the engine. It then calculates the amount of fuel required to maintain a 14.7:1
A/F ratio. It injects this fuel by controlling the injector pulse width. The O2 sensors, which are
very accurate at 14.7:1, provide feedback to the computer and let it know how close it is to
the goal. The computer uses this feedback to tweak the fueling of the motor to achieve a
proper 14.7:1 a/f ratio. This "tweaking" is exhibited to through the STFT and LTFT
parameters. These values indicate how the computer is correcting. Since injector flow and
pulse width are known with great precision, and we have no control over the internal
algorithms we will assume that any inaccuracy (which is exhibited by nonzero trim
percentages) is a result of an incorrect MAF transfer function.
In tuning part throttle we will tweak the MAF transfer function according to the LTFT values
we logged. There are 2 ways of doing this, the simplest is to view the LTFT values, average
them, and scale the entire MAF table by a percentage which will give the LTFT’s a 0 to -4.
LTFT’s are in units of percent so this is easy. If the average LTFT’s are around +5 and we
want to shoot for -4, then we would just multiply the entire table by 109% (or an increase of
(+5 - (-4))=9 percent). Likewise if we were at -10 and wanted to shoot for negative 4 we
would decrease the entire table by 6 percent, or multiply by 94%.
Once these are complete repeat the logging process above and check the new LTFT value.
We want to avoid positive LTFT values since they will be applied at WOT and will lead to
inconsistent fueling. Negative values are okay, though we shouldn't go too far out of whack.
The second option is a little more complicated. It uses the same premise above, but instead
of taking the average value it applies a localized LTFT correction to each point of the MAF
transfer function and derives a new curve. This method is not for everyone, but in certain
instances is very useful.
After repeating the above method until LTFT’s fall in line, fueling should be complete. Now
we can address spark. Spark advance is a rather difficult item to tune directly, but here is a
suggested method. This method relies on a properly functioning knock sensor without any
desensitization.
Assuming the car is naturally aspirated and does not ping with the stock timing advance:
Take the entire timing table and increase it by 5 degrees. Now start driving the car while
logging. Try and emulate every possible driving condition. If pinging is detected at any point
back out. If the car pings constantly reduce timing across the board two degrees.
![Page 42: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/42.jpg)
When done logging export the data to a CSV file and open in it excel. Here we will make a
pivot table. Create a column with g/cyl, spark retard, and rpm. Use these three items to
make a pivot table. Scale the table with g/cyl on the x axis and rpm on the y axis. Put spark
retard in the middle and set it's mode to average. You should group the axis along the same
lines as they are grouped in the PCM.
We now have a table of the average spark retard taken out at each timing point. Now go to
the table in the PCM and subtract 75% of this value from the actual spark advance at each
point where spark retard occurred. Re-log the car. Repeat the procedure until no spark
retard is detected. The timing curve should now be tuned.
If the car is an automatic we will now start tuning shift pressure, shift points, and TCC.
5: WOT tuning
The first thing to do is make a quick WOT pass in a low gear (a low load) and check both
O2's and knock retard. O2's are NOT accurate or precise at this a/f ratio, but can still be
used for a ballpark estimate. If they aren't 850-950 we will adjust the PE vs. RPM table
accordingly. This table is where all fueling changes at WOT are made. If knock retard is
present we need to localize it to a point in the timing table, so using the method above for
part throttle tuning, we will do the same thing for WOT tuning.
If either spark or fuel is changed then go back and check the other by logging. A wideband
O2 sensor is required to accurately set the fuel map. If wideband feedback is available the
a/f ratio will generally end the richest at your torque peak and leaning out from there to
peak horsepower and then a little rich before and after the shift point for safety.
Once fuel and spark are set then begin playing with the shift points and transmission
parameters automatic cars. If it’s a manual transmission we are good to go!
Follow-Up
After a week or so you need to re-verify all your logged values and ensure they haven't
drifted. If they have, repeat the processes necessary to bring them back in line.
Installing larger injectors and scaling the IFR table
You have to determine the new corrected flow-rate at the new fuel rail pressure (if the fuel pressure changed). Once you have determined the new flow-rate then you divide the old
![Page 43: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/43.jpg)
rate into the new rate. That will be your percentage to increase your IFRs.. i.e. 1st
my old injectors are 28.8lb flow at 4 BAR (58psi) my new injectors are 30lb flow at 3 BAR (43.5) Divide 4/3 = 1.333, then square the result which equals 1.155 Next multiply the new injector flow-rating, 30 (at the old fuel pressure) by the product of the BAR division (1.155) and you get the new flow-rating at the new fuel pressure. Which in this case is 34.65lb flow at 4 BAR (58psi) 2nd
With the above information you would then divide the new flow-rate by the old flow-rate: 34.65 / 28.8 = 120.31%, which is the increase in injector flow. 3rd
NOW multiply you IFRs by 1.2031 (raising you IFRs 20.31%) to correctly scale the IFR table...
30lb. SVO Injector Scalers
Scalar for 99-00: 1.368Scalar for 98,01-02: 1.258
Proportional Fuel Control
Here are two files to help with the what and whys of proportional changes.
Open the Proportional.cfg file first, then the idle prop good.hpl file.
http://www.hptuners.com/pub/idlepropgood.zip
Everything is in high resolution so you can see the data better.
Proportional fuel’s entire job is to move the AFR up and down slightly. Just enough to go
above 14.7 and below 14.7
Proportional fuel is added and subtracted to the base pulse width. It's not an engine tuning
value, it’s the beginning of the closed loop learning process. Unlike most PID (proportional
integral derivative) controllers, the closed loop fuel is PI only.
Here is good PID link http://www.expertune.com/tutor.html
The VCM makes the fuel go rich with proportional fuel and looks for the change on the O2
![Page 44: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/44.jpg)
sensors. It counts the time it took to go rich.
Then after that it does the same thing for lean. It’s always switching the fuel back and for to
try and “center” it around 14.7
An expired time in the AFR switching results in an STFT correction. Persistent errors result in
an LTFT correction
There are three values in the third chart. Left O2, Right O2 and AFR as measured with a
Dynojet Wideband Commander.
You can see that the Stock O2 sensors always report around 800 MV for rich and 50 MV for
lean.
They Dynojet shows the AFR switching from around 14.6 to 15.2
The stock sensors will report 800mv or 50mv on just about anything above or below 14.7, so
they are not a good tool for tuning this.
If your proportional fuel tables were too low, they would not move the fuel far enough to go
above or below 14.7
If your proportional fuel tables are too high, they will move the fuel much higher and lower
than need be to cross the 14.7 point. This will saturate the O2 sensor signal.
This over correction causes the engine RPM to oscillate slightly as it goes very rich to very
lean.
While the proportional tables are a % Base Pulse Width modifier, you need to know the
actual Airflow & BPW the engine is using in order to calculate it.
With varying load conditions it’s almost impossible to do by hand. Just log the data and see
where things may need a small shift.
You normally don't need to touch these tables unless you have increased your injector size.
Be fore warned that increasing the injector size without the use of a vacuum referenced fuel
regulator starts to cause problems on some engine combinations.
![Page 45: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/45.jpg)
Guys running large blower cams and forced induction will notice this very quickly. A lot of
aftermarket injectors are flow rated at 43 psi while you are running close to 60 psi.
Now when you get into an area where the pulse width is very small, and the injectors cannot
fire you wind up with a false lean spot.
The VCM will try to correct for this by making the engine rich. Now the engine is to rich and
it will make it lean again to the point where the injectors don’t work. This cycle will repeat
resulting in large engine RPM changes and weird looking STFT values.
On extreme cases it feels like a hesitation in the motor during cruise and deceleration.
Torque Management Info
From my 2002 service manual:
Torque Management (TM) is a function of the PCM that reduces engine power under certain
conditions. TM is performed for the following reasons:
1. To prevent overstress of the power train components.
2. To reduce engine power during certain throttle actuator control (TAC) system faults.
3. To limit the engine power when the brakes are applied more than approximately 40%.
4. To prevent damage to the vehicle during certain abusive maneuvers.
The PCM monitors the following sensors and engine parameters to calculate engine output
torque.
- Air/Fuel ratio
- Mass Air Flow (MAF)
- Manifold Absolute Pressure (MAP)
- Intake Air Temperature (IAT)
- Spark Advance
- Engine Speed
- Engine Coolant Temperature (ECT)
- A/C Clutch Status
The PCM monitors the torque converter status, the transmission gear ratio, and the
extended brake switch input in order to determine if torque reduction is required. The PCM
retards the spark as appropriate to reduce engine torque output if torque reduction is
required. The PCM also shuts off the fuel to certain injectors to reduce the engine power in
the case of an abusive maneuver.
![Page 46: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/46.jpg)
The following are instances when engine power reduction is likely to be expected:
- During transmission up shifts and downshifts
- Heavy acceleration from a standing start
- The brakes are applied with moderate to heavy throttle (with the traction system active).
- When the driver is performing harsh or abusive maneuvers, such as shifting into gear at
high throttle angles or shifting the transmission from reverse to drive to create a rocking
motion.
The driver is unlikely to notice the torque management actions in the first two instances.
The engine power output will be moderate at full throttle in the other two cases.
The PCM calculates the amount of spark retard necessary to reduce the engine power by the
desired amount. The PCM disables the fuel injectors for cylinders 1, 4, 6, and 7, in case of an
abusive maneuver.
Automatic Transmission Info
TCC
Typically the TCC apply speed is about 2-4 MPH higher then the upshift for that gear. The
release points are going to vary depending on how you want the trans to behave. I have my
TCC release speeds set at 3-4 MPH above my downshift speeds for each particular gear. This
![Page 47: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/47.jpg)
causes the TCC to release first, prior to downshifting. If more pedal effort is required, then
the trans will downshift to a lower gear. This has made my Camaro SS perform very nicely
and accelerates quicker than OE tuned, it essentially killed all the dead spots the OE tune
had.
Edit:
Adjust this table after you have fine tuned your part throttle shift points.
Also note that the 3rd gear apply speeds must be higher (can be by 1 MPH) than the 4th
gear apply speeds. Otherwise you will experience the TCC lock up in 3rd, unlock and shift to
4th, then lock up in 4th again. This is bad for the TCC and it is why the OE tune is setup to
lock in 3rd higher than in 4th.
Here is a screenshot of my tables:
High and Low Octane Tables
There appears to be a lot of myths and confusion about the High and Low Octane tables in the LS1 PCM. The PCM will ALWAYS try to run with the High Octane Table values, however if there is a MAF or Knock DTC set, it defaults to the Low Octane Table only. But with a vehicle that has neither of those faults set it actually does a 'blend' of the two tables, it does not totally switch between one or the other. Say for example the High Octane table has a value of 20 degrees, the same load point on the Low octane table has 10 degrees, and your octane multiplier is set at 50%, the final timing value would be 15degrees, if the octane multiplier is set to 75% it would result in 17.5 degrees, etc. So what changes the Octane Multiplier value?, I have personally logged this on my car so I have seen it first hand. Basically any sustained amount of knock above about 2 or 3 degrees causes the Octane Multiplier to head towards 0%. It is a constantly changing value, it does NOT get reset to 100% when you fill up with fuel, the only thing that will bring it back to 100% and keep it there is minimal knock activity. This has been tested on my own 2000 Commodore and emarkay's Camaro.
Tuning Primer
Raise the CAGS enable temp to 250 degrees
* Set TQ Management to 400 ft-lbs
* Zero out the IAT retard up to 50 or 55 degrees C
* Reprogram your fans to keep the coolant temps about 10 degrees above the lowest TStat operating temps you see on the DIC
* Low speed fans first, high speed fans second. High speed turn off is one degree above low speed turn on
![Page 48: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/48.jpg)
* Scale MAF table +10% to lower LTFT by multiplying it by 110
* Scale the PE vs RPM table back 3% by multiplying it by 97. This will lean the car a little bit.
* Leave the timing stock
I scaled your MAF up 10%. This does not change the actual detected MAF frequency, but it does increase the MAF Air flow Rate that the PCM calculates from the MAF Frequency. I am doing this to compensate for the additional undetected air that is probably now sneaking by your MAF sensor because of the T1 air box. The increase in MAF air flow rate that I am programming in causes an increase in ‘perceived load’. You will now be running under a slightly higher load at all throttle levels. Idle will be a higher MAF air rate & load, cruising will be a higher MAF rate & load, and WOT will be a higher MAF rate & load. You can easily see the results of this in Autotap.
The increase in perceived load will tell the PCM to supply more fuel when delivering the initial metering. This will end up reducing your LTFT because your initially delivered mixture will be richer and closer to 14.7:1. You end up getting the same fuel in the cylinder, except your initial metering is more accurate. The PCM does not have to compensate nearly as much with STFT & LTFT to get 14.7:1 as it did with the stock programming. You will see higher MAF rates and lower closed loop LTFT values. The lower closed loop LTFT will also lower values in PE Cell 22 LTFT.
The increase in perceived load may also cause a slight DECREASE in part throttle timing, but I do not think that you have to worry about that right now. You will still get the full 22 degrees TA at WOT/High RPM. The slight decrease in part throttle timing can be addressed if it bothers you, but I doubt that you will even notice it.
I scaled back the PE vs RPM table by 3% to lean out the entire A/F curve a bit at WOT. I am not sure how much of a shift it will cause, but I am guessing around ½ a point. I could be wrong, YMMV. You should definitely dyno with a wideband to check the A/F curve. You should also log data while doing a 4th gear 2000-6000 RPM dyno-like pull to make sure that you are not knocking before heading to the dyno. If these changes create additional WOT knock signals then a dyno run is a waste of time & money.
Idle MAF scaling
You might also notice while scanning that your LTFTs go positive when you let off on the gas in gear at higher rpms.Once again the maf is getting forced air and dumps fuel.If so, the decay in gear table in the throttle follower takes care of that.
I settled on a 10% add across the board, then copied the < 3000 Hz from the original MAF table. The theory is that the Vararam doesn't flow much more air at idle than it did with the stock. The curve is definitely a cube polynomial, which makes sense because we're talking about a volume.
Cell 22 PE Theory
Some people on the forums have claimed that Cell 22 gets the last LTFT value the PCM was using right before you entered PE cell 22. I know for a fact that this is not true. Cell 22 is based on a more complex formula. You will also find that as you are driving around during the day (after learning is complete) the value in Cell 22 does not really change no matter what you were doing right before entering PE. Floor it from a 40 MPH roll in 6th at 2000 RPM
![Page 49: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/49.jpg)
and Cell 22 has value 'X'. Floor it from a 30 MPH roll in 2nd at 3000 RPM and Cell 22 has the same value 'X'. Floor it from a 1 MPH roll in 1st and Cell 22 has the same value 'X'. You get the picture. This cell is NOT based on the very last LTFT the PCM was using. Cell 22 is based on a more complex formula and the LTFT value in Cell 22 takes a while to change. That is why you should give the PCM time to learn.
The value in Cell 22 can shift around during learning. This is why Cell 22 should be very close to zero. It makes dyno tuning easier because you do not have to wait for Cell 22 to settle in while tuning the WOT PE in the dyno. Remember that every time you upload with LS1Edit the PCM is rebooted, all data is lost, and learning must be done over. If you do not have to worry about learning large LTFT values in Cell 22 then your job will be much easier.
If you have a really small value in Cell 22 (<3%) then I would not worry about the dyno tuning/PCM learning problem. What will happen is you will dial-in the car on the dyno and when you hit the street the car will just run a bit richer on the street as the LTFT in Cell 22 comes back up. If you run with very low (or zero) in Cell 22 then this will not really cause a significant difference. This is also ok since your car's initially delivered A/F ratio may really end up a bit leaner on the street as opposed to the dyno due to cooler air rushing in while driving. If you get small values (<3%) in PE cell 22 then the small amount of additional fuel delivered by <3% LTFT in Cell 22 may bring you back to where you were on the dyno.
OTOH, if your car is running with high values in Cell 22 (>10%) dyno tuning will be almost impossible. When you make changes with LS1Edit your LTFTs will be temporarily reset back to zero, This means that the ratios you see on the dyno (with 0 LTFT in Cell 22) will be a lot different than what you get on the street when your LTFT values return to >10%. You will probably end up with an overly rich mixture on the street when the LTFT values come back up.
I think people are too concerned with getting a specific LTFT value. A stock Z06 runs with about 3%-5% in cell 22, so if you get your bolt-on car to run with less than 4% in cell 22 it should be fine.
Fan Temps
My advice is to take the car on the highway for a while and see what temp your coolant settles to. Set the low-speed (stage 1) turn OFF about 3-5 degrees above this. Set the low-speed (stage 1) turn ON 5 degrees above the turn off temp. Set the high-speed (stage 2) turn OFF 1 degree above the low-speed (stage 1) turn on. Set the high-speed (stage 2) turn ON 5 degrees above the high speed (stage 2) turn off. Keep in mind that this fan temp probably will not match up with the temp shown in your DIC. You will need to test a few settings to get it correct.
Disabling Torque Management
Engine Set your Max Engine Torque vs Gear to 640 (If 1279, already disabled from factory. 1279 and 640 will yield the same result) Set your Max Engine Torque constant to 640 Enter abuse mode test > 8000 Enter abuse mode test < 1 Automatic Trans Trans Abuse Mode enabled "No" Torque Reduction vs Torque vs Shift tables to Zero
![Page 50: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/50.jpg)
Closed Loop Mode vs. Airflow Table
That table shifts/squeezes the airflow range down to a smaller size axis.
2D tables are always set up as: Table returned value vs. Variable
In this case the airflow variable is used on the lookup table to return a number. This means the airflow range of 0-320gm/s will be divided into 80 table locations. That gives you 4gm/s per row. Returned table value can be from 0-16. This is your "Airflow Mode".
Now take your returned table (0-16) value and use it as the new axis against all of the closed loop vs Airflow mode tables.
You can work it forwards or backwards to see what the airflow is going to be.
O2 Sensor Oscillation
Adjust the O2 error gain tables at idle and in motion. These control the fuel charge to force oscillation. If they look lazy (tend to flat line or not peak) then add 10% at a time. If they plateau at the top you have too much fuel charge.
Troubleshooting a PC serial port
How to test a serial port using Windows HyperTerminal.
This tutorial applies to a computer running Microsoft windows, and relies on the built in terminal program Hyperterm. If your installation of Windows does not have the program, you may have to install it by using the control panel add/remove programs function. The instructions below were written using a Windows 2000 system, so some of the details may be slightly different for your version of windows and the accompanying HyperTerminal program. You may want to print these instructions so you will have them handy while you are working.You will need a method of looping back the serial port signal. One way to do this is to obtain a 9 pin D connector (female) which will plug into the serial port. Radio shack part number 276-1538 is suitable, but similar connectors are available at most electronic parts supply stores. Construct a test socket by wiring pins 2 and 3 together with a short length of wire. Take care to connect to the correct pins (they are usually numbered on the connector) and do not connect or short to any other pins. You can solder the jumper wire in place, or you may be able to use a test lead with micro clips at each end. Leave all remaining pins unconnected. Have this test socket handy for use in the following steps.
Serial port Loop back test
1. Boot your computer. After Windows loads, be sure to close any programs that may be running automatically to ensure they do not interfere with the tests.2. Run the HyperTerminal program. The usual method is: Click START/PROGRAMS/ACCESSORIES/COMMUNICATIONS/HYPERTERMINAL
3. 'New Connection' dialog window will pop up. Enter a name for the connection session. You can choose any name you wish, such as TESTPORT. Click OK.
4. 'Connect To' dialog window will pop up. Ignore the data boxes for phone or dialing information. On the drop down box, select the com port that you will be testing. In this example, COM1. Be sure you select the correct COM port, because it is the only port that will be tested unless you repeat the test procedure for each port to be checked. Click OK.
![Page 51: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/51.jpg)
Note: If you don't see the desired com port in the dropdown list, it means the operating system does not see the port. The port may be defective, disabled, in use, or the port drivers may not be installed correctly.
5. 'Port Setting' dialog window will pop up. Select the settings in each drop down box as follows:Bits per second 19200Data bits 8Stop bits 1Flow control NONEWhen you have adjusted the settings, click OK.
6. HyperTerminal main window will be displayed.Click in the text window, then type in a few characters. You should not see the characters that you type.If you see characters, the local echo is turned on and it should be off. To turn it off, click FILE / PROPERTIES, then click the SETTINGS tab. Click the ASCII SETUP button, and uncheck the ECHO TYPED CHARACTERS LOCALLY box.
7. Plug the test connector socket into the Com port to be tested.Be sure to find the correct physical port which corresponds to the port you selected in step 4, because this is the only port which will be tested. Click in the main HyperTerminal window, then type in a few characters. You should now see the message that you typed. Since it is actually the returned message which was looped back through the test connector, it indicates that the port is able to transmit and receive. If you still see no characters, some aspect of the port is not working correctly.
When you exit HyperTerminal there is no need to save the connection file. You can repeat the test for any other COM ports you need to test.
Spark Control Information Basics
Why EST?To provide improved engine performance, better fuel economy, and to better control exhaust emissions, the computer controls spark advance (timing) with the EST system. To calculate spark advance the computer uses information from the manifold absolute pressure (MAP) sensor and the coolant temperature sensor (CTS) as well as engine RPM.How spark advance is calculated:? Low MAP (low engine load) = more spark advance? Cold engine = more spark advance? High MAP (high engine load) = less spark advance? Warm engine = less spark advance? High RPM = more spark advance? Low RPM = less spark advance
Idle Relearn Procedure
Automatic Transmission: 1 Turn off the ignition 2 Restore the PCM battery feed 3 Turn Off the AC controls 4 Set the parking brake and block the drive wheels 5 Start the engine 6 Allow the engine coolant temperature to reach 176 degrees F 7 Shift the transmission selector into the drive range 8 Allow the engine to idle for 5 minutes
![Page 52: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/52.jpg)
9 Turn on the AC controls (Omit for 2000-01 model) 10 Allow the engine to idle for 5 minutes (Omit for 2000+ model) 11 Shift the transmission selector into Park 12 Allow the engine to idle for 5 minutes (Omit for 2000+ model) 13 Turn off the AC controls (Omit for 2000+ model) 14 Allow the engine to idle for 5 minutes 15 Turn off the engine for 15 seconds
Manual Transmission: 1 Turn Off the ignition 2 Restore the PCM battery feed 3 Turn Off the AC controls 4 Set the parking brake and block the drive wheels 5 Transmission in neutral 6 Start the engine 7 Allow the engine coolant temperature to reach 176 degrees F 8 Turn on the AC controls (Omit for 2000+model) 9 Allow the engine to idle for 5 minutes (Omit for 2000+model) 10 Turn off the AC controls (Omit for 2000+ model) 11 Allow the engine to idle for 5 minutes 12 Turn off the engine for 15 seconds
AFR PID Info
Air Fuel Ratio Commanded Lo Res - 0.1 resolution (1/10)Air Fuel Ratio Commanded Hi Res - 0.0009765625 resolution (1/1024)
Jimmy Blue’s comments on this document – adapt and integrate
I have approached tuning my car from a very different direction; more event / dislike-driven than a tuning plan.
I disagree with eliminating torque management. It has a definite purpose and benefit. However, eliminating it is much simpler than training it to play nice. The sheer number of people having to move up to their second, third rebuilt trans argues against trans TMdeletion.
I also haven't had enough trouble from my MAF to warrant jumping on the speed-density tuning train. I have tweaked on my VE table to improve idle and low RPM fuel trimming, when I discovered the MAF table had no effect there and was having tip-in KR that was out of line with steady state spark advance tolerance. This was before SD tuning "caught fire" on the 'boards. It becomes more appropriate / necessary when you go to big cam or just want to strip stuff out of the engine compartment and air tract. But I think for someone with low mods it may be just a detour down the scenic route. But it probably needs to be gone through at least once when you put cam, headers, even a grossly improved cat-back on. I did not go through the full drill as described; I just tweak and smooth and observe, repetitively.
However I did work a remote tune by email with a guy off this 'board and I did have him run through a more methodical drill. I did not disable the MAF at the time, just turned off his closed loop in a "diagnostic tune", had him run logging sessions and observed the O2 readings to work the low end of the VE table over in a binary search sort of way. The big end I just worked over by eye and by KR events / O2 dips on throttle. But this is something I'm used to doing, just in a different field, and probably the enthusiast tuner can use more of a cookbook. I'm a pinch and dash sort, myself.
I disagree that -5 to +5 is good for LTFTs. No LTFT above zero is my view. The purpose is to not have any "mystery adders" to WOT fueling. A +5 LTFT will show up as a 5% rich error,
![Page 53: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/53.jpg)
like 13:1 becomes 12.4:1; you're trying to tune it tighter than that. On the flipside there is nothing, really, wrong with negative trims and I prefer this bias for other reasons as well, on an A4; elevating the airflow back-door elevates the "load" and trans line pressures etc. This is why I run the fattest of the factory MAF tables with my 85mm.The only place where trimmed-lean, naturally-rich might bother you is on transient throttle and there a little enrichment is more likely a bonus.
Knock Retard with stock settings messes up your attempts to eliminate it by the histogram method. It's too persistent once triggered and will splash over onto adjacent cells as you drag the tail through them in time. I have reduced my KR attack rate and taken the decay rate way up which clarifies this some. But you can't really get rid of the effect entirely. Still if you pursue the method in the doc you will be taking timing out of cells that don't really need it, and then spend more time tweaking them back up. You really want to first see the root of the knock event. This is something I prefer to do in Excel where I can see at aglance the knock event and its predecessors. In my experience all of my KR, with factory spark or even Predator-level advance (+6 degrees) has been from fueling shortfall on throttle opening. This is seen as a dip in the O2 voltage in the prior 1-3 frames. If youcorrect this (most likely it's the VE table, unsteady MAP follows throttle opening and puts you into SD mode for some chunk of time) then transient KR will be suppressed and you can maximize timing for what the engine can take in steady pulling. But if you have transient KR and stock settings the KR will persist for many seconds and obscure the real timing tolerance.
PE section makes no mention of the PE MAP enable or TPS enable fields. These are something that can be worth playing with, some people suffer from late PE apply, a ping that comes in at (say) roughly half throttle, mid-MAP. This is a street driving sweet spot(but maybe sour). Lowering PE enable values may be helpful though too much, and you may see a drop in mileage without performance benefit.
Transmission settings area I see (surprise) some stuff to disagree with as well. The shift speed vs TPS% table which it says to leave alone is the one that is key to around-town responsiveness and power band management at less than full throttle, getting a pedalresponsive shift action is major fahrvergnugen. I have posted a few Excel sheets (from now-obsolete tunes but still useful as a guide) with shift point settings. Shifting points, pressures (cycle times and hardness) are very setup and taste dependent.
Personally I would prefer to see a document that is written more from the symptom -> treatment point of view, than one that encourages a routine series of tuning activities. Not to disparage the work, which represents a good bit of effort and initiative and is the most useful reference I've seen; just that I see some people go plunging ahead into things they didn't seem to really need to mess with. Like people with stock config cars jumping into speed density tuning, etc. because it was the second thing on the list.
I think there's too little emphasis on figuring out what the car wants, as a predecessor to tuning action. The diagnosis should come before the prescription. Though we can all agree she needs to get her fat ass on the Stairmaster.
Open Loop Fueling
Open loop F/A vs. Coolant Temp Table
The table represents the equivalent ratio values.....or the ratio difference between the commanded a/f ratio and the stoich. a/f ratio.
To determine what a/f ratio your car is commanding with the OL/AF table just divide stoich AFR represented in the PCM (14.7 roughly) by the value in the table cell.
![Page 54: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/54.jpg)
14.7 / (value in OL AF table)ie14.7 / 1.13 = 13.00
To lean the car out decrease the value for the coolant temperatures in which the car is having the rich condition.
This table is referenced any time the vehicle is in open loop operation (unplugged O2 sensors, cold/warm starts, Power enrichment......kind of).
One is, who knows what the car really wants for mixture when cold? I think here you just have to back into it, drivability / startability based until you find where it starts not to like going leaner, and then back out.
Two, you have a situation where you are grossly over-enriched. This makes the engine even less efficient at idle, needing more air and raising MAP, making for more enrichment, positive feedback. As you lower the enrichment the MAP will come down.
Back in the old days one school of shade tree thought was, you should tune idle mixture for the highest vacuum gauge reading (lowest MAP). This is probably not a bad way to go. Problem is in getting any much cold idle time. But log idle MAP and ECT every morningright after you knock the OLFA, cold part of the table down by 0.95X per day, and you should shortly find a minimum MAP curve (clip and scatter-plot MAP vs ECT at idle as you slide through warmup). You can then pick from the best result, the table scalar youshould have stuck with. If the lines cross that would tell you to borrow some from one table and some from another, whichever produces the lowest MAP and the happiest motor.
Note that this table also likely supersedes PE vs RPM if you have a habit of getting on it, cold, so your limit to leaning out may come from cold ping rather than idle quality. It's just unfortunate that big cams elevate idle MAP into the area where you also need enrichment for high actual cylinder pressures, at higher rpm. There you would have to compromise in favor of power I expect, but you might as well set about finding the line, and see how much improvement you can stand.
VE Tuning Notes – Add to VE tuning section
My AFR table is modified but only to command the desired AFR I am looking for at those cell values.The stock table is not meant to be run full time. It's a bit rich in places.
If my table was not smooth the throttle transitions would suck.
Log commanded AFR to see what your PCM is trying to obtain.. If your tune is stock you may not like the values you see in a SD vehicle.
I have a multiplier of 1 on my AFR table for all cells above 140 F.
I use PE to increase desired AFR under load. I know as soon as my car is in PE by the change of the commanded AFR as I only run 2 AFR's.. but I also only tune for a very narrow temp range as I race with no thermostat.. In more normal driving conditions I would modify my AFR table to be more temp friendly.
VE does not change your commanded AFR.. your AFR and PE tables do.
With your commanded AFR table and PE table set to the AFR you desire, your PE table should generate an AFR (use your WB O2 to log) that matches your commanded AFR.
![Page 55: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/55.jpg)
Disabling the LTFT's helps when you tune the VE table.. Re-enable when you are done.
The AFR Commanded Error histogram in HP Tuners VCM Suite makes VE tuning a snap.
Be sure to log the commanded AFR.. I think there may be a couple spots in your tune that may be throwing your VE table off which is why it may look the way it does yet your car still drives fine.
Changing the VE does not affect commanded AFR.. it affects ACTUAL produced AFR.. which you can verify with a wide band against the commanded AFR to see how true your VE table really is.
When you look at your VE table.. picture a cursor going over the VE table as you experience various parts of driving conditions.. as it goes over very drastic conditions you may notice a slight hiccup in the way the car responds. A smooth VE table will result in smooth transitions.
Also, its easy to tune the low rpm low kpa cells of the table as you are in them quite often, however high load low rpm you may barely hit.. so you will not get a lot of data in that range.. When you do hit those cells, adjust the surrounding cells as well (by a lesser margin) to keep things inline.
If you log one cell and only one cell and log 1000 frames.. and you need to add fuel, if you add +10 to that cell, add +5 to the surrounding cells.
Every time I change a cell I change the surrounding cells to a lesser degree.
I use the multiply by half % feature when I paste in my histograms to my VE table.
Quote: Originally Posted by HumpinSS But don’t you want to see commanded and actual match hence movin the ve table until that is achieved?
Yes.. but remember the PCM interpolates between cells.. so if you have a cell that is very drastic from the surrounding cells, if you lower the drastic cell and increase the surrounding, you achieve almost the same result for that cell while smoothening out the transition between the before and after cells.
Quote: I though the pe table was a multiplier of stioch. 14.7/1.13=13.00 commanded and then you tried to get the WB to match this for actual
Exactly..
At low load points in the table changing the VE can drastically change your AFR..
Quote: Originally Posted by Black02SS Keith - I am curious as to your tune. Is your IFR table stock? When you adjusted your PE table, does it mathematically correspond to the afr you see?? ie 14.62857/1.13=12.96. Is your Open loop AFR table back to stock values as well after you adjusted the VE table??
Yes, all my values correspond almost perfectly..
Remember WB's do have a % of error.. and they will vary..
![Page 56: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/56.jpg)
The reason some of the choppy tables work is because of interpolation.. One cell may be a giant spike but average it with the surrounding cells and its semi-in range.
Remember, for VE tuning stay out of PE.. and make very gradual throttle transitions.. Don't stab the throttle.
I tune my idle and part throttle separate from heavier loads and WOT.. Mixing the tuning areas in one event will make things difficult. I also tune idle and part throttle at 14.7 because that is where I want to be. Remember to make sure your low octane timing table is ok if you are in SD. Timing will throw off your fueling big time.
Proportional Idle Table
The whole purpose of that table is for different closed loop behavior at idle. Even with GM, some vehicles use it others do not.
About the only thing I use it for is no proportional change due to airflow variations at idle. Other than that, there is no right/wrong with this one.
Open loop SD Mode Configuration
To do this you need to do the following: - set the closed loop enable temperature to something really high (Engine->Fuel Control->Open and Closed Loop) - set the Open Loop F/A table to your desired values (Engine->Fuel Control->Open and Closed Loop->Open Loop F/A vs. ECT vs. MAP)- set the PE table to your desired values (Engine->Fuel Control->Power Enrich->PE Enable % TPS vs. RPM->Cold)- disable the MAF by setting MAF Fail Frequency to 0 (Engine->General) - tune the VE table until the actual measured AFR (on a WBO2) = the commanded AFR logged in the scanner. - if you have the EIO interface and a WBO2 with analog output you can log the AFR % error directly into a histogram and in a couple of clicks correct the VE table by the required amount using our copy/paste special feature.
MAF Sensor Info
The MAF sensor measures the air coming into the engine by means of a heated wire that is cooled by the incoming air in the MAF sable tube. The MAF circuitry applies more voltage to keep the wire at a constant temperature. The MAF circuitry measures this voltage. This in turn tells the PCM how much air is flowing into the engine which then calculates engine load and controls injector pulse width.
The MAF curve is essentially the plot between units of MAF voltage and the mass of the air flowing into the engine. The MAF curve is the most important parameter used when tuning an engine. If the MAF curve is not right, then fuel will be wrong as well as spark. Spark is calculated based on load – and load data comes from data gathered from the MAF.
With speed density A/F was calculated and commanded via a VE table. On a Speed Density vehicle if the VE table was set up wrong the A/F would be incorrect and the vehicle would be either rich or lean when compared to your commanded A/F. To make things simple; on a vehicle equipped with a MAF, the MAF Signal can be looked at as the VE Table Lookup in a speed density vehicle. If the MAF Curve is set up incorrectly, the vehicle will have the wrong AFR when compared to the commanded A/F.
The terms load and volumetric efficiency can be used interchangeably. It is usually
![Page 57: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/57.jpg)
expressed in a percentage, such as 50% load. Load of volumetric efficiency is actually the measurement of how much air if flowing into the engine. If a 4.6L engine sucks in 4.6L of air in two engine revolutions (it takes two engine revolutions for all the cylinders to fill) then the load is 100%. If it only inhales 2.3L of air, then the load is 2.3/4.6 or 50%. On a blown car you can force more air into the engine that it’s actually displacement, so in these cases, load will go above 100%
If you command a 12:1 air/fuel for WOT in the base fuel table, you will adjust the MAF transfer function until you achieve the 12:1 air/fuel ratio. By calibrating the MAF Function in this way, you will now have the correct engine load and a mass air meter that is working correctly. Because the mass air meter is now working correctly the car will be capable of adjusting the air/fuel ration on its own as air density changes. To calculate a MAF correction factor, or the amount you need to adjust the air meter transfer function by, you divide the commanded A/F into the actual A/F ratio (actual/commanded). The result is the correction factor. You can only get this info from a wideband and PCM datalogging.
The best scenario is to have a MAF that will not peg. Pegging means that the MAF has reached its maximum capacity, it can physically still flow more air, but the electronics will not measure it. A MAF will output to battery voltage, but most PCM’s will only acknowledge to 5v. The PCM in this case will think the air coming in the engine is staying the same (5v to 12v+) so it will not add more fuel, but more air will be entering the engine, causing a possible lean condition. Additionally, the load calculations after the MAF pegs will be off.
Quick Notes:
Try to use a MAF that only uses 80-90% of its range. This allows for the best resolution in the lower RPM levels. A suck through maf is usually best for blower cars. Suck through aka Draw through setups are usually easier to tune, and will always require less range from the MAF sensor. You have a blow-through setup it will peg sooner then the same combination in a draw-through setup.
Air Flow Mode and VE Tuning
I’ve read this thread and understand the issues and mathematical principles you are talking about. But I will offer a pragmatic view and suggest you are all overlooking an important factor when fuel trimming. Firstly, GM would have already gone through this mathematical mumbo jumbo to accurately flow rate these MAF meters. The important thing is you get a MAF with a known calibration. You can bet that whatever you think it needs to be it will only be out by a few %. So leave it stock until you have determined by how much it is out. Understand how closed loop fuelling works before thinking that the VE or MAF table is out. Before anything you need to ensure your O2 sensors are swinging nicely at idle and in motion. If not, alter their gain by modifying the Base O2 Sensor Airflow Mode until it does. The move into the Base Airflow Mode. The VCM only has a resolution of to 9 cells for O2 switching. You can this by opening the O2 Closed Loop Proportional base vs Airflow Mode table. The Airflow Mode maps to a g/sec Mass Airflow via the Base Airflow Mode table. What you want is even and highest resolution for closed loop fuelling up to Airflow Mode 16 spread over each of the 9 cells. You need to alter your Base Airflow Mode to suit your CAI plumbing to achieve this. I have 3 Airflow Modes fuelling LTFT cells just off idle and to 12 g/sec. The I spread the remainder Airflow Mode Cells so that there is resolution of 2 cells per Fuel Cell. This will result in rock steady fuelling in closed loop.
![Page 58: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/58.jpg)
My LTFTs are within +/-1 at all times. My STFT cells are mostly 0 and are rock steady under ALL driving conditions. Having nailed your fuelling cells and calibrated the closed loop switching Airflow Modes for max. resolution for each Fuel Cell you can modify your MAF table by the total average % of LTFT as shown in the LTFT histogram in HPTuners. Mine was showing up to 2% so I scaled it up by 2% to result in consistent 0 and +/-1 LTFTs across the board. If I was performing a SD tune I would then calibrate my VE table so that it is inline with my derived Dynamic Air calcs. I am taking the approach here that the MAF is the correct and the VE table is out - not the other way around. Since my logged Dynamic Air calculated off the VE table was already inline with my MAF g/sec I didn’t need to and just smoothed it out a bit.
I now have excellent throttle response and fantastic fuel economy. Closed Loop fuelling is rock sold steady and won't change cell by cell - a common frustration when fuel trimming. It will change as the ambient temps. vary but by no more 1% per 10*C. So if you get it set at LTFT 0 for 15*C you can be sure you have good fuelling from -5*C to 35*C - pretty much all driving conditions. This is the approach I took and it has worked tremendously well. It is a new approach to fuel trimming and so would appreciate your feedback on your successes/failures. I am inclined at this point to believe the Base Airflow Mode table is the key to closed loop fuelling rather than the MAF. Base Airflow executes closed loop fuelling - not the MAF. The MAF merely provides g/sec measures to tell it what to do. Kind of like a car needs a driver
PID Logging Information
The Table Display is the main control window for scan tool diagnostic parameters. What you chose to list in the table display window is what the program will poll the vehicle for. Any gauges or chart displays opened will require the parameter to be listed in the table display for functionality. In the table display you are allowed a maximum of 24 bytes of data. Some parameters require 1 byte where as others require 2. The rate at which the scan tool refreshes depends on the vehicle make and the number of parameters you monitor. Not all models support dual channel scanning. Each scanner refresh is termed as a frame. The following chart gives you an approximate of how many frames per second you will see: Single Channel Dual Channel 1-6 Bytes 20 frames/sec 40 frames/sec 7-12 Bytes 10 frames/sec 20 frames/sec 13-24 Bytes 5 frames/sec 10 frames/sec
Step by Step Tuning for HP Tuners 2 Bar OS
Pick a quality wideband. Ask questions about guaranteed accuracy before you buy.
Here is what I normally do for initial setup. This is for reference only, and use at your own risk.
1) Run the 2bar upgrade.
2) Copy your old VE table into the new 2bar VE table (we default it at 512)
3) Duplicate the 100 kPa VE row to all other rows from 105 to 210 kPa (copy/paste)
![Page 59: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/59.jpg)
4) Disable Torque Management (Set to 640 for all gears)
5) Disable any engine or trans abuse
6) Raise P0101, P1514 table levels.
7) Raise Burst Knock Enable Cylinder Air levels
8) Disable CAT Over Temp (COT)
9) Disable Air Pump
10) Change your High/Low Octane timing from 3000 Rpm+ to 14 degrees
11) Ramp your IAT spark table to retard timing from -1* (104DegF) to – 3* (194 DegF)
12) Zero out any AFR spark correction
13) Set PE enable tables:44 44 44 44 44 44 44 44 44 40 34 14 14 14 14 14 14 14 14
14) Set the PE vs RPM table to 12.8 to 1 above 3000 Rpm (no need for excess fuel when not in boost)1.249 1.204 1.18 1.249 1.272 1.249 1.204 1.158 1.123 1.114 1.114 1.114 1.114 1.114 1.114 1.114 1.114 1.114 1.114
15) Set the PE enable Map to 65 Kpa
16) Set boost fuel table:1.13 1.15 1.17 1.19 1.21 1.25 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23 1.23
17) Modify Dwell Time Modifier vs MAP table:1 1 1 1 1 1 1 1 1 1.0005 1.0029 1.0144 1.0476 1.1108 1.1897 1.2556 1.3
18) Setup scanner to log Air Fuel Ratio Commanded Hi Res.
Pre Dyno Tune checks:
Run the vehicle at operating temp in closed loop. Compare LTFT + STFT readings to % AFR wideband error histogram.Do they both agree on % fuel error? If not, find out why.
If they do agree you can walk the throttle around or some light driving and start tuning the non boost area of the VE table.Check for any knock retard. If present, figure out why.If everything looks good, you can now decide on open or closed loop fuel tuning.
At the Dyno
1) Use both your wideband and theirs. You will want to work on small “sections” of the ve table in the boost area.
2) Do a base pull to 4000 rpm. Does the AFR agree on both wide bands? If yes proceed. If there is any knock retard, find out why.
3) Look at the %AFR Error Histogram. You can “Rough in” that % error on a small section of your VE table to get it close in the early stages.
![Page 60: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/60.jpg)
4) Increase the pull another 1000 RPM. Look at the %AFR Error Histogram. Copy that % error to your VE table again.At this point you should see a trend on the VE table and be able to modify the upper cells you have not hit before the next pull.
5) Pull a few plugs and look for detonation.
6) Repeat increasing the pull 1000 rpm at a time to cover the VE table until your redline. Watch your IAT and Coolant temps.
7) Set your 3000 Rpm+ spark tables to 16* for 91 octane, or 21* for Motorsport 103 ,109, C11-C16, etc….
8) Set your Boost Enrich AFR to match the fuel you are using.
9) Increase timing 1* on the 3000+ cells until the motor stops making power, or hits KR. There is no need to increase the timingpast your peak HP. Remove 1* when you reach that point.
10) Monitor and correct any % AFR errors on the histogram.
Once you have the upper end of the fuel and spark tables dialed in, you can now tune any other part of the VE table.This can be done via an RPM holding dyno, or at the track.
Wideband Conditioning and Dyno Tuning
If you have ever watched an experienced dyno operator, to prolong sensor life, you will notice that they will do a couple of moderate load ramp tests first without the sensor in the tailpipe, this removes any moisture from the exhaust system and can help remove a lot of the crap in an exhaust on a car that has not been flogged regularly, O2 sensors can be subjected to thermal shock if you don't do this.
Custom OS’s and Fuel Trims
There are two modes of open loop, one that seems to ignore the O2's totally, and another that tries to apply STFT even though you are not in closed loop mode (or commanding 14.63:1!!!)
Adaptive Spark and Knock Learn
If MAP is above {B6213} Min MapAND If RPM is above {B6214} Max RPMAND If RPM is below {B6215} Min RPMAND If Coolant Temp is above {B6216} Min ECTAND If Intake Temp is above {B6217} Min IATAND Knock level is = 0 THEN Increment scaler back to 100% by the amount in {B6224} Knock Fast Attack Gain vs. Recovery Rate vs. RPM, I think from memory the increment rate happens 10 or 5 times per second. If any of the above are not met then the scaler will not be incremented. There is nothing wrong with bringing the scaler back up faster, as per most things GM have
![Page 61: LS1 Tuning Info 1](https://reader033.vdocuments.us/reader033/viewer/2022061105/543eb0c3b1af9f700b8b4767/html5/thumbnails/61.jpg)
it set 'safe'. Of course, if you find the scaler is spending alot of time off 100% then you need to revisit your spark maps.
B6213 - B6217 change the 'learn window', also.. B6224, increase that value so it comes back to 100% faster. If you are using a custom O.S you 'could' lock the scaler at 100%, though that's not really recommended unless you are tuning.