Thursday, 29 October 2015

MEMS 1.6 / 1.9 Ignition timing map adaptation

As mentioned previously, the real meaning of the so-called "unknown variable" was not really clear, it has been suspected to be either ignition offset or open-loop fuel enrichment (a kind of acceleration pump).

Thanks to the data logging option, it's possible to compare the ignition timing advance vs RPM vs MAP for two separate runs, each of them performed with minimum and maximum allowable setting (116 vs 140).

Then, with a simple perl script a data matrix can be build and visualised (gnuplot):

Of course more averaging, filtering by coolant temp or IAT is clearly needed, but this is how it looks:

 (2D map variant)

(3D version)

Not having access to a dyno it's not really possible collect all possible combinations of  timing vs rpm vs map values required to plot complete ignition map, also the low rpm/load area is bit noisy due to idle speed control interventions, nevertheless it gives a good overview of timing differences.

In short, the timing adaptation variable influences the amount of advance (or retardation) in the area of MAP pressure above 60 kPa.

For example, in case of  K-Series 1.8 16v (Freelander I) it's possible to to adjust timing advance (only for loads above 60 kPa) withing the range of -4.5 to +4.5 degrees. Each increment or decrement equals to difference of 0.5 degree, however it's not possible to exceed 4.5 deg (140-116 = should be -6,+6 deg.).

Default value: 132 (timing retarded by 2 deg.)

Min value: 116 (timing advanced by +4.5 deg)
Max value: 140 (timing retarded by +4.5 deg)