slightly different approach to WBO2 logging
Thread Starter
Supreme Member

Joined: Jan 2002
Posts: 1,162
Likes: 1
From: California
Car: Z28
Engine: L98
Transmission: T56
slightly different approach to WBO2 logging
This is something I've been using for some time, and it's about time I get around to posting it for discussion.
I realize some may not agree, but it works for me. :-) I have gotten very duplicatable and consistent results with this method.
I've seen the hac that outputs the wbo2 data (actual afr) in the same spot that the "calculated" afr would normally be in, in the aldl data stream. This is good, but I personally wanted both the WBO2 data and the calculated AFR in the data stream. My line of thinking is that, if I can compare the AFR I should be getting (the calculated AFR) with the actual AFR I have (WBO2 data), then I will know how far off my VE table is for the given RPM value. That is to say, if the calculated AFR is 12.0:1 and the WBo2 reads 13.0:1, then I know that my VE value for the given RPM needs to be scaled by 12/13 or about 8%.
I only use this for tuning WOT and only after TPS = 100% for more than a second or two (to avoid any complications of AE).
Anyways, back to the hac that outputs the AFR in the calculated AFR spot in the data stream. For tuning purposes, I decided that I wanted AFR data in some other field, and I decided to pick the fuel pump voltage field. I didn't bother to put the translation table into the prom, instead I just output the linear 0-254 value (which reads in the data stream as 0-25.4V) where a reading of 0 is 0V from the WBO2, and a reading of 25.4V is 5V from the wbo2. I am using the TPS2 pin on the ECM if memory serves correctly. locations are valid for aujp.
First:
so anyways, after that's done, you get a raw 0-254 linear value in the FP aldl field, which is about meaningless. I used some shareware program i downloaded (I forget what it was) to fit the published WBO2 "output volts to AFR" data chart to a curve, then got an equation for it. I use that equation in excel to translate the 0-254 value to the real AFR.
Someone less lazy than I could code the translation table into the prom so that the actual AFR was indicated by the fuel pump volts.
Oh - the equation that came out of the shareware program is as follows. This is the actual excel formula. in the spreadsheet I copied the formula out of, X was the column that had the fuel pump relay data (the wbo2 data) in it, but the column could change depending on what you're doing so edit appropriately. When X is 12.6 (about 2.48 out of the WBo2) the formula gives up 14.7 as the AFR. the stuff in the parentheses scales the 0-25.4 output to 0-5. Note that x2 indicates column X row 2 (not two times X)...excel thing.
=-10.129206*(X2*10*5/254)^6+129.5121392*(X2*10*5/254)^5-677.6840303*(X2*10*5/254)^4+1860.3545726*(X2*10*5/254)^3-2827.7872073*(X2*10*5/254)^2+2260.8675253*(X2*10*5/254)-734.3991651
I realize some may not agree, but it works for me. :-) I have gotten very duplicatable and consistent results with this method.
I've seen the hac that outputs the wbo2 data (actual afr) in the same spot that the "calculated" afr would normally be in, in the aldl data stream. This is good, but I personally wanted both the WBO2 data and the calculated AFR in the data stream. My line of thinking is that, if I can compare the AFR I should be getting (the calculated AFR) with the actual AFR I have (WBO2 data), then I will know how far off my VE table is for the given RPM value. That is to say, if the calculated AFR is 12.0:1 and the WBo2 reads 13.0:1, then I know that my VE value for the given RPM needs to be scaled by 12/13 or about 8%.
I only use this for tuning WOT and only after TPS = 100% for more than a second or two (to avoid any complications of AE).
Anyways, back to the hac that outputs the AFR in the calculated AFR spot in the data stream. For tuning purposes, I decided that I wanted AFR data in some other field, and I decided to pick the fuel pump voltage field. I didn't bother to put the translation table into the prom, instead I just output the linear 0-254 value (which reads in the data stream as 0-25.4V) where a reading of 0 is 0V from the WBO2, and a reading of 25.4V is 5V from the wbo2. I am using the TPS2 pin on the ECM if memory serves correctly. locations are valid for aujp.
First:
Code:
CC90: BD A0 00 ;JSR A000 (hook to run the custom code) Then: A000: 86 00 ;LDAA 00 (select mux ch 0) A002: BD E2 DC ;JSR E2DC (A/D mux ch 0 read) A005: 97 34 ;STAA 34 (store mux ch 0 to mem $34) A007: ce 00 e2 ;LDX 00E2 (replaces command we overwrote with the hook at CC90) A00A: 39 ;RTS Finally: 8911: 00 34 ;alters mem spot output in ALDL stream for FPV
Someone less lazy than I could code the translation table into the prom so that the actual AFR was indicated by the fuel pump volts.
Oh - the equation that came out of the shareware program is as follows. This is the actual excel formula. in the spreadsheet I copied the formula out of, X was the column that had the fuel pump relay data (the wbo2 data) in it, but the column could change depending on what you're doing so edit appropriately. When X is 12.6 (about 2.48 out of the WBo2) the formula gives up 14.7 as the AFR. the stuff in the parentheses scales the 0-25.4 output to 0-5. Note that x2 indicates column X row 2 (not two times X)...excel thing.
=-10.129206*(X2*10*5/254)^6+129.5121392*(X2*10*5/254)^5-677.6840303*(X2*10*5/254)^4+1860.3545726*(X2*10*5/254)^3-2827.7872073*(X2*10*5/254)^2+2260.8675253*(X2*10*5/254)-734.3991651
Last edited by 91L98Z28; Nov 29, 2003 at 10:15 PM.
Thread Starter
Supreme Member

Joined: Jan 2002
Posts: 1,162
Likes: 1
From: California
Car: Z28
Engine: L98
Transmission: T56
D'oh. I guess nobody found this useful. 
In restrospect, the excel spreadsheet I posted isn't very useful, because you can tune most part throttle VE cells on narrow band only. not much sense in comparing it to WB data.
The way it's useful to me is for WOT tuning. I use AFRTuner to set up a calibration where I simply get 12.0:1 at WOT. Then, I know that any difference from 12.0:1 is due to the VE cell that I'm in, which is how I easily can correct the 100kpa VE cells.
Anyways. maybe my next project will be more useful, figuring out a way in code to control the reverse lock out solenoid in a t56 man trans. i'll be doing this in AXXD because that's what i'm using now as a base.

In restrospect, the excel spreadsheet I posted isn't very useful, because you can tune most part throttle VE cells on narrow band only. not much sense in comparing it to WB data.
The way it's useful to me is for WOT tuning. I use AFRTuner to set up a calibration where I simply get 12.0:1 at WOT. Then, I know that any difference from 12.0:1 is due to the VE cell that I'm in, which is how I easily can correct the 100kpa VE cells.
Anyways. maybe my next project will be more useful, figuring out a way in code to control the reverse lock out solenoid in a t56 man trans. i'll be doing this in AXXD because that's what i'm using now as a base.
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 233
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
It is actually a great idea to use the WB against the commanded AFR for VE table tuning. What I have done is to create program that parses the commanded AFR, MAP, RPM and actual WB AFR from the log file.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
slightly different approach to WBO2 logging
FWIW, I used an approach to WBO2 logging that produces a higher res record, so I can
look at dV/dt and AE, as well as WOT AFR.
There is a description here if you are interested in a comparison:
http://temp.corvetteforum.net/c4/doctorj/carwb.htm
look at dV/dt and AE, as well as WOT AFR.
There is a description here if you are interested in a comparison:
http://temp.corvetteforum.net/c4/doctorj/carwb.htm
Very good,
I've often thought how a automatic VE tuner switched to use WB input would be a bad idea because sometimes the computer is purposely seeking something other than stoich.
I use a different approach, I use the AC pressure signal (high) 0-5v to log my AFR but i use it with a grain of salt at part throttle.
I use a modified excel worksheet and VEphd to do the math fast. (my name is Al Anderson BTW, co creator of VEphd)
I've often thought how a automatic VE tuner switched to use WB input would be a bad idea because sometimes the computer is purposely seeking something other than stoich.
I use a different approach, I use the AC pressure signal (high) 0-5v to log my AFR but i use it with a grain of salt at part throttle.
I use a modified excel worksheet and VEphd to do the math fast. (my name is Al Anderson BTW, co creator of VEphd)
let me say too that its really nice to datalog WB on a 2bar converted computer because you can really nail in the fuel at all different boost levels.. its extremely useful.
My car is roots supercharged and makes almost 10psi now from lower than you can tell till i shut it down. so i can see 4 5 6 7# anywhere and everywhere
My car is roots supercharged and makes almost 10psi now from lower than you can tell till i shut it down. so i can see 4 5 6 7# anywhere and everywhere
Trending Topics
Thread Starter
Supreme Member

Joined: Jan 2002
Posts: 1,162
Likes: 1
From: California
Car: Z28
Engine: L98
Transmission: T56
Re: slightly different approach to WBO2 logging
Here is a link to the dataQ device mentioned:
http://www.dataq.com/products/startkit/di194rs.htm
looks quite nice for $25!
http://www.dataq.com/products/startkit/di194rs.htm
looks quite nice for $25!
Originally posted by Doctor J
FWIW, I used an approach to WBO2 logging that produces a higher res record, so I can
look at dV/dt and AE, as well as WOT AFR.
There is a description here if you are interested in a comparison:
http://temp.corvetteforum.net/c4/doctorj/carwb.htm
FWIW, I used an approach to WBO2 logging that produces a higher res record, so I can
look at dV/dt and AE, as well as WOT AFR.
There is a description here if you are interested in a comparison:
http://temp.corvetteforum.net/c4/doctorj/carwb.htm
Originally posted by RBob
It is actually a great idea to use the WB against the commanded AFR for VE table tuning. What I have done is to create program that parses the commanded AFR, MAP, RPM and actual WB AFR from the log file.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
It is actually a great idea to use the WB against the commanded AFR for VE table tuning. What I have done is to create program that parses the commanded AFR, MAP, RPM and actual WB AFR from the log file.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
Sounds like a keeper... Originally posted by RBob
It is actually a great idea to use the WB against the commanded AFR for VE table tuning. What I have done is to create program that parses the commanded AFR, MAP, RPM and actual WB AFR from the log file.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
It is actually a great idea to use the WB against the commanded AFR for VE table tuning. What I have done is to create program that parses the commanded AFR, MAP, RPM and actual WB AFR from the log file.
As it does this the program builds three matrixes in memory using MAP & RPM as the 2 dimensions. One matrix is the commanded AFR, another the actual AFR, the third the number of hits at that intersect.
Once the log file has been parsed another routine reads the current VE tables and makes corrections to them based on the data. I've found that in real world experience this makes VE table tuning a breeze.
RBob.
91L98, can you tell me what the AE complications are to WOT tuning with the WBO2? I noticed you mentioned that you used it only at WOT after a few seconds to avoid AE complications.
When you do a WOT run, does AE cause initial WBO2 reading to go rich? IF so, for how long and how do you avoid that?
I have another post that mentions my problems with going
rich at WOT when I start at 1500rpm and run to 5000 rpm.
My readings are always very rich 10.0 afr between 1500 and 3000 rpm no matter what I do to the VE tables. I have been able to tune perfectly for the higher RPM. Maybe I am seeing the result of the pump shot when I hit the throttle?
(Rbobs comments notwithstanding re my injector size and possibly going static)
What is correct way to tune with WBO for WOT?
thanks for the help...................bob
When you do a WOT run, does AE cause initial WBO2 reading to go rich? IF so, for how long and how do you avoid that?
I have another post that mentions my problems with going
rich at WOT when I start at 1500rpm and run to 5000 rpm.
My readings are always very rich 10.0 afr between 1500 and 3000 rpm no matter what I do to the VE tables. I have been able to tune perfectly for the higher RPM. Maybe I am seeing the result of the pump shot when I hit the throttle?
(Rbobs comments notwithstanding re my injector size and possibly going static)
What is correct way to tune with WBO for WOT?
thanks for the help...................bob
Thread Starter
Supreme Member

