SD - first test success
Thank you and good to know. For setup, this makes a lot of sense.
However, long term I'm wondering if it would be advantageous to setup the IAT for MAT, leaving the fuel temp input for an additional logging channel?
What would be required to set this up on the IAT channel?
However, long term I'm wondering if it would be advantageous to setup the IAT for MAT, leaving the fuel temp input for an additional logging channel?
What would be required to set this up on the IAT channel?
I've written the patch with the intent of wiring the GM IAT sensor to the fuel tank temperature ADC input and applying my MAT logging patch. I thought it would be easier this way because as long as the MAF sensor remains connected, it makes it possible to go back and forth between MAF-based and MAP-based control with just a reflash whereas if the GM IAT sensor wired to the IAT ADC input, not only is a reflash necessary to go between MAF and MAP control, but the stock IAT sensor needs to be reconnected or some sort of toggle switch needs to be implemented.
Just curious as I thought the whole reason for SD is so you can remove the maf sensor ?
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Its just for setup convenience. I daily drive my car, and I wasn't ready to swap ECU pins back and forth as I fiddled with SD tuning. To make the patch compatible with reading the GM IAT sensor from the IAT ADC input, leave the "SD Convert IAT to MAT (0x03 -> 0x0E)" entry as 0x03. This sounds counter-intuitive to the table name, but that's because I didn't do such a good job of naming that table.
It is not linear, and it is inverse - thermistors usually are. You need to have a lookup table to make sense of it, or a polynomial, or you could log the "scaled" MAT by changing the MUT table. Personally I have only used the lookup table method, so I don't have the address handy.
Note that if you are using MAT for SD you should use code or wiring to get the MAT into the IAT channel since this will then compensate the load and the IPW correctly. You'd need to rewrite a lot more code to get your compensations done for MAT unless you do this. Since most doing SD want to remove the MAF sensor, that is why I went for the simple substitution method.
What are you trying to do? Just log MAT or go to SD?
Note that if you are using MAT for SD you should use code or wiring to get the MAT into the IAT channel since this will then compensate the load and the IPW correctly. You'd need to rewrite a lot more code to get your compensations done for MAT unless you do this. Since most doing SD want to remove the MAF sensor, that is why I went for the simple substitution method.
What are you trying to do? Just log MAT or go to SD?
I'm trying to go SD. I have an EVO IX RS JDM (with EDM ROM 88580014). So, how do you log the MAT? Which formula do you use for your EVO? Do you remember? I swap with 89980000.
I log MAT using a Pocket PC with my own lookup table in to convert the raw request BD to degrees C. As standard there is no linear logging available of MAT, and I never found it accurate in Evoscan copying the earlier polynomial IAT conversion. Since then I think Evoscan has started logging the linear (x-40) IAT, but there is nothing equivalent for MAT. So there is no formula I can give you, but if you apply SD like I have, then your IAT=MAT so you can log it that way.
If you want to log both IAT and MAT at once, you'll either need to write a lookup conversion in Excel or other code or we'll need some disassembly of your ROM to find a linearised MAT to log.
If you want to log both IAT and MAT at once, you'll either need to write a lookup conversion in Excel or other code or we'll need some disassembly of your ROM to find a linearised MAT to log.
John, I think I saw you post somewhere that there is no load caluclation temperature compensation above 25C but I can't seem to find it now. Is this true? For people in hot climates like me I assume I wouldn't need a temperature sensor then.
The load for timing ignores temperature above 25C IAT, so for a declining air mass it will not advance timing, which is safe.
The same applies for the fuel map lookup. I think it may not apply to the air mass used to calculate IPW though, not sure on that.
The worst that would happen is that you'd get conservative mapping as the temperature increases. This is no bad thing IMHO.
The same applies for the fuel map lookup. I think it may not apply to the air mass used to calculate IPW though, not sure on that.
The worst that would happen is that you'd get conservative mapping as the temperature increases. This is no bad thing IMHO.
Its just for setup convenience. I daily drive my car, and I wasn't ready to swap ECU pins back and forth as I fiddled with SD tuning. To make the patch compatible with reading the GM IAT sensor from the IAT ADC input, leave the "SD Convert IAT to MAT (0x03 -> 0x0E)" entry as 0x03. This sounds counter-intuitive to the table name, but that's because I didn't do such a good job of naming that table.
An approximate and empirical calculation to get you started, assuming a warmed up engine:
IPW(ms)=14.7/AFRMAP*load*injsize(cc)/12000
or rearranged: injsize=IPW*AFRMAP/14.7/load*12000
This may be helpful to esevo and grayw. For esevo for example, he wants 12ms IPW at about 230kPa to give 12:1 AFR. Since we plan to rescale his load using 100% VE so that he has 230 load at 230kPa:
injsize=12*12/14.7/230*12000=511cc
So he should try 511cc as his injector size, considerably smaller than his actual injector size, but the stroker engine and VE of the cams/big turbo need this reduction to give the correct fuelling when we scale his load to be 1:1 with map.
If lean spool is enabled, he should put 11 in his fuel map to get 12:1 AFR in these circumstances, if lean spool disabed, 12 in the fuel map.
The injector size can be fine tuned on the car to get the 100% VE areas fuelling correctly.
A setup like this would probably need much lower VE numbers at idle to avoid overfuelling.
At least this should take away some of the mystery of what injector size to start out when first starting up the car. Using this injector size you can then concentrate on editing the 40-60kPa MAP VE table to get the idle right (depending on what vac you have at idle). After that you can start working up the loads hoping that the previously set injector size will give you your desired IPW when you get to full boost.
Note this calc does not apply at low airflows because the MAF scaling table is highly non-linear. It is just a method to calc suitable injector scaling to get the right IPW on full boost when doing a 1:1 MAP:load arrangement.
IPW(ms)=14.7/AFRMAP*load*injsize(cc)/12000
or rearranged: injsize=IPW*AFRMAP/14.7/load*12000
This may be helpful to esevo and grayw. For esevo for example, he wants 12ms IPW at about 230kPa to give 12:1 AFR. Since we plan to rescale his load using 100% VE so that he has 230 load at 230kPa:
injsize=12*12/14.7/230*12000=511cc
So he should try 511cc as his injector size, considerably smaller than his actual injector size, but the stroker engine and VE of the cams/big turbo need this reduction to give the correct fuelling when we scale his load to be 1:1 with map.
If lean spool is enabled, he should put 11 in his fuel map to get 12:1 AFR in these circumstances, if lean spool disabed, 12 in the fuel map.
The injector size can be fine tuned on the car to get the 100% VE areas fuelling correctly.
A setup like this would probably need much lower VE numbers at idle to avoid overfuelling.
At least this should take away some of the mystery of what injector size to start out when first starting up the car. Using this injector size you can then concentrate on editing the 40-60kPa MAP VE table to get the idle right (depending on what vac you have at idle). After that you can start working up the loads hoping that the previously set injector size will give you your desired IPW when you get to full boost.
Note this calc does not apply at low airflows because the MAF scaling table is highly non-linear. It is just a method to calc suitable injector scaling to get the right IPW on full boost when doing a 1:1 MAP:load arrangement.
Last edited by jcsbanks; Mar 7, 2009 at 11:31 AM.
The load for timing ignores temperature above 25C IAT, so for a declining air mass it will not advance timing, which is safe.
The same applies for the fuel map lookup. I think it may not apply to the air mass used to calculate IPW though, not sure on that.
The worst that would happen is that you'd get conservative mapping as the temperature increases. This is no bad thing IMHO.
The same applies for the fuel map lookup. I think it may not apply to the air mass used to calculate IPW though, not sure on that.
The worst that would happen is that you'd get conservative mapping as the temperature increases. This is no bad thing IMHO.
We could adjust the IAT ADC routine like we did with the baro reading, so that it goes to whatever default you want. Or you could find a suitable resistor.
grayw mapped a 2.3 GT35R on a JDM IX today. Only at 1.5 bar so far, 2.3 bar planned in the next week. Driveability was good, he had about 73% MAP VE at 45 to 80kPa rising to about 90% at 250kPa. He used about 590cc for injector size for the 1000cc injectors. When he turns up to 2.3 bar at the next mapping session he will probably tweak the injector size up or down (along with moving the bottom row of the MAP VE table in the same proportion up or down) to get full boost midrange VE to 100%. This method would appear to work well with big turbos/strokers where we don't want to emulate the crazy loads you see with a MAF sensor.
grayw mapped a 2.3 GT35R on a JDM IX today. Only at 1.5 bar so far, 2.3 bar planned in the next week. Driveability was good, he had about 73% MAP VE at 45 to 80kPa rising to about 90% at 250kPa. He used about 590cc for injector size for the 1000cc injectors. When he turns up to 2.3 bar at the next mapping session he will probably tweak the injector size up or down (along with moving the bottom row of the MAP VE table in the same proportion up or down) to get full boost midrange VE to 100%. This method would appear to work well with big turbos/strokers where we don't want to emulate the crazy loads you see with a MAF sensor.
IAT e MAT sensor has the same resistence at various temperatures.
Yestarday I logged MAT, IAT and IAT Scaled with two ROM 88580014 and 8998000.
The address of MAT is "BD" (us suggested from John).
The formula is the same of "Air temperature".
These are the comparing screen shots.
ECU JDM IX GT RA:

ECU AUS/EDM EVO IX RS:
Yestarday I logged MAT, IAT and IAT Scaled with two ROM 88580014 and 8998000.
The address of MAT is "BD" (us suggested from John).
The formula is the same of "Air temperature".
These are the comparing screen shots.
ECU JDM IX GT RA:

ECU AUS/EDM EVO IX RS:
Last edited by SkyNight; Mar 9, 2009 at 06:21 AM.
Your air temp should be the same whether scaled or not (if the formula that Evoscan is using for unscaled is correct). They are quite close on your plots, but there is a small error.
So it looks like you could try your unscaled formula and try it on the BD request, then you should get an approximation of MAT in your log.
So it looks like you could try your unscaled formula and try it on the BD request, then you should get an approximation of MAT in your log.




