Jump to content
PCMTEC Forums
Whiteford

HOWTO: Injector Scaling Basics

Recommended Posts

Hi Guys,

I am far from a tuner however would like to know if a car has had 1000CC injectors installed, no other mods and a stock tune, what parameters would need to be changed for the car to be able to drive to a tuner?

Any input welcome.

Thank you

Share this post


Link to post
Share on other sites

Edit: This will give you a rough guide on what items need to be changed to scale injectors.

I have ID1000 in my BF which should be similar to yours, they are matched sets but they can vary up to 5% so remember this.

Here is the official ID1000 data

http://injectordynamics.com/wp-content/uploads/2014/08/ID1000-Ford-Characterization-Tables-8-6-14.xls

Correct their spread sheet for a 4 bar reg and 0% ethanol

image.thumb.png.1f708b5f618275ccc0f0b2a6dca841bd.png

This gives you a high slope of 0.031774 lbm/s and a low slope of 0.035023 lbm/s

Now I used this data and the fuel trims were way off. After lots of logging and cruising I now get 1.00 0.98 trims at cruise and worst case 0.9% under some deaccel conditions. Generally around 0.95 most of the time.

Here is the data I ended up with. Make sure to use the +/- symbols to ensure all the decimal places show when working with these small numbers.

High slope = 0.0296729 lbm/s

Low slope = 0.031059 lbm/s

Pulse width minimum = 0.00019 seconds

Injector breakpoint = 0.000027 lbm

breakpoint_ms = breakpoint / lowslope * 1000 + offset(volts)

