Notices
ECU Flash

Coil Dwell on stock ECU...again

Thread Tools
 
Search this Thread
 
Old Oct 10, 2009, 12:57 PM
  #1  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
Coil Dwell on stock ECU...again

Thanks to Mattjin for his work on this for the last 2 years. I simply spent more time reading and then some basic disassembly to come up with these for the 941750015:

94170015

<table name="Ignition Coil Charge Time" category="Timing" address="41ea" type="2D" level="2" scaling="uint8">
<table name="Battery" address="65ec" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil Charge Time (Unknown 1)" category="Timing" address="41fa" type="2D" level="2" scaling="uint8">
<table name="Battery" address="65ec" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil Charge Time (Unknown 2)" category="Timing" address="420a" type="2D" level="2" scaling="uint8">
<table name="Battery" address="65ec" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>


96530006

<table name="Base Ignition Dwell Time" category="Ignition Dwell Control" address="41ea" type="2D" level="1" scaling="uint8">
<table name="Battery" address="6808" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>
<table name="RPM based Subtraction - Activation Point" category="Ignition Dwell Control" address="1746" type="1D" level="1" scaling="RPMLimit"/>
<table name="RPM Dependent Subtraction Scalar" category="Ignition Dwell Control" address="41fa" type="2D" level="1" scaling="uint8">
<table name="Battery" address="6808" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>


88590015

<table name="Ignition Charge Time" category="Timing" address="3cc6" type="2D" level="2" scaling="uint8">
<table name="Battery" address="6e0c" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil Charge Time (Unknown 1)" category="Timing" address="3cd6" type="2D" level="2" scaling="uint8">
<table name="Battery" address="6e0c" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil Charge Time (Unknown 2)" category="Timing" address="3ce6" type="2D" level="2" scaling="uint8">
<table name="Battery" address="6e0c" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<!-- IGNITION COIL DWELL-TIME TABLES -->


<!-- SCALINGS -->

<scaling name="ChargeTime" units="mS" toexpr="x*0.064" frexpr="x/0.064" format="%.2f" min="0" max="16.32" inc="0.064" storagetype="uint8" endian="big"/>

<scaling name="BatteryVoltage" units="Volts" toexpr="x*75/1024" frexpr="x*1024/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>

<scaling name="CF256" units="Correction Factor" toexpr="x/256" frexpr="x*256" format="%.3f" min="0" max="2" inc="0.0039" storagetype="uint8" endian="big"/>

<scaling name="Percent128" units="%" toexpr="x/1.28" frexpr="x*1.28" format="%.0f" min="0" max="100" inc="1" storagetype="uint8" endian="big"/>

<scaling name="BattVoltDwell%" units="%" toexpr="x*75/1024" frexpr="x*1024/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>

<scaling name="RPMLimit" units="RPM" toexpr="7500000/x" frexpr="7500000/x" format="%.0f" min="0" max="9000" inc="60" storagetype="uint16" endian="big"/>




<!--
Evo6
25570000
-->

<table name="Ignition Coil, Dwell-Time" address="1229e" category="Timing" type="2D" scaling="ChargeTime">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="10A46" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" address="122ac" category="Timing" type="2D" scaling="CF256">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" address="122ba" category="Timing" type="2D" scaling="Percent128">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo7
90550001
98640014
-->

<table name="Ignition Coil Dwell Time" address="404e" category="Timing" type="2D" scaling="ChargeTime">
<table name="Battery" address="4f34" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1746" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" address="405e" category="Timing" type="2D" scaling="CF256">
<table name="Battery" address="4f34" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" address="406e" category="Timing" type="2D" scaling="Percent128">
<table name="Battery" address="4f34" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo8
96260009
96260012
-->

