IAT correction

Discuss Bosch (Porsche, BMW, Volvo, etc) tuning topics here. Request definitions, discuss parameters, etc.

Moderators: robertisaar, dex

Post Reply
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

IAT correction

Post by Evil »

Hi all,

After tuning with success my new alpha/n table, it seems that I have a light increase of AFRs when the temperature drops. So i need to adjust IAT correction.
I found 5 tables that I think are IAT related (descriptor D0).

Image

- The first table in 8x5 is also related with C9 descriptor but I dont know what it is. The correction is certainly for fueling, the values seems logical for an IAT correction, as the table enrichs when the temperature drops. The enrichment decreases when the value of the descriptor "C9".

-For the other tables the values stay unchanged or rises with IAT, except for the 4x1 table but this one is never traced by the Ostrich. Maybe there is one for ignition timing, like "adding retard" or something like this?

So I think the 8x5 table is the good one to tune but I will have to extedn the IAT scale like for the alpha n table because I can see changes in AFR with less than 30°C variation.

If someone has some advice about that, he's welcome!
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

There is certainly an ignition table in there somewhere, there is one in the M3.3.1 which carried over a lot of the tables from the non vanos ECU.

Think it is a 5x1 table, you will see it in the latest 506 ECU XDF.
olafu
Posts: 186
Joined: Tue Jul 26, 2016 12:35 pm
Location: Finland

Post by olafu »

What BIN number you are using?

I did some research about that at last year with 623 BIN. Unfortunately seems like there is no IAT correction for TPS based "Alpha-N" limp map.

BUT there is somekind "knock prevention map" or something at E044. It is air temp and engine coolant temp dependent 3x4 map. It starts from E039 like this "D7 03 0D 0E 2D D3 04 14..." and map data starts at E044. D3 is IAT and D7 is CLT.

As higher as map value is, it's reducing ignition advance and adds fuelling. Original map has positive coefficient to IAT and CLT.

When i said there is no IAT correction, i mean, i tried to fill with "00" whole map, and replaced IAT sensor to adjustable resistor. If whole map was "00" or filled something else "fixed" value, there was nothing changes in injector open time altough i tried to change "IAT" value by potentiometer. So, with this information, there is no other things to adjust injection time by IAT.

So, was that map whatever, it's effect to fuelling is INVERTED of real IAT correction, and so it GAINS effect of IAT to AFR. Try to clear what value ECU reads in "normal conditions", fill whole map by that and check what happens. You can also try to use this map for real IAT correction, but you must remember this map also effects to ignition advance.

In case of 8.5ms "Basic load value" i tried to add +40 (dec value) to every cells in this map, and that reduces about 25 crankshaft degrees of ignition advance, and increases injection time by 6ms. Unfortunately i didn't write RPM's in my notes.

So, try to fill whole map by fixed "normal conditions" value, it would help your AFR problem, but remember, it can propably change your ignition advance.


Sorry about my bad english.

_____________________________________________________________


EDIT: There is propably usable 8x5 map at D7E5. It starts from D7D4 like this: "CE 08 02 08 0C 19 19 19 32 6A D3 05 28 28 28 28..." and map data starts at D7E5. This is originally filled with 128 (dec).



This is translated direct copy from my notes:

;;;;

0xD7E5 table - original value 128dec at every cells. Measured first at 5900rpm:

"Load" is set to produce 6ms real injection time:
Decreasing cell value by 100 reduces injection time from 6ms to 1.7ms.
Increasing cell value by 100 increases injection time from 6ms to 10ms.

"Load" is set to produce 10ms real injection time:
Decreasing cell value by 100 reduces injection time from 10ms to 2.5ms.
Increasing cell value by 100 increases injection time from 10ms to 17.5ms.

"Load" is set to produce 19ms real injection time:
Decreasing cell value by 100 reduces injection time from 19ms to 3.7ms.

RPM value changed to 2900rpm from 5900:
"Load" is set to produce 19.4ms real injection time:
Reducing cell value by 100 reduces injection time from 19.4ms to 4.7ms.

"Load" is set to produce 10.2ms real injection time:
Increasing cell value by 100 increases injection time from 10.2ms to 17.9ms.
Decreasing cell value by 100 decreases injection time from 10.2ms to 2.7ms.

Injection time is injector pulse width, measured by scopemeter.
Tests are done by running ecu out of the car with only crank trigger signal, without cam signal. Crank signals was produced by playing crank rotation sample in loop from a computer through soundcard. Main sensors was replaced by adjustable resistors or voltage dividers. Coils and injectors was replaced by dummy loads.
"LOAD" signal was measured by Bosch KTS test equipment.

;;;;

