DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

O2 swing points

Thread Tools
 
Search this Thread
 
Old 01-18-2007, 03:47 PM
  #1  
TGO Supporter

Thread Starter
iTrader: (1)
 
Ronny's Avatar
 
Join Date: Mar 2003
Location: wisconsin
Posts: 6,879
Likes: 0
Received 2 Likes on 2 Posts
02 swing points Q?

can someone offer an explanation as to why the 02 sensor swing points are not tighter. if i understand correctly(possibly not-that is why i ask) they swing over stoich. .45 mvolts. as high as .95 and as low as .10(?). so it moves fueling richer or leaner than .45 continuously in CL.

why does it need to swing at those numbers? why not tighter to stoich? do the swing points change based upon what the 02 sensor reads? if it reads at .45 mvolts or stoich what does it swing over then?

if one wants to run richer than .45 or 14.7/1 would one move the higher and lower swing points equally to a higher number?

i have info on this saved but i have not located it yet.
Old 01-18-2007, 04:41 PM
  #2  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
The reason for the O2 swing and the selection of the swing points is the cat-con. With a 2-way cat the O2 window is a tad on the rich side. A 3-way cat (NOX reducing) the O2 swing is less and held tightly to stoich.

Raising the O2 window makes it richer. When playing with the swing points I tend to keep the same separation between the lean & rich values. As an example I'll move all 3 points up by 50 mV.

RBob.
Old 01-18-2007, 04:44 PM
  #3  
TGO Supporter

Thread Starter
iTrader: (1)
 
Ronny's Avatar
 
Join Date: Mar 2003
Location: wisconsin
Posts: 6,879
Likes: 0
Received 2 Likes on 2 Posts
what would be the result if i did tighten up the swing points in my tune? i have no emmision devices on engine.

Last edited by Ronny; 01-11-2013 at 02:52 PM.
Old 01-18-2007, 05:01 PM
  #4  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Tightening the swing points may be helpful. Can also change the AFR which can be more helpful.

RBob.
Old 01-18-2007, 05:08 PM
  #5  
Supreme Member

iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,980
Received 384 Likes on 328 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Originally Posted by RBob
The reason for the O2 swing and the selection of the swing points is the cat-con. With a 2-way cat the O2 window is a tad on the rich side. A 3-way cat (NOX reducing) the O2 swing is less and held tightly to stoich.

Raising the O2 window makes it richer. When playing with the swing points I tend to keep the same separation between the lean & rich values. As an example I'll move all 3 points up by 50 mV.

RBob.
Most of the TBI truck calibrations have the same swing points for Rich/Lean/and Mean.

The swing points on a TBI Van are set around .600 MV and about .475 MV @ idle.

Keep in mind that most engine modifications effect the swing point. Such as headers, cylinder heads, intake manifold, camshaft, etc.

Last edited by Fast355; 01-18-2007 at 05:10 PM. Reason: Automerged Doublepost
Old 01-18-2007, 07:43 PM
  #6  
Member
 
getsideways's Avatar
 
Join Date: Sep 2004
Location: Gilbert, AZ
Posts: 117
Likes: 0
Received 0 Likes on 0 Posts
i am new to tuning and i havent been able to understand these o2 points myself. i just did a 305 to 350 swap in my 95 truck and i started with the appropriate bin file for a 95 with a 350 but the oc thresholds are much different. ill atach a pic of the 350 bin and my original 305 bin.you will see the 305 bin has higher o2 voltages. so if these numbers are set from gm based on cat type and o2 sensor location, shouldnt i leave these the same wether its a 305 or 350? i currently have them at the lower values of the 350 bin but maybe like this i am hurting my cat? ive read alot about this and cant realy get an answer to where these should be. thanks.
Attached Thumbnails O2 swing points-02.jpg  
Old 01-18-2007, 07:44 PM
  #7  
Member

iTrader: (1)
 
smartman__007's Avatar
 
Join Date: Jun 2006
Location: South Dakota
Posts: 253
Likes: 0
Received 0 Likes on 0 Posts
Car: 1990 Camaro RS
Engine: 305 TBI (LO3)
Transmission: T-5
Axle/Gears: 3.08
Okay read entire post, how exactly do you tighten up the swing points using tunerpro? What is the setting under to alter the mV to?
Old 01-18-2007, 08:17 PM
  #8  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I did this a bit ago to help me understand (and shift) as well.
This is for $8D mask.

The main purpose was to enable me to offset all three tables and be able to shift them around by using the coolant modifier table only.
I added an offset to all the tables that is equal to the coolant table offset.
Then by changing only the coolant table, all the relationships remain the same but the switching values move together.

I made up a sheet to show the amount of shift that happens and calculates the new table values for you.
Wouldn't upload so here's a link to it.
http://www.wideopenwest.com\~Johnand..._TABLES_8D.xls
Do a save as..., open it in Excell.

Edit the table info at the bottom.
Edit the modifiers at the top with your window value from the bin.

JP
Old 01-18-2007, 10:07 PM
  #9  
Supreme Member

iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,980
Received 384 Likes on 328 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Originally Posted by getsideways
i am new to tuning and i havent been able to understand these o2 points myself. i just did a 305 to 350 swap in my 95 truck and i started with the appropriate bin file for a 95 with a 350 but the oc thresholds are much different. ill atach a pic of the 350 bin and my original 305 bin.you will see the 305 bin has higher o2 voltages. so if these numbers are set from gm based on cat type and o2 sensor location, shouldnt i leave these the same wether its a 305 or 350? i currently have them at the lower values of the 350 bin but maybe like this i am hurting my cat? ive read alot about this and cant realy get an answer to where these should be. thanks.
The ZZ4 cam in my van has very similar specs to the roller in your 350. I run dual cats on my van with headers and duals. Here is what runs the best I have tried on the 02 constants. Here is what I run on my setup. Make sure that you unlock the converter and go into PE as the load comes up. I can't think of anything that I hate worse than lugging along with no power on the highway, like the stock tune.
Attached Thumbnails O2 swing points-o2-constants.jpg   O2 swing points-timing-zz4-cammed-350   O2 swing points-misc-settings.jpg  

Last edited by Fast355; 01-18-2007 at 10:12 PM.
Old 01-18-2007, 10:52 PM
  #10  
Member
 
getsideways's Avatar
 
Join Date: Sep 2004
Location: Gilbert, AZ
Posts: 117
Likes: 0
Received 0 Likes on 0 Posts
so by moving the constants up does this make the computer try and maintain a richer afr in closed loop? or are you trying to find the right constants to hit the 14.7 afr with your header and o2 location? at those numbers are you 14.7 on your wb in closed loop cruising? i dont have a wide band to check my afr. my constants are at the 434mv above 32gms/sec flow right now. like i said, the stock 305 bin file had the o2 constants at 520mv above 32gms/sec flow. i have a single cat. its the original. and my o2 sensor is in the crossover pipe right before the cat. also, when i change these constants do the ve tables have to be retuned because it will try and target a differnt value to maintain 128 blms? thanks.

Last edited by getsideways; 01-18-2007 at 11:02 PM.
Old 01-19-2007, 07:29 AM
  #11  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
I found that this paper isn't in the sticky's, so I'll post it here and add it in to the Prom Tuning Guide under the 8063/7747/8746 ECM. It explains a lot of the O2 actions and the tables that are used. Here goes:

ECM Proportional Control

Robert Rauscher
7/9/2000, updated 1/23/02

Copyright 2000, 2002, Robert Rauscher, All Rights Reserved.

This is specific to the 747 ecm. However, the methods and madness
applies to many of the GM ecm's. (Use at your own risk, no guarantee
that any of this is correct).

Note:

Values such as 0x22D are eprom table addresses. These you
can easily change.

Values such as L0004 are RAM variables. These are used by
the ecm during it's processing.


INTRO:

The proportional and integral fuel correction logic is complex. There
is no way that I can cover all aspects of the ecm logic. This paper
is designed to give a working view of what the ecm is trying to
accomplish. I have also covered some changes that can help when
tuning hot street engine.

The proportional PID term starts with the O2 sensor reading, and ends
with a correction to the final calculated PW. The PID proportional term
always works in the opposite direction of the immediate rich/lean O2
sensor reading.

The purpose of the PID proportional controller term is twofold. First,
it is used to attain the desired AFR quickly. Second, it is used to
maintain the switching of the O2 sensor about the desired AFR point.

The PID controller term starts with the O2 Error Term. This is the
amplitude of error (or difference), between the O2 sensor and the
desired O2. This value is used as a lookup index for the actual
proportional error term.

The combination of the proportional term and the INT term is referred
to as the closed loop correction term (CLT). When in open loop, neither
the proportional term or the INT term as used.

There are two filtered O2 sensor values kept by the ECM. One is a fast
filtered value that follows the changing O2 sensor reading closely. The
second is a slow filtered value that lags the changing O2 sensor reading.


AIRFLOW TERM:

The volume of air moving through the engine is used for many of the
PID term lookups. The airflow is defined as grams of air, per second,
per cylinder, that is moving through the engine. The term is abbreviated
as gms/sec.