<table name="Ignition Coil, Dwell-Time" address="3e4e" category="Timing" type="2D" scaling="ChargeTime">
<table name="Battery" address="5aac" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1746" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" address="3e5e" category="Timing" type="2D" scaling="CF256">
<table name="Battery" address="5aac" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Ignition Coil" address="3e6e" type="2D" scaling="Percent128">
<table name="Battery" address="5aac" type="X Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo8
94170008
-->

<table name="Ignition Coil, Dwell-Time" address="41ea" category="Ignition Coil" type="2D" scaling="ChargeTime">
<table name="Battery" address="6398" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1746" type="1D" scaling="RPMLimit"/>


<table name="Ignition Coil, Dwell-Time Reduction Factor" address="41fa" category="Ignition Coil" type="2D" scaling="CF256">
<table name="Battery" address="6398" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Ignition Coil" address="420a" type="2D" scaling="Percent128">
<table name="Battery" address="6398" type="X Axis" elements="9" scaling="BattVoltDwell%"/>
</table>



<!--
Evo8
94170015
-->

<table name="Ignition Coil, Dwell-Time" category="Ignition Coil" address="41ea" type="2D" scaling="ChargeTime">
<table name="Battery" address="69bc" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil - Dwell-Time Reduction RPM" category="Timing" address="1746" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" category="Ignition Coil" address="41fa" type="2D" scaling="CF256">
<table name="Battery" address="69bc" type="X Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Ignition Coil" address="420a" type="2D" scaling="Percent128">
<table name="Battery" address="69bc" type="X Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo8
96530006
-->

<table name="Ignition Coil, Dwell-Time" address="41ea" category="Ignition Coil" type="2D" scaling="ChargeTime">
<table name="Battery" address="6808" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1746" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" address="41fa" category="Ignition Coil" type="2D" scaling="CF256">
<table name="Battery" address="6808" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Ignition Coil" address="420a" type="2D" scaling="Percent128">
<table name="Battery" address="6808" type="X Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo9
88580013
88580014
-->

<table name="Ignition Coil, Dwell-Time" category="Timing" address="3cc6" type="2D" scaling="ChargeTime">
<table name="Battery" address="6f14" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1346" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" category="Timing" address="3cd6" type="2D" scaling="CF256">
<table name="Battery" address="6f14" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell Time Correction 2" category="Timing" address="3ce6" type="2D" scaling="Percent128">
<table name="Battery" address="6f14" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>



<!--
Evo9
88590015
-->

<table name="Ignition Coil, Dwell-Time" category="Timing" address="3cc6" type="2D" scaling="ChargeTime">
<table name="Battery" address="6e0c" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1346" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" category="Timing" address="3cd6" type="2D" scaling="CF256">
<table name="Battery" address="6e0c" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Timing" address="3ce6" type="2D" scaling="Percent128">
<table name="Battery" address="6e0c" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>




<!--
Evo9
98280002
-->

<table name="Ignition Coil, Dwell-Time" category="Timing" address="35FC" type="2D" scaling="ChargeTime">
<table name="Battery" address="5F00" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="1346" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" category="Timing" address="360C" type="2D" scaling="CF256">
<table name="Battery" address="5F00" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" category="Timing" address="361C" type="2D" scaling="Percent128">
<table name="Battery" address="5F00" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>

Last edited by JohnBradley; Jan 17, 2013 at 05:48 PM. Reason: Changed this to 03whitegsr's xml
Old Oct 10, 2009, 01:14 PM
  #2  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
I am also wondering (I didnt see it when I reread the thread) that these units are uSec or some other measurement...or do we know?
Old Oct 10, 2009, 01:39 PM
  #3  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
So after looking at the AEM dwell control it likes there are some similarities between this and theirs. I am wondering if the units are percentage, and the table of 96 is the fixed mS? I am sure we'll have to wait until Mattjin looks at this, but does it sound right that it would be at 9.6 mS on the factory wasted coil setup?

relevant quote-

Originally Posted by GrocMax
AEM has always had messed up coil dwell settings.
A coil dwell factor setting of 35 means 3.5mS, the dwell vs RPM and dwell vs voltage tables are multiplier tables. So if your factor was 35, and both tables were a flat 100, your dwell time is fixed at 3.5mS.

