Notices
ECU Flash

Coil Dwell on stock ECU...again

Thread Tools
 
Search this Thread
 
Old Oct 10, 2009 | 01:57 PM
  #1  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 06:48 PM. Reason: Changed this to 03whitegsr's xml
Old Oct 10, 2009 | 02:14 PM
  #2  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 | 02:39 PM
  #3  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 | 02:53 PM
  #4  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
Screenshot to aid discussion-

Old Oct 10, 2009 | 02:58 PM
  #5  
03whitegsr's Avatar
Evolved Member
iTrader: (8)
 
Joined: Nov 2006
Posts: 4,001
Likes: 15
From: Utah
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 03:03 PM.
Old Oct 10, 2009 | 03:02 PM
  #6  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 | 03:03 PM
  #7  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
96/255 is .37647 so maybe it is charge time after all and just in the raw values?
Old Oct 10, 2009 | 04:59 PM
  #8  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 05:34 PM.
Old Oct 10, 2009 | 05:57 PM
  #9  
rolly1818's Avatar
Registered User
 
Joined: Nov 2007
Posts: 1,507
Likes: 2
From: Trinidad
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 | 06:27 PM
  #10  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 | 06:59 PM
  #11  
rolly1818's Avatar
Registered User
 
Joined: Nov 2007
Posts: 1,507
Likes: 2
From: Trinidad
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 | 08:14 PM
  #12  
03whitegsr's Avatar
Evolved Member
iTrader: (8)
 
Joined: Nov 2006
Posts: 4,001
Likes: 15
From: Utah
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 | 08:19 PM
  #13  
R/TErnie's Avatar
Evolved Member
iTrader: (32)
 
Joined: Aug 2003
Posts: 5,380
Likes: 6
From: WAR EAGLE!
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 | 08:28 PM
  #14  
JohnBradley's Avatar
Thread Starter
Evolved Member
iTrader: (30)
 
Joined: Jan 2004
Posts: 11,400
Likes: 75
From: Northwest
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 | 09:08 PM
  #15  
Ceddy's Avatar
Evolving Member
 
Joined: Apr 2008
Posts: 265
Likes: 1
From: Reading, PA
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 09:43 PM.


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



All times are GMT -7. The time now is 07:42 AM.