You can also try to change MAP descriptors. I did some tests by changing map descriptors by step to step from 00 to FF. Some "low value" descriptors was kicked ecu to run weird and messy, looks like it's resetting or crashing continuously. You can change any map to read any value from these descriptor values. I think these descriptors are RAM addresses what map research routine reads, so it's more or less a lottery to change the descriptor values, because these can carry unfinished data between different routines.

As you propably knew, you can also resize every map axis by reducing it's size in X axis and increasing it's size in Y axis, and vice versa, but it means you must re calculate all map axis and map data by hand, and new map cannot be bigger than original.

There is "MAP address table" in end of data section of ROM (as you know), wich offers nearly free hands to do what you ever want, but i don't know how much these can be tamper without hidden fatal problems.

- Olli
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hairyscreech wrote:There is certainly an ignition table in there somewhere, there is one in the M3.3.1 which carried over a lot of the tables from the non vanos ECU.

Think it is a 5x1 table, you will see it in the latest 506 ECU XDF.
you're certainly right, I didn not search for ignition relative table for the moment, I am currently searching about a fueling table. but it will be a good road to suit even if knock isn't a real problem on a N/A engine with E85. :D
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

olafu wrote:What BIN number you are using?

I did some research about that at last year with 623 BIN. Unfortunately seems like there is no IAT correction for TPS based "Alpha-N" limp map.

BUT there is somekind "knock prevention map" or something at E044. It is air temp and engine coolant temp dependent 3x4 map. It starts from E039 like this "D7 03 0D 0E 2D D3 04 14..." and map data starts at E044. D3 is IAT and D7 is CLT.

As higher as map value is, it's reducing ignition advance and adds fuelling. Original map has positive coefficient to IAT and CLT.

When i said there is no IAT correction, i mean, i tried to fill with "00" whole map, and replaced IAT sensor to adjustable resistor. If whole map was "00" or filled something else "fixed" value, there was nothing changes in injector open time altough i tried to change "IAT" value by potentiometer. So, with this information, there is no other things to adjust injection time by IAT.

So, was that map whatever, it's effect to fuelling is INVERTED of real IAT correction, and so it GAINS effect of IAT to AFR. Try to clear what value ECU reads in "normal conditions", fill whole map by that and check what happens. You can also try to use this map for real IAT correction, but you must remember this map also effects to ignition advance.

In case of 8.5ms "Basic load value" i tried to add +40 (dec value) to every cells in this map, and that reduces about 25 crankshaft degrees of ignition advance, and increases injection time by 6ms. Unfortunately i didn't write RPM's in my notes.

So, try to fill whole map by fixed "normal conditions" value, it would help your AFR problem, but remember, it can propably change your ignition advance.


Sorry about my bad english.

_____________________________________________________________


EDIT: There is propably usable 8x5 map at D7E5. It starts from D7D4 like this: "CE 08 02 08 0C 19 19 19 32 6A D3 05 28 28 28 28..." and map data starts at D7E5. This is originally filled with 128 (dec).



This is translated direct copy from my notes:

;;;;

0xD7E5 table - original value 128dec at every cells. Measured first at 5900rpm:

"Load" is set to produce 6ms real injection time:
Decreasing cell value by 100 reduces injection time from 6ms to 1.7ms.
Increasing cell value by 100 increases injection time from 6ms to 10ms.

"Load" is set to produce 10ms real injection time:
Decreasing cell value by 100 reduces injection time from 10ms to 2.5ms.
Increasing cell value by 100 increases injection time from 10ms to 17.5ms.

"Load" is set to produce 19ms real injection time:
Decreasing cell value by 100 reduces injection time from 19ms to 3.7ms.

RPM value changed to 2900rpm from 5900:
"Load" is set to produce 19.4ms real injection time:
Reducing cell value by 100 reduces injection time from 19.4ms to 4.7ms.

"Load" is set to produce 10.2ms real injection time:
Increasing cell value by 100 increases injection time from 10.2ms to 17.9ms.
Decreasing cell value by 100 decreases injection time from 10.2ms to 2.7ms.

Injection time is injector pulse width, measured by scopemeter.
Tests are done by running ecu out of the car with only crank trigger signal, without cam signal. Crank signals was produced by playing crank rotation sample in loop from a computer through soundcard. Main sensors was replaced by adjustable resistors or voltage dividers. Coils and injectors was replaced by dummy loads.
"LOAD" signal was measured by Bosch KTS test equipment.

;;;;

You can also try to change MAP descriptors. I did some tests by changing map descriptors by step to step from 00 to FF. Some "low value" descriptors was kicked ecu to run weird and messy, looks like it's resetting or crashing continuously. You can change any map to read any value from these descriptor values. I think these descriptors are RAM addresses what map research routine reads, so it's more or less a lottery to change the descriptor values, because these can carry unfinished data between different routines.