dwell max of .5 tooth is retarded, it needs to be 1 to 1.25, bit SOME trigger setups cannot tolerate settings above 1 tooth. You theoretically have 2 teeth for charge and recovery, but the way they do their triggering won't let you use all of it.


A constant charge inductive coil with a system voltage (13-14v) dwell time requirement above 3.5-4ms is very rare. The factory coil driver IC inside the coil may or may not have a current (and/or temp) limiting driver (I doubt it does having seen some IC toasted coils), so be careful. The only way you're going to find out how far you can go is by lab scoping under your running conditions and finding out at what point you get full saturation. The variables are input voltage, temp. They SHOULD have a 2D table to vary dwell with load, as you don't need full saturation at all loads, it just overheats the coil driver IC and coil.

A high dwell inductive waste spark system is RPM limited, you'll run out of charge and recovery time somewhere between 8500-9500 RPM. True 4 channel inductives don't have this time limitation.

Info- The DSM ign transistor is a current limiting type, the most you will get out of it is 7A. The 85.5-90 RX7 ign module is a 9A current limiting module with very good coils. There are automotive inductive coil specific IGBT's (direct ECU trigger) available that are capable of anywhere between below 10A and above 30A per unit.
Old Oct 10, 2009, 01:53 PM
  #4  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
Screenshot to aid discussion-

Old Oct 10, 2009, 01:58 PM
  #5  
Evolved Member
iTrader: (8)
 
03whitegsr's Avatar
 
Join Date: Nov 2006
Location: Utah
Posts: 4,001
Received 14 Likes on 12 Posts
Are all three tables called for and do we know what the different situations that each table is used in?

I would think it would be between 3-4msec under normal operation.

Edit:
JB's been busy and got in a couple posts while I was looking at the new maps and typing.

The 3-4msec is what I found on the Subaru coils on the STI. The table was also RPM dependent and not battery voltage dependent.

Last edited by 03whitegsr; Oct 10, 2009 at 02:03 PM.
Old Oct 10, 2009, 02:02 PM
  #6  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
Mattjin tested the primary table and saw an increase in voltage. I have a few basic theories about what they mean. Possibly table 1 is rising edge, 2 is falling edge, and 3 if not charging maybe a reference to crank position like the MIVEC temp table?
Old Oct 10, 2009, 02:03 PM
  #7  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
96/255 is .37647 so maybe it is charge time after all and just in the raw values?
Old Oct 10, 2009, 03:59 PM
  #8  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
This would be microSec scaling ( x/255*1000 --- x*255/1000) to put into possible perspective:



So maybe table 3 is the max allowed values and table 1 & 2 are the values that are processed/used? I wont be able to test any of this until monday at the earliest, but as always any input is appreciated.

Last edited by JohnBradley; Oct 10, 2009 at 04:34 PM.
Old Oct 10, 2009, 04:57 PM
  #9  
Registered User
 
rolly1818's Avatar
 
Join Date: Nov 2007
Location: Trinidad
Posts: 1,507
Likes: 0
Received 2 Likes on 2 Posts
Aaron,

sorry to cloud your thread but was it this coil dwell all about. i am a newb!

what advantages/disadvantages does this lend when "tuned"

Thanks,
Ravaal
Old Oct 10, 2009, 05:27 PM
  #10  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
After talking with someone about this, it seems very unlikely all 3 tables would reference battery voltage at the same time. There are a few other cases where there are 9 plot rpm scaling used in the stock ECU.

Ravaal, dwell control will allow us to integrate some of the CDi ignitions easier and also make the coils that are there act larger and prevent misfires among other things.
Old Oct 10, 2009, 05:59 PM
  #11  
Registered User
 
rolly1818's Avatar
 
