->PrOjEcTGS<-
20+ Year Contributor
- 2,681
- 22
- Oct 14, 2002
-
Missouri
For those of you that delve into the depths of burning your own EPROM chips for the stock ECU you might find this interesting. I recently used the code found on the DSM-ECU Yahoo Group to wire my AEM UEGO directly to the ECU for a native wideband.
Yahoo! Groups
I was hoping that this would keep my car precisely at or around 14.7 during closed loop. While the code does work and work very well what I did notice was that my AFR during closed loop seemed to fluctuate more that it used to with the stock narrowband. It would cycle anywhere between 13.5 to 15.9. This was unacceptable in my book seeing as how the sole purpose of the closed loop operation is to maintain the preprogrammed AFR to cycle around. 14.7:1. On the highway you could feel a surging sensation as the car would lean out and richen up. Therefore I believe that having a native wideband for our purposes on the stock ECU is overrated and unneeded. Unless of course you are running a stand-alone EMS system that was designed around it. I switched back to the stock NB sensor which seems to do it's job fairly well. I do still have the WBO2 hooked up to the EGR-T input for logging purposes though.
Any thoughts on this are welcome.
Here's the code if anyone is interested:
// old
< d69e: 96 ce ldaa *0xce // O2 sensor
< d6a0: 81 1f cmpa #31 // if O2 < 31 (.5v) (lean)
< d6a2: 24 03 bcc 0xd6a7 // (branch carry clear)
// new
> d69e: 96 ce ldaa *0xce // WBO2 sensor
> d6a0: 81 7a cmpa #122 // if WBO2 >= 122 (2.4v) (lean)
> d6a2: 25 03 bcs 0xd6a7 // (branch carry set)
d6bf: d6 ce ldab *0xce // WBO2 sensor
d6c1: c1 7a cmpb #122 // if WBO2 >= 122 (2.4v) (lean)
d6c3: 25 03 bcs 0xd6c8 // (branch carry set)
d7fc: 96 ce ldaa *0xce // a = WBO2 sensor
d7fe: 81 80 cmpa #128 // WBO2v >= 128 (2.5v) (lean)
d800: 32 pula // a = O2trim
d801: 25 07 bcs 0xd80a // if WBO2v >= 2.5v
e61c: 96 ce ldaa *0xce
e61e: 81 7a cmpa #122 // WBO2 < 2.4v (rich)
e620: 24 02 bcc 0xe624
f08b: d6 ce ldab *0xce // WBO2 sensor
f08d: c1 80 cmpb #128 // WBO2v >= 128 (2.5v) (lean)
f08f: 25 0d bcs 0xf09e
Yahoo! Groups
I was hoping that this would keep my car precisely at or around 14.7 during closed loop. While the code does work and work very well what I did notice was that my AFR during closed loop seemed to fluctuate more that it used to with the stock narrowband. It would cycle anywhere between 13.5 to 15.9. This was unacceptable in my book seeing as how the sole purpose of the closed loop operation is to maintain the preprogrammed AFR to cycle around. 14.7:1. On the highway you could feel a surging sensation as the car would lean out and richen up. Therefore I believe that having a native wideband for our purposes on the stock ECU is overrated and unneeded. Unless of course you are running a stand-alone EMS system that was designed around it. I switched back to the stock NB sensor which seems to do it's job fairly well. I do still have the WBO2 hooked up to the EGR-T input for logging purposes though.
Any thoughts on this are welcome.
Here's the code if anyone is interested:
// old
< d69e: 96 ce ldaa *0xce // O2 sensor
< d6a0: 81 1f cmpa #31 // if O2 < 31 (.5v) (lean)
< d6a2: 24 03 bcc 0xd6a7 // (branch carry clear)
// new
> d69e: 96 ce ldaa *0xce // WBO2 sensor
> d6a0: 81 7a cmpa #122 // if WBO2 >= 122 (2.4v) (lean)
> d6a2: 25 03 bcs 0xd6a7 // (branch carry set)
d6bf: d6 ce ldab *0xce // WBO2 sensor
d6c1: c1 7a cmpb #122 // if WBO2 >= 122 (2.4v) (lean)
d6c3: 25 03 bcs 0xd6c8 // (branch carry set)
d7fc: 96 ce ldaa *0xce // a = WBO2 sensor
d7fe: 81 80 cmpa #128 // WBO2v >= 128 (2.5v) (lean)
d800: 32 pula // a = O2trim
d801: 25 07 bcs 0xd80a // if WBO2v >= 2.5v
e61c: 96 ce ldaa *0xce
e61e: 81 7a cmpa #122 // WBO2 < 2.4v (rich)
e620: 24 02 bcc 0xe624
f08b: d6 ce ldab *0xce // WBO2 sensor
f08d: c1 80 cmpb #128 // WBO2v >= 128 (2.5v) (lean)
f08f: 25 0d bcs 0xf09e