What does your MAT Air Density Table look like?
#1
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Hey Guys,
Trying to get this thing tuned perfectly. Finally got some ID1000 injectors, their data for megasquirt with regards to dead time and small pulse widths helped me get closer to perfect for sure. But I recently started tuning my MAT air density table and am curious to see what other people are running. I basically ditched my old table which looked like this:
![](https://www.miataturbo.net/attachments/megasquirt-18/171798-what-does-your-mat-air-density-table-look-like-80-mat_air_density_before_397a31869d781c02bbfb8d3a2c117916b62e0c7a.jpg?dateline=1463492003)
Because I seemed to be having issues with changing temperatures, I found one I think Braineak said he was running (or one of the "great Oracle users"), plugged that in and modified it just a bit:
![](https://www.miataturbo.net/attachments/megasquirt-18/171799-what-does-your-mat-air-density-table-look-like-80-mat_air_density_after_5425704dac3c83079531a890c1cb94af0547152a.jpg?dateline=1463492003)
But now after autotuning with this table when it was a bit cold (45-50F maybe) I noticed after it warmed up a little bit I seemed to be going a bit lean in places (target of 15.2, was hitting 16).
What does everyone else's tables look like? Should it look more like my first table that I found from...somewhere or should it be flatter like the second picture? This is on firmware 1.4.1. I feel like it should be relatively flat as it mentions it takes into account the ideal gas law, so I'm assuming this table is just adjusting based on that table already? Any help would be great. I enjoy this whole tuning thing, but trying to track down every little variable that might be throwing everything off for you is a bit daunting... Also any tuning advice for tuning the MAT air density table would be appreciated. I understand what it does (accounts for varying density based on temperature) but would be interesting to see how others go about tuning it in terms of procedure (looking at logs and adding fuel when it's running a bit lean? or maybe try and do it based on idle?). Thanks!
Trying to get this thing tuned perfectly. Finally got some ID1000 injectors, their data for megasquirt with regards to dead time and small pulse widths helped me get closer to perfect for sure. But I recently started tuning my MAT air density table and am curious to see what other people are running. I basically ditched my old table which looked like this:
![](https://www.miataturbo.net/attachments/megasquirt-18/171798-what-does-your-mat-air-density-table-look-like-80-mat_air_density_before_397a31869d781c02bbfb8d3a2c117916b62e0c7a.jpg?dateline=1463492003)
Because I seemed to be having issues with changing temperatures, I found one I think Braineak said he was running (or one of the "great Oracle users"), plugged that in and modified it just a bit:
![](https://www.miataturbo.net/attachments/megasquirt-18/171799-what-does-your-mat-air-density-table-look-like-80-mat_air_density_after_5425704dac3c83079531a890c1cb94af0547152a.jpg?dateline=1463492003)
But now after autotuning with this table when it was a bit cold (45-50F maybe) I noticed after it warmed up a little bit I seemed to be going a bit lean in places (target of 15.2, was hitting 16).
What does everyone else's tables look like? Should it look more like my first table that I found from...somewhere or should it be flatter like the second picture? This is on firmware 1.4.1. I feel like it should be relatively flat as it mentions it takes into account the ideal gas law, so I'm assuming this table is just adjusting based on that table already? Any help would be great. I enjoy this whole tuning thing, but trying to track down every little variable that might be throwing everything off for you is a bit daunting... Also any tuning advice for tuning the MAT air density table would be appreciated. I understand what it does (accounts for varying density based on temperature) but would be interesting to see how others go about tuning it in terms of procedure (looking at logs and adding fuel when it's running a bit lean? or maybe try and do it based on idle?). Thanks!
#3
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
not sure why people use values like -40 and 240 for temps, I've yet to see anyone go outside 30-180F
if I remember correctly, mine are about 105-99, almost linear but not quite.
it all depends on your specific location/temp/weather, and the rest of your tune. if the car is tuned properly, you will need very little correction
if I remember correctly, mine are about 105-99, almost linear but not quite.
it all depends on your specific location/temp/weather, and the rest of your tune. if the car is tuned properly, you will need very little correction
#4
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
yeah mine had a ~105-95 swing. I actually tuned it so when it was like 10°F or 90°F outside, my enrichment (ego) weren't compensating.
you want to complete 100% it across until your fuel map is completely tuned. THEN you can start applying the MAT corrections when you notice your EGO sitting off 100% when it's very warm or very cold out. (don't use it to combat heatsoak).
you want to complete 100% it across until your fuel map is completely tuned. THEN you can start applying the MAT corrections when you notice your EGO sitting off 100% when it's very warm or very cold out. (don't use it to combat heatsoak).
#5
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
^^ I want my car to run like this guy's. Seriously almost wanna hop in the car with some beer, a mail order bride and a bunch of mystery pills and drive over to VA and offer them up for you to tune my car. Sure, we'd both make some bad decisions, but think of how much I could learn...while the walls were breathing and I was puking on your new bride who may or may not have been a male before chernobyl
#8
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Oh don't get me wrong, I do want to learn. And I have learned quite a bit, and still am. And still want to continue. But at a certain point it is very helpful to know a) what others are using so you have some kind of ballpark to look in (or know if your settings are horribly off) and b) procedure. It's one thing to understand what a variable does (in this case, adds/subtracts PW based on MAT), but it's another to understand methodology, which things to tune first, best practices. I'm sure people much more experienced than I am have a set of "procedures", a pattern, an order if you will of things they tune first so that they're not chasing their tails. I'd love to watch one of you guys tune a car so I can watch you guys fly through what would take me months of trial and error.
Also, learning is easy when documentation is awesome. Megasquirt documentation is usually not very good (though I notice the MS Pro manual is much better than the MS3 manual, so that's helpful for tuning, but wtf, copy and paste that **** into the MS3 manual). In fact, because I have a coding background I've had better luck understanding things like how exactly the EBC calculates duty cycle by just reading the source code itself. I love learning, it's part of the reason I undertook this project. But I'm also not going to try building an Ikea bookshelf while absolutely refusing to look at the directions. If there's a way to learn better, quicker, and from someone who knows what they're doing, I'm going to take advantage of that. What I DON'T want to do is drop my car off at a tuner and say "I'll see ya thursday"
Also, learning is easy when documentation is awesome. Megasquirt documentation is usually not very good (though I notice the MS Pro manual is much better than the MS3 manual, so that's helpful for tuning, but wtf, copy and paste that **** into the MS3 manual). In fact, because I have a coding background I've had better luck understanding things like how exactly the EBC calculates duty cycle by just reading the source code itself. I love learning, it's part of the reason I undertook this project. But I'm also not going to try building an Ikea bookshelf while absolutely refusing to look at the directions. If there's a way to learn better, quicker, and from someone who knows what they're doing, I'm going to take advantage of that. What I DON'T want to do is drop my car off at a tuner and say "I'll see ya thursday"
#11
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Does this correction stack on some type of densiy calc in the speed density equation? Like a fudge factor to correct for misc errors and variations that aren't compensated for.
This is what theoretical should be if there is absolutely no temperature variable in the speed density fueling calc... This is only looking at 14.6 psia ambient pressure (sea level ish) which would be at WOT for a NA car. This table can be comparable to a weather correction factor for a dyno which compare the current ambient density to standard day (SAE J1349 etc.) I assumed 86 deg F standard day to match the tuner studio table (everything is normalized to the air density at 86 deg F).
It looks like they assumed a lower ambient pressure to get their theoretical calibration... But really you need a separate temperature compensation curve for each pressure and interpolate between them like a 3D map...
So I'm confused. I just want to learn more about what's going on as well. Has anyone looked at the firmware code and the speed density calc to see how temperature in handled in their equations? This seems to just be a fudge factor to account for misc errors and uncountable variables. if you guys are getting well tuned values between 95 and 105% then that must be the case?
EDIT: theoretical density calculation does not change with different ambient pressures. A 1D cal table like megaqsuirt uses is sufficient for temp compensation, a 3D map is not needed).
![](https://www.miataturbo.net/attachments/megasquirt-18/171809-what-does-your-mat-air-density-table-look-like-80-capture_3dca4fa8bc5184be21535658d5c06211274a6e25.jpg?dateline=1463497595)
This is what theoretical should be if there is absolutely no temperature variable in the speed density fueling calc... This is only looking at 14.6 psia ambient pressure (sea level ish) which would be at WOT for a NA car. This table can be comparable to a weather correction factor for a dyno which compare the current ambient density to standard day (SAE J1349 etc.) I assumed 86 deg F standard day to match the tuner studio table (everything is normalized to the air density at 86 deg F).
It looks like they assumed a lower ambient pressure to get their theoretical calibration... But really you need a separate temperature compensation curve for each pressure and interpolate between them like a 3D map...
So I'm confused. I just want to learn more about what's going on as well. Has anyone looked at the firmware code and the speed density calc to see how temperature in handled in their equations? This seems to just be a fudge factor to account for misc errors and uncountable variables. if you guys are getting well tuned values between 95 and 105% then that must be the case?
EDIT: theoretical density calculation does not change with different ambient pressures. A 1D cal table like megaqsuirt uses is sufficient for temp compensation, a 3D map is not needed).
![](https://www.miataturbo.net/attachments/megasquirt-18/171809-what-does-your-mat-air-density-table-look-like-80-capture_3dca4fa8bc5184be21535658d5c06211274a6e25.jpg?dateline=1463497595)
![](https://www.miataturbo.net/attachments/megasquirt-18/171810-what-does-your-mat-air-density-table-look-like-80-capture2_9f4c44ec324c986e248878aff5a31373738498a3.jpg?dateline=1463497595)
Last edited by cyotani; 05-17-2016 at 12:13 PM.
#12
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
To tune it by trial and error you can set all to 100% the day you tune your vehicle. The ambient temperature (or your IAT temp) the day you tune is your 100% value and should never change. Then when you drive in hotter summer days and colder winter days you can datalog and average your short term fuel trims over a long run in mixed driving situations. Apply that averaged STFT to the temp compensation table and repeat to see if the average STFT is close to zeroed out. Repeat this for as many ambient temperature conditions that you can. I'd zero out and disable and long term fuel trims if you have that enabled.
#13
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
the default curve actually matches that theo:
![](https://www.miataturbo.net/attachments/megasquirt-18/64316d1358015690-ms3-map-setting-fyi-ideal_mat_curve-jpg)
the problem is, the ideal gas law itself doesn't account for all the other variables with a running engine... it was hella-aggressive and posed many problems and why they changed the way the table works; we were implementing anti-corrections tables just to zero out the built in ideal-gaw law code.
this table is how temp is handled in the fuel equations.
the problem is, the ideal gas law itself doesn't account for all the other variables with a running engine... it was hella-aggressive and posed many problems and why they changed the way the table works; we were implementing anti-corrections tables just to zero out the built in ideal-gaw law code.
this table is how temp is handled in the fuel equations.
#15
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
the default curve actually matches that theo:
![](https://www.miataturbo.net/attachments/megasquirt-18/64316d1358015690-ms3-map-setting-fyi-ideal_mat_curve-jpg)
the problem is, the ideal gas law itself doesn't account for all the other variables with a running engine... it was hella-aggressive and posed many problems and why they changed the way the table works; we were implementing anti-corrections tables just to zero out the built in ideal-gaw law code.
this table is how temp is handled in the fuel equations.
the problem is, the ideal gas law itself doesn't account for all the other variables with a running engine... it was hella-aggressive and posed many problems and why they changed the way the table works; we were implementing anti-corrections tables just to zero out the built in ideal-gaw law code.
this table is how temp is handled in the fuel equations.
So temperature must be in the fueling calc, ( i think you put a pic with that info but I can't see it at the moment) and this MAT compensation table is a fudge factor table, then it should not be calibrated as default as the theoretical Wheather correction factor compensation curve...
#16
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
MegaSquirt Fuel Equation
What MegaSquirt® does is take this downloaded REQ_FUEL number and then multiply (or adds) values that scale this number, to come up with the injected pulse width [PW]. Therefore, pulse width is:
E = gamma_Enrich = (Warmup/100) * (O2_Closed Loop/100) * (AirCorr/100) * (BaroCorr/100)and
What MegaSquirt® does is take this downloaded REQ_FUEL number and then multiply (or adds) values that scale this number, to come up with the injected pulse width [PW]. Therefore, pulse width is:
PW = REQ_FUEL * VE * MAP * E + accel + Injector_open_time
The "E" above is the multiplied result of all enrichments, like warm-up, after-start, barometer and air temperature correction, closed-loop, etc:E = gamma_Enrich = (Warmup/100) * (O2_Closed Loop/100) * (AirCorr/100) * (BaroCorr/100)and
- Warmup is the warm-up enrichment value from the table the user enters in MegaTune,
- O2_Closed Loop is the EGO adjustment based on the EGO sensor feedback and the EGO settings the user enters in MegaTune,
- AirCorr is the adjustment for air density (based on the intake air temperature), and
- BaroCorr is the barometric correction based on the ambient air pressure (usually taken at start-up, but a second baro pressure sensor can be added to MegaSquirt-II for continuous updates to the BaroCorr).
#19
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Thanks for the info.
So it looks like all of the temperature density compensation is handled solely by that MAT density table. So it is not a fudge factor table, it is how the Speed Density equation compensates for changes mass of oxygen available due to changes in air charge temperature. If that is the case I would not expect the calibration of that curve to change much from the default calibration (ideal gas law equation).
But if you're getting 95-105% as it's range and that's pretty well dialed then the speed density engine fueling model must not account for a lot of misc errors.
Oh well, good to know what's going on behind the scenes there at least
PS: I ran the density values for 12 and 8 psi and it matched 14.6 psi so the MAT density equation is not dependent on pressure (I was wrong in an early post, 1 1D calibration is sufficient, not a 2D MAP),
So it looks like all of the temperature density compensation is handled solely by that MAT density table. So it is not a fudge factor table, it is how the Speed Density equation compensates for changes mass of oxygen available due to changes in air charge temperature. If that is the case I would not expect the calibration of that curve to change much from the default calibration (ideal gas law equation).
But if you're getting 95-105% as it's range and that's pretty well dialed then the speed density engine fueling model must not account for a lot of misc errors.
Oh well, good to know what's going on behind the scenes there at least
PS: I ran the density values for 12 and 8 psi and it matched 14.6 psi so the MAT density equation is not dependent on pressure (I was wrong in an early post, 1 1D calibration is sufficient, not a 2D MAP),