Join Date: Nov 2007
Location: Trinidad
Posts: 1,507
Likes: 0
Received 2 Likes on 2 Posts
Ravaal, dwell control will allow us to integrate some of the CDi ignitions easier and also make the coils that are there act larger and prevent misfires among other things.
Thanks!!!

so basically it may help smooth out any cruise or in boost sputters I may encounter. i always thought you just tweak spark plug gap size to help. guess the ECU can lend some assitance allowing larger gaps and still get good drivability on the stock coils.
Old Oct 10, 2009, 07:14 PM
  #12  
Evolved Member
iTrader: (8)
 
03whitegsr's Avatar
 
Join Date: Nov 2006
Location: Utah
Posts: 4,001
Received 14 Likes on 12 Posts
I could be wrong, but most CDI systems have built in dwell time control and only rely on the falling edge of the ignition signal to fire the plug.

The true benefit of Dwell control is that you can implement the use of different coils and properly charge them. The big advantage IMO would be using other coils with built in igniters that may need different dwell time settings then what the factory coils use.

Has anybody characterized the stock coils to find the step-up ratio of them?
Old Oct 10, 2009, 07:19 PM
  #13  
Evolved Member
iTrader: (32)
 
R/TErnie's Avatar
 
Join Date: Aug 2003
Location: WAR EAGLE!
Posts: 5,380
Likes: 0
Received 6 Likes on 6 Posts
3 milliseconds is .0003 so... you'd need a multiplacation factor of .001

sorry I can't add more Aaron, the only thing I've messed with on coil dwell time is with the Megasquirt and their IGBT's. I'll keep an eye on the thread and ask the right people on Monday.

Sorry again.. I was asleep for the past 3 hours and posted this. looks like you had that already :P
Old Oct 10, 2009, 07:28 PM
  #14  
Evolved Member
Thread Starter
iTrader: (30)
 
JohnBradley's Avatar
 
Join Date: Jan 2004
Location: Northwest
Posts: 11,396
Received 64 Likes on 48 Posts
Originally Posted by 03whitegsr
I could be wrong, but most CDI systems have built in dwell time control and only rely on the falling edge of the ignition signal to fire the plug.

The true benefit of Dwell control is that you can implement the use of different coils and properly charge them. The big advantage IMO would be using other coils with built in igniters that may need different dwell time settings then what the factory coils use.

Has anybody characterized the stock coils to find the step-up ratio of them?
I believe BradRS has. There were some pretty heady discussions about it around the time the Okada Coil set was released. I will see if I can find the exact thread and link it.
Old Oct 10, 2009, 08:08 PM
  #15  
Evolving Member
 
Ceddy's Avatar
 
Join Date: Apr 2008
Location: Reading, PA
Posts: 265
Likes: 0
Received 0 Likes on 0 Posts
John some earlier Mitsu ecus used a 64 uSec scaling for Coil Dwell.

That would be:
x*64 for uSec
or
x*64/1000 for milliSec

Like how the injectors have Sequential and Simultaneous Modes, the Coils also have different modes, so what you put in the Coil tables you might not see in real life. I think the different Coil Modes take effect at higher RPMs when there is not enough time to fully charge the coils.

My DSM Coil Energization Time vs Voltage Table looks like this with the x*64/1000 scaling. I don't know enough about coils to tell if these values look correct. This is a two coil wasted-spark system.
Name:  DSMCoilDwell.jpg
Views: 0
Size:  27.9 KB


Edit:
Looking at the 98-99 DSM code the is a compare to a CAS time of 0x113C which equals 1700 RPMs.
I think below 1700 RPMs the charge time is longer then the table value, proportional to the RPMs you are below 1700.
Perhaps this is to have a stronger spark at idle? Maybe someone can look at the Evo code to see what is going on.

Last edited by Ceddy; Oct 10, 2009 at 08:43 PM.


Quick Reply: Coil Dwell on stock ECU...again



All times are GMT -7. The time now is 03:04 AM.