Maths question: Calculating Fuel flow from engine data

Man of Honour
Joined
13 Nov 2009
Posts
11,674
Location
Northampton
I'm currently making a small Pi based Python script to pull engine data from an aftermarket ECU in car and cannot for the life of me anywhere find how I would calculate fuel flow

I have all of the sensor and hardware data (Engine speed, Injector pulse width in milliseconds, injector flow rate, injector dead time) I think I need but im having trouble working out how to get the end result I'm looking for
 
Your injectors will be rated at cc's/min at a set fuel pressure, you may be able to find data on flow rates at different pressures too but you need to know what pressure you're running at.

With the cc per minute and pulse width in milliseconds you can work out how much fuel is being injected per pulse if you do some wizardry.

Then see how many pulses you are running per revolution, times the amount of injectors gives you cc per revolution.

Times by rpm and you have fuel volume at whatever rpm.

Maybe....
 
Not really that simple because rail pressure is directly linked to manifold pressure which is going to make your flow rate all over the place in practice. You would need to factor that in.
 
Heat changes the volume of fuel but not sure about viscosity or flow rate to any noticeable difference.

Not sure how accurate you could get it.
 
Last edited:
Heat changes the volume of fuel but not sure about viscosity or flow rate to any noticeable difference.

Not sure how accurate you could get it.

As the heat expands the volume of the fuel and viscosity will decrease, as its on the verge of turning into a gas depending on the pressure.

From what I know fuel flow is more efficient in a warm engine than a cold one.

So what OP is asking has many facets that are way beyond me and I know a lot about nothing. :p
 
Think I have it, or at least something that spits out some sane values anyway

Code:
lph = (RPM * ((injectorFlow / 60000 ) * (PW - DeadTime)) * 4) * 60 / 1000

Plugging some values taken from a data log at part throttle and 31mpg

Code:
lph = (1845 * ((650 / 60000 ) * (2.2 - 1)) * 4) * 60 / 1000 = 5.75


Not really that simple because rail pressure is directly linked to manifold pressure which is going to make your flow rate all over the place in practice. You would need to factor that in.

If it works out to be a problem I have the MAP sensor value available to offset the injector flow rate

Edit: forgot to account for the fact that all injectors are fired per engine cycle which is 2 revolutions

So the correct formula should be

Code:
lph = (RPM/2 * ((injectorFlow / 60000 ) * (PW - DeadTime)) * 4) * 60 / 1000
 
Last edited:
Back
Top Bottom