FIC2150 tuning notes
#1
FIC2150 tuning notes
After I got my BBK-3B installed and did some tuning, I realized that my FIC1100s weren't going to be big enough for this turbo, so I went out looking for a bigger injector. I was looking for an injector that flowed about 20% more, but by an unexpected chain of events, I found myself with a set of new FIC2150s to try out in my Evo. My FIC1100s were dialed in perfectly with the LTFTs drifting by no more than +/-2%. I really wanted the FIC2150s to be dialed in this well, but my initial efforts led to frustration. The tables that I had used to dial in the FIC1100s weren't enough for the FIC2150s - I was missing something.
It didn't take much reading online to figure out that the FIC2150s flow so much that idle and cruise fuel requirements fall within the "partial opening" response of this injector where the fuel flow rate is very non-linear with pulse width. FIC has a great overview of this injector characteristic on their website. The ECU determines the required fuel pulse width assuming a linear relationship between pulse width and flow rate, so having idle and cruise in the non-linear region requires an additional table to accurately dial in these injectors. As I outlined in a previous thread, the Evo ECU (and surely any modern OEM ECU) has a table to account for the non-linear response when calculating the final fuel pulse width. For the Evo, the input for the table is the linear pulse width request, and the output of the table is an pulse width adder that is tacked onto the linear request to make the injector flow the correct linear amount of fuel.
I didn't want to try to figure out the correct values for this table completely by trial-and-error, so I got in contact with Jens and Dan at FIC to see if they could provide me with flow rate data that I needed to come up with starting values. After a bit of discussion, they provided me with exactly what I needed. The non-linear response of the FIC2150 is compared to the idealized linear response in this first graph. As noted, I found from my initial tuning of these injectors that daily driving takes place well within the non-linear "partial opening" region. For instance, idle takes place at about 0.55 ms.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236244-fic2150-tuning-notes-fic2150_flow_linear_vs_actual_m123.gif)
From the graph above, I created a set of pulse width adder values for the table in the Evo ECU. The calculated values for the FIC flow data are shown in the blue trace in the graph below. I started these values, and after a bunch of street tuning, I ended up with the red values. The stock values shown in the plot are approximately half the values needed for the FIC2150s, highlighting why using appropriate values can make a difference. As indicated in both graphs, these linearization values have matched latency values that go along with them and are much different than the actual latency of the injector. I've listed the calculated and tuned linearization values at the end of this post. The definition for the pulse width linearization table is in my other thread on this topic.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236245-fic2150-tuning-notes-fic2150_linearization_vals_mrfred_m123.jpg)
Next is the injector scaling. In every post I found on EvoM about scaling for this injector, people settle on a value that is much lower than the value expected based on the flow rate of these injectors. I have found that 1170 cc/min (on E85) works well for me, so my experience is the same as everyone else.
As with my FIC1100s, getting best drivability also required tweaking the MAF scaling table. For people running MAF, this table is useful for dialing in closed loop trims, and it's what's needed to make the AFR table match actual AFR in open loop. The name given to this table by someone many years ago suggests that it affects the load calculation, but in fact, it only affects the fuel calculation, so its a very useful tool for tuning AFR. Most people running FIC2150s are running SD, so I'm not sure how useful it would be to tune the MAF scaling table because it provides a similar function to the SD VE tables. If anyone is interested, I have posted my values at the end of the post. Note that I have changed both the input and output values, as well as the scaling offset, and MAF compensation.
After getting everything optimized, I've found these injectors to have amazing drivability irrespective of their size. I have them idling perfectly at 875 rpm, and I'm sure that they would idle just as well on pump gas. Closed loop transient and cruise response are also great.
In summary, I have worked out what I believe to be accurate pulse width linearization values that anyone can use to help make FIC2150s work better in their Evo. This table can be used in combination with the injector scaling and latency tables to dial in the FIC2150s, but better results might be obtained by also tuning the MAF scaling table and/or SD VE tables.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236246-fic2150-tuning-notes-fic2150-linearization-table_trial-error_m123.gif)
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236320-fic2150-tuning-notes-fic2150-inj-scaling-latency-tables_trial-error_m123.gif)
It didn't take much reading online to figure out that the FIC2150s flow so much that idle and cruise fuel requirements fall within the "partial opening" response of this injector where the fuel flow rate is very non-linear with pulse width. FIC has a great overview of this injector characteristic on their website. The ECU determines the required fuel pulse width assuming a linear relationship between pulse width and flow rate, so having idle and cruise in the non-linear region requires an additional table to accurately dial in these injectors. As I outlined in a previous thread, the Evo ECU (and surely any modern OEM ECU) has a table to account for the non-linear response when calculating the final fuel pulse width. For the Evo, the input for the table is the linear pulse width request, and the output of the table is an pulse width adder that is tacked onto the linear request to make the injector flow the correct linear amount of fuel.
I didn't want to try to figure out the correct values for this table completely by trial-and-error, so I got in contact with Jens and Dan at FIC to see if they could provide me with flow rate data that I needed to come up with starting values. After a bit of discussion, they provided me with exactly what I needed. The non-linear response of the FIC2150 is compared to the idealized linear response in this first graph. As noted, I found from my initial tuning of these injectors that daily driving takes place well within the non-linear "partial opening" region. For instance, idle takes place at about 0.55 ms.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236244-fic2150-tuning-notes-fic2150_flow_linear_vs_actual_m123.gif)
From the graph above, I created a set of pulse width adder values for the table in the Evo ECU. The calculated values for the FIC flow data are shown in the blue trace in the graph below. I started these values, and after a bunch of street tuning, I ended up with the red values. The stock values shown in the plot are approximately half the values needed for the FIC2150s, highlighting why using appropriate values can make a difference. As indicated in both graphs, these linearization values have matched latency values that go along with them and are much different than the actual latency of the injector. I've listed the calculated and tuned linearization values at the end of this post. The definition for the pulse width linearization table is in my other thread on this topic.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236245-fic2150-tuning-notes-fic2150_linearization_vals_mrfred_m123.jpg)
Next is the injector scaling. In every post I found on EvoM about scaling for this injector, people settle on a value that is much lower than the value expected based on the flow rate of these injectors. I have found that 1170 cc/min (on E85) works well for me, so my experience is the same as everyone else.
As with my FIC1100s, getting best drivability also required tweaking the MAF scaling table. For people running MAF, this table is useful for dialing in closed loop trims, and it's what's needed to make the AFR table match actual AFR in open loop. The name given to this table by someone many years ago suggests that it affects the load calculation, but in fact, it only affects the fuel calculation, so its a very useful tool for tuning AFR. Most people running FIC2150s are running SD, so I'm not sure how useful it would be to tune the MAF scaling table because it provides a similar function to the SD VE tables. If anyone is interested, I have posted my values at the end of the post. Note that I have changed both the input and output values, as well as the scaling offset, and MAF compensation.
After getting everything optimized, I've found these injectors to have amazing drivability irrespective of their size. I have them idling perfectly at 875 rpm, and I'm sure that they would idle just as well on pump gas. Closed loop transient and cruise response are also great.
In summary, I have worked out what I believe to be accurate pulse width linearization values that anyone can use to help make FIC2150s work better in their Evo. This table can be used in combination with the injector scaling and latency tables to dial in the FIC2150s, but better results might be obtained by also tuning the MAF scaling table and/or SD VE tables.
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236246-fic2150-tuning-notes-fic2150-linearization-table_trial-error_m123.gif)
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236320-fic2150-tuning-notes-fic2150-inj-scaling-latency-tables_trial-error_m123.gif)
![](https://www.evolutionm.net/forums/attachments/ecu-flash/236247-fic2150-tuning-notes-fic2150-maf-scaling-tables_trial-error_m123.gif)
Last edited by mrfred; Nov 29, 2014 at 07:23 PM.
The following 2 users liked this post by mrfred:
Biggiesacks (Nov 11, 2018),
hughesX (Aug 9, 2021)
#5
Evolved Member
Perfect timing mrfred, as I have been working the same table this last week dialing-in a set of ID2000s. With difficulty I will add.
I found I also had to do your minimum IPW mod and micro adjust that to get something resembling stable idle AFRs. And the closed-loop idle gain and limit the maximum lean swing to -12%, not the stock -24%.
Did you change the minimum IPW setting with your tuning settings to help get it right?
I found I also had to do your minimum IPW mod and micro adjust that to get something resembling stable idle AFRs. And the closed-loop idle gain and limit the maximum lean swing to -12%, not the stock -24%.
Did you change the minimum IPW setting with your tuning settings to help get it right?
#6
First post updated with those tables and the Minimum IPW value.
Yep, had to do the Minimum IPW patch. I've got it set to 0.800 ms which is 0.1 ms below the lowest IPW I've logged, so I'm not relying on it at all for any AFR control. My idle AFRs are totally stable - as good or better than my FIC1100s were, so keep at it.
Perfect timing mrfred, as I have been working the same table this last week dialing-in a set of ID2000s. With difficulty I will add.
I found I also had to do your minimum IPW mod and micro adjust that to get something resembling stable idle AFRs. And the closed-loop idle gain and limit the maximum lean swing to -12%, not the stock -24%.
Did you change the minimum IPW setting with your tuning settings to help get it right?
I found I also had to do your minimum IPW mod and micro adjust that to get something resembling stable idle AFRs. And the closed-loop idle gain and limit the maximum lean swing to -12%, not the stock -24%.
Did you change the minimum IPW setting with your tuning settings to help get it right?
#7
Evolving Member
iTrader: (4)
mrfred, could you please help me by fixing my xml file to match with yours?
I'm getting confused since my table names do not match yours and I cannot find the correct "Airflow/HZ Raw Scaling" and "Airflow/HZ Offset Raw" tables, I just have MAF Scaling (with Adder) and you can see below.
Also, what units are you using for MAF Compensation, g/s?
Thank you for the info above and your help!!
![Help Me](https://www.evolutionm.net/forums/images/smilies/help.gif)
Also, what units are you using for MAF Compensation, g/s?
Thank you for the info above and your help!!
![Smilie](https://www.evolutionm.net/forums/images/smilies/smile.gif)
Trending Topics
#8
Here are my MAF scaling tables. I didn't try to scale any of the output units.
Code:
<table name="Airflow/Hz Raw Scaling" category="Fuel" address="2d06" type="2D" level="3" scaling="uint8"> <table name="MAF Hz" type="Y Axis" elements="21" address="6da4" scaling="MAFHz"/> </table> <table name="Airflow/Hz Offset Raw" category="Fuel" type="1D" level="3" address="1112" scaling="uint16"/> <table name="MAF Compensation" category="Fuel" address="2d22" type="2D" level="3" scaling="uint8"> <table name="MAF Hz" type="Y Axis" elements="21" address="6da4" scaling="MAFHz"/> </table>
Last edited by mrfred; Nov 30, 2014 at 08:48 AM.
#9
Evolving Member
iTrader: (4)
Thanks mrfred!
I sent you a PM.
![Thumb Up](https://www.evolutionm.net/forums/images/smilies/icon14.gif)
Here are my MAF scaling tables. I didn't try to scale any of the output units.
Code:
<table name="Airflow/Hz Raw Scaling" category="Fuel" address="2d06" type="2D" level="3" scaling="uint8"> <table name="MAF Hz" type="Y Axis" elements="21" address="6da4" scaling="MAFHz"/> </table> <table name="Airflow/Hz Offset Raw" category="Fuel" type="1D" level="3" address="1112" scaling="uint16"/> <table name="MAF Compensation" category="Fuel" address="2d22" type="2D" level="3" scaling="uint8"> <table name="MAF Hz" type="Y Axis" elements="21" address="6da4" scaling="MAFHz"/> </table>
#11
Evolved Member
I think my difficulties were aggravated by not having a good starting latency value set.
So, trying to get the Injector Linearization table right was adding inconsistency, not really improving the situation.
I then zeroed off the Injector table, worked the minimum IPW setting and latency until things were working more or less correctly. I intend to now go back to the IPW adder table and try to get that right, which should get it all working correctly.
I think the main difficulty is not having an accurate latency to work from. I know now I was off the mark by too much to start with and I was never going to win until that aspect was corrected.
The offset data (latency) I later found on the ID web site was close and at least ensured I had the correct profile - after that it got a lot better and progress was made.
So, trying to get the Injector Linearization table right was adding inconsistency, not really improving the situation.
I then zeroed off the Injector table, worked the minimum IPW setting and latency until things were working more or less correctly. I intend to now go back to the IPW adder table and try to get that right, which should get it all working correctly.
I think the main difficulty is not having an accurate latency to work from. I know now I was off the mark by too much to start with and I was never going to win until that aspect was corrected.
The offset data (latency) I later found on the ID web site was close and at least ensured I had the correct profile - after that it got a lot better and progress was made.
#13
Are you SD or MAF? I am still on the maf... they worked okay on pump but you won't be able to do too much with the injectors during starts unless you push in the gas pedal a bit to kill some of the gas... I wasn't able to tune that out at all because of the IPW on pump gas... Let me know how that goes for you, but i know you dont run pump often...
#14
Are you SD or MAF? I am still on the maf... they worked okay on pump but you won't be able to do too much with the injectors during starts unless you push in the gas pedal a bit to kill some of the gas... I wasn't able to tune that out at all because of the IPW on pump gas... Let me know how that goes for you, but i know you dont run pump often...