This term is calculated from the current MAP and current RPM. Volumetric
efficency is not used. In the '747 code, the max value is clipped at
64 gms/sec. The calculation is gms/sec = rpm * map * constant. It is
not the most accurate term, however, it is sufficent.

It is important to realise that it takes a finite amount of time for a
change in the PW to be reflected in the O2 sensor reading. This time
frame is referred to as the 'transport delay'. This delay varies according
to the airflow through the engine.


O2 ERROR BOUNDRY TABLES:

Two tables define the desired O2 sensor upper and lower limits. These
limits are used to decide whether the O2 sensor is either: below, above,
or within the limit window. These are the error boundries. These values
are the actual voltage output of the O2 sensor.

A third table defines the O2 sensor cross point.

The desired O2 Sensor tables are located at: 0x494, 0x499 and 0x49E. The
tables are indexed based on airflow, in gms/second. They are five-line
tables from 0 - 64 gms/sec, every 16 gms/sec.


0x494: Mean R/L Threshold, used to determine (somehow), the direction,
(and speed?), of the O2 sensor. End result is a moving richer, or
moving leaner bit (L000E, b6). Also used to determine the occurance
and an O2 x-count.


0x499: Rich O2 Threshold, used to define upper window boundry for
the O2 Error Term.


0x49E: Lean O2 Threshold, used to define lower window boundry for
the O2 Error Term.

The above table values are converted by: O2mv = TblVal * 4.34

(con't)
----------
!) The slow filtered O2 error term is the delta of the current slow
filtered O2 value and the proper window boundry, upper or lower. This
term is then used to lookup the proportional gain error from another
table.

The lower window boundry is used to calculate the error term whenever
the O2 Sensor is below that value. The upper window boundry is used
whenever the O2 Sensor is above that value.


This error value is then used to lookup various proportional values. If
the Slow Filtered O2 value is within the window, no proportional
correction takes place (prop term = 0).

When at idle, defined by L0002, b7 == 1, the above tables will have
a bias added to them. The effect is to lower the AFR for a more stable
idle. This value is located at: 0x2F7. (remember this one).

The flag at L0008, b1, (rich/lean) is set with a O2 sensor higher than
the upper window boundry. That bit is reset with an O2 sensor lower
than the lower window boundry.

If the O2 sensor is within the window, the bit is not changed.


PROPORTIONAL ERROR TERM:

Once the slow filtered error term is calculated, it is used as a
lookup index into the proportional gain table at: 0x4A8.

Another lookup is done for a proportional multiplier term, indexed
by airflow in gms/sec, at: 0x4C7.

The two above terms are multiplied together, divided by 256 and
the result is used as the adjustment to the CLT term.

The math:

PropTerm = (Gain @ 0x4A8[O2err] * FlowGain @ 0x4C7[gms/sec]) / 256.


This makes the FlowGain (@ 0x4C7), dictate a percentage of the gain
table (@ 0x4A8). The end result will always be lower then the starting
gain term.

To create the CLT, the proportional term is either subtracted, or added
to the INT term. If the O2 sensor is lean, the prop term is added to the
INT. If the O2 sensor is rich, the prop term is subtracted from the INT
term. The result is the CLT term.

The CLT term is then used to adjust the PW calculation.


For highly tuned engines (IE: hot street stuff), the proportional
gains can to too high. The effect is the engine surging under steady
state cruising. Reducing the gain and multiplier values can reduce
this problem. The values in these tables can sometimes be cut in half.


PROPORTIONAL DURATION TERM:

For the proportional duration term, lookups are done using the same
indexes as the prop-gain. The slow filtered O2 error term is used as
a lookup index into the proportional duration table at: 0x4B5.

Another lookup is done for a proportional duration offset term, indexed
by airflow in gms/second, at: 0x4C2.

The results of the lookups are added together for the proportional
duration term.


The prop duration does not change the prop gain except to clear it.
(I hope I get this correct) the prop gain is calc'd 40 times a second
against the current O2 error level. The prop gain can change each time
it is re-calc'd. Same with the prop duration. It is re-calc'd 40 times
a second. If the prop duration timer expires the prop gains are cleared
(zero'd) for that pass. Of course 25 msec later (40 Hz) the prop gains
are re-calc'd and reapplied.

The prop duration timer is cleared whenever an O2 x-cnt occurs.

Now it gets tricky. As long as the prop duration timer has expired AND
the O2 error level is less then that required to move the INT the prop
gains are held at zero. And note in the cal how the prop gains are
very small with a small O2 error level. So how much of a difference
does it make to zero out the gains that are already minor?

Now even if the prop duration timer has expired as long as the O2 error
level is enough to move the INT the prop gains will still be applied.

The end result is that the prop duration has very little effect on
the whole scheme of things.

AFR:

The upper and lower R/L threshold tables can be used to move the
basic AFR. As they form the O2 Error Window, by raising the table values
toward the richer side, the overall engine AFR can be pushed toward
the rich side (lowered AFR).

This is important to understand, these three tables define the overall
AFR when in closed loop. The proportional term is always trying to
move the current O2 sensor toward these table boundries.

(con't)
----------
INTEGRATOR:

The INT seems to follow the proportional term, however, it does not.
The INT moves independent of the proportional term. The INT is updated
whenever an O2 sensor x-count does not occur within a certain timeframe.
Even with the proportional gains set to 0, the INT will still move.

Movement of the INT takes place whenever the slow filtered O2 error
term exceeds the value at: 0x2F4, which is typically 4, along with the
INT delay timer expiring without any x-counts.

As you look at the fueling cal & code it is apparent that the airflow
through the engine is used quite a bit. In the '747 this term as grams
of air per second is not accurate. The calcuation used is quick and
simple. It does provide a usable relative value.

It is interesting to note that the gms/sec term is used to denote two
different items: the airflow (as a transport delay term) and the PW.
The higher the airflow the lower the transport delay and the greater
the PW.

When the gms/sec term is used to lookup the INT delay it is as the
transport delay.

When the gms/sec term is used to lookup the proportional gain
multiplier it is as the PW. The larger the PW the greater the prop
gain required to change the AFR.

The integrator delay is required to prevent overshoot and oscillation
of the fueling. The delay is to give the O2 sensor time to see and
respond to the change in fueling (an INT change). It takes a finite
amount of time for the change in injector PW (change in amount of
fuel) to travel through the engine and out the exhaust. There is also
a delay within the O2 sensor.

The table at $48F, INT delay vs airflow, has less delay as the airflow
increases. If the O2 sensor position is moved further downstream this
delay needs to be increased. This is the transport delay term.

The table at $4CC, INT delay vs O2 error, has a two fold function. The
first is to deal with the response rate of the O2 sensor. With a large
O2 error level the sensor will be at the bottom or top of the ZS shaped
O2 sensor response curve. Large delays are required. As the O2 sensor
starts to get into the upright portion of the response curve the INT
action is sped up.

In the second case this table can also provide a derivative term to
the PID loop. In the case of the ASDZ cal this is true. As the O2
error decreases the INT delay is increased. This effectively stops
the integrator from updating. Thereby putting the brakes on INT
fueling changes.


STOICH:

The value labeled 'stoich' needs to match the O2 sensor AFR switch
point. On the '747, this value is located at: 0x2AA. The value is 147,
for 14.7 AFR.

Conjecture: This stoich value, plus the R/L O2 error boundries, define
the O2 sensor output levels. This ties the O2 sensor calibration into
the PW equation.

As the R/L O2 Error Boundries define actual O2 sensor stoich switch
point in output volts. The 14.7 AFR switch point of the O2 sensor is
now 'calibrated' into the PW calculation.

If a different fuel is used, with say a stoich value of 16.1, by
placing the value of 161 at 0x2AA, the PW is again calibrated for
that fuel. If you now want to command the ecm to change the PW enough
for a 15.3 AFR, by using 153 in the PW calculation, the PW will
be increased the proper amount to produce that AFR (in open loop).

Remember that when in closed loop, the stoich value is used in
the PW calculation. In open loop, the desired AFR is used in the
PW calculation (say, when it's 5 degrees out, and the engine is
first started, the desired AFR might be 9.0).

Another example: Say a new O2 sensor was developed, for gasoline,
that costs $3.00. Good deal. However, the stoich switch point output
voltage is at 625mV, opposed to the current sensors switch point of 450mV.

By changing the R/L O2 error boundry table values, this new O2 sensor
can be calibrated for the PW calculation. Instead of the tables
straddling the 450mV value, set the table values to straddle the new
625mV O2 sensor value.


IDLE:

When in idle, the proportional gain and the proportional duration
use specific values. The prop gain is at: 0x2F9, and the prop duration
is at: 0x2F8. These replace the table lookups at: 0x4C7 and 0x4B5,
respectively.

For a rumpity-rump engine, it helps to set the idle prop term low.
This reduces/eliminates proportional action. This can have the effect
of smoothing the idle.

Also, do not forget about the O2 error bias value at: 0x2F7. This
value can be used to decrease the AFR at idle. Again, for a rumpity
engine, it can calm down the idle.


RESET's:

A proportional gain and duration reset take place whenever the INT is
reset. It is also reset whenever an O2 x-count is logged. The most common
cause of an INT reset, is the BLM 'cell in use' changing. There is an
option to have the INT reset on an accel enrichment (pump shot). An INT
reset is the setting of the integrator to it's mid-point (128). This
is where no integrator fuel correction is made.

Enable 'pump shot' reset of INT is located at: 0x006, b5.

Enable 'BLM change of cell in use' reset of INT is located at: 0x006, b4.

(set to 1 to enable option for reset).

Other causes of an INT reset: DFCO, PE, open loop.


PID:

The PID part of all this is:

Proportional: This is the Proportional Term described above.

Integral: This is the Integrator or INT term mentioned above.

Derivative: There is either not one used, or the resets of the INT
and Proportional Term could be considered. (note that the loop is
slow enough to not require a derivative term).


-eof-


RBob.

Last edited by RBob; 01-19-2007 at 07:32 AM. Reason: Automerged Doublepost
Old 01-19-2007, 07:47 AM
  #12  
Supreme Member

iTrader: (8)
 
327_TPI_77_Maro's Avatar
 
Join Date: Sep 2004
Location: Charles County, Maryland
Posts: 1,896
Likes: 0
Received 0 Likes on 0 Posts
Car: 2000 BMW M5
RBob, that is an extremely helpful post. Thanks so much!
Old 01-19-2007, 08:20 AM
  #13  
Member
 
getsideways's Avatar
 
Join Date: Sep 2004
Location: Gilbert, AZ
Posts: 117
Likes: 0
Received 0 Likes on 0 Posts
that is a great paper and ive printed it and read it many times to try and let it sink in to my thick skull and i think its getting there. but what is the explanation of why there is so many different values for different bins? im sure cat type and o2 location and other things will affect these values. so why in a stock 305 bin is the values different than a stock 350 bin from same model year truck? i assume the cat type and o2 location is the same, maybe not. if i leave the value at location 48DD in the $0d mask, which is stoich afr at 14.7, than change the o2 constants, am trying to set the constants to maintain the 14.7 with my engine combanation? you paper states:

AFR:

The upper and lower R/L threshold tables can be used to move the
basic AFR. As they form the O2 Error Window, by raising the table values
toward the richer side, the overall engine AFR can be pushed toward
the rich side (lowered AFR).

This is important to understand, these three tables define the overall
AFR when in closed loop. The proportional term is always trying to
move the current O2 sensor toward these table boundries.


and also this:

STOICH:

The value labeled 'stoich' needs to match the O2 sensor AFR switch
point. On the '747, this value is located at: 0x2AA. The value is 147,
for 14.7 AFR.

Conjecture: This stoich value, plus the R/L O2 error boundries, define
the O2 sensor output levels. This ties the O2 sensor calibration into
the PW equation.

As the R/L O2 Error Boundries define actual O2 sensor stoich switch
point in output volts. The 14.7 AFR switch point of the O2 sensor is
now 'calibrated' into the PW calculation.

If a different fuel is used, with say a stoich value of 16.1, by
placing the value of 161 at 0x2AA, the PW is again calibrated for
that fuel. If you now want to command the ecm to change the PW enough
for a 15.3 AFR, by using 153 in the PW calculation, the PW will
be increased the proper amount to produce that AFR (in open loop).

Remember that when in closed loop, the stoich value is used in
the PW calculation. In open loop, the desired AFR is used in the
PW calculation (say, when it's 5 degrees out, and the engine is
first started, the desired AFR might be 9.0).

Another example: Say a new O2 sensor was developed, for gasoline,
that costs $3.00. Good deal. However, the stoich switch point output
voltage is at 625mV, opposed to the current sensors switch point of 450mV.

By changing the R/L O2 error boundry table values, this new O2 sensor
can be calibrated for the PW calculation. Instead of the tables
straddling the 450mV value, set the table values to straddle the new
625mV O2 sensor value.


so by changing the o2 constants without changing the stoich value in the bin, am i acyually changing my target afr? thanks.
Old 01-19-2007, 09:50 AM
  #14  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally Posted by getsideways
that is a great paper and ive printed it and read it many times to try and let it sink in to my thick skull and i think its getting there. but what is the explanation of why there is so many different values for different bins? im sure cat type and o2 location and other things will affect these values. so why in a stock 305 bin is the values different than a stock 350 bin from same model year truck? i assume the cat type and o2 location is the same, maybe not. if i leave the value at location 48DD in the $0d mask, which is stoich afr at 14.7, than change the o2 constants, am trying to set the constants to maintain the 14.7 with my engine combanation? . . .

so by changing the o2 constants without changing the stoich value in the bin, am i acyually changing my target afr? thanks.
I've found California TBI f-body calibrations to run less timing and higher O2 switch points (richer). I would imagine for the tighter emissions control.

Differences between 305 & 350 cal's may be from chamber design, timing, and heat differences. This is an area where a fly on the wall at GM would be helpful. It may even have to do with fuel mileage.

so by changing the o2 constants without changing the stoich value in the bin, am i actually changing my target afr?

In closed loop the actual AFR is defined by the O2 window. The stoich value will still be used in the PW calculation. The INT/BLM will move to change the PW and the resulting AFR.

RBob.
Old 01-19-2007, 09:51 AM
  #15  
Junior Member
 
1badz71tahoe's Avatar
 
Join Date: Jan 2007
Posts: 63
Likes: 0
Received 0 Likes on 0 Posts
n/m
Old 01-19-2007, 11:03 AM
  #16  
Member

 
HaulnA$$'s Avatar
 
Join Date: Jul 2003
Location: Dallas
Posts: 457
Likes: 0
Received 1 Like on 1 Post
I feel that there is one point here that has'nt been clearly made concerning O2 sensors. Contrary to popular belief, O2 sensors do not measure AFR but actually measure Lambda or the stoichiometric value of the fuel, any fuel. Whether you are running gasoline or pure Methanol, stoich is stoich and our O2 sensors happen to define stoich as 450mV for whatever fuel is in use. Say for example that for whatever reason you decided to run pure Methanol in your vehicle. Your O2 sensor would still report stoich as 450mV only now the correct stoich value should be 6.45:1 AFR. This is the only value that would need to be changed in the calibration to run this fuel. By moving the O2 thresholds, you are defining where the stoich value reported by the O2 sensor is which is most often determined by the type of O2 sensor used (heated or non-heated) and the placement of the sensor in the exhaust stream. EGT has an effect on the sensors output. I hope this makes sense.

I own an '03 Tahoe that is flex fuel capable. It has a sensor that measures the oxygen content of the fuel itself and reports this value to the PCM. Knowing this value, the PCM can determine alchohol content in the fuel and adjust the stoich AFR accordingly. There is a table in the calibration for "Stoich AFR vs Alchohol Content". That is the only table that is different
(fuel wise) for flex fuels. HTH
Old 01-19-2007, 11:22 AM
  #17  
Member

 
alvanwie's Avatar
 
Join Date: Oct 2005
Location: Dyer, In
Posts: 330
Likes: 0
Received 0 Likes on 0 Posts
Car: 91 Camaro RS
Engine: 355 Vortec
Transmission: 700r4
Axle/Gears: 3.42
Originally Posted by HaulnA$$
I feel that there is one point here that has'nt been clearly made concerning O2 sensors. Contrary to popular belief, O2 sensors do not measure AFR but actually measure Lambda or the stoichiometric value of the fuel, any fuel. Whether you are running gasoline or pure Methanol, stoich is stoich and our O2 sensors happen to define stoich as 450mV for whatever fuel is in use. Say for example that for whatever reason you decided to run pure Methanol in your vehicle. Your O2 sensor would still report stoich as 450mV only now the correct stoich value should be 6.45:1 AFR. This is the only value that would need to be changed in the calibration to run this fuel. By moving the O2 thresholds, you are defining where the stoich value reported by the O2 sensor is which is most often determined by the type of O2 sensor used (heated or non-heated) and the placement of the sensor in the exhaust stream. EGT has an effect on the sensors output. I hope this makes sense.

I own an '03 Tahoe that is flex fuel capable. It has a sensor that measures the oxygen content of the fuel itself and reports this value to the PCM. Knowing this value, the PCM can determine alchohol content in the fuel and adjust the stoich AFR accordingly. There is a table in the calibration for "Stoich AFR vs Alchohol Content". That is the only table that is different
(fuel wise) for flex fuels. HTH
Would you NOT have to change all the other AFR values such a PE, decel, and highway cruise?
Old 01-19-2007, 12:10 PM
  #18  
Member

 
HaulnA$$'s Avatar
 
Join Date: Jul 2003
Location: Dallas
Posts: 457
Likes: 0
Received 1 Like on 1 Post
Originally Posted by alvanwie
Would you NOT have to change all the other AFR values such a PE, decel, and highway cruise?
Not when thay are based on Lambda.
Old 01-19-2007, 12:45 PM
  #19  
Supreme Member

iTrader: (2)
 
dimented24x7's Avatar
 
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes on 3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Originally Posted by getsideways
i am new to tuning and i havent been able to understand these o2 points myself. i just did a 305 to 350 swap in my 95 truck and i started with the appropriate bin file for a 95 with a 350 but the oc thresholds are much different. ill atach a pic of the 350 bin and my original 305 bin.you will see the 305 bin has higher o2 voltages. so if these numbers are set from gm based on cat type and o2 sensor location, shouldnt i leave these the same wether its a 305 or 350? i currently have them at the lower values of the 350 bin but maybe like this i am hurting my cat? ive read alot about this and cant realy get an answer to where these should be. thanks.
It looks like the way you have it now, the engine will idle leaner then it runs at. I set mine to idle at around .480 (lower airflows) and run at .450 (higher airflows). They had it set so the engine would run at around 15.5-16:1 with the stock thresholds, which was a little too lean with my engine. Also, the airflow in those tables isnt airflow. Its scaled airflow. IIRC, the '128' cell equates something like 40 gms/sec of airflow.
Old 01-19-2007, 01:00 PM
  #20  
Member
 
getsideways's Avatar
 
Join Date: Sep 2004
Location: Gilbert, AZ
Posts: 117
Likes: 0
Received 0 Likes on 0 Posts
im sorry guys, im not grasping it yet. let me ask you a question that might help me. lets say right now my bin file has the rich, lean and r/l mean thresholds at 434mv. and the stoich value at location 48DD is 14.7. lets also say i verified this afr with a wb. now if i only changed all 3 threshold tables to 850mv, which lets say equals 13.0afr. but i leave the stoich value at 48dd at 14.7. what might my afr equal on a wb now? would the o2 mv now be swinging around 850mv? now example 2, what if i left my 3 o2 constant tables at 434mv but changed the afr at 48dd location to 6.5afr. would the o2 data now read as maintaning the 434mv point, but the pw would be mor than doubled to try and maintain the 6.5 afr? thanks for being patient with me guys.
Old 01-19-2007, 01:15 PM
  #21  
Member

 
alvanwie's Avatar
 
Join Date: Oct 2005
Location: Dyer, In
Posts: 330
Likes: 0
Received 0 Likes on 0 Posts
Car: 91 Camaro RS
Engine: 355 Vortec
Transmission: 700r4
Axle/Gears: 3.42
Originally Posted by HaulnA$$
Not when thay are based on Lambda.
On the older ecm's are you saying PE,decel,highway values are lambda based but the closed loop AFR is not? I did not think that was true, but if you say to change the closed loop AFR but not the others.... I guess I am confused
Old 01-19-2007, 02:39 PM
  #22  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
im sorry guys, im not grasping it yet. let me ask you a question that might help me. lets say right now my bin file has the rich, lean and r/l mean thresholds at 434mv. and the stoich value at location 48DD is 14.7. lets also say i verified this afr with a wb. now if i only changed all 3 threshold tables to 850mv, which lets say equals 13.0afr. but i leave the stoich value at 48dd at 14.7. what might my afr equal on a wb now? would the o2 mv now be swinging around 850mv?

Once in closed loop the ECM will target the 850mV O2 switch point. To accomplish this the INT will rise with the BLM rising shortly thereafter. Once the O2 is switching about the 850mV point the WB will show the (theoretical) AFR of 13.0.

The INT/BLM will need to increase as the PW calculation is targeting 14.7:1 AFR. Once the INT & BLM (which are now > 128) are factored into the PW the correct amount of fuel will be delivered.

now example 2, what if i left my 3 o2 constant tables at 434mv but changed the afr at 48dd location to 6.5afr. would the o2 data now read as maintaning the 434mv point, but the pw would be mor than doubled to try and maintain the 6.5 afr? thanks for being patient with me guys.

Initially the PW will be larger, as it is targeting the 6.5 AFR. Once in closed loop the ECM will target the 434mV O2 switch point. With that the INT & BLM will start to fall until the O2 switch point matches the calibration of 434 mV.


Another way to look at it: during closed loop operation the stoich AFR is used in the PW calculation. This is to create an initial PW. This PW is then modified with the INT & BLM values (and proportional gains), to create the PW used at the injectors.

The feedback from the O2 sensor is used by the ECM to aim at the target AFR. The fueling will be changed (via INT/BLM) to move the PW to the targeted O2 switch point (the window).

The bottom line is that in closed loop operation the ECM is always targeting the O2 switch point(s).

RBob.
Old 01-19-2007, 03:08 PM
  #23  
Supreme Member

iTrader: (2)
 
dimented24x7's Avatar
 
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes on 3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Originally Posted by alvanwie
On the older ecm's are you saying PE,decel,highway values are lambda based but the closed loop AFR is not? I did not think that was true, but if you say to change the closed loop AFR but not the others.... I guess I am confused
Depends on the ECM/PCM. TBI stuff is all AFR based with the O2 voltage (lambda) based. The ECM sets the target to be 14.7 AFR and then goes into closed loop and the P/T fueling is then based off of the O2.
Old 01-19-2007, 03:24 PM
  #24  
Member
iTrader: (1)
 
69 Ghost's Avatar
 
Join Date: Jan 2004
Location: Ventura, Ca
Posts: 319
Likes: 0
Received 0 Likes on 0 Posts
Car: 69 Camaro
Engine: LS1 converted to LS6
Transmission: 4L70
Axle/Gears: 12bolt 3:42
I know this has been covered before but if I want my car to lean out at idle then richen up when the cam kicks in which parameters would be used? I lowered my constants based on an old Traxion post. Maybe I am the only one but my headaches have been at idle. One issue is leaning it out THEN getting my AFR's to match my commanded AFR's. Same issue with WOT. I want my AFR's to follow my commanded. So I need a leaner AFR for idle then richer at higher RPM's.
Old 01-19-2007, 04:13 PM
  #25  
Member
 
getsideways's Avatar
 
Join Date: Sep 2004
Location: Gilbert, AZ
Posts: 117
Likes: 0
Received 0 Likes on 0 Posts
ok i sort of understand now let me ask you this. you said this:


Once in closed loop the ECM will target the 850mV O2 switch point. To accomplish this the INT will rise with the BLM rising shortly thereafter. Once the O2 is switching about the 850mV point the WB will show the (theoretical) AFR of 13.0.

The INT/BLM will need to increase as the PW calculation is targeting 14.7:1 AFR. Once the INT & BLM (which are now > 128) are factored into the PW the correct amount of fuel will be delivered.


in this situation would you still adjust the ve tables to try and get 128 blms? you said(Once the INT & BLM (which are now > 128) are factored into the PW the correct amount of fuel will be delivered.) by corect amount of fuel do you mean the correct amount to get 850mv swing point?

if im understanding this. it seems almost impossible to play with o2 switch points without a wb. right now i have my o2 constants at 434mv because thats what was in the stock 350 bin. and my blms are close right now. but how am i to know what afr im maintaining? im just trying to get blms to 128. without a wb, if i wanted to change this to lets say 650mv. my blms would rise. i would have to re-adjust my ve table to get blms back to 128 and i would be right back where i was? how far out in left field am i? thanks.
Old 01-19-2007, 05:41 PM
  #26  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally Posted by 69 Ghost
I know this has been covered before but if I want my car to lean out at idle then richen up when the cam kicks in which parameters would be used? I lowered my constants based on an old Traxion post. Maybe I am the only one but my headaches have been at idle. One issue is leaning it out THEN getting my AFR's to match my commanded AFR's. Same issue with WOT. I want my AFR's to follow my commanded. So I need a leaner AFR for idle then richer at higher RPM's.
How to do this depends upon which ECM/MaskID is being used. Some have separate O2 tables for idle. In this case you can make the idle AFR anything within reason. Others have a correction to the main tables. With a correction only in the rich direction.

For cruise, different ECMs do things differently. Some set the O2 switch points vs gms/sec airflow, others use MAP (load). I actually prefer the MAP based table.

Regarding the commanded AFR vs actual while in closed loop: you will need to set up the O2 switch points to the closed loop desired AFR. Then that is it. In closed loop the ECM always uses the desired AFR for the calculations.

RBob.
Old 01-19-2007, 06:34 PM
  #27  
Supreme Member

iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,980
Received 384 Likes on 328 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Like I said previously, the O2 sensor calibrations are best done by seat of the pants and graphing the integrator. With a steady BLM reading, with a converter ideally you want the a/f ratio cycling slightly above and below stoich. Too much of a swing for too long in either direction causes a noticeable surge and loss of power. The target a/f ratio alows you to alter your a/f ratio a small percentage in either direction. The E10 gasoline used in Texas has a stoichiometric ratio of about 14.1-14.2:1 (depending on the calculation). By ONLY changing the stoichiometric point, I was able to bring the fueling into shape on my stock TBI 350 1991 G20 Van. My 1983 is a bag of worms though with the cam, headers, intake, different heads, much larger injectors, MAF sensor, etc.
Old 10-10-2007, 12:10 AM
  #28  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

RBob's paper applies to the $8D AUJP code also. The only difference is that one table is RPM based. It is a great write up. Maybe put it under a universal tuning topic? I noticed between the $8D AXXF 305ci bin and $8D AUJP 350ci bin that the AUJP has very high gains for the PROP correction term and tends to cause the AFR to bounce (over-correct) a lot more than the AXXF bin.
Old 10-10-2007, 12:30 AM
  #29  
Supreme Member

iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,980
Received 384 Likes on 328 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Re: O2 swing points

Originally Posted by junkcltr
RBob's paper applies to the $8D AUJP code also. The only difference is that one table is RPM based. It is a great write up. Maybe put it under a universal tuning topic? I noticed between the $8D AXXF 305ci bin and $8D AUJP 350ci bin that the AUJP has very high gains for the PROP correction term and tends to cause the AFR to bounce (over-correct) a lot more than the AXXF bin.
Most of what applies to one GM ECM applies to ALL GM ecms in its own way. They are all VERY similar, even the CCC Q-Jet. The TBI and even CPI gains in my PCM were working poorly with my TPI setup. I found the gains for a 1993 LT1 F-car. Put them in place, what a difference.
Old 10-10-2007, 09:10 AM
  #30  
Member
iTrader: (1)
 
69 Ghost's Avatar
 
Join Date: Jan 2004
Location: Ventura, Ca
Posts: 319
Likes: 0
Received 0 Likes on 0 Posts
Car: 69 Camaro
Engine: LS1 converted to LS6
Transmission: 4L70
Axle/Gears: 12bolt 3:42
Re: O2 swing points

There are a couple of things that I am interested that have not been mentioned in this thread that may affect the final settings. First is running a WBO2 sensor in place of the original. I have a Innovate sensor running in place of the stock sensor with the SAUJP code. The sensors are supposed to have a much faster reaction time. Also I am not nor do I have to have any cats. I am not interested in the OL CL discussion as I will run CL. Anybody have any suggestions on what to set with this setup? I would think that the R/L threashold points should be tightened up by raising the lower boundary and lowering the upper boundary after deciding on what AFR to run the car at for instance say it runs best at 14.1. The next question would be what about the Init Delay. It is mentioned that it has to do with the sensor location. Again does a faster sensor affect this? I am running my sensor in the header collector.
Old 10-10-2007, 03:14 PM
  #31  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

Originally Posted by RBob
The INT seems to follow the proportional term, however, it does not.
The INT moves independent of the proportional term. The INT is updated
whenever an O2 sensor x-count does not occur within a certain timeframe.
Even with the proportional gains set to 0, the INT will still move.
The $8D AUJP appears to work a little different in this area. The INT_TIMER is cleared whenever the SLOW_O2 error is small enough to stay within the SLOW_02 error boundaries (upper/lower tables). So the INT_TIMER is cleared if the O2 error is small. If the SLOW_O2 error is large enough then the INT_TIMER is incremented and when a TIMEOUT occurs then the INT_CORR term is updated to modify the injector BPW. The INT_TIMER is not affected by the O2 cross counts directly. It is based off of the SLOW_O2 upper/lower O2 tables and does not take a x-count to clear it. Just getting into the O2 window is "good enough".

The BPW correction is BPW_CORR1 = (uncorr_BPW * BLM) +/- (INT_CORR +/- PROP_CORR).
Then 1/2 of the PROP_CORR is added to the BPW_CORR1 term later on. This makes the final BPW correction: BPW_CORR2 = BPW_CORR1 +/- (.5*PROP_CORR).

The other difference is that one PROP_DURATION table is RPM based instead of airflow based. This is a table that is used for the amount of time the PROP_TERM is not forced to zero.

Last edited by junkcltr; 10-11-2007 at 08:33 AM. Reason: Corrected table def.
Old 10-10-2007, 03:20 PM
  #32  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

Originally Posted by 69 Ghost
There are a couple of things that I am interested that have not been mentioned in this thread that may affect the final settings. First is running a WBO2 sensor in place of the original. I have a Innovate sensor running in place of the stock sensor with the SAUJP code. The sensors are supposed to have a much faster reaction time. Also I am not nor do I have to have any cats. I am not interested in the OL CL discussion as I will run CL. Anybody have any suggestions on what to set with this setup? I would think that the R/L threashold points should be tightened up by raising the lower boundary and lowering the upper boundary after deciding on what AFR to run the car at for instance say it runs best at 14.1. The next question would be what about the Init Delay. It is mentioned that it has to do with the sensor location. Again does a faster sensor affect this? I am running my sensor in the header collector.

You would need to get the S-curve for the simulated NBO2. Without it you can guess and tune, but it would be easier to have the curve in hand. If the S-curve is the same as a stock NBO2 for your vehicle then leave the params as stock if you like how it operates with at stock NBO2. You could tighten up the switch values if the S-curve is steep in the transition area. What fuel for 14.1 AFR? 10% ethanol should run there with the stock settings. For straight gas raise the upper/lower boundaries and the mid-point tables by 50mv and see how you like it. Adjust from there. Maybe try adding a little more INT DURATION delay for the relocated O2 sensor. Try .1sec and go from there.

EDIT: An interesting code mod. would be to use the 5.0 volt WBO2 input directly in a simple manner. Read the WBO2 (done with some hacs already) and then do a "coma" to invert it. Then use that as the NBO2 signal. A stock NBO2 rich mv is 0xFF in the code. The new WBO2 rich value will be a 0xFF in the code. In other words, ignore the 0-1v and 0-5v difference because the hardware and A/D takes care of that for you. The new O2 signal is a "very slow" S-curve looking NBO2. Adjust the mV tables accordingly. The $8D has a O2 error window table vs MAP that would allow leaner low MAP fuel AFRs and richer at higher MAP values. This might be better than using the WBO2 controller simulated NBO2.....maybe not?

Last edited by junkcltr; 10-10-2007 at 03:33 PM.
Old 10-10-2007, 11:00 PM
  #33  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

After thinking about using the linear WBO2 input as the NBO2 value (code mod.) I realize that the value does not need the "coma". Simply renaming the upper and lower O2 switch tables backwards would also do it.
Old 10-11-2007, 11:27 AM
  #34  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: O2 swing points

IMO, To keep the functionality of the error codes it would be best to do the invert. Failure mode could revert back to using the NB input.
The WB may need to be heavily averaged (at the controller) so individual cylinder pulses do not cause undesired results by crossing the window boundaries etc.
Some guys have tried to use the NB sim output, I've never tried so i'm not sure how the ECM responds to it.
Old 07-22-2008, 06:19 PM
  #35  
Member

 
Section162's Avatar
 
Join Date: May 2004
Location: Grand Rapids, MI
Posts: 105
Likes: 0
Received 0 Likes on 0 Posts
Car: '90 Formula
Engine: L98 --> Ramjet
Transmission: Auto
Re: O2 swing points

Originally Posted by junkcltr
RBob's paper applies to the $8D AUJP code also. The only difference is that one table is RPM based. It is a great write up.

The other difference is that one PROP_DURATION table is RPM based instead of airflow based.
I'm trying to update my .xdf file for the rich/lean closed loop terms and thought this would be a good place to post this question. I'm trying to cross-reference the tables in RBob's (awesome) write-up to the AUJP. So far, I've come up with the following:

---------------------------------RBob paper ------ $8D/AUJP

Prop Step Size Gain vs. o2 error ---- 0x4A8 ---------- L84DE
Prop Step Size Gain vs. airflow ----- 0x4C7 ---------- L84CF

Prop Duration vs. o2 error ---------- 0x4B5 ---------- L84EA
Prop Duration vs. airflow/RPM??? --- 0x4C2 ---------- L84C6 or L84D8???

INT Delay vs. o2 error --------------$4CC ----------- L8504
INT Delay vs. airflow ---------------$48F ------------ L84BD

As you can see, I got confused on one of the Duration terms. At first, I thought it was the airflow table at L84C6 in AUJP. But after reading junkcltr's comments above, it looks like it's the RPM table at L84D8. The RPM table in the hac I have has it labeled as "Step Size Gain vs. RPM" which makes it more confusing.

Can anyone shed some light on this? Do I have the other terms cross-referenced properly? I'm finally tuning my hot street setup and I think these terms will be useful. Any help would be greatly appreciated!
Old 07-30-2008, 08:26 PM
  #36  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

The first title is the original AUJP hac title
The second title is by junkcltr. Notice they are called PROP_GAIN, PROP_DURATION, INT_DURATION.

The description follows the title..

Code:
;*****************************************
;*     FUEL PID PARAMS
;*****************************************
;--------------------------------------------------------
; Non-Idle O2 (SLOW) R/L UPPER THRESHOLD vs MAP
; This table is the upper O2 mV threshold for
; non-idle proportional, integral Closed Loop Correction.
; If filtered O2 mV is greater than table value then 
; PI correction is calculated and applied to inector BPW.
;
; If UPPER_THRESHOLD < O2_RAW_FILTERED < LOWER_THRESHOLD
;    Apply Closed Loop correction
; else
;    do not apply closed loop correction (error is within the window for no correct)
;
; TBL = o2 VOLTS * 256
;
; The O2 mV correction value is lowered as MAP increases
; Example:	MAP = 40 KPA->.594v, O2 is reading .600 volts (rich), then correction is made to lean out BPW
;	 	MAP = 80 KPA->.516v, O2 is reading .550 volts (rich), then correction is made to lean out BPW
; This causes MORE LEAN closed loop BPW corrections as MAP increases
; The overall window is moved LEANER as MAP increases (same as mid-point table)
;-----------------------------------------------------------   
	                      ; SLOW O2  mvdc	MAP	      
                              ; VAL       o2     Kpa	      
                              ;-----------------------------   
L84A2:        .byte   0x8C    ;=140      547      20 	      
              .byte   0x94    ;=148,     578      30	      
              .byte   0x98    ;=152,     594      40	      
              .byte   0x98    ;=152,     594      50	      
              .byte   0x94    ;=148,     578      60	      
              .byte   0x90    ;=144,     563      70	      
              .byte   0x84    ;=132,     516      80	      
              .byte   0x80    ;=128,     500      90	      
              .byte   0x7D    ;=125,     488     100	      
;---------------------------------------------------------     
;
;--------------------------------------------------------
; Non-Idle O2 (SLOW) R/L LOWER THRESHOLD vs MAP       ORG L84AB
; This table is the lower O2 mV threshold for
; non-idle proportional, integral Closed Loop Correction.
; If filtered O2 mV is less than table value then 
; PI correction is calculated and applied to inector BPW.
;
; If UPPER_THRESHOLD < O2_RAW_FILTERED < LOWER_THRESHOLD
;    Apply Closed Loop correction
; else
;    do not apply closed loop correction (error is within the window for no correct)
; 
; TBL = o2 VOLTS * 256
; The O2 mV correction value is lowered as MAP increases
; Example:	MAP = 40 KPA->.516v, O2 is reading .450 volts (lean), then correction is made to richen BPW
;	 	MAP = 80 KPA->.438v, O2 is reading .400 volts (rich), then correction is made to richen BPW
; This causes MORE LEAN closed loop BPW corrections as MAP increases
; The overall window is moved LEANER as MAP increases (same as mid-point table)
;----------------------------------------------------------   
	                      ;         mvdc	MAP	      
                              ; VAL      o2     Kpa	      
                              ;----------------------------   
L84AB:        .byte  0x78     ;=120,    469      20 	      
              .byte  0x80     ;=128,    500      30	      
              .byte  0x84     ;=132,    516      40	      
              .byte  0x84     ;=132,    516      50	      
              .byte  0x80     ;=128,    500      60	      
              .byte  0x7C     ;=124,    484      70	      
              .byte  0x70     ;=112,    438      80	      
              .byte  0x6D     ;=109,    426      90	      
              .byte  0x6A     ;=106,    414     100	      
;--------------------------------------------------------          
;
;--------------------------------------------------------
; Non-Idle O2 (FAST) sensor mV mid-point value
; L849C (53 mV) is added to this table value to create a window
; if (table+L849C) < O2 < (table-L849C)
;   Set 0x0047 Rich/Lean bit 
;
; This value is used to set the O2 ready bit
; and the rich/lean bit_6 of 0x0047
; It is also used for the ALDL rich/lean counter and 
; PROP counter.
; 
; TBL = o2 VOLTS * 256
; 
; The O2 mV correction value is lowered as MAP increases
; This moves the Rich/Lean window lower (LEANER) as MAP increases
; This causes the Rich bit to be set more often for a constant O2 AFR
; The stock AUJP has a mid-point max. change of (25/256) = 100 mV
; So the high KPA is targeting 100mV less than low KPA (MORE LEAN)
; The overall window is moved LEANER as MAP increases (same as O2 mV CL Correction tables)
;----------------------------------------------------------   
;				        mvdc	MAP	      
                              ; VAL      o2     Kpa	      
                              ;----------------------------   
L84B4:        .byte  0x82     ;=130,    507      20 	      
              .byte  0x8A     ;=138,    539      30	      
              .byte  0x8E     ;=142,    555      40	      
              .byte  0x8E     ;=142,    555      50	      
              .byte  0x8A     ;=138,    539      60	      
              .byte  0x86     ;=134,    523      70	      
              .byte  0x7A     ;=122,    477      80	      
              .byte  0x78     ;=120,    469      90	      
              .byte  0x76     ;=118,    461     100	      
;--------------------------------------------------------     
;
;--------------------------------------------------------
; INTEGRATER MULT. VS AIR_FLOW (USED FOR INTEGRATOR TIMER)
; INT DURATION term used for fuel correction 
;  This value is multiplied by the 0x8504 lookup value
;  It decreases this value by the 0x8504 GAIN value
;
;  The INT_TERM is applied to the fuel BPW correction when an INT_TIMER TIMEOUT occurs.
;  A larger SEC in this table will make INT fuel corrections happen LESS frequent.
;  The INT_TERM will be updated SLOWER with larger SEC values.
;  Slow airflow allows for a longer time between INT_TERM updates.
;  Slow airflow takes longer to get to the O2 sensor...so the ECM waits longer.
;  
;
; TBL = SEC * 80
;--------------------------------------------------------
                              ; VAL    sec's  AIR FLOW
                              ;----------------------------
L84BD:        .byte  0x30     ;=48,   0.600      0
              .byte  0x2C     ;=44,   0.550      8
              .byte  0x18     ;=24,   0.300     16
              .byte  0x16     ;=22,   0.275     24
              .byte  0x14     ;=20,   0.250     32
              .byte  0x12     ;=18,   0.225     40
              .byte  0x10     ;=16,   0.200     48
              .byte  0x0E     ;=14,   0.175     56
              .byte  0x0C     ;=12,   0.150     64
;--------------------------------------------------------
;
;--------------------------------------------------------
; SLOW O2 FILTER COEF vs FLOW
;
; TBL = MULT * 256
;--------------------------------------------------------
                             ; VAL    MULT     FLOW
                             ;----------------------------
L84C6:        .byte  0x10    ;=16,     0.063     0
              .byte  0x18    ;=24,     0.094     8
              .byte  0x20    ;=32,     0.125    16
              .byte  0x24    ;=36,     0.141    24
              .byte  0x28    ;=40,     0.156    32
              .byte  0x2C    ;=44,     0.172    40
              .byte  0x2C    ;=44,     0.172    48
              .byte  0x2C    ;=44,     0.172    56
              .byte  0x2C    ;=44,     0.172    64
;--------------------------------------------------------
;
;--------------------------------------------------------
; SLOW O2 PROPORTIONAL STEP SIZE GAIN vs AIRFLOW
; PROP GAIN term used for fuel correction
;  This value is multiplied by the 0x84DE lookup value
;  It decreases this value by 0x84DE value GAIN of (TBL/256) => .0039 to .99
; 
;  The PROP_TERM is constant vs AIRFLOW.
; 
; (0 - 1) * 256
;--------------------------------------------------------
                            ; VAL     STEP    FLOW
                            ;-----------------------------
L84CF:        .byte  0xFF   ;=255     99.6      0
              .byte  0xFF   ;=255     99.6      8
              .byte  0xFF   ;=255     99.6     16
              .byte  0xFF   ;=255     99.6     24
              .byte  0xFF   ;=255     99.6     32
              .byte  0xFF   ;=255     99.6     40
              .byte  0xFF   ;=255     99.6     48
              .byte  0xFF   ;=255     99.6     56
              .byte  0xFF   ;=255     99.6     64
;--------------------------------------------------------
;
;--------------------------------------------------------
; SLOW O2 PROPORTIONAL STEP SIZE GAIN vs RPM
; PROP DURATION term used for fuel correction
; 
; This value is added to the 0x84EA lookup value.
; Together they created the PROP_TIMER duration.
; If a FAST_O2 cross count occurs, the PROP_TIMER is cleared.
; If a PROP_TIMER TIMEOUT occurs and the O2 error is not large
; enough to cause an INT_TERM udpate, then the PROP_TERM is cleared.
; The PROP_TERM is applied if the PROP_TIMER is non-zero and the SLOW_O2 error is
; large enough regardless of the INT_TERM update.
;
; TBL = SEC * 80
;--------------------------------------------------------
                            ; VAL   SEC    RPM
                            ;-----------------------------
L84D8:        .byte  0x14   ;=20    0.25    400
              .byte  0x0C   ;=12    0.15    800
              .byte  0x08   ;= 8    0.10   1200
              .byte  0x04   ;= 4    0.05   1600
              .byte  0x03   ;= 3    0.04   2000
              .byte  0x02   ;= 2    0.03   2400
;--------------------------------------------------------
;
;--------------------------------------------------------
; SLOW O2 PROPORTIONAL STEP SIZE vs SLOW_O2 ERROR
; PROP GAIN term used for fuel correction
;  This value is multiplied by the 0x84CF lookup value
;  It decreases the 0x84CF value by (TBL/256) => .0039 to .99
; 
; As SLOW_O2 error increases, the GAIN is increased to make the PROP_TERM larger.
; This causes a larger fuel BPW correction.  More O2 error needs more BPW correction.
; 
; TBL = GAIN * 256
;-----------------------------------------------------------
                           ; VAL   BIN    ERROR		GAIN
                           ;--------------------------------
L84DE:        .byte  0x04  ;= 4     4       0		.0156
              .byte  0x04  ;= 4     4       8		.0156
              .byte  0x04  ;= 4     4      16		.0156
              .byte  0x04  ;= 4     4      24		.0156
              .byte  0x04  ;= 4     4      32		.0156
              .byte  0x04  ;= 4     4      40		.0156
              .byte  0x08  ;= 8     8      48		.0312
              .byte  0x0C  ;=12    12      56		.0468
              .byte  0x0C  ;=12    12      64		.0468
              .byte  0x0C  ;=12    12      72		.0468
              .byte  0x0C  ;=12    12      80		.0468
              .byte  0x0C  ;=12    12      88		.0468
;--------------------------------------------------------
;
;--------------------------------------------------------
; SLOW O2 PROPORTIONAL STEP DURATION vs SLOW_O2 ERROR
; PROP DURATION term used for fuel correction
; 
; This value is added to the 0x84D8 lookup value.
; 
; TBL = SEC * 80
;--------------------------------------------------------
                           ; VAL     SEC    O2_ERROR
                           ;------------------------------
L84EA:        .byte  0x04  ;=  4    0.05     0
              .byte  0x04  ;=  4    0.05     8
              .byte  0x04  ;=  4    0.05    16
              .byte  0x04  ;=  4    0.05    24
              .byte  0x04  ;=  4    0.05    32
              .byte  0x08  ;=  8    0.10    40
              .byte  0x0C  ;= 12    0.15    48
              .byte  0x18  ;= 24    0.30    56
              .byte  0x20  ;= 32    0.40    64
              .byte  0x40  ;= 64    0.80    72
              .byte  0x80  ;=128    1.60    80
              .byte  0xF0  ;=240    3.00    88
;--------------------------------------------------------
;
;--------------------------------------------------------
; R/L OFFSET vs COOLANT
; 14 LINES
;
; TBL = COUNTS
;-------------------------------------------------------
                           ; VAL    BIN    Deg C
                           ;-----------------------------
L84F6:        .byte  0x00  ;= 0      00    -40
              .byte  0x00  ;= 0      00    -28
              .byte  0x00  ;= 0      00    -16
              .byte  0x00  ;= 0      00    - 4
              .byte  0x00  ;= 0      00      8
              .byte  0x00  ;= 0      00     20
              .byte  0x00  ;= 0      00     32
              .byte  0x00  ;= 0      00     44
              .byte  0x00  ;= 0      00     56
              .byte  0x00  ;= 0      00     68
              .byte  0x00  ;= 0      00     80
              .byte  0x00  ;= 0      00     92
              .byte  0x00  ;= 0      00    104
              .byte  0x00  ;= 0      00    116
;-------------------------------------------------------
;
;-------------------------------------------------------
; INTEGRATOR DELAY MULT vs ERROR (USED FOR INTEGRATOR TIMER)
; INT DURATION term used for fuel correction
;  This value is multiplied by the 0x84BD lookup value.
;  It decreases the 0x84BD value by (TBL/256) => .0039 to .99.
;  As SLOW_O2 error increases, the GAIN decreases. This causes
;  the INT_TERM to be updated more frequent because the INT_TIMER
;  duration period is decreased which causes a sooner TIMEOUT.
;
; TBL = GAIN * 256
;------------------------------------------------------
                          ; VAL     ERROR	GAIN
                          ;-----------------------------
L8504:        .byte  0xFF ;=255       0		.99
              .byte  0xFF ;=255       8		.99
              .byte  0xFF ;=255      16		.99
              .byte  0xFF ;=255      24		.99
              .byte  0x80 ;=128      32		.50
              .byte  0x40 ;= 64      40		.25
              .byte  0x40 ;= 64      48		.25
              .byte  0x40 ;= 64      56		.25
              .byte  0x40 ;= 64      64		.25
              .byte  0x40 ;= 64      72		.25
              .byte  0x40 ;= 64      80		.25
              .byte  0x40 ;= 64      88		.25
;------------------------------------------------------
Old 07-31-2008, 12:21 PM
  #37  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

Originally Posted by Section162
Can anyone shed some light on this? Do I have the other terms cross-referenced properly? I'm finally tuning my hot street setup and I think these terms will be useful. Any help would be greatly appreciated!
Yes,

Prop Step Size Gain vs. o2 error ---- 0x4A8 ---------- L84DE
Prop Step Size Gain vs. airflow ----- 0x4C7 ---------- L84CF

Prop Duration vs. o2 error ---------- 0x4B5 ---------- L84EA
Prop Duration vs. RPM ------------- 0x4C2 ---------- L84D8

INT Delay vs. o2 error --------------$4CC ----------- L8504
INT Delay vs. airflow ---------------$48F ------------ L84BD

EDIT: For anyone wondering what SLOW O2 and FAST O2 refers to in the hacs:
The ECM maintains two filtered versions of the O2 sensor data. The slowly changing filtered O2 value is called SLOW O2 and uses a small filter coefficient. The fast changing filtered O2 value is called FAST O2 and uses a large filter coefficient. In other words, the FAST O2 value looks a lot like then actual O2 value. The SLOW O2 value looks like a heavily averaged O2 value.....a very smooth O2 value.

Last edited by junkcltr; 07-31-2008 at 12:39 PM.
Old 07-31-2008, 09:16 PM
  #38  
Senior Member

 
liquidh8's Avatar
 
Join Date: Aug 2004
Location: Shippensburg, PA
Posts: 680
Received 0 Likes on 0 Posts
Car: 1981 Buick Century Wagon
Engine: 87 GN engine
Transmission: 2004R
Axle/Gears: 3.73
Re: O2 swing points

AFR:

The upper and lower R/L threshold tables can be used to move the
basic AFR. As they form the O2 Error Window, by raising the table values
toward the richer side, the overall engine AFR can be pushed toward
the rich side (lowered AFR).

This is important to understand, these three tables define the overall
AFR when in closed loop. The proportional term is always trying to
move the current O2 sensor toward these table boundries.
Reading this hear brings me to a question i have, I just want to be sure I am grasping it correctly.

My wagon has an innovate LC-1 sorta perminately hooked up to the EBL, along with a brand new as of today heated delco o2. I have the commanded c/l afr to be 14.7. The wb is reading 14.2 or so, and while running a VE learn, it is trying to add 3 throughout the VE tables to richen it up. (even though it doesn't have to be) I have already re-cal-ed the wb, and I get consistant readings.

I am thinking I have to change the settings of the o2 tables. I am using the stock EBL tables since i got so far out of wack the last couple of chip burns. lol. Anyhow, I am interpreting that I need to lower the swing points so the ecm stops wanting to add fuel. Therefore getting the blms and int to stop swinging so much when the car is already richer than 14.7

Did that make sense, I had a long day.


----------
also, idle afr and the blm's seem to be fine, it's when I an on the highway cruising down the road. I would like to get this right sop i can enable lean cruise. The BLM's say 139-142 and the WB report 14.7, and the ebl never goes into lean cruise.

Last edited by liquidh8; 07-31-2008 at 09:19 PM. Reason: Automerged Doublepost
Old 08-01-2008, 10:19 AM
  #39  
TGO Supporter

 
jwscab's Avatar
 
Join Date: Aug 2001
Location: NJ/PA
Posts: 1,008
Likes: 0
Received 0 Likes on 0 Posts
Car: Yes
Engine: Many
Transmission: Quite a few
Re: O2 swing points

just remember, you are in PA, if you are using any gas with ethanol, you are probably have an afr of more than 14.7, probably why the wideband reads 14.2.
Old 08-01-2008, 12:53 PM
  #40  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Re: O2 swing points

Originally Posted by jwscab
just remember, you are in PA, if you are using any gas with ethanol, you are probably have an afr of more than 14.7, probably why the wideband reads 14.2.
This is an area that we need to be careful about. The NB and WB sensors we use report stoich as stoich. The fuel composition doesn't matter. An example would be running straight ethanol which has a stoich of 9.0:1

A WB that uses 14.7:1 as stoich will report 14.7:1 when using ethanol and at stoich. Even though the real AFR is 9.0:1

Even a NB sensor will switch at stoich. With 100% ethanol at 9.0:1 AFR, the NB will still switch at 450 mV.

When using a WB this is where using the lamdba value comes in handy. It is based on excess air (lean side) or excess fuel (rich side).

So a lambda of .82 is 12.6:1 at a stoich of 14.7, and is 7.38:1 when stoich is 9.0

Both 12.6:1 and 7.38:1 AFR is a little rich of best power for the appropriate fuel. However, using lambda they both report .82

Which when using AFR, the 12.6:1 will be reported as 12.6:1 (with a fuel stoich of 14.7:1). And the 100% ethanol will report about the same value of 12.6:1 (not exactly the same value, but we won't go into this here).

In closing, the NB and WB sensors read and report a lambda value. It is up to the controller unit to convert that value to an AFR value. Also note that not all WB units use 14.7:1 as stoich.

RBob.
Old 08-01-2008, 02:06 PM
  #41  
TGO Supporter

 
jwscab's Avatar
 
Join Date: Aug 2001
Location: NJ/PA
Posts: 1,008
Likes: 0
Received 0 Likes on 0 Posts
Car: Yes
Engine: Many
Transmission: Quite a few
Re: O2 swing points

yeah, you are right....I think I had the right idea there, just didn't word it right. I think part of the issue he is seeing is how each of the controllers is seeing the lambda value maybe?
Old 08-02-2008, 09:14 AM
  #42  
Supreme Member
iTrader: (2)
 
vernw's Avatar
 
Join Date: Jul 2003
Location: Dallas, TX area
Posts: 3,205
Likes: 0
Received 0 Likes on 0 Posts
Car: 91 Formula WS6 (Black, T-Tops)
Engine: 383 MiniRam (529 HP, 519 TQ - DD2K)
Transmission: Built '97 T56, Pro 5.0, CF-DF
Axle/Gears: 4.11 posi Ford 9"
Re: O2 swing points

Originally Posted by RBob
This is an area that we need to be careful about. The NB and WB sensors we use report stoich as stoich. The fuel composition doesn't matter. An example would be running straight ethanol which has a stoich of 9.0:1

A WB that uses 14.7:1 as stoich will report 14.7:1 when using ethanol and at stoich. Even though the real AFR is 9.0:1

Even a NB sensor will switch at stoich. With 100% ethanol at 9.0:1 AFR, the NB will still switch at 450 mV.

RBob.
OK, please excuse this Old Phat Phat's stupidity, but how can this happen? Are you saying the correct O2 amount in the exhaust will read as stoich regardless of the fuel being used? Hence the NB or WB could still be used for fueling control? Doesn't this assume the same amount of O2 is required to be "stoich" for different fuels? I dunno, maybe that's a safe assumption. Could also depend on the true definition of "stoich" as well.

I'm not questioning you on this, you know far more than I - I'm just trying to better understand it. The way I read this kind of contradicts the idea of changing to a 14.2 or 14.3 target AFR for those of use stuck running 10% ethanol, so now I'm cornfuzikated all over again!
Old 08-02-2008, 10:00 AM
  #43  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Re: O2 swing points

The reason to change the AFR to 14.2, 14.3 for 10% ethanol is to bring the VE table back into alignment. What it does is to increase the injector PW to add the additional required fuel. And, sets up the calibration to a higher degree of accuracy.

If the engine was tuned for BLMs of 128 on straight gasoline and a stoich calibration setting of 14.7:1. Then E10 is pumped into the empty tank, the BLMs will increase to add the additional required fuel.

Which could cause an un-knowing tuner to increase the VE to bring the BLMs back in line.

More fuel is required as E10 has some oxygen in it, along with having a lower stoich ratio.

By setting the ECM calibration stoich value to 14.2:1, the BLMs will return to 128. Without having to change the VE tables (much anyway). And, any other ECM fuel calculation based on the stoich value will also change in the proper proportion. The $8D mask for PE/WOT fuel is one that is based on the stoich AFR. It is a percentage change from it.

Stoich in combustion: this is when the exhaust has no oxygen and no hydrocarbons in it (simplistically speaking, when in reality there is some of each).

This is what the O2 sensors see when the exhaust is stoich. Doesn't matter if the AFR is 9.0:1 (E100) or 14.7:1 (gasoline of yester-year).

Another way to look at it is that the O2 sensor measures the exhaust. As long as there are 9 parts air to 1 part fuel (E100) going in, the O2 will report stoich. Stoich being a lambda of 1

RBob.
Old 08-02-2008, 11:32 AM
  #44  
Senior Member

 
liquidh8's Avatar
 
Join Date: Aug 2004
Location: Shippensburg, PA
Posts: 680
Received 0 Likes on 0 Posts
Car: 1981 Buick Century Wagon
Engine: 87 GN engine
Transmission: 2004R
Axle/Gears: 3.73
Re: O2 swing points

I haven't changed the VE tables as of yet. When I first put the EBL in the wagon, (when it first came out lol) I did a WB VE learn. Then i went to the BLM VE learn. But it has always been "off". The WB VE earn lowers the VE tables a bit to bring the AFR to commanded 14.7 AFR. But when I do the BLM learn, it adds fuel, making the WB read 14.0 to 14.2, even though I have the bin set for 14.7. I was tempted to try and set the bin for 15.0 stoich, and see what happens.

I also never thought about the 10% ethenal here in eastern PA. But I can't remember how long we have had it here.

I was just thinking the NB02 setting were off, making me run a bit richer.

It's all about the perfecrt mileage, lol. j/k
Old 08-02-2008, 01:06 PM
  #45  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,401
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Re: O2 swing points

One thing is that the E level in the fuel varies. I've measured 5% in 87 octane and 7% in 93 octane.

Setting the stoich point in the BIN to 15.0 will cause the BLMs to be higher.

RBob.
Old 08-02-2008, 01:44 PM
  #46  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: O2 swing points

Two things,

1.) This should be added to the hac text as well.
Code:
;--------------------------------------------------------
; R/L OFFSET vs COOLANT
; 14 LINES
;
; Will Subtract from values L84B4 (FAST O2 R/L THRESHOLD vs MAP, Xcount, direction window)
; Will Subtract from values L84A2 (UPPER THRESHOLD FOR SLOW O2 R/L vs MAP, INT control)
; Will Subtract from values L84AB (LOWER THRESHOLD FOR SLOW O2 R/L vs MAP, INT control)
;
2.) The clarification on the table name for
Prop Duration vs. RPM ------------- 0x4C2 ---------- L84D8
You confirmed this to be RPM table, not airflow but the text in the code you posted still relfects airflow.
Can you reconfirm that.
Thx,
Old 08-02-2008, 06:37 PM
  #47  
Supreme Member

iTrader: (1)
 
junkcltr's Avatar
 
Join Date: Jan 2002
Location: garage
Posts: 4,432
Likes: 0
Received 1 Like on 1 Post
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
Re: O2 swing points

Originally Posted by JP86SS
Two things,

1.) This should be added to the hac text as well.
Code:
;--------------------------------------------------------
; R/L OFFSET vs COOLANT
; 14 LINES
;
; Will Subtract from values L84B4 (FAST O2 R/L THRESHOLD vs MAP, Xcount, direction window)
; Will Subtract from values L84A2 (UPPER THRESHOLD FOR SLOW O2 R/L vs MAP, INT control)
; Will Subtract from values L84AB (LOWER THRESHOLD FOR SLOW O2 R/L vs MAP, INT control)
;
2.) The clarification on the table name for
Prop Duration vs. RPM ------------- 0x4C2 ---------- L84D8
You confirmed this to be RPM table, not airflow but the text in the code you posted still relfects airflow.
Can you reconfirm that.
Thx,
You lost me. The L84D8 table shows vs. RPM. Could you post the line that says vs. airflow?
Old 08-02-2008, 09:04 PM
  #48  
Supreme Member

iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: O2 swing points

NVM,
I think my mind is playing tricks on me!
Jp
Old 08-09-2008, 03:09 AM
  #49  
Member

 
396V8's Avatar
 
Join Date: May 2006
Posts: 152
Likes: 0
Received 0 Likes on 0 Posts
Car: 1990 Corvette
Engine: 415
Transmission: six speed
Axle/Gears: Dana44 3.73
Re: O2 swing points

Originally Posted by Fast355
Most of what applies to one GM ECM applies to ALL GM ecms in its own way. They are all VERY similar, even the CCC Q-Jet. The TBI and even CPI gains in my PCM were working poorly with my TPI setup. I found the gains for a 1993 LT1 F-car. Put them in place, what a difference.

Hi

would you mind asking, if you can post a picture of your gains here, so that we could have a look at them..just for reference?

thank you
Old 06-06-2011, 07:20 AM
  #50  
Junior Member

 
voodoo's Avatar
 
Join Date: Apr 2008
Posts: 10
Likes: 0
Received 0 Likes on 0 Posts
Re: O2 swing points

Cool reading here!
I'am having a hard time finding bellow mentioned values in the ARAP 6E hac. Anyone, who could give me some pointers?
Thanks!

Originally Posted by RBob
This is specific to the 747 ecm. However, the methods and madness
applies to many of the GM ecm's. (Use at your own risk, no guarantee
that any of this is correct).

The math:

PropTerm = (Gain @ 0x4A8[O2err] * FlowGain @ 0x4C7[gms/sec]) / 256.


This makes the FlowGain (@ 0x4C7), dictate a percentage of the gain
table (@ 0x4A8). The end result will always be lower then the starting
gain term.

To create the CLT, the proportional term is either subtracted, or added
to the INT term. If the O2 sensor is lean, the prop term is added to the
INT. If the O2 sensor is rich, the prop term is subtracted from the INT
term. The result is the CLT term.

The CLT term is then used to adjust the PW calculation.


For highly tuned engines (IE: hot street stuff), the proportional
gains can to too high. The effect is the engine surging under steady
state cruising. Reducing the gain and multiplier values can reduce
this problem. The values in these tables can sometimes be cut in half.

RBob.


Quick Reply: O2 swing points



All times are GMT -5. The time now is 11:16 AM.