Notices
ECU Flash

Injector flow rate linearization table

Thread Tools
 
Search this Thread
 
Old Jun 15, 2014, 05:02 PM
  #1  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
Injector flow rate linearization table

<strong>November 29, 2014: Updated for accuracy</strong>
<strong>December 1, 2014: Added table address for 94170015</strong>
<strong>December 27, 2014: Added table address for 96530006 and 90550001 (thanks SkyNight)</strong>
<strong>December 29, 2014: Adding links to FIC2150, FIC1650, and FIC1100 flow rate linearization tables</strong>
<strong>September 27, 2015: Fixed for messed up EvoM text parser.</strong>

This table has been discussed before, but mostly only in passing. Fuel injectors are supposed to have a linear relationship between pulse width and fuel flow rate. Any good injector will have a linear relationship between pulse width and fuel flow rate everywhere except at low pulse widths. However, even the best injectors will have a non-linear relationship between pulse width and fuel flow rate at very low pulse widths. This isn't a problem for motors with typical HP/displacement ranges because the injector size can be selected so that the non-linear partial opening region can be excluded from the operating range. However, it is a potential problem for big power Evos that need a big fuel injector because these injectors will operate in the non-linear response range at idle and cruise conditions. An example of this non-linear response is shown in the plot below that I borrowed from the FIC website. Two horizontal lines show typical fuel flow rates required for idle and cruise. A stock size injector is fully linear before even reaching flow rates required for idle while the FIC2150 is smack in the middle of the non-linear region at idle and cruise.

<img alt="" src="http://fuelinjectorclinic.com/image/data/zoom%204.jpg" />

The engine control code is written with the general assumption that the fuel flow rate is linear with pulse width, so a non-linear response is a problem for obtaining best possible idle and cruise AFRs for big injectors. As it turns out, most (if not all) modern engine control programs are written to deal with the non-linear response at low pulse widths. The way it works with the Evo ECU is that it first calculates the pulse width assuming a linear relationship, and then for low pulse width ranges, it applies a correction to the calculated linear value. The correction table is determined by comparing the low pulse width flow data to a linear fit to the high pulse width data. An example of the required correction is shown in the figure below.

<img alt="" src="https://www.evolutionm.net/forums/attachment.php?attachmentid=236232" />

This correction information can be determined for the non-linear region to build the table. The engine control code adds these corrections to the linear fuel pulse width value to obtain a pulse width that gives the correct fuel flow rate. The table definition is listed below for the USDM Evo 9 88590015 ROM.

For the 94170015 ROM, change "31db" to "37c7" in the table data below.
For the 96530006 ROM, change "31db" to "37c7" in the table data below.
For the 90550001 ROM, change "31db" to "3977" in the table data below.


Table Definition for USDM Evo 9 88590015 ROM

Code:
&lt;scaling name="InjLinearizationPWScale" units="PW Adder (ms)" toexpr="x*0.004" frexpr="x/0.004" format="%.3f" min="0" max="0.5" inc="0.004" storagetype="uint8" endian="big"/&gt;

