RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Sat Feb 21, 2026 9:59 pm

All times are UTC




Post new topic Reply to topic  [ 107 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Author Message
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 2:34 pm 
Offline
Newbie

Joined: Mon May 15, 2006 4:02 am
Posts: 39
Sasha_A80 wrote:
2 dschultz:

DwellDef.JPG is not a good candidate to be InjectorDeadTime(ms) and IgnitionDwellTimeCorrection(ms).

They have exactly the same nature and should not depend on RPM.

But it may make sense if for some reason at low RPMs ignition coil break current is allowed to be greater.


Actually,it is a good candidate. Standalone systems use coil dwell with an rpm based scale. And alot of newer factory ecu's are using InjectorDeadTime in 3D. Some are rpm and manifold pressure based as well with secondary voltage 2d table like we are all use to.


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 4:47 pm 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
InjectorDeadTime is definately ManifoldPressure & BatteryVoltage dependant for returnless fuel system.

InjectorDwellTime is definately EngineSpeed & BatteryVoltage dependant. I do not see any idea behind making exactly the same corrections...


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 8:52 pm 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
Maybe you guys have seen this before, I just ran across it. It appears to be a test of the grey and black coil packs.
Attachment:
Subaru_coils.pdf


Just to confirm for me, in the electronic ignition world, is this dwell time table the amount of time the primary coil circuit is de-energized to release the flux into the secondary coil?

If I did my calculation correctly on a 4 cylinder engine a single spark plug is sparking every 'x' msec at these RPM.
Code:
RPM   msec
500   240
1000  120
3600  33.33
8000  15


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 9:08 pm 
Offline
Experienced

Joined: Mon Aug 18, 2008 11:15 pm
Posts: 316
Location: Chicago, Illinois
Sasha_A80 wrote:
InjectorDeadTime is definately ManifoldPressure & BatteryVoltage dependant for returnless fuel system.

InjectorDwellTime is definately EngineSpeed & BatteryVoltage dependant. I do not see any idea behind making exactly the same corrections...

Injector dead time(Latency) has already been defined for all ecus supported with battery voltage has it not?

Andy


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 9:21 pm 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
2 dschultz:

The first coil should be "energized" for about 5 ms, the second - for about 3 ms (longer for lower battery voltage, shorter for greater voltage) formarly regardless of RPM.

2 elevenpoint7five:

Injector dead time depends on battery voltage. For returnless fuel systems it also depends on intake air pressure. But corrections may done as additive values from a couple 2D tables instead of 3D one.


Last edited by Sasha_A80 on Thu Jan 14, 2010 9:57 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 9:28 pm 
Offline
Experienced

Joined: Mon Aug 18, 2008 11:15 pm
Posts: 316
Location: Chicago, Illinois
dschultz wrote:
Maybe you guys have seen this before, I just ran across it. It appears to be a test of the grey and black coil packs.
Attachment:
Subaru_coils.pdf


Just to confirm for me, in the electronic ignition world, is this dwell time table the amount of time the primary coil circuit is de-energized to release the flux into the secondary coil?


Cool PDF!

Dwell time is the time it takes the coil to "charge". Ideally you would know the exact dwell times needed and setup the table that way. Any extra dwell time will just cause additional heat. If it took 5ms to fully "charge" you would want the dwell set to 5ms before firing. That way the coil is not sitting there all charged up creating heat waiting to fire, rather it is fired at the exact point that it reaches full charge. If you think of it as a wave it helps. The little plateau in my first rudimentary drawing is the time you want to eliminate. The second drawing is the ideal settings assuming that "/" is equivalent to the exact amount of time it takes to fully charge. Ignore the "..." it was just to attempt to get spacing right.
... __
__/ |__ __/|___

Andy


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 10:03 pm 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
Do not forget to add some "heating time" for the reason that your engine may accelerate.
You are starting "coil charge in advance" but have to break electronic current switch at required crank angle. Due to the engine acceration you may need to limit "coil charging time".

Those 3D "IgnitionDwellCorrections" found may be due to this reason.


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 10:06 pm 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
Quote:
Dwell time is the time it takes the coil to "charge".
Okay so now my dumb question.

If it takes 5ms to charge @14V, that remains a constant regardless of RPM.

...then what is this dwell table doing with respect to RPM? If this defines the "charge" time then we are getting less spark potential as the RPM increases.

I have not looked in the ROM code to see how these values are being used. I still have to go find those routines and learn the opcodes more.


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 10:11 pm 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
Quote:
but have to break electronic current switch at required crank angle

Could this table be the "advance" time needed to stop the charge; in advance of the spark event expectation?
I would make sense, longer values at lower RPM.


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Thu Jan 14, 2010 10:22 pm 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
"Break time" is fixed and regardless of any thing is about 50-70 microseconds.
I stiil think that engine acceleration is the main problem. In my homebrew ecu calculated time correction is applied to ignition dwell time. Otherwise I completely loose the ability to ignite mixture under 1-2 gear full throttle run due to fast engine acceleration that shorten "coil precharge time".


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Fri Jan 15, 2010 3:43 am 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
Let me see if I got what you are saying.

The times in the table are added to the nominal charge time to account for 1) changing engine speeds, and 2) a variation in battery voltage. Is that right?


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Fri Jan 15, 2010 4:53 am 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
Exactly.

But "changing engine speed" should be substituted by "possible engine speed acceleration".


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Fri Jan 15, 2010 5:36 am 
Offline
Experienced

Joined: Mon Aug 18, 2008 11:15 pm
Posts: 316
Location: Chicago, Illinois
dschultz wrote:
elevenpoint7five wrote:
The conversion used for the 16bit ecu is x*.0625 I didn't try it out for the 32bit but you might give it a shot.

Andy

I followed this table structure:
Quote:
3D :
colcnt :2bytes Cols count
rowcnt :2bytes Rows count
coladdr :4bytes Cols address
rowaddr :4bytes Rows address
dataddr :4bytes Data address
databits :4bytes Type of data (0=32bit,4=8bit,8=16 bit)(32bit data has no scaling)
mult :4bytes Multiplier for data
add :4bytes Addition to data

Which you can see in the first 20 bytes of data. If FLOAT has no scaling then the values are the real numbers. Converting them directly from FLOAT to decimal I get the values you can see in the mock table I posted (second image). As for the data conversion, using a uint16 value matches up with the data in the ROM. If there is no scaling then the uint16 number must be a raw time representation. Unadjusted it may be microseconds (or some other CPU unit of time), but to fit with a standard unit of measure as in other ROM tables I multiplied it by 0.001 to get what could be milliseconds. The question is, are these values close to what a dwell time might be? My car has grey col packs and if i reference your 16bit ROM table with grey coil packs my values are much smaller.

That info about the tables is good stuff, can I ask where you got it? I knew that the 32bit ROMs had the multipliers included, but I hadn't figured out how yet. This is different for the 16bit ROMs, as it is not included anywhere. We assumed that the value would be in milliseconds because when I tested dwell with an o-scope(in ms) I got the same values as we had defined as ms in the table. However, there is still a chance that the values could be in degrees of crank rotation, or something completely different as well. While I see it as quite strange that there would be such a coincidence of the ms from the o-scope matching what we had defined and not being correct, it is possible. I can only assume that it is being measured the same from 16bit and 32bit.

Andy


Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Fri Jan 15, 2010 4:19 pm 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
elevenpoint7five wrote:
That info about the tables is good stuff, can I ask where you got it? I knew that the 32bit ROMs had the multipliers included, but I hadn't figured out how yet.

I found it here.

So what I've found so far about table structure in the 32bit ECU is:
    - X & Y axis values are always FLOAT (IEEE754) values and seem to describe directly the axis field quantity (no conversion needed)
    - the data unit type MSB will be either 0, 4, or 8. If 4 or 8 then the multiplier and additive (values in IEEE754 format) are provided to be applied to the data values. If the data unit type is 0 then no x or + is provided and it seems that the data is provided as a uint16 value, the units maybe unknown without knowing how the values are used in the calculations

For example:
Code:
2D table (uint16 data)
Axis Length 0009
Data Type   0800
Axis Addr   000c07ac
Data Addr   000c07d0
Multiplier  3b800000
Additive    c2480000

3D Table (uint8 data)
Y-axis Length 0005
X-axis Length 0008
Y-axis Addr   000c2b84
X-axis Addr   000c2b98
Data Addr     000c2bb8
Data Type     04000000
Multiplier    3b800000
Additive      3f000000

3D Table    (uint16 data no x or +)
Y-axis Length 0010
X-axis Length 0005
Y-axis Addr   000cd6b8
X-axis Addr   000cd6f8
Data Addr     000cd70c
Data Type     00000000

Quote:
We assumed that the value would be in milliseconds...

That's the hard part to figure out. For the supposed Dwell table I posted, there is no x or +, so I interpreted the uint16 values as raw data. Then multiplied them by 0.001 to get something close to a msec value. If the coil packs are the same on the a 16bit and 32bit ECU equipped cars then there's no reason the values should be different. RPM is RPM and charge time of the coil pack will be the same between cars. Therefore the tables should be nearly identical (I assume).
In the end, unit measure should not be an issue as your read out and convert the data value with the same formula constants as you would convert and write back the data value into the ROM file.
Dale


Last edited by dschultz on Wed Jan 27, 2010 3:47 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Ignition Dwell - New Definitions
PostPosted: Fri Jan 15, 2010 5:03 pm 
Offline
Senior Member

Joined: Thu Aug 03, 2006 2:40 pm
Posts: 1934
in addition to "timing" (ie * of advance) issues, also keep in mind the coils can TOLERATE less dwell as rpms increase. that's because there are simply more conduction events per unit time. the thermal conductivity of the coil to the rest of the world will dictate the rate at which heat energy can be safely dissipated from the core. the thermal capacity of the coil/core will allow some excursions beyond that steady state limit, but that is treading on thinner ice.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 107 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl