how-to: Log AFR from the LC-1 w/o a serial cable
#46
Evolving Member
iTrader: (11)
Join Date: Apr 2004
Location: D.C.
Posts: 197
Likes: 0
Received 0 Likes
on
0 Posts
Tephra,
Thanks man. I will send you the ROM tonight then when I get home. I somehow doubt any other tables were modified, but who knows (not that I don't completly trust the tuner ). I know that right now I am not happy with my boost control, but need to get all my logging equipment up and running before I make any substantial changes. Including getting my new LC-1 to communicate better than it does right now (when it decides to connect ).
Thanks man. I will send you the ROM tonight then when I get home. I somehow doubt any other tables were modified, but who knows (not that I don't completly trust the tuner ). I know that right now I am not happy with my boost control, but need to get all my logging equipment up and running before I make any substantial changes. Including getting my new LC-1 to communicate better than it does right now (when it decides to connect ).
#48
Evolved Member
iTrader: (17)
If anyone wants to try and figure out the formula, the range is this:
0.15 volts = 9.7 AFR (should read a bit value of 8 out of 254 I think)
3.27 volts = 21.2 AFR (should read a bit value of 167 out of 254 I think)
This was going by Tephra's mention that the rear O2 ADC input reads 254 at 5.0 volts input.
Last edited by Jack_of_Trades; May 7, 2008 at 10:36 AM.
#49
Evolved Member
iTrader: (27)
Your pretty much on the money. Heres what I came up with
Using if 5V=254
.15V = 8
3.27V = 166
Using if 5V=255
.15 = 8
3.27 = 167
Im going to go out and try this right now, but Im having the same issues as DCsleeper Im using a 94170014 ROM
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="????" type="1D" level="1" scaling="Hex16"/>
Using if 5V=254
.15V = 8
3.27V = 166
Using if 5V=255
.15 = 8
3.27 = 167
Im going to go out and try this right now, but Im having the same issues as DCsleeper Im using a 94170014 ROM
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="????" type="1D" level="1" scaling="Hex16"/>
#50
Evolved Member
iTrader: (17)
I charted it out in Excel and its progressive, not linear. I suck at this stuff so someone might need to help us out here. Also, I think the readings for 3.0 volts on that chart MIGHT be incorrect.
I emailed Zeitronix along with a link to this thread so maybe they will chime in and save us some headaches
I emailed Zeitronix along with a link to this thread so maybe they will chime in and save us some headaches
Last edited by Jack_of_Trades; May 7, 2008 at 11:31 AM.
#53
Evolving Member
iTrader: (11)
Join Date: Jun 2005
Location: Menomonee Falls, WI
Posts: 155
Likes: 0
Received 0 Likes
on
0 Posts
formula for that is easy then. x/254*10+9.6 sucks those cause I use the purple wire for narrowband simulation. I'll have to dig for a formula for the purple wire.
corrected, sorry
corrected, sorry
Last edited by Tek3Evo; May 7, 2008 at 12:13 PM.
#55
Evolved Member
iTrader: (17)
Here is the email reply from Zeitronix:
The Zt-2 has two wideband analog outputs. The non linear white wire output following sixth order equation natural wideband O2 sensor curve, and linear output (purple wire). It's easier to log linear output where transfer function is AFR=2xV +9.6. For non linear output you need to enter multiple AFR/V points from the table.
You really want to log digital numbers from ANY device if digital interface is available. Logging analog voltages is challenging since you will run into digital to analog conversion errors, analog to digital conversion errors, ground offsets and noise. Automotive grounds are very noisy, wideband O2 controllers pull 1A-3A of current for the O2 heater circuits adding to the ground offsets. The current varies depends on the sensor temperature (EGTs) so the ground offset varies with EGTs. Moreover, the ECU +5V reverence for A/D converters has it's own tolerances. Also, keep in mind ECU provides you with much slower output sampling rate than the Zt-2.
Said that, yes logging analog outputs can be done it's just more challenging than reading the digital output. If logged device is not equipped with digital output then all you have is the analog output. Designers of Evoscan and Mitsulogger went through a trouble to add the Zt-2 serial input into the software, so logging analog outputs is a step backwards. Kind of like copying your favorite song by connecting your MP3 player headsets output to a PC sound card analog microphone input, recording the sound, digitizing it as wave and converting back to MP3
You really want to log digital numbers from ANY device if digital interface is available. Logging analog voltages is challenging since you will run into digital to analog conversion errors, analog to digital conversion errors, ground offsets and noise. Automotive grounds are very noisy, wideband O2 controllers pull 1A-3A of current for the O2 heater circuits adding to the ground offsets. The current varies depends on the sensor temperature (EGTs) so the ground offset varies with EGTs. Moreover, the ECU +5V reverence for A/D converters has it's own tolerances. Also, keep in mind ECU provides you with much slower output sampling rate than the Zt-2.
Said that, yes logging analog outputs can be done it's just more challenging than reading the digital output. If logged device is not equipped with digital output then all you have is the analog output. Designers of Evoscan and Mitsulogger went through a trouble to add the Zt-2 serial input into the software, so logging analog outputs is a step backwards. Kind of like copying your favorite song by connecting your MP3 player headsets output to a PC sound card analog microphone input, recording the sound, digitizing it as wave and converting back to MP3
#58
Evolved Member
iTrader: (17)
Not to get off topic but... I also noticed that if I were to look at my evoscan charts and I moved the cursor over a particular point, the reading that pop up in the little window weren't all from the same point on the chart. If I could see that the AFR was 12.0 exactly at peak load and moved my cursor to the peak of the load chart, the AFR in the pop-up window would read a different location. Usually only off by a small amount, but still off. Because of this I have to look at the logs in excel or the free OpenOffice.org version of excel to see the true numbers. Just another step that I'd rather not take.
#59
Evolved Member
iTrader: (17)
I know some 1G DSM guys have hacked the Front O2 sensor input coding so they use the linear analog output and just set the narrowband switching point to the voltage they prefer (with the purple wire it would be 2.55 volts for 14.7AFR switching for closed loop). I'm pretty sure this would be the best solution overall.
If MrFred can figure out how to disable the O2 sensor heater circuits, we can remove all NB O2 sensors completely and just have one WB O2 sensor. Since it would be controlling the closed loop switching point, we can also adjust that switching point via ECUFlash to make it leaner or richer. This would also free up the rear O2 sensor ADC input too for anything else we desire
If MrFred can figure out how to disable the O2 sensor heater circuits, we can remove all NB O2 sensors completely and just have one WB O2 sensor. Since it would be controlling the closed loop switching point, we can also adjust that switching point via ECUFlash to make it leaner or richer. This would also free up the rear O2 sensor ADC input too for anything else we desire
Last edited by Jack_of_Trades; May 7, 2008 at 12:48 PM.
#60
Evolved Member
iTrader: (27)
Jack, clear out your PM box. Your full
But to get what we were talking about
If I use this:
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="8409" type="1D" level="1" scaling="Hex16"/>
In Ecuflash I get 2089
If I use this:
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="8408" type="1D" level="1" scaling="Hex16"/>
In Ecuflash I get C820
But to get what we were talking about
If I use this:
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="8409" type="1D" level="1" scaling="Hex16"/>
In Ecuflash I get 2089
If I use this:
<table name="Rear O2 (ADC 0A) RAM variable" category="Rear_02" address="8408" type="1D" level="1" scaling="Hex16"/>
In Ecuflash I get C820