Air Temp Compensation table
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
Whether or not this map was intended for this purpose it surely does seem to work. I can use the 200Hz row to offset my AFR curve based on air density. I find from my testing that the x-scaling that you suggested JCS is close enough @ 1ATM. If we can't find better then I need to find a way to make this table at least seem tunable. lol. I cant remember some crazy arbitrary number = Xdeg F.
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
Those values aren't linear, so I'm not sure if jcsbanks just gave rough numbers or not.
But, if you want to create a scaling like I did for you before, it's pretty easy. The decimal values in the ROM for that axis from left to right is 34, 50, 66, 82.
Just plot that as the X axis and the temps as the Y axis in Excel and add a trendline. The equation of the line is your scaling equation.
Eric
But, if you want to create a scaling like I did for you before, it's pretty easy. The decimal values in the ROM for that axis from left to right is 34, 50, 66, 82.
Just plot that as the X axis and the temps as the Y axis in Excel and add a trendline. The equation of the line is your scaling equation.
Eric

y = 5.5125x - 204.73
Last edited by honki24; Jan 31, 2009 at 06:47 AM.
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Below are the updated scalings and definitions. If you want the horizontal axis of the 3D table expressed as temperature/baro, then switch to the "AirTempBaroFactorMod" scaling, and don't mess with the 2D table.
Code:
<scaling name="AirTempFactor" units="Fraction" toexpr="x/48" frexpr="x*48" format="%.2f" min="0" max="2" inc="0.02" storagetype="uint8" endian="big"/>
<scaling name="AirTempBaroFactor" units="Fraction" toexpr="x/48" frexpr="x*48" format="%.2f" min="0" max="2" inc="0.02" storagetype="uint16" endian="big"/>
<scaling name="AirTempBaroFactorMod" units="Fraction" toexpr="3.27*x-143" frexpr="(x+143)/3.27" format="%.1f" min="-40" max="200" inc="0.1" storagetype="uint16" endian="big"/>
<table name="Rel Air Volume (20C) vs Air Temp for Airflow/Hz" address="2d3e" category="Fuel" type="2D" level="3" scaling="AirTempFactor">
<table name="Degrees" address="714a" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Airflow/Hz Baro and Air Temp Compensation" address="2d51" category="Fuel" type="3D" level="3" swapxy="true" scaling="AirTempBaroCorrection">
<table name="Rel Air Volume (20C, 1 bar)" address="6d92" type="X Axis" elements="4" scaling="AirTempBaroFactor"/>
<table name="MAF Hz" address="6dd8" type="Y Axis" elements="9" scaling="MAFHz"/>
</table>
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
To get this table:

I'm using this:

I'm using this:
Code:
<scaling name="AirTempBaroFactor" units="Fraction" toexpr="x/64" frexpr="x*64" format="%.2f" min="0" max="2" inc="0.02" storagetype="uint16" endian="big"/> <scaling name="AirTempBaroCorrection" units="Fraction" toexpr="x/128" frexpr="x*128" format="%.2f" min="0" max="2" inc="0.02" storagetype="uint8" endian="big"/> <scaling name="AirflowHz" units="Hz" toexpr="x/10.175" frexpr="x*10.24" format="%.0f" min="0" max="6375" inc="1" storagetype="uint16" endian="big"/> <scaling name="CustomAirTemp" units="F" toexpr="5.5125*x-204.73" frexpr="(x+204.73)/5.5125" format="%.0f" min="-40" max="335" inc="1" storagetype="uint16" endian="big"/> <table name="Fuel compensation for air temp" address="3351" category="Fuel" type="3D" level="3" swapxy="true" scaling="AirTempBaroCorrection"> <table name="degF @ 1ATM" type="X Axis" address="6572" elements="4" scaling="CustomAirTemp"/> <table name="MAF Hz" type="Y Axis" address="65b8" elements="9" scaling="AirflowHz"/> </table>
Honki24, there is a table that directly controls AFR (and compensated load) based on intake temps. If all you want to do is tune for temperature, I don't understand why you don't try out the other table?
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
lol... I would!! That is my target here... but from the past couple hundred posts from what I understand this is the only map that will actually affect fueling only and not load. From what I understand the other temperature compensation tables are either mislabeled or will aslo affect calculated load. I don't want to do that at all. That just muddies the waters tremendously. If you know of it please give the def for 94170014/15 along with scaling.
I would just go ahead and edit the temperature table that affects load (not the other table that is the lookup for this airtemp/baro table).
"Load" isn't actually properly proportional to air charge anyway like it "should" be - it uses a non-linear MAF sensor output and only makes it linear when IPW is calculated.
The only implication I see of improving your load scaling for temperature is that your ignition timing will also move. If you compress the changes in load that you see with temperature, you will also compress the changes in ignition timing that you see with temperature, you could adjust the ignition timing vs air temp table later if needed.
Do be aware in compressing the changes with temperature that you could enter the death spiral if you have detonation though as JKav quite rightly points out in post #197.
"Load" isn't actually properly proportional to air charge anyway like it "should" be - it uses a non-linear MAF sensor output and only makes it linear when IPW is calculated.
The only implication I see of improving your load scaling for temperature is that your ignition timing will also move. If you compress the changes in load that you see with temperature, you will also compress the changes in ignition timing that you see with temperature, you could adjust the ignition timing vs air temp table later if needed.
Do be aware in compressing the changes with temperature that you could enter the death spiral if you have detonation though as JKav quite rightly points out in post #197.
I find it surprising that your tune varies much with temps. I tuned my car when it was ~80F degrees outside and even now that it's been down to 0F my car has varied less then 0.2:1 AFR through out that entire temperature range at WOT. The factory ECU is quite proficient at keeping the AFR stable, from what I have seen.
If you are finding the car is going ridiculously rich becuase of high intake temps, then maybe it's the factory IAT compensation table that is causing it to go into a safe tune because the intake temps are too high. The solution seems to be to keep intake temps cool (thus keeping power up) and not leaning out the AFR when things get hot.
If you are finding the car is going ridiculously rich becuase of high intake temps, then maybe it's the factory IAT compensation table that is causing it to go into a safe tune because the intake temps are too high. The solution seems to be to keep intake temps cool (thus keeping power up) and not leaning out the AFR when things get hot.
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
I would just go ahead and edit the temperature table that affects load (not the other table that is the lookup for this airtemp/baro table).
"Load" isn't actually properly proportional to air charge anyway like it "should" be - it uses a non-linear MAF sensor output and only makes it linear when IPW is calculated.
The only implication I see of improving your load scaling for temperature is that your ignition timing will also move. If you compress the changes in load that you see with temperature, you will also compress the changes in ignition timing that you see with temperature, you could adjust the ignition timing vs air temp table later if needed.
Do be aware in compressing the changes with temperature that you could enter the death spiral if you have detonation though as JKav quite rightly points out in post #197.
"Load" isn't actually properly proportional to air charge anyway like it "should" be - it uses a non-linear MAF sensor output and only makes it linear when IPW is calculated.
The only implication I see of improving your load scaling for temperature is that your ignition timing will also move. If you compress the changes in load that you see with temperature, you will also compress the changes in ignition timing that you see with temperature, you could adjust the ignition timing vs air temp table later if needed.
Do be aware in compressing the changes with temperature that you could enter the death spiral if you have detonation though as JKav quite rightly points out in post #197.
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
If you are finding the car is going ridiculously rich becuase of high intake temps, then maybe it's the factory IAT compensation table that is causing it to go into a safe tune because the intake temps are too high. The solution seems to be to keep intake temps cool (thus keeping power up) and not leaning out the AFR when things get hot.
On a similar token... is there a table for coolant temp enrichment? I know for a fact that our car does use coolant temp enrichment but I'm not sure I've seen a table where I can adjust that.
(All: please note that I know what I'm doing and that messing with some of these things may not be for the average driver, but this is primarily a race car and I just want stable performance from it. When temps get high in the summer the car runs stupid rich and blows fire, melts gaskets, and causes general havoc... all because its far too rich. I'm quite confident in my ability to tune the car for reliability and safety without all these silly enriching safeguards)
I could be wrong, but I beleive this post is the table used to do IAT enrichment.
I'm just wondering if maybe the temeprature scaling is off or if something else is pushing you up into the top of the table where the correction stays constant (85 and 115 X-axis values both have a 0.83 correction). That last value would mean the car is going to go quite rich if you get hotter then the second to last value (85C).
I can see how factory set "fail safes" that make the car go rich may actually cause you more problems in your situation and it could be very desireable to retune that area of the maps.
I'm just wondering if maybe the temeprature scaling is off or if something else is pushing you up into the top of the table where the correction stays constant (85 and 115 X-axis values both have a 0.83 correction). That last value would mean the car is going to go quite rich if you get hotter then the second to last value (85C).
I can see how factory set "fail safes" that make the car go rich may actually cause you more problems in your situation and it could be very desireable to retune that area of the maps.
Yeah, I really don't want to do things that way. I really feel that adjusting IPW via the temp/baro correction is much closer to what I want than changing the calculated load. I have nailed my fuel and timing tables after 3 years of fine-tuning... but I'm tired of the AFR swings due to changing air density. I want to tune the car @ sea level and 50 degree intake temps and be able to run at 1000' above sea level and 120F intake temps and still hit my tune. I, like others, still beleive there must be a more direct table that could make adjustment based on temp alone... or at least one could be made with little effort... but until that is fully discovered I really feel that IPW adjustment based on relative air density is a decent approach.
If your AFRs are moving too much with temperature then your load is also moving too much with temperature, and that variation "should" be reduced also. By retuning the air temp density table I'm talking about you may reduce the change of ignition timing with temperature a bit, but if your AFRs are moving too much then I think your timing will be also. I do not think you're suddenly going to undo all your hard work on the ignition and fuelling, if anything you should make it more consistent. It is a modified engine, don't feel bad about modifying tables away from a theoretical gas law calculation that doesn't take account of other variables.
I don't think I can put my argument any other way to convince you
Thread Starter
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
The table that compensates load (and IPW) is the one that does what you want IMHO. There are no other tables I've found that are nearer to what you are looking for (ie an IPW adjustment that doesn't adjust load but also doesn't depend on baro). I've spent the last 2-3 months going through the code from the MAF sensor to the IPW which is why I've starting chiming in on this thread so late when I felt I had something to add.
If your AFRs are moving too much with temperature then your load is also moving too much with temperature, and that variation "should" be reduced also. By retuning the air temp density table I'm talking about you may reduce the change of ignition timing with temperature a bit, but if your AFRs are moving too much then I think your timing will be also. I do not think you're suddenly going to undo all your hard work on the ignition and fuelling, if anything you should make it more consistent. It is a modified engine, don't feel bad about modifying tables away from a theoretical gas law calculation that doesn't take account of other variables.
I don't think I can put my argument any other way to convince you
If your AFRs are moving too much with temperature then your load is also moving too much with temperature, and that variation "should" be reduced also. By retuning the air temp density table I'm talking about you may reduce the change of ignition timing with temperature a bit, but if your AFRs are moving too much then I think your timing will be also. I do not think you're suddenly going to undo all your hard work on the ignition and fuelling, if anything you should make it more consistent. It is a modified engine, don't feel bad about modifying tables away from a theoretical gas law calculation that doesn't take account of other variables.
I don't think I can put my argument any other way to convince you

I like to keep some constants. I think I understand what you say though.... First question: could you please copy the link of the exact table you are talking about in your next post? We have several of them floating around here and I want to be certain.
Second question: Say I use that table instead. I understand the implications of adjusting the air density table in terms of IPW. However, I'm more fuzzy on how it would change load. Could you give me some dummy values? Say I increase one value in this proposed table by 10%. That would signify that at X temp density increases by 10% so hopefully IPW would correspond, but would load then go up by 10% at that temp across the board? If I have to change my tune drastically I'd at least like to know what it is going to do beforehand so I'm not surprised.
Third question: Could it really be so hard to separate this table from load calculations? I should think that if you (we) understand the IPW calculations it would be super simple to separate the table you propose into two separate tables so that we only affect IPW with regards to temp.
Fourth question: Any idea on a coolant temp enrichment table? That may be part of my problem. Perhaps I need to zero that out to get consistent results here.
Thanks for bearing with me.