&lt;table name="Injector Flow Linearization PW Adder" category="Fuel - Injector Settings" address="31db" type="2D" level="2" scaling="InjLinearizationPWScale"&gt;
  &lt;table name="Requested FPW (ms)" type="Static Y Axis" elements="66"&gt;
    &lt;data&gt;0.016&lt;/data&gt;
    &lt;data&gt;0.048&lt;/data&gt;
    &lt;data&gt;0.080&lt;/data&gt;
    &lt;data&gt;0.112&lt;/data&gt;
    &lt;data&gt;0.144&lt;/data&gt;
    &lt;data&gt;0.176&lt;/data&gt;
    &lt;data&gt;0.208&lt;/data&gt;
    &lt;data&gt;0.240&lt;/data&gt;
    &lt;data&gt;0.272&lt;/data&gt;
    &lt;data&gt;0.304&lt;/data&gt;
    &lt;data&gt;0.336&lt;/data&gt;
    &lt;data&gt;0.368&lt;/data&gt;
    &lt;data&gt;0.400&lt;/data&gt;
    &lt;data&gt;0.432&lt;/data&gt;
    &lt;data&gt;0.464&lt;/data&gt;
    &lt;data&gt;0.496&lt;/data&gt;
    &lt;data&gt;0.528&lt;/data&gt;
    &lt;data&gt;0.560&lt;/data&gt;
    &lt;data&gt;0.592&lt;/data&gt;
    &lt;data&gt;0.624&lt;/data&gt;
    &lt;data&gt;0.656&lt;/data&gt;
    &lt;data&gt;0.688&lt;/data&gt;
    &lt;data&gt;0.720&lt;/data&gt;
    &lt;data&gt;0.752&lt;/data&gt;
    &lt;data&gt;0.784&lt;/data&gt;
    &lt;data&gt;0.816&lt;/data&gt;
    &lt;data&gt;0.848&lt;/data&gt;
    &lt;data&gt;0.880&lt;/data&gt;
    &lt;data&gt;0.912&lt;/data&gt;
    &lt;data&gt;0.944&lt;/data&gt;
    &lt;data&gt;0.976&lt;/data&gt;
    &lt;data&gt;1.008&lt;/data&gt;
    &lt;data&gt;1.040&lt;/data&gt;
    &lt;data&gt;1.072&lt;/data&gt;
    &lt;data&gt;1.104&lt;/data&gt;
    &lt;data&gt;1.136&lt;/data&gt;
    &lt;data&gt;1.168&lt;/data&gt;
    &lt;data&gt;1.200&lt;/data&gt;
    &lt;data&gt;1.232&lt;/data&gt;
    &lt;data&gt;1.264&lt;/data&gt;
    &lt;data&gt;1.296&lt;/data&gt;
    &lt;data&gt;1.328&lt;/data&gt;
    &lt;data&gt;1.360&lt;/data&gt;
    &lt;data&gt;1.392&lt;/data&gt;
    &lt;data&gt;1.424&lt;/data&gt;
    &lt;data&gt;1.456&lt;/data&gt;
    &lt;data&gt;1.488&lt;/data&gt;
    &lt;data&gt;1.520&lt;/data&gt;
    &lt;data&gt;1.552&lt;/data&gt;
    &lt;data&gt;1.584&lt;/data&gt;
    &lt;data&gt;1.616&lt;/data&gt;
    &lt;data&gt;1.648&lt;/data&gt;
    &lt;data&gt;1.680&lt;/data&gt;
    &lt;data&gt;1.712&lt;/data&gt;
    &lt;data&gt;1.744&lt;/data&gt;
    &lt;data&gt;1.776&lt;/data&gt;
    &lt;data&gt;1.808&lt;/data&gt;
    &lt;data&gt;1.840&lt;/data&gt;
    &lt;data&gt;1.872&lt;/data&gt;
    &lt;data&gt;1.904&lt;/data&gt;
    &lt;data&gt;1.936&lt;/data&gt;
    &lt;data&gt;1.968&lt;/data&gt;
    &lt;data&gt;2.000&lt;/data&gt;
    &lt;data&gt;2.032&lt;/data&gt;
    &lt;data&gt;2.064&lt;/data&gt;
    &lt;data&gt;2.096&lt;/data&gt;
  &lt;/table&gt;
&lt;/table&gt;
For the stock Evo 9 ROM, the table is shown below. As can be seen, the linearization values are quite significant compared to the requested pulse width, so they can make a big difference in fuel pulse size.

<img alt="" src="https://www.evolutionm.net/forums/attachment.php?attachmentid=236234" />
Attached Thumbnails Injector flow rate linearization table-fpw-linearization-graphical-explanation_m2.gif   Injector flow rate linearization table-fpw-linearization-adder-stock-evo-9.gif  

Last edited by mrfred; Sep 28, 2015 at 06:31 AM.
The following 2 users liked this post by mrfred:
ace33joe (Feb 19, 2017), dr_latino999 (Oct 26, 2016)
Old Jun 16, 2014, 01:30 AM
  #2  
