Advanced fuel control options
[QUOTE=merlin.oz;7832912]Found a similar 3D map for the AUDM9 88580013, at address 647D.
It has a bit more complex data than the evo8 described above though.
I am currently using scaling "EnrichmentAdj" which sets value 128=1.00 so its easy to read the increment.[QUOTE]
That scaling is not precise enough. It is pretty close though. I like the idea of having it = 1.0 vs 128. It is easier to understand this way. We just need it to be more precise.
It has a bit more complex data than the evo8 described above though.
I am currently using scaling "EnrichmentAdj" which sets value 128=1.00 so its easy to read the increment.[QUOTE]
That scaling is not precise enough. It is pretty close though. I like the idea of having it = 1.0 vs 128. It is easier to understand this way. We just need it to be more precise.
Just as a followup after driving around on it for a couple of days.
It seems to have had a decent improvement in cold driveability. For the most part, AFRs rarely go leaner then 16:1 now while cold. Every once in a while, the car will get a little jitter in that 1500 RPM area and AFRs go into the 17:1-18:1 range but the car drives through it better then it ever has.
I had this crappy cold driveability on the stock injectors and MAF. I have a feeling this map could help a lot even on MAF cars.
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
It seems to have had a decent improvement in cold driveability. For the most part, AFRs rarely go leaner then 16:1 now while cold. Every once in a while, the car will get a little jitter in that 1500 RPM area and AFRs go into the 17:1-18:1 range but the car drives through it better then it ever has.
I had this crappy cold driveability on the stock injectors and MAF. I have a feeling this map could help a lot even on MAF cars.
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
Thread Starter
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
...
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
MAFScaleW = (avg[LU#1 & LU#2] - 128)*LU_v_RPM_Load/128 + 128
where:
LU#1 = MAF Comp vs Coolant Temp #1
LU#2 = MAF Comp vs Coolant Temp #2
LU_v_RPM_load = the table under discussion
Have you tried a putting all zeros in the LU_v_RPM_Load table?
The four contributions
A) Base fuel pulse - This is the contribution that jcsbanks has described. It takes over after the starter has been disengaged. The equation for this contribution is given by:
BFPW = constant*[(STFT/256 + X + LTFTCurrent + 128)/512]*(MAFCompW/128)*
[(MasterLoad {+/- K*DeltaMasterLoad})/2048]*(AFRMAP/128)*(CAM/128)*
[(FFFF6F32+384)/512]*[(2*Startup_Mult+128)/128]*
(Z/128)*Baro*AirDensityFactor*(BFPW_Mult/128)*IFPHz
* STFT = STFT, 0 during open loop driving
* X = To be worked out, 128 during open loop driving
* LTFTCurrent = Either low, medium, or high LTFT per LTFT vs MAF Hz table defined below. This shows that LTFTs are used during open loop fueling, however, with the stock mid/high crossover, LTFT high, which is always 128 (null value), is used above 1597 Hz.
* AFRMAP = AFRMAP from fuel table lookup routine
* MAFCompW = MAF signal compensation vs coolant temp, 128 at normal operating temperature.
* MasterLoad = master load variable, calculated from MAF signal
* DeltaMasterLoad = absolute value of the change in master load, only used when load < 70 and when weighting parameter for the master load running average is > 205, +/- based on accel/decel.
* K is either 2 or 3 depending on a flag.
* CAM = some factor related to camshaft timing, probably 128 during normal conditions, needs to be worked out.
* FFFF6F32 = Have yet to work it out. Logging shows it to mostly be 128, but can vary between ~100 and ~150.
* Startup_Mult = an average of two BFPW startup enrichment tables. These add a bit of enrichment for the first few moments after the engine has fired up. Decays to zero over a period of a few seconds after starter is disengaged.
* Z = to be worked out, always 128.
* Baro = barometric pressure
* AirDensityFactor = 2D relative air density vs IAT table
* BFPW_Mult = 128 under normal conditions, details to be worked out
* IFPHz = see equation above
All zeros should be the same as all 128s in the MAF Comp vs Coolant Temp tables, right?
Very interesting that the table has a hole in it then, as according to the scaling above, it's doubling the warmup compensation through the idle and off idle range, yet that's where the car goes lean and changing it to 128 has had a very pronounced affect and helped considerably. As mentioned though, it certainly has not fixed the issue completely though.
I don't want to eliminate the warmup compensation. I just want to get rid of the lean spots. I suppose it's worth a shot though just to see if the lean spots still exist.
This problem seems like something similar to the jitter issue though, something is kicking in under a certain condition and then the ECU is expecting a similar change in the airflow signal and it's no longer there with the SD patch.
If there is any RAM address that I can log, or just getting a log in general, this week would be a good week. It's cold, and I have some free time.
Thread Starter
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Yes, all zeros in the 3D table is equivalent to all 128s in the MAF comp tables. However, entering all zeros in the 3D table will further test whether the 3D table enrichens instead of enleans as the numbers are reduced.
I don't think this table richens AFRs by reducing the numbers. I was wondering if maybe the 255s acted like they do in timing advance where they are negative numbers. Based on what you wrote though, what slocrx1 and what I have seen, that doesn't seem to be the case.
It definitely made my car more driveable most of the time. However, before it use to go lean and stay there and the car wouldn't really go until it got above 2000 RPM. Now when it does go lean (less often) it is very abrupt, like fuel cut, the car bucks 2-3 times and then it goes right away.
Either way, something is going on at this low RPM low load area during warm up that I'd love to fix. It's not specific to the SD patch either, as my car did it with the stock MAF and stock injectors. The warmup ignition table smoothed things out, but the car has always gone lean under these conditions.
It definitely made my car more driveable most of the time. However, before it use to go lean and stay there and the car wouldn't really go until it got above 2000 RPM. Now when it does go lean (less often) it is very abrupt, like fuel cut, the car bucks 2-3 times and then it goes right away.
Either way, something is going on at this low RPM low load area during warm up that I'd love to fix. It's not specific to the SD patch either, as my car did it with the stock MAF and stock injectors. The warmup ignition table smoothed things out, but the car has always gone lean under these conditions.
To go with 03whitegsr's comment, after setting the table in question to 128 I found the car trying to drive at 18-19afr's during warmup, which obviously doesn't go too well. I had to let the car warm up completely before I could even drive it back home lol. Set it back to the stock 255 range and runs fine again.
While looking at the raw hex for all this the other day, I spotted two 3D maps a bit further into the rom.
This is for 88580013, and I dont think they have been described as yet.
The first is at address 65B5 and the second at 6765. The first looked like spark, so I plugged them into EcuFlash as spark maps for a look.
They do look like spark maps, the map at 65B5 has higher cruise advance (45*) but has a block of retarded timing at load30-60 and rpm 1k-3k. I was wondering if this may one of the mysterious timing variables.
The second map at 6765 is organised as per spark maps, but is basicaly zeroed off with a bunch of incrementing values, at load 20-60 and rpm 750-1750.
mrfred, have you seen this on the US roms? Or anyone else?
This is for 88580013, and I dont think they have been described as yet.
The first is at address 65B5 and the second at 6765. The first looked like spark, so I plugged them into EcuFlash as spark maps for a look.
They do look like spark maps, the map at 65B5 has higher cruise advance (45*) but has a block of retarded timing at load30-60 and rpm 1k-3k. I was wondering if this may one of the mysterious timing variables.
The second map at 6765 is organised as per spark maps, but is basicaly zeroed off with a bunch of incrementing values, at load 20-60 and rpm 750-1750.
mrfred, have you seen this on the US roms? Or anyone else?
Thread Starter
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Its not included in the factory MUT table, so you'll have to add it as 0x8ABB.
While looking at the raw hex for all this the other day, I spotted two 3D maps a bit further into the rom.
This is for 88580013, and I dont think they have been described as yet.
The first is at address 65B5 and the second at 6765. The first looked like spark, so I plugged them into EcuFlash as spark maps for a look.
They do look like spark maps, the map at 65B5 has higher cruise advance (45*) but has a block of retarded timing at load30-60 and rpm 1k-3k. I was wondering if this may one of the mysterious timing variables.
The second map at 6765 is organised as per spark maps, but is basicaly zeroed off with a bunch of incrementing values, at load 20-60 and rpm 750-1750.
mrfred, have you seen this on the US roms? Or anyone else?
This is for 88580013, and I dont think they have been described as yet.
The first is at address 65B5 and the second at 6765. The first looked like spark, so I plugged them into EcuFlash as spark maps for a look.
They do look like spark maps, the map at 65B5 has higher cruise advance (45*) but has a block of retarded timing at load30-60 and rpm 1k-3k. I was wondering if this may one of the mysterious timing variables.
The second map at 6765 is organised as per spark maps, but is basicaly zeroed off with a bunch of incrementing values, at load 20-60 and rpm 750-1750.
mrfred, have you seen this on the US roms? Or anyone else?
Finally got around to looking at this table, honestly, I think I missed it the first time through the thread that you posted all the addresses. I think this is where most of the warmup based enleanment is coming from. My car still goes lean in that area, but no where close to what it use to do. It may just be a fluke this morning, but my car always goes VERY lean, 20:1 and the car just won't even drive below 2000 RPM when it's cold. With this change, car never went leaner then 16.5:1 or so and the enleanment could barely be felt at all. Drove right through it.
I know a couple other guys have noted a problem in the same area so if a couple others can try it out, it would be helpful.
Here is the ECUFlash xml, you'll need to be in developer mode to see it.
Stock Table

New table (just to see what happens)...

I know a couple other guys have noted a problem in the same area so if a couple others can try it out, it would be helpful.
Here is the ECUFlash xml, you'll need to be in developer mode to see it.
Code:
<table name="***Warmup Enrichment Load vs RPM" address="6071" category="Engine Coolant Temperature Trim" type="3D" level="1" scaling="uint8"> <table name="Engine Load" address="66f2" type="X Axis" elements="14" scaling="Load"/> <table name="Engine Speed" address="7adc" type="Y Axis" elements="8" scaling="RPM"/> </table>
Stock Table

New table (just to see what happens)...

Just as a followup after driving around on it for a couple of days.
It seems to have had a decent improvement in cold driveability. For the most part, AFRs rarely go leaner then 16:1 now while cold. Every once in a while, the car will get a little jitter in that 1500 RPM area and AFRs go into the 17:1-18:1 range but the car drives through it better then it ever has.
I had this crappy cold driveability on the stock injectors and MAF. I have a feeling this map could help a lot even on MAF cars.
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
It seems to have had a decent improvement in cold driveability. For the most part, AFRs rarely go leaner then 16:1 now while cold. Every once in a while, the car will get a little jitter in that 1500 RPM area and AFRs go into the 17:1-18:1 range but the car drives through it better then it ever has.
I had this crappy cold driveability on the stock injectors and MAF. I have a feeling this map could help a lot even on MAF cars.
As for scaling, the map doesn't really make sense as percent 128, because the 255s in the map say it is richening it up the problem area, but it seems quite the opposite. Going from 255 to 128 seems to make the car richer, not leaner like percent 128 would suggest.
Here is the calculation in the code:
MAFScaleW = (avg[LU#1 & LU#2] - 128)*LU_v_RPM_Load/128 + 128
where:
LU#1 = MAF Comp vs Coolant Temp #1
LU#2 = MAF Comp vs Coolant Temp #2
LU_v_RPM_load = the table under discussion
Have you tried a putting all zeros in the LU_v_RPM_Load table?
MAFScaleW = (avg[LU#1 & LU#2] - 128)*LU_v_RPM_Load/128 + 128
where:
LU#1 = MAF Comp vs Coolant Temp #1
LU#2 = MAF Comp vs Coolant Temp #2
LU_v_RPM_load = the table under discussion
Have you tried a putting all zeros in the LU_v_RPM_Load table?
I've been wanting to try this but been out of town and busy with holiday stuff. Just today I converted to the Omni 4-bar map sensor, so once I get that sorted out I'd like to come back to this and see what affects this table has on my car. Are you using the 128's like shown in the first post, or did you settle on some other value?
IIRC, the last time I was adjusting my Load/kPa VE table, I ended up changing the value in that range where I was seeing the lean spots to richen it up, and once the car warmed up I had to adjust the RPM VE accordingly to get my trims back in check.