To scale these figures I datalogged long term trims (after first giving the car 80kms to zero the trims in, don't datalog immediately after making changes as you will forever chase your tail). I then datalogged airmass to determine what needed changing, low slope, highslope or the breakpoint. Pulsewidth minimum you only decrease if you are getting anything other than an 18:1 lean condition on deaccel fuel cut. If you get a pop pop pop when holding revs at 2k in neutral this can also mean your pulse width min needs increasing or your low slope needs increasing.

image.thumb.png.752597e80272fcbd7ceadf84dae8b272.png

Slopes were about 7% -12% less than the ID1000 data.

image.png.55a1057c08686ac8be07e7b431599a2c.png

Zero this out (I don't think its used)

image.png.03bde6a37a3371f0042740a9fb9bc0ae.png

Deadtime I had very similar to the ID1000 data

image.png.dafbdb10dde4b4b8bffdd3399468a038.png

Leave this stock

image.png.394d1ed248a77a60ba4520d76fd1bb0e.png

Zero this out (once again I don't believe it is used)

I included the .tec file so you can do a compare and copy. This should get the car idling and cruise good enough to get it to a tuner. Stay off load until you get it on a dyno with a wideband. If you want to be safe change the fuel base (rpm, tps) auF0172 to be 0.73 in the upper tps range, this will be extremely rich but you should be pretty safe this way.

I then played with the lost fuel tables and injector pump to fix a transient leanout when very cold. Eg change gears on very low load/rpm when cold and it would go quite lean for 2-3 seconds. Winding out the cold start, accelerator pump and cold start tables fixed this.

note if you want to log when you are on the low or high slope log injector ms and you can tell which slope you are on. Use the following calculation to determine the breakpoint in ms

breakpoint_ms = breakpoint / lowslope * 1000 + offset(volts)

edit: Here is a visual representation of the injector slopes

image.png.e83484c05b24489c700394097126b3ce.png

Offset - affects low load and wot

low slope - affects low load and wot

high slope - only affects high load.

If you change the low slope it will change the offset of the high slope. Check out this image I've drawn. You can see that if you adjust the low slope and leave the high slope unchanged, you will have offset your high slope and hence affected WOT fueling.

For this reason if you change the low slope and want to keep the same wot fueling, you can see you must also massage your high slope as well. For this reason you should tune in the following order

first deadtime(offset)

then low slope

then breakpoint and high slope

 

hackkga BF manual ID1000 PW Stage2 Intercooler 4inch dump 100CPI cat Walbro 460.tec

 

Share this post


Link to post
Share on other sites

Hi i have a set of bosch 160lb injectors and am having problems scaling them. i can get them to ldle but as soon as you touch the throttle it pops and bangs and goes lean i have tried to move the breakpoint and pw around with no luck am I missing somthing. Ps I have attached the data sheet of the injectors.

Screenshot_20180708-164656.png

Share this post


Link to post
Share on other sites

Can you post up your high slope, low slope, breakpoint, dead time, what fuel pump and what regulator you at using?

Bonus if you can measure your base fuel pressure as well. 

Also are your injectors brand new and a matched set? Eg that data is definitely for the set you have? 

First things are your base fuel pressure may not be the same as that data sheet. Your dead time may be completely wrong as well. 

Loud pops suggests it is very lean. 

Edit: base fuel pressure for an xr6t is 400kpa / 58psi so you need to get data for that pressure. 

Share this post


Link to post
Share on other sites

Iam not a 100% sure if the data sheet is correct for the injectors thay are bosch 160lb white tops p/n 02080150846 thay are matched. Its running 2 bosch 044 fuel pumps a trubo smart fpr1200 reg set to 40psi. 

20180714_190426.jpg

Share this post


Link to post
Share on other sites

I would start by checking your fuel pressure, otherwise you will be chasing your tail.

You need to confirm the data is correct as well otherwise you will just be guessing.

You can probably get it running OK by guessing but I wouldn't recommend anyone do that.

What does your wide band say when idling in open loop? Make sure you disable closed loop otherwise it will mask the fact the injector data is off. There is a thread on here showing you how to do that. 

Share this post


Link to post
Share on other sites

At idle its afr is 11.0 with the 02 disconnected as soon as you hit the throttle it pops and farts and afrs got to like 20.7. Like a big lean spot 

Share this post


Link to post
Share on other sites
On 6/3/2018 at 10:40 AM, Roland@pcmtec said:

To scale these figures I datalogged long term trims (after first giving the car 80kms to zero the trims in, don't datalog immediately after making changes as you will forever chase your tail).

Hi Roland, is it possible to reset all trim data using the software, so you can them preform your data log straight away?

Edited by BeerTurbo
cant spell

Share this post


Link to post
Share on other sites

Zero was the wrong word to use. The trims are already zero'd after a flash.

I mean dialled in, as in the trims will approach their final value after 80kms as you will have hit all the load cells multiple times.

Share this post


Link to post
Share on other sites

Is it normal for the stft to go to + 40% AT WOT even with cloced loop disabled or am I doing somthing. 

Share this post


Link to post
Share on other sites

im a little confused about adjusting the trims?

when adjusting slopes is there a way to determine the difference between the low/high slopes? (for e.g would low slope be off boost, high slope for boosted fuel areas?)

im trying to understand it in a way where if i come across injectors that dont have data provided like ID give then i know how to go about dialing them in

cheers

Share this post


Link to post
Share on other sites

The slopes are to attempt to model the injector curve. 

Eg for a given ms open how much does the injector flow. Due to friction the injector is non linear at low pulse widths. Eg first you have a deadtime, eg a certain time until any fuel at all is released (eg how long the coil takes to physically open the injector) the you have a very small zone (low slope) where the injector will quickly ramp up in flow. Eventually the injector flow stabilises and you get the high slope where the injector remains linear. The point at which the injector flow becomes linear is at the breakpoint. 

Without data you have to determine this yourself. Usually you can get ballpark (+-25%) by picking another injector or simililar design and size. 

At idle on 98 and 1000cc or smaller you will be operating on the low slope. You can trial and error this until your trims are ok at idle and light cruise. Light cruise/decel being rich but idle being ok suggest your deadtime is too low. This is because your pulse width is higher at idle than cruise/decel. Cruise being ok but idle being too rich suggests your low slope is off. Next turn on closed loop and use your LTFT to further improve this until you are close 0 to 2% in all idle, cruise and decel scenarios. It takes a few minutes for the LTFT to stop changing. 

Next force open loop again and make up a breakpoint and high slope and check your mixtures on load, once they are ballpark turn closed loop back on and further adjust the breakpoint and slope to hone it in. 

Remember that fuel  injected above the breakpoint (on boost) is offset + low slope + breakpoint + high slope. Eg all these constants affect fueling. 

Below the breakpoint only offset and the low slope affect fueling. Eg cruise, decel and idle 

In decel and extremely low load the offset almost entirely dictates your fueling error. 

There are some good graphs by paul yaw at ID that I will post up. 

Share this post


Link to post
Share on other sites

Have a read of this 

http://injectordynamics.com/articles/drillbits-and-dipshits/

and these if you get time

http://injectordynamics.com/the-library/

DrilledSLAZoom

You can see the non linearities of the injector flow. The low slope is the steep slope up until about 1.25msec, the highslope is after this and is approximated by the white line. You can see that if you shift the offset it shifts the entire curve left or right, if you shift the breakpoint it shifts the entire high slope left or right.

Share this post


Link to post
Share on other sites

Roland: from previous two posts: "Cruise being ok but idle being too rich suggests your low slope is off." 

Makes sense to increase low slope to lean out the mixture? Can you confirm.  My reasoning would be that for a given lb/s say its 1 lb/s and the requested charge is 1lb, then the pcm would request 1 sec.  If the mixture is too rich, then the pulse was too long.  Hence the slope needs to increase so the effective pulse time is shortened.

Will try this in the morn.  

Share this post


Link to post
Share on other sites
8 hours ago, Roland@pcmtec said:

Beware that changing your low slope  will also offset your WOT fueling.

Thank you for confirmation. 

Share this post


Link to post
Share on other sites
9 hours ago, Roland@pcmtec said:

Beware that changing your low slope  will also offset your WOT fueling.

1 hour ago, Milanski said:

Thank you for confirmation. 

 

The low slope doesn't affect the WOT fuelling and in the most cases won't be in use, other than idle, decel and very low speed cruise. 

As per the ID diagram, the low slope only pertains to the non linear part of the injector slope that is below the break point.

It is the high slope that affects WOT.

Share this post


Link to post
Share on other sites
26 minutes ago, Puffwagon said:

 

The low slope doesn't affect the WOT fuelling and in the most cases won't be in use, other than idle, decel and very low speed cruise. 

As per the ID diagram, the low slope only pertains to the non linear part of the injector slope that is below the break point.

It is the high slope that affects WOT.

Thank you Puffwagon, now I am a little stumped.  Roland has identified in the PCM program that the system uses the HIGH SLOPE + LOW SLOPE + VoltageOFFSET to determine pulsewidth requirements.  This being the case any change to low slope will affect the high slope.  Im now a little confused.  Puffwagon - are you 100% sure about your comment.  I am OK with either as I will find out very shortly when I do some experiments.  

Share this post


Link to post
Share on other sites
23 minutes ago, Milanski said:

Roland has identified in the PCM program that the system uses the HIGH SLOPE + LOW SLOPE + VoltageOFFSET to determine pulsewidth requirements. 

This does not contradict my comment,  and yes I'm 100% sure my comment is correct about how the injector slopes and breakpoint works.

Head over to the injector dynamics website and read up for yourself.

Share this post


Link to post
Share on other sites

Thanks Puffwagon, appreciate the info thus far.  I have plotted both curves and breakpoint into excel to see the outcome.

Share this post


Link to post
Share on other sites

Excel is a good starting point, I did a similar thing when I worked out my injector data a few years back.

I found that there is some real world difference from excel to when you put the numbers into the tune, and you will more than likely have to move the slopes around slightly to get them spot on for your vehicles setup.

There's plenty of info available and people willing to help, so good luck with it!

Share this post


Link to post
Share on other sites
2 hours ago, Puffwagon said:

This does not contradict my comment,  and yes I'm 100% sure my comment is correct about how the injector slopes and breakpoint works.

Head over to the injector dynamics website and read up for yourself.

Offset - affects low load and high load

low slope - affects low load and high load

high slope - only affects high load.

If you change the low slope it will change the offset of the high slope and hence affect WOT fueling. Check out this image I've drawn. You can see that if you adjust the low slope and leave the high slope unchanged, you will have offset your high slope and hence affected WOT fueling. Same goes for breakpoint and deadtime, all of these will affect WOT fueling as well and can affect it quite a bit. A small change to the low slope could cause a 10-20% change in WOT fueling depending on the breakpoint you use. 

In an extreme example if you made the breakpoint very high you could technically cause a 90% change in fueling from a 5% change in the low slope. Just draw it in paint and you'll be able to visualise it.

For this reason if you change the low slope and want to keep the same wot fueling, you can see you must also massage your high slope as well. For this reason you should tune in the following order

first deadtime(offset)

then low slope

then breakpoint and high slope

image.thumb.png.29f3bc00ada66a0a1c9e5c9555b1053b.png

  • Like 1

Share this post


Link to post
Share on other sites

Here is the actual equation if you want to build a slope calculator in excel. I worked this out drawing the straight lines and some year 9 algebra (yes there was a point to learning all that maths!)

IF (fuelmass >= breakpoint) y (fuelmass_lbs) = highslope_lb_sec * (x (injector_sec) - (breakpoint * (1/lowslope_lb_s - 1/highslope_lb_s) + offset_sec))
IF (fuelmass < breakpoint) y (fuelmass_lbs) = lowslope_lb_sec * (x (injector_sec) - offset_sec)

fuelmass_lbs = airmass_lbs/ commanded_AFR

 

The equation for the lines would then be

Above breakpoint

y = h * (x - (b * (l-1/h)+o))

below breakpoint

y = l * (x-o)

Where:

y = fuel_mass

x = injector_pulse_width (seconds)

l = low_slope (lb/s)

h = high_slope (lb/s)

b = breakpoint (lb)

o = offset (seconds)

 

You can then invert the equation if you want to solve for injector pulse width as well.

above breakpoint

x = (b*(h*l-1)+h*o+y) / h

below breakpoint

x = (y/l) + o

Share this post


Link to post
Share on other sites

Wow Roland, Never cease to amaze.  I had very similar charts in excel plotted.

 

I started with this fine tuning because ive had 4 tuning shops have a go.  Some quite reputable.  They run the car on the dyno up a few times for WOT and make a few tweaks on the closed loop VE corrections and tables.  Pay the 1000$ and off you go.  Then when you drive it WOT is great, but cruise is at -20% fuel trim. Tipin (transient) pings to death. The days of spending time looking at RPM/load/map histograms seem to be gone and its get in and make a quick buck by coping from one car to another.  Then I look at the injector data provided by ID for a 1050x and its worlds apart with what is in the car.  I'm not saying its wrong, but to be 70% different rings alarm bells. 

So I'm getting into the tuning myself to see what I can (or cannot do).  Shortly I will have a scope for injector timing using a picoscope, an AFR Wideband (by PLX) reading back into HP Tuners Scanner, and will do some road testing/tuning to hone in the speed density properly.   

 

I like you're addendum to your previous post.  Certainly clears it up.  

Share this post


Link to post
Share on other sites

A lot of shops will just hack up the speed density tables to get the trims better, but if you have a stock intake manifold and turbo there should be minimal need to do that. You can figure out if your speed density if off by following a similar process to what I did years ago on the hptuners forum

https://forum.hptuners.com/showthread.php?58174-Custom-graphing-software-for-logging-fuel-trims-and-recalculating-speed-density-maps

If you isolate all data from a single histogram plot and then plot that against a 4th variable (eg map pressure) you can figure out if the speed density map slope/offset needs changing. If its a perfectly linear error then your injector slopes will most likely be the culprit.

Doing this properly honestly takes a week. Unless every customer uses the same injectors and parts a workshop can't just reuse injector data, as you are only paying them for a few hours labour its not possible for them to do this from first principles and still make a profit..

The reality is Ford would budget close to a million dollars to do a tune from scratch, if you are paying $1k and don't have a team of calibrators and a controlled engine dyno room you just cannot get the same results in any reasonable time, this is why you see a lot of cars going around with fairly average fuel trims.

Personally if you have ~5 hours to tune a car from scratch and have some base injector data you should be able to get the trims under 10%, but if you have zero data at all, you may not get there in the time the customer has paid for.

Your best bet is to ask the workshop what injectors they use on the majority of their cars and make sure you use those, that way you know they have some known base data they are working off. If every customer turns up with something different in the car then the results you get shouldn't surprise you.

It sounds like you have the knowledge required and more importantly the time required, so you should be able to get within +-3% fuel trims if you spend 2-3 full days logging all possible cells with a reasonable cell hit count (look for at least 1000 hits per cell).

edit: Something that's extremely important to check is fuel pressure, if this is not constant you will chase your tail and never get there. Big fuel pump and stock regulator will mean high pressure at idle, this will result in weird injector slopes required to get things working.

Share this post


Link to post
Share on other sites

Good write up rolls.

To play devils advocate, ive seen plenty of people get too caught up with tuning their computer and forget they are tuning an engine and the results show.

As i said earlier use the high slope for wot and the low slope for idle and start up. This is all anyone needs to know to in regard to slopes to effectively tune their car, as long as they know what an engine needs and they have a good set of matrix goggles.

Share this post


Link to post
Share on other sites
1 hour ago, Puffwagon said:

Good write up rolls.

To play devils advocate, ive seen plenty of people get too caught up with tuning their computer and forget they are tuning an engine and the results show.

As i said earlier use the high slope for wot and the low slope for idle and start up. This is all anyone needs to know to in regard to slopes to effectively tune their car, as long as they know what an engine needs and they have a good set of matrix goggles.

Hi Puffwagon,  top stuff.  Need time to digest.

Share this post


Link to post
Share on other sites
On 6/20/2019 at 1:13 PM, Roland@pcmtec said:

y = h * (x - (b * (l-1/h)+o))

correction y = h * (x - (b * (1/l-1/h)+o)) or my equation which yields the same result  y = h(x- b/l - o) + b

 

Share this post


Link to post
Share on other sites
5 hours ago, Roland@pcmtec said:

Just depends how you simplify the equation. I just used wolfram alpha to do it as I'm lazy.

https://www.wolframalpha.com/widgets/view.jsp?id=4be4308d0f9d17d1da68eea39de9b2ce

very funny.  I went back to first principles.  like you was testing my year 9/10 math.  You are spot on with the curves.  Im tyding up the template in excel and will post up shortly.  I have also used to check injector Dynamics data against their won curves - some interesting findings.

Share this post


Link to post
Share on other sites
On 6/22/2019 at 10:45 PM, Milanski said:

very funny.  I went back to first principles.  like you was testing my year 9/10 math.  You are spot on with the curves.  Im tyding up the template in excel and will post up shortly.  I have also used to check injector Dynamics data against their won curves - some interesting findings.

Great. I did a spreadsheet a long time ago that allowed me to enter in a +-% adjustment to the breakpoint and preserve the WOT fueling. Basically it would shift the low slope by the amount needed then adjust the high slope to ensure it intercepted at the same fuel mass point as it did previously for a given load. I will see if I can dig it up.

Share this post


Link to post
Share on other sites

tuning slopes.xlsx

Here you go, have a look at this and it might be of use. I did this back in 2016 so I honestly can't tell you if its completely correct however I did get my trims within 3% across the board at that time using this and lots of datalogging (several weeks of it).

There is a description in the spreadsheet of how to use it. The max duty cycle (ms) is where you want fueling to be preserved, eg make this your peak torque value and it will ensure that you don't affect WOT fueling when adjusting the low slope. This is useful if you've got your WOT dyno run done but your cruise is off and you don't want to re-do the WOT fueling.

edit: The main use of this calculator was to hone in on the dogleg of the injector slope, eg the breakpoint. This is if your trims are great on decel, great on medium load but off on light load (eg holding in neutral or light cruise). You probably already know this but idle is actually higher load (more duty cycle) than cruise due the fact the rpm are lower. So if you see a kink in your fuel trims when going from cruise to decel to idle the breakpoint being incorrect is usually the problem, this calc can help you shift the breakpoint in 2 dimensions to hone it in.

Share this post


Link to post
Share on other sites

For anyone doing this from scratch I recommend logging the following values and loading it into mega log viewer. In this case the vehicle simple has the wrong slopes. I believe they have put slopes for a KPM 1100 injector which have a less steep low slope (reverse of say an ID1000).

  Engine speed
  load used for spark table
  desired lambda
  long term fuel trim
  Fuel mass requested
   
  Pulse width
  open loop
  TPS
  vehicle speed
  Intake cam position
  Exhaust cam position
  Current speed density offset    
  Current speed density slope

 

I then loaded this into a scatterplot, red is 1.0, rest of the scale is on the right. I also filtered this data against transient by taking the derivative of rpm and adding a data filter (these are included in megalog HD). Here is the filter I used

(abs([ENGINE_SPEED] - [ENGINE_SPEED-4]) > ([ENGINE_SPEED] * 0.05)) 


image.thumb.png.0d7f304d5522e2a7b51ef369ec69899e.png

I also made a histogram

image.thumb.png.6ed45e3673a1066dc2dc90b71047325e.png

Here are the injector figures (ID1000s)

image.png.acc2d9402e0b434f41c4842d179e098e.png

As you can see the low slope is completely wrong and far too rich (I believe KPM injectors have a weird slope like this). For ID1000s the low slope should be steeper than the high slope.

From the scatter plot you can see the high slope appears perfect. This means we need to adjust both slopes to accomodate for the new low slow (will pull 12% off fueling out first go)

REST TO COME SOON

Share this post


Link to post
Share on other sites

iv got a customer with an FG MK1 XR6T and has supplied his own injectors, now the injectors are from MTQ/sonic and are "1250cc"

http://www.sonicperformance.com.au/BSS1250/Modified-Bosch-Fuel-Injector-1250cc-EV14-3_or_4-Length/pd.php

now the problem iv got is they can not supply me with any data on them other then the dead time.......... not sure where to go from here........ has anyone got any ideas? anything help would be amazing ! 

cheers peeps!  

Share this post


Link to post
Share on other sites

Spend a day scaling them in using the methods above. The deadtime is the hardest part to calculate so you have that to start with. With completely unknown data I'd estimate you'd need a few hours to get them acceptable, a day to get to 1% and perfect. Use the ID1000 data above as a base, it should have you within 20-30% trims so the motor will at least crank.

OR

Sell them and put in injectors that you've already scaled.

Personally if I ran a workshop I would spend a week scaling 1000,1500 and 2000cc injectors until I could get them within 1% on stock fuel pressure. Then every customer that came in with something else, I'd replace their injectors with one of those 3 depending on the application. If the customer says no, tell them to go down the road.

The amount of times I've seen people burn days on blocked, mismatched or unknown injectors is absolutely crazy. Just get something known and stick with it. You'll save a lot of time and money. Re-scaling injectors from scratch every time is a great way to go broke or send a lot of cars out with terrible fuel trims (and hence stall etc).

Share this post


Link to post
Share on other sites

i agree, we quoted injector dynamics but he didnt want to go that way, thank you for your quick reply !  

Share this post


Link to post
Share on other sites

@Roland@pcmtec Im trying to recreate your graphs in megalogviewer with the DMR's I have available in the enthusiast version.

Any tips you can provide?

 

Share this post


Link to post
Share on other sites
9 hours ago, Roland@pcmtec said:

Change your axis scaling so you can see the actual values.

Thanks, I have tried that before. From what I can see the range for injector pulse width goes up to 6000 in your graphs, but I can not replicate that.

I using your filter (abs([ENGINE_SPEED] - [ENGINE_SPEED-4]) > ([ENGINE_SPEED] * 0.05)) 

Not sure what I'm doing wrong

 

image.png.bda0e8ea3da0dcc6d72aec0ee330f4a5.png

image.png.2e7c2d4800011be8b8b0fd31ddb6b238.png

Share this post


Link to post
Share on other sites

Your FUEL_PW uses different units that are seconds. Either change your log to ms, or change the scaling to suit.

edit: Just looking at that scatter plot its immediately obvious that your injector offset and high slope need major changes of ~15%

Share this post


Link to post
Share on other sites
On 4/8/2020 at 10:21 AM, Roland@pcmtec said:

Your FUEL_PW uses different units that are seconds. Either change your log to ms, or change the scaling to suit.

edit: Just looking at that scatter plot its immediately obvious that your injector offset and high slope need major changes of ~15%

Thanks I was aware I need to make some changes. A/F under WOT is ok but I'm learning as I go.

Share this post


Link to post
Share on other sites

Hi back again with a bit of an update.

Spent about 3 weeks logging and think I got trims as good as I can.

Running live LTFT through android auto I'm seeing +/- 2%

Thoughts?

Updated fuel trims.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...