Joined: Jan 2002
Posts: 1,162
Likes: 1
From: California
Car: Z28
Engine: L98
Transmission: T56
Originally posted by rsilver
91L98, can you tell me what the AE complications are to WOT tuning with the WBO2? I noticed you mentioned that you used it only at WOT after a few seconds to avoid AE complications.
91L98, can you tell me what the AE complications are to WOT tuning with the WBO2? I noticed you mentioned that you used it only at WOT after a few seconds to avoid AE complications.
Originally posted by rsilver
When you do a WOT run, does AE cause initial WBO2 reading to go rich? IF so, for how long and how do you avoid that?
When you do a WOT run, does AE cause initial WBO2 reading to go rich? IF so, for how long and how do you avoid that?
Originally posted by rsilver
I have another post that mentions my problems with going
rich at WOT when I start at 1500rpm and run to 5000 rpm.
My readings are always very rich 10.0 afr between 1500 and 3000 rpm no matter what I do to the VE tables. I have been able to tune perfectly for the higher RPM. Maybe I am seeing the result of the pump shot when I hit the throttle?
I have another post that mentions my problems with going
rich at WOT when I start at 1500rpm and run to 5000 rpm.
My readings are always very rich 10.0 afr between 1500 and 3000 rpm no matter what I do to the VE tables. I have been able to tune perfectly for the higher RPM. Maybe I am seeing the result of the pump shot when I hit the throttle?
Originally posted by rsilver
What is correct way to tune with WBO for WOT?
What is correct way to tune with WBO for WOT?
I have seen a few methods being discussed on here, so really there is different ways, no best. just do what works for you and as grumpy says, give the car what it wants. Personally, I like to correct the VE tables and make them as accurate as possible and work from there. that includes setting up the various modifiers (mostly using AFRTuner from traxion) to give me a steady, consistent AFR (such as 12.0:1) and then correcting the VE tables till I achieve that on the WBO2. It seems to make working in the prom easier when I know that the VE tables are relatively accurate and the calculated AFR is actually somewhere close to real world. thanks 91L98! Thats the big question for me. Does it matter if you go rich for a while at wot say 10afr or are you better off making it go to 12.5 afr( assuming 12.5 is optimal). Seems to me too rich is too rich wether it is AE or not.
I haven't been able to solve problem going to higher fp and adjusting VE tables accordingly. I suspect it is due to AE so Iwill keep adjusting AE to see if I can get it to go to around 12.5 rather than 10 when I stomp on it and then g-tech it.
Anone else care to comment?
thanks................bob
I haven't been able to solve problem going to higher fp and adjusting VE tables accordingly. I suspect it is due to AE so Iwill keep adjusting AE to see if I can get it to go to around 12.5 rather than 10 when I stomp on it and then g-tech it.
Anone else care to comment?
thanks................bob
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 233
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Originally posted by rsilver
thanks 91L98! Thats the big question for me. Does it matter if you go rich for a while at wot say 10afr or are you better off making it go to 12.5 afr( assuming 12.5 is optimal). Seems to me too rich is too rich wether it is AE or not.
I haven't been able to solve problem going to higher fp and adjusting VE tables accordingly. I suspect it is due to AE so Iwill keep adjusting AE to see if I can get it to go to around 12.5 rather than 10 when I stomp on it and then g-tech it.
Anone else care to comment?
thanks................bob
thanks 91L98! Thats the big question for me. Does it matter if you go rich for a while at wot say 10afr or are you better off making it go to 12.5 afr( assuming 12.5 is optimal). Seems to me too rich is too rich wether it is AE or not.
I haven't been able to solve problem going to higher fp and adjusting VE tables accordingly. I suspect it is due to AE so Iwill keep adjusting AE to see if I can get it to go to around 12.5 rather than 10 when I stomp on it and then g-tech it.
Anone else care to comment?
thanks................bob
If punching it to WOT then dropping to low 12's works. I've found on N/A cars that 10:1 starts to really kill power. Of course there is the: YMMV
The AE on the '747 & '8746 is PW based. It is not affected by the BPW constant. So larger injectors or more fuel pressure and more AE comes with it.
On the '8746 the delta TPS term for AE is a 12.5 msec delayed value. The delta MAP term for AE is a lag filtered value. In this case changing the MAP filter coeficient allows for adjusting both the magnitude and duration of MAP AE.
RBob.
Originally posted by RBob
Yes you can go too rich on AE. As for how rich to go would depend, if just pulling out or a bit of throttle to pick up speed, then having it dip into the low 13's high 12's is nice.
If punching it to WOT then dropping to low 12's works. I've found on N/A cars that 10:1 starts to really kill power. Of course there is the: YMMV
The AE on the '747 & '8746 is PW based. It is not affected by the BPW constant. So larger injectors or more fuel pressure and more AE comes with it.
On the '8746 the delta TPS term for AE is a 12.5 msec delayed value. The delta MAP term for AE is a lag filtered value. In this case changing the MAP filter coeficient allows for adjusting both the magnitude and duration of MAP AE.
RBob.
Yes you can go too rich on AE. As for how rich to go would depend, if just pulling out or a bit of throttle to pick up speed, then having it dip into the low 13's high 12's is nice.
If punching it to WOT then dropping to low 12's works. I've found on N/A cars that 10:1 starts to really kill power. Of course there is the: YMMV
The AE on the '747 & '8746 is PW based. It is not affected by the BPW constant. So larger injectors or more fuel pressure and more AE comes with it.
On the '8746 the delta TPS term for AE is a 12.5 msec delayed value. The delta MAP term for AE is a lag filtered value. In this case changing the MAP filter coeficient allows for adjusting both the magnitude and duration of MAP AE.
RBob.
Rbob, I have been working with the AE VS diff TPS table with little effect on the "WOT punch" causing me to go rich. If I understand you, I should look at the AE VS diff Map tables to correct for this problem. Correct?
I am also reviewing your post on PW with the tables> I didn't get a chance last weekend.
If I can insure I am not static, and not too rich at WOT, maybe I can get to a little higher level of performance with this car.
thanks again to all for help on this...............bob
Junior Member
iTrader: (1)
Joined: Sep 2001
Posts: 43
Likes: 0
From: Torrance, CA
Car: 88 Corvette
Engine: 400, AFR heads, ZZ9, SuperRam, 730
Transmission: Slushbox
91L98Z28,
Why won't the value go all the way to 255?
Also, "commanded" AFR in closed loop is displayed as 14.6 using Diacom, instead of 14.7. Obviously the NB O2 can't achieve 14.6, so is that due to a rounding error? If so, are all commanded values displayed a bit low?
Thanks,
Kevin
Why won't the value go all the way to 255?
Also, "commanded" AFR in closed loop is displayed as 14.6 using Diacom, instead of 14.7. Obviously the NB O2 can't achieve 14.6, so is that due to a rounding error? If so, are all commanded values displayed a bit low?
Thanks,
Kevin
Last edited by Kevin 88; Feb 12, 2004 at 11:25 PM.
Thread Starter
Supreme Member

Joined: Jan 2002
Posts: 1,162
Likes: 1
From: California
Car: Z28
Engine: L98
Transmission: T56
Originally posted by Kevin 88
91L98Z28,
Why won't the value go all the way to 255?
Also, "commanded" AFR in closed loop is displayed as 14.6 using Diacom, instead of 14.7. Obviously the NB O2 can't achieve 14.6, so is that due to a rounding error? If so, are all commanded values displayed a bit low?
Thanks,
Kevin
91L98Z28,
Why won't the value go all the way to 255?
Also, "commanded" AFR in closed loop is displayed as 14.6 using Diacom, instead of 14.7. Obviously the NB O2 can't achieve 14.6, so is that due to a rounding error? If so, are all commanded values displayed a bit low?
Thanks,
Kevin
don't know what to tell you about 14.6:1 vs 14.7:1 either. probably the best way to answer that question is to look at the ANHT hack, and find the section for the ALDL data stream variables, and then figure out just where it gets the AFR from, and then look at those calculations to figure out what's going on.
Junior Member
iTrader: (1)
Joined: Sep 2001
Posts: 43
Likes: 0
From: Torrance, CA
Car: 88 Corvette
Engine: 400, AFR heads, ZZ9, SuperRam, 730
Transmission: Slushbox
Yes, that's what I meant about 255.
I'm using Super AJUP but I saw the same 14.6 commanded with ANHT too.
Your screenshot shows 14.7 commanded, my Diacom shows 14.6 commanded, so I wonder if Diacom is rounding down or something.
I have the LM-1, which outputs a linear voltage instead of the curve of the DIY WB - so I've applied your patch and I scaled the LM-1 analog out to get the datastream to output "14.7 volts" when AFR is 14.7:1.
I'll hook up the wires tomorrow and see if it works.
Thanks,
Kevin
I'm using Super AJUP but I saw the same 14.6 commanded with ANHT too.
Your screenshot shows 14.7 commanded, my Diacom shows 14.6 commanded, so I wonder if Diacom is rounding down or something.
I have the LM-1, which outputs a linear voltage instead of the curve of the DIY WB - so I've applied your patch and I scaled the LM-1 analog out to get the datastream to output "14.7 volts" when AFR is 14.7:1.
I'll hook up the wires tomorrow and see if it works.
Thanks,
Kevin
Last edited by Kevin 88; Feb 13, 2004 at 01:10 AM.
TGO Supporter
Joined: Oct 2003
Posts: 302
Likes: 0
From: Houston / The Woodlands, TX
Car: 82 ElCamino, looking for a 3rd gen
Engine: 305 TPI(427SB in progress) 730 $8D
Transmission: THM350 (Getting a 4L80E soon)
Axle/Gears: 10 Bolt w/ 2.43 gears :(
How would I go about adding this to my aujp $8D code. I haven't done any code modifying yet and this looks to be a good way to log the WBO2 to the datastream.
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Old new news
https://www.thirdgen.org/techbb2/sho...BAFR+%2Bactual
Very useful when getting the injector constant and VE tables perfect. The only trouble I've come to face is that my bpc SHOULD be 83 but I have it set to 100 right now and at peak torque my VE tables are approating 100. So there is something buggy going on that I can't explain and setting my bpc to 83 just maxes out of VE tables before peak torque.
Maybe it's just the mask or maybe it's the formula for calculating bpc, so I've given up with the $61 mask.
https://www.thirdgen.org/techbb2/sho...BAFR+%2BactualVery useful when getting the injector constant and VE tables perfect. The only trouble I've come to face is that my bpc SHOULD be 83 but I have it set to 100 right now and at peak torque my VE tables are approating 100. So there is something buggy going on that I can't explain and setting my bpc to 83 just maxes out of VE tables before peak torque.
Maybe it's just the mask or maybe it's the formula for calculating bpc, so I've given up with the $61 mask. Thread
Thread Starter
Forum
Replies
Last Post