Evolving Member
 
jeffbeagley's Avatar
 
Join Date: May 2011
Location: Springfield, MO
Posts: 363
Likes: 0
Received 3 Likes on 2 Posts
Good information here as always and would prove extremely helpful for injectors that are, apparently, NOT linear.

I am using ID2000s, which appear to be very linear according to ID's website ( pictured below ) with the min IPW mod set to 1.032 and it idles great @ 900rpm.

Old Jun 16, 2014, 02:34 AM
  #3  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
The ID2000 looks pretty linear until a line is dropped on it. ID2000s and FIC2150s are essentially the same size, and both will require an ~0.5 ms fuel pulse width (IPW = FPW + latency = ~0.5 ms + ~0.8 ms = 1.3 ms) at idle on an Evo assuming linear response. So the non-linearity of the ID2000s is right in the middle of the idle range.

Indeed, these big injectors can idle well without tweaking this correction. I've seen the same thing on my buddy's Evo with FIC2150s. So this linearization business can be considered optional.

Attached Thumbnails Injector flow rate linearization table-fpw-linearization-id2000.jpg  

Last edited by mrfred; Nov 29, 2014 at 11:25 AM.
Old Jun 16, 2014, 11:28 AM
  #4  
Former Sponsor
iTrader: (1)
 
Fuel Injector Clinic's Avatar
 
Join Date: Nov 2010
Location: Hobe Sound, FL
Posts: 118
Likes: 0
Received 1 Like on 1 Post
Very interesting thread, and something that I hope will end up being very valuable to the Evo community so thank you for taking the time to do this mrfred! We will help with what we can in gathering the data you need to complete this project.

