ignition timing trims
#61
Evolved Member
iTrader: (9)
Yes, ignition timing is the base of idle control, the IAC just assists this but also regulates air to tighten trims from the changed AFR.
The above text worked on 96420007 and 96420008.
I noticed a significant increase in tip-in knock at about 2800rpm ( changed 8 to 0 in middle collumn) however although I cannot link the two yet.
The above text worked on 96420007 and 96420008.
I noticed a significant increase in tip-in knock at about 2800rpm ( changed 8 to 0 in middle collumn) however although I cannot link the two yet.
#62
Evolved Member
iTrader: (8)
Increasing the rate at which you try to stabilize the idle speed may lead to instability and cause idle surge. It's worth a shot though.
I was planning on disabling it and tuning the timing map like I do on standalones where you create a "low energy" state that the engine speed just naturally wants to fall to.
I was planning on disabling it and tuning the timing map like I do on standalones where you create a "low energy" state that the engine speed just naturally wants to fall to.
#63
Evolved Member
iTrader: (22)
Join Date: Nov 2003
Location: Northern KY near Cincy
Posts: 2,408
Likes: 0
Received 6 Likes
on
6 Posts
I finally went back to the ignition timing subroutines and dug more of the ignition trims that are dependent on tables. There are one or two more subroutines that I need to look at in more detail, but I think I've got most of the tables. I'll go through them as they are encountered in the code. (I'm not including the cold engine ign timing retard as I've already gone through that set of tables.) These address are for 88590015 Evo 9 USDM ROM. These definitions will be included in a future release of ECUFlash.
EDIT: updated to show corrected Base Timing Trim vs Load and RPM table xml and table picture
This is a wierd adjustment. It advances the ignition timing in certain load and rpm cells when the engine is cold. Strange that it adds timing out a 4000 rpm and 180 load.
This is the ign timing trim vs IAT table that's been mentioned before by Mattjin. There is also a threshold load vs rpm table for when this IAT compensation is used.
This is the ignition trim vs baro table also mentioned previously by Mattjin. The trim values are zeros out, but more importantly, the ECU never uses the table, so if someone were to change the values, it would have no effect.
EDIT: updated to show corrected Base Timing Trim vs Load and RPM table xml and table picture
Code:
<table name="Base Timing Trim vs Load and RPM" category="Timing" address="50dd" type="3D" swapxy="true" level="1" scaling="Timing"> <table name="Engine Load" address="7850" type="X Axis" elements="14" scaling="Load"/> <table name="RPM" address="7830" type="Y Axis" elements="11" scaling="RPM"/> </table> <scaling name="Scale128" units="%" toexpr="x/128" frexpr="x*128" format="%.2f" min="0" max="10" inc="0.05" storagetype="uint8" endian="big"/> <table name="Base Timing Trim vs Load and RPM Multiplier vs CTS" category="Timing" address="517e" type="2D" level="1" scaling="Scale128"> <table name="Coolant Temp" address="6fde" type="Y Axis" elements="8" scaling="Temp"/> </table>
Code:
<table name="Min Load for IAT-Compensated Ignition Trim" category="Timing" address="3ca8" type="2D" level="1" scaling="Load8"> <table name="Engine Speed" address="6b7a" type="Y Axis" elements="10" scaling="RPM"/> </table> <table name="IAT-Compensated Ignition Trim" category="Timing" address="3c8e" type="2D" level="1" scaling="TimingTrim8"> <table name="MAF Air Temp" address="714a" type="Y Axis" elements="8" scaling="Temp"/> </table>
Code:
<table name="Ignition Trim vs Baro (Unused)" category="Timing" address="3c9c" type="2D" level="1" scaling="TimingTrim8"> <table name="Baro" address="6e28" type="Y Axis" elements="5" scaling="Baro16"/> </table>
Any chance of getting the addresses for 94170015 ? ?
#66
Timing is meant to jump around during idle. There are two ways the ECU controls idle. The front line method is to adjust the timing. If the idle goes too high, it pulls out timing. If the idle goes too low, it adds timing. If that can't get the idle back to the target, then the second line is for the ECU to adjust the ISCV.
#67
Evolved Member
iTrader: (8)
For 94170015, different names, but I believe the same tables. Although I know I have one address that is incorrect (IAT trim) could somebody provide the correct address?
Warmup Ignition Trim Activation = 41dc
engine temp = 681a
Engine Temp trim = 41a4
engine temp = 6c24
Base low engine temp trim = 3ff5
engine load = 66f4
engine speed = 66c2
IAT trim = 41b2
intake air temp = 6c24 ***This is an incorrect address for IAT as it is the same as the engine temp address***
IAT activation load vs RPM = 41cc
Engine speed = 635a
EDIT: I don't know if it's the same axis used in this table, but IAT is at address 689e for the IAT fuel trim table.
Warmup Ignition Trim Activation = 41dc
engine temp = 681a
Engine Temp trim = 41a4
engine temp = 6c24
Base low engine temp trim = 3ff5
engine load = 66f4
engine speed = 66c2
IAT trim = 41b2
intake air temp = 6c24 ***This is an incorrect address for IAT as it is the same as the engine temp address***
IAT activation load vs RPM = 41cc
Engine speed = 635a
EDIT: I don't know if it's the same axis used in this table, but IAT is at address 689e for the IAT fuel trim table.
Last edited by 03whitegsr; Feb 6, 2009 at 09:50 AM.
#68
Evolved Member
iTrader: (22)
Join Date: Nov 2003
Location: Northern KY near Cincy
Posts: 2,408
Likes: 0
Received 6 Likes
on
6 Posts
<table name="Base Timing Trim vs Load and RPM" category="Timing" address="3ff5" type="3D" swapxy="true" level="1" scaling="Timing">
<table name="Engine Load" address="66f4" type="X Axis" elements="14" scaling="Load"/>
<table name="RPM" address="66c2" type="Y Axis" elements="11" scaling="RPM"/>
</table>
<table name="Base Timing Trim vs Load and RPM Multiplier vs CTS" category="Timing" address="41a4" type="2D" level="1" scaling="Scale128">
<table name="Coolant Temp" address="6c24" type="Y Axis" elements="8" scaling="Temp"/>
</table>
These do not work.
<table name="Engine Load" address="66f4" type="X Axis" elements="14" scaling="Load"/>
<table name="RPM" address="66c2" type="Y Axis" elements="11" scaling="RPM"/>
</table>
<table name="Base Timing Trim vs Load and RPM Multiplier vs CTS" category="Timing" address="41a4" type="2D" level="1" scaling="Scale128">
<table name="Coolant Temp" address="6c24" type="Y Axis" elements="8" scaling="Temp"/>
</table>
These do not work.
#70
Evolved Member
iTrader: (22)
Join Date: Nov 2003
Location: Northern KY near Cincy
Posts: 2,408
Likes: 0
Received 6 Likes
on
6 Posts
These seem to be correct....
<table name="Min Load for IAT-Compensated Ignition Trim" category="Timing" address="41cc" type="2D" level="1" scaling="Load8">
<table name="Engine Speed" address="635a" type="Y Axis" elements="10" scaling="RPM"/>
</table>
<table name="IAT-Compensated Ignition Trim" category="Timing" address="41b2" type="2D" level="1" scaling="TimingTrim8">
<table name="MAF Air Temp" address="6c24" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Min Load for IAT-Compensated Ignition Trim" category="Timing" address="41cc" type="2D" level="1" scaling="Load8">
<table name="Engine Speed" address="635a" type="Y Axis" elements="10" scaling="RPM"/>
</table>
<table name="IAT-Compensated Ignition Trim" category="Timing" address="41b2" type="2D" level="1" scaling="TimingTrim8">
<table name="MAF Air Temp" address="6c24" type="Y Axis" elements="8" scaling="Temp"/>
</table>
#71
Evolved Member
iTrader: (8)
Applaud, the address for "MAF Air Temp" in your "IAT-Compensated Ignition Trim" is not right. It is the same address as the coolant temperature used in the other maps. I pointed that out in the initial post.
689e is IAT that is used in the fuel enrichment routine. It may or may not be the address needed here, somebody that knows how to disassemble could find the correct address, but that is not me.
689e is IAT that is used in the fuel enrichment routine. It may or may not be the address needed here, somebody that knows how to disassemble could find the correct address, but that is not me.
#73
Evolved Member
iTrader: (8)
I have my addresses all in my 94170015.xml file and my definitions and scalings in the evo7base.xml file.
Here is what I'm using in the evo7base.xml file:
Here is what I have in the 94170015.xml file:
Here is what I'm using in the evo7base.xml file:
Code:
<scaling name="Load8" units="g/rev" toexpr="x*5/800" frexpr="x*800/5" format="%.2f" min="0" max="160" inc="1" storagetype="uint8" endian="big"/> <scaling name="Percent255" units="Percent(%)" toexpr="x/2.55" frexpr="x*2.55" format="%.0f" min="0" max="110" inc="1" storagetype="uint8" endian="big"/> <scaling name="TimingTrim" units="degrees" toexpr="x-128" frexpr="x+128" format="%.0f" min="-128" max="128" inc="1" storagetype="uint8" endian="big"/> <!-- ######################################################################################################--> <!-- IGNITION TRIM TABLES--> <table name="Warmup Advance/Retard Activation" category="Ignition Trim" type="2D" level="2" scaling="Percent255"> <table name="Engine Temp" type="X Axis" elements="8" scaling="Temp"/> </table> <table name="Engine Temp Trim" category="Ignition Trim" type="2D" level="2" scaling="TimingTrim"> <table name="Engine Temp" type="X Axis" elements="8" scaling="Temp"/> </table> <table name="Air Temp Trim" category="Ignition Trim" type="2D" level="2" scaling="TimingTrim"> <table name="Intake Air Temp" type="X Axis" elements="8" scaling="Temp"/> </table> <table name="RPM Based IAT Activation Load" category="Ignition Trim" type="2D" level="2" scaling="Load8"> <table name="Engine Speed" type="X Axis" elements="10" scaling="RPM"/> </table> <table name="Base Low Engine Temp Trim" category="Ignition Trim" type="3D" level="2" swapxy="true" scaling="TimingTrim"> <table name="Engine Load" type="X Axis" elements="19" scaling="Load"/> <table name="Engine Speed" type="Y Axis" elements="20" scaling="RPM"/> </table>
Code:
<!-- *** Igntion Trim Tables *** --> <table name="Warmup Advance/Retard Activation" address="41dc"> <table name="Engine Temp" address="681a"/> </table> <table name="Engine Temp Trim" address="41a4"> <table name="Engine Temp" address="6c24"/> </table> <table name="Air Temp Trim" address="41b2"> <table name="Intake Air Temp" address="689e"/> </table> <table name="RPM Based IAT Activation Load" address="41cc"> <table name="Engine Speed" address="635a"/> </table> <table name="Base Low Engine Temp Trim" address="3ff5"> <table name="Engine Load"address="66f4"/> <table name="Engine Speed" address="66c2"/> </table>