The injectors in question is the Bosch 0280158187 (52lb/hr @ 58psi), which are commonly used in the Sprintex SPS supercharger kits on Pentastar 3.6's.
I'm unsure where Sprintex gets their injector data from but I believe the best source for accurate injector data is from OE factory tunes.
Doing some research has led me to believe that these injectors are factory fitment on some GM 6.2L LSA supercharged vehicles, such as a 2012 Camaro ZL1.
So I ended up tracking down a factory stock HP tuners file and set upon converting that injector data to suit the Dodge injector data format.
My conversion of the injector data from GM to Dodge is here for a sanity check and questioning (is it possible and am I doing this correctly?).
Injector Offset
First up we have the GM [ECM] 12308 - Injector offset table (Injector Offset vs. Pressure Delta Vs. IGNV).
The pressure delta here seems to be the differential fuel pressure "across" the injector.
The Dodge [ECM] 34070 - Injector Pulsewidth Offset table also has "pressure differential" breakpoints but I believe this is actually offset to the nominal rail pressure of 58psi (~400kPa) eg "0" kPa pressure differential = 400kPa across the injector, 40kPa differential pressure = 400 + 40 = 440kPa etc.
So to populate the Dodge table, I started using the GM data from the 408kPa column (with is within a few psi of the nominal rail pressure 58psi) in the 0kPa row.
Then I used the GM 408 - 80 = 328kPa, 408 - 40 = 368kPa, 408 + 40 = 448kPa and 408 + 80 = 488kPa (as circled in the image below) to populate the Dodge -80, -40, 40, 80kPa rows.
GM Inj Offset.PNG
and this is what I ended up with:
GM Dodge Inj Offset.PNG
Note that the values entered are not exactly the same as the GM values because the Dodge tables only have a resolution of 8us, thus some rounding occurs.
Fuel Mass
Now this one was a bit more trickier to figure out. Hopefully I have the logic right...
For Dodge, this is basically represented by a single table [ECM] 34052 - Fuel Mass vs Injector Pulsewidth and its inverse, [ECM] 34050 - Injector Pulsewidth vs Fuel Mass. These tables seem to be based on the actual injected fuel mass of the injector at a given PW at the nominal fuel pressure delta across the injector (fuel rail pressure ~400kPa).
For GM, we have [ECM] 12307 - Injector Flow Rate vs. Pressure Delta. These flow figures are given by the injector slope in the "linear" region (PWs above [ECM] 3055 - Short Pulse Limit of 4ms).
This then has to be combined with the GM [ECM] 12314 - Short Pulse Adder, to characterize the Injector at pulsewidths below the short pulse limit of 4ms, the non linear operating region.
Firstly, we use GM [ECM] 12307 - Injector Flow Rate vs. Pressure Delta to find the flow rate at the nominal fuel pressure delta across the injector (408kPa), which gives us 6.68g/s or 6.68mg/ms.
GM flow rate vs pressure.PNG
Now we can add 2 PW breakpoints at the bottom of our Dodge [ECM] 34052 - Fuel Mass vs Injector Pulsewidth table to define the fuel mass in the linear injector operating region.
These breakpoints can be defined by the short pulse limit (4ms) and another PW that is sufficiently high enough which you will never exceed. I used 50ms in this case.
Simply multiplying the PW by the injector flow rate will give you the injected fuel mass eg 4ms * 6.68mg/ms = 26.72mg, 50ms * 6.68mg/ms = 334mg.
Dodge Linear PW.PNG
The tricky part is how to translate and interpret GM [ECM] 12314 - Short Pulse Adder to our Dodge [ECM] 34052 - Fuel Mass vs Injector Pulsewidth table.
From my understanding, the algorithms in both ECU's essentially calculate a required fuel mass, for a given air mass and air/fuel ratio, which is then converted into a commanded injector pulse width.
Therefore, in the short-pulse, non-linear region, the short pulse adder is added to the commanded PW to correct the PW for the given required fuel mass.
As an example: if we required 13.36mg of fuel, we would command 13.36mg / 6.68mg/ms = 2ms if the fuel delivery was linear. However, the fuel flow rate is not linear in this region so we look up the GM short Pulse Adder at 2.0ms (circled in red below) and add it to the nominal pulse width to correct it.
GM short pulse adder.PNG
So for a required 13.36ms of fuel we would actually command a PW of 2+0.0078 = 2.0078ms instead of 2ms.
An additional complication of translating this Short Pulse Adder is that the GM table has 33 cells where as our Dodge table has a total of only 15. Out of that, 2 cells have already been used to define the linear operating region, leaving us with only 13 cells.
This is where you have to get creative and translate it to best suit your application.
From previous data logs on these injectors, I know that this engine requires an approximate minimum fuel mass of 8mg, warm with the engine speed held just above idle (1400rpm), in neutral, at stoich in closed loop. The ECU commands a PW of ~1.1ms to deliver this mass.
So I would like to add a few breakpoints below this PW for high vacuum and overrun conditions but my main focus is to add breakpoints above this PW to the start of the linear region (4ms)
For this case I choose my 13 PW breakpoints from the GM short adder table of 0, 0.3, 0.8, 1, 1.4, 2.1, 2.4, 2.6, 2.8, 3.1, 3.3, 3.6, 3.8ms. Unfortunately we need to compromise here because we and limited with our data cells, so it wont be perfect.
To help minimize and select appropriate breakpoints, look out for neighboring breakpoints in the GM table with the same adder value and group them together as I circled in blue in the above image. You can see that 2.8, 2.9, 3.0 and 3.1ms all have the same adder of 0.0313ms. So just have breakpoints of 2.8 and 3.1ms with the same adder of 0.0313ms to eliminate unuseful data. I also grouped the breakpoints from 1.4 to 2.1ms because the adder error is mostly small at 0.0078ms throughout.
Once you have your commanded PW breakpoints, use excel and calculate the corresponding fuel mass using the flow rate in the LINEAR region (PW * 6.68ms/mg = fuel mass).
Then use the corresponding short pulse adder to correct the PW breakpoints and determine the actual required pulse widths for these fuel masses.
Excel PW Mass.PNG
The required pulse widths and corresponding fuel masses (green columns) then become the breakpoints and data inputs to our [ECM] 34052 - Fuel Mass vs Injector Pulsewidth and its inverse, [ECM] 34050 - Injector Pulsewidth vs Fuel Mass tables.
fuel mass vs ipw.PNG
Note that the pulsewidth breakpoints are limited to only 1 significant digit and rounded when you view the whole table. When you change the actually PW axis breakpoints, you are able to increase the significant digits and view the correct values.