NefMoto

Technical => Tuning => Topic started by: Beaviz on April 10, 2014, 02:56:16 AM



Title: How does the ECU read e.g. ignition maps?
Post by: Beaviz on April 10, 2014, 02:56:16 AM
I guess that this is common knowledge for most people here, but I have not been able to find the answer anywhere, so here goes.

I am wondering how the algorithm for e.g. the igintion maps works. An example might explain my question better:

KFZW with made up values for simplicity (i know it is 0.75 increments IRL):
....... 5500.0 | 6000.0
150 | 20.00  | 25.00
170 | 10.00  | 15.00
190 | 00.00  | 05.00

An example could be actual load being 160% and the RPM 5500. Would the ECU interpolate the value, so it would read 15?

If yes, then I guess that it would also apply to the RPM axis. E.g. load = 160% and RPM 5750 (interpolation between 15.00 and 20.00) would equal 17.50?

And anything over 190% would just use the values from the last row?


Title: Re: How does the ECU read e.g. ignition maps?
Post by: panos1975 on April 10, 2014, 05:36:28 AM
 I think the ecu uses the last row value for every higher value over the last axis data point   


Title: Re: How does the ECU read e.g. ignition maps?
Post by: fknbrkn on April 10, 2014, 07:45:06 AM
I guess that this is common knowledge for most people here, but I have not been able to find the answer anywhere, so here goes.

I am wondering how the algorithm for e.g. the igintion maps works. An example might explain my question better:

KFZW with made up values for simplicity (i know it is 0.75 increments IRL):
....... 5500.0 | 6000.0
150 | 20.00  | 25.00
170 | 10.00  | 15.00
190 | 00.00  | 05.00

An example could be actual load being 160% and the RPM 5500. Would the ECU interpolate the value, so it would read 15?

If yes, then I guess that it would also apply to the RPM axis. E.g. load = 160% and RPM 5750 (interpolation between 15.00 and 20.00) would equal 17.50?

And anything over 190% would just use the values from the last row?

dont think that it uses interpolate algorithm because ecu needs to calc values from thousands maps at real time.. its a very high cpu load

i think it uses last reaching value from table so at 150-169 load from your example you have 20 deg (5500) and only on 170 it switches to 10 and when load are decreasing you have a 10 deg from 170 to 151
thats why stock maps are so detailed

but as i said before - its only my opinion, am wondering if someone can answer exactly how it works

anything higher than map axis point uses last value


Title: Re: How does the ECU read e.g. ignition maps?
Post by: elRey on April 10, 2014, 07:52:39 AM
log zw_local and find out for sure.


Title: Re: How does the ECU read e.g. ignition maps?
Post by: phila_dot on April 10, 2014, 08:15:28 AM
Linear interpolation of the row


Title: Re: How does the ECU read e.g. ignition maps?
Post by: nyet on April 10, 2014, 09:40:03 AM
Linear interpolation of the row

This, plus no extrapolation past the end.


Title: Re: How does the ECU read e.g. ignition maps?
Post by: phila_dot on April 10, 2014, 10:01:26 AM
log zw_local and find out for sure.

zw_local isn't written to RAM and cannot be logged. The first variable available for logging is zwnws.


Title: Re: How does the ECU read e.g. ignition maps?
Post by: gremlin on April 10, 2014, 10:32:15 AM
zw_local isn't written to RAM and cannot be logged. The first variable available for logging is zwnws.

As example. Below is a list of RAM ZW-parameters availiable in ME7.5 ECU