As you propably knew, you can also resize every map axis by reducing it's size in X axis and increasing it's size in Y axis, and vice versa, but it means you must re calculate all map axis and map data by hand, and new map cannot be bigger than original.

There is "MAP address table" in end of data section of ROM (as you know), wich offers nearly free hands to do what you ever want, but i don't know how much these can be tamper without hidden fatal problems.

- Olli
Hi,
I use a 403 DME with Bin number 950.

I see exactly what is the 8x5 table you tell in your edit This must be the first table I tell in my first post, this one:


Image
image uploader

I was quite sure this was an IAT fuel correction but when tracing I'm always in the 60°C column, at different temperatures. The sensor seems to be good because the resistance changes with temperature, I need to verify if wiring is ok. I also wanted to put a variable resistor in place of the sensor to verify if the column change by varying resistance.

For changing table size it should be OK since I did it on the alpha N table to make it 16x16, I talked about that in another thread if you're interested to talk about it :wink: : http://tunerpro.net/forum/viewtopic.php?t=4419

The big problem is that I'm not sure what really is the IAT descriptor in this DME :?
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Olafu,
I took a look a the 3x4 table you said in E044 in the 413/623.
I have a similar table in my bin, you can see it in this screenshot:

Image

datas are not the sames but scaling for ECT and IAT are the same.
By seeing that the 2 tables you talked about are similar to those in my bin make me think that those are the good ones for IAT corrections.

For the 3x4 table the data values increase with both temperatures, maybe are they a load correction?
when IAT increase, air is less dense so the load decrease, , so it would make sense, what do you think about it?
In my Table for 90°C ECT and 30°C IAT, value =0, so this could be considered as "normal conditions".
I will try to increase data values and see what it changes on fueling!
Fot the 8x5 table I did try to change these values at the very beginnig of my tuning, because on the XDF I had it was referenced as Injectors dead time :roll: and the effects were those that you pointed out : higher the value = more fuel, and 128 = no correction, like other fueling tables.
olafu
Posts: 186
Joined: Tue Jul 26, 2016 12:35 pm
Location: Finland

Post by olafu »

I also used that 0xD7E5 8x5 map as multi purpose measurement tool, by rescaling it to style like this https://ibb.co/gOJAdk - and watch it by Tracing.
By changing descriptors is possible to view what these descriptors/variables do. Map data is still 80H so there's no correction at any case. FF's in place of descriptors are as an example. I did make descriptor scalar to my xdf, so changing descriptors was easy. If you know what is range of descriptor/variable, you can rescale the axis to match it better.

In 413 ecu, there was some values what i did put as an descriptor, and ecu propably starts crashing or did some weird, so... I can't take responsibility. IMO there is possible to blow hardware. And because i don't know when those values in that "descriptors" or "variables" are calculated, they can vary or they can carry some unfinished data in between of routines.

So, i think that as toy, but i can use that as tool, if i remember there is big possible to mistake or blow something :)

EDIT:
In my Table for 90°C ECT and 30°C IAT, value =0, so this could be considered as "normal conditions".
Now that you said, i remember that. This is very similar in 413/623. So it can be "Extreme conditions knock prevent map." I don't think it as nothing else. ECU sees: Hot everywhere, hot inteke air, engine is hot. Extreme conditions - less advance and quite more fuel to prevent knock.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

I see what you talk about with chnaging descriptors, I did a try on the canister valve table To make it work with ECT with success, To see if I could use this output as a "programmable" output, like for a shift light or something else. I will later ses is the same thing can be done with the idle valve output, because I dont need it anymore with ITBs.

Now for 3x4 table I think you're right, the first cell is normal operation and others are for higher températures so it make sense that the table is some kind of "security".
I will do some tests with this 8x5 table and see if I can found why I'm always in the 60°C column 🤔
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

I have found why my IAT was not varying: a wire was cut in the plug under the protection. So the DME was using a default value (60°C)
So now my IAT is working and the proper temperature is traced on the table.

The 8x5 table is now 8x14 with 10°C steps from -30°C up to 100°C, which is probably too high, but I dont know what will be the highest value the IAT will reach.
Now just hav to tune it at various temperatures.

Image
olafu
Posts: 186
Joined: Tue Jul 26, 2016 12:35 pm
Location: Finland

Post by olafu »

Nice to see you have problem solved 8) You only need a big sauna to go, take dyno and car with you and tune :lol:

I don't know why that correction map is filled with 80H in 413 dme.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Yes and travel in the North fot the cold size of the map 8)
Mykk
Posts: 99
Joined: Sat Sep 05, 2015 8:28 am

Post by Mykk »

Is D3 descriptor IAT? What formula are you applying to get temperature to the header info?
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hi,
IAT descriptor on a 403 dme is D0. Factor is X*0.75-48 in °C.
D3 seems To be "transitions " related, like throttle variation rate or something like that.
Post Reply