When comparing the FIC and ID graphs above, I just wanted to make sure that the scale of each graph is noted. Of course when you zoom out things look very linear but when you really zoom in tightly, you start to see the detail of the short pulse width area which is going to be non-linear in some way for every injector. For this reason we displayed our graph at 4 different levels of detail here so you can get an idea of the big picture as well as the nitty gritty details down low (we're not afraid of talking about the limitations of injectors in the pursuit of knowledge): http://fuelinjectorclinic.com/data-match-technology
Old Jun 16, 2014, 01:36 PM
  #5  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
Originally Posted by Fuel Injector Clinic
Very interesting thread, and something that I hope will end up being very valuable to the Evo community so thank you for taking the time to do this mrfred! We will help with what we can in gathering the data you need to complete this project.

...
When I found this table a number of years ago, I wasn't sure what to make of it. It wasn't until I decided that I need to run a big injector that I finally gave it some thought and looked around at what it could be for. It was actually 03whitegsr who first mentioned its proper use on the forum. Would be great if you could provide either the flow rate curves, or better yet, the correction values for all the popular injectors for the Evo. Its pretty easy for me to write a patch to be able to handle higher-than-linear values if many of your injectors have that attribute. The Evo 10 has a similar correction table as reported by tephra. Its the first table listed in the first post of this thread:

https://www.evolutionm.net/forums/ec...ated-maps.html

The FPW range is the same as for the 8/9, but the steps are a bit more coarse.

Last edited by mrfred; Jun 16, 2014 at 01:43 PM.
Old Jun 16, 2014, 01:56 PM
  #6  
Evolving Member
 
jeffbeagley's Avatar
 
Join Date: May 2011
Location: Springfield, MO
Posts: 363
Likes: 0
Received 3 Likes on 2 Posts
I wish I understood more of this information and data, but can you graph the utilized correction the ECU is using against the known data of the Injector from the manufacture to obtain correct data to enter into the table?
Old Jun 16, 2014, 08:06 PM
  #7  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
A plot like what you showed is needed, but I suggest asking ID to determine the values for you. I think they'd do it because I can see that they offer the same kind of information for other ECUs that have a linearization feature.
Old Jun 17, 2014, 09:58 AM
  #8  
Evolved Member
iTrader: (9)
 
itzwolf's Avatar
 
Join Date: Mar 2005
Location: Florida
Posts: 1,193
Likes: 0
Received 2 Likes on 2 Posts
I have a ticket open with Injector Dynamics which I actually need to supply all the stock table values/pictures for them to generate the equivalent of this table (Low Pulse Width IPW Adder as named for Evo X definitions) for ID1300's. This one also has more resolution than the Evo X has.

I've been fighting getting my ID1300's dialed in and latencies and expected scaling being totally off from what ID advertises. I expected it to be different to some extent but I also have working values from a few people and mine are no where near theirs which aren't to far off from ID.

I've had a lot going on lately so I haven't gotten to it and this just reminded me to do it...
Old Jun 17, 2014, 10:03 AM
  #9  
Evolved Member
iTrader: (10)
 
jrainwater's Avatar
 
Join Date: Mar 2013
Location: Chicago
Posts: 890
Likes: 0
Received 0 Likes on 0 Posts
Mychailo, I am using the FIC 1100 high z injectors. I know you used to use these, I'm not sure if you still are running them though. Would any adjustment be needed for these 1100's in your opinion? Thanks, Jason
Old Jun 17, 2014, 10:17 AM
  #10  
EvoM Guru
iTrader: (8)
 
RazorLab's Avatar
 
Join Date: Aug 2003
Location: Mid-Hudson, NY
Posts: 14,065
Received 1,038 Likes on 760 Posts
I wonder if the Evo X has this as well?
Old Jun 17, 2014, 10:52 AM
  #11  
Evolved Member
iTrader: (10)
 
jrainwater's Avatar
 
Join Date: Mar 2013
Location: Chicago
Posts: 890
Likes: 0
Received 0 Likes on 0 Posts
Don't the X's come stock with high z? I'm more jw, I heard that.
Old Jun 17, 2014, 11:09 AM
  #12  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
Originally Posted by jrainwater
Mychailo, I am using the FIC 1100 high z injectors. I know you used to use these, I'm not sure if you still are running them though. Would any adjustment be needed for these 1100's in your opinion? Thanks, Jason
I have not yet attempted to tweak this table. FIC1100s have been working great with the stock table, but I've worked extensively on dialing in AFRs at different air flow (and thus fuel flow) rates using the MAF scaling table, and it can compensate for non-linear response as well. With that said, I think its better to use a linearization table if it exists.

Originally Posted by razorlab
I wonder if the Evo X has this as well?
It does. See one of my earlier posts. I link to tephra's thread where he has the definition written out.
Old Jun 17, 2014, 11:30 AM
  #13  
Evolved Member
iTrader: (10)
 
jrainwater's Avatar
 
Join Date: Mar 2013
Location: Chicago
Posts: 890
Likes: 0
Received 0 Likes on 0 Posts
Can non linear response at idle be a static issue (only show an issue every once in awhile)? Or would it be a constant if there was an issue? Occasionally when I roll up to a stop sign or a stop light my afr's at idle go lean to 17's. It's not decel fuel cut either. I'm talking about already being completely stopped and the car's afr goes really lean sitting there at idle. It only does this occasionally and just lightly tapping the gas returns the afr at idle to 14.7 instantly every time.
Old Jun 17, 2014, 12:39 PM
  #14  
Evolving Member
 
jeffbeagley's Avatar
 
Join Date: May 2011
Location: Springfield, MO
Posts: 363
Likes: 0
Received 3 Likes on 2 Posts
I would imagine it's a static issue for IDs... they do get non-linear in idle/cruise but the value is predictable, and not inconsistent.
Old Jun 17, 2014, 01:15 PM
  #15  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 128 Likes on 96 Posts
As jeffbeagley said, ideally the response of the injector should always be the same under a range of operating conditions, and I imagine that's a goal for any injector manufacturer. I have no idea how close they get to that goal though.

I haven't seen that kind of behavior in my FIC1100s. They've been the best injector I've had to-date.


Quick Reply: Injector flow rate linearization table



All times are GMT -7. The time now is 02:19 AM.