PDA

View Full Version : Fuel Flow Calc PID



ferocity02
March 27th, 2013, 03:25 PM
Looking to make a calc pid for instantaneous fuel flow in g/s or lb/min to help with idle tuning. Would the following be correct?

g/s:
{GM.INJFLOW.gps}*(({GM.IBPW1}+{GM.IBPW2})/2000)*({SAE.RPM}*4/60)

lb/min:
{GM.INJFLOW.lbpm}*(({GM.IBPW1}+{GM.IBPW2})/2000)*({SAE.RPM}*4/60)


Can I use double parentheses ((...)) ?

What's the difference between GM.IBPW1 and GM.INJPWB1? Both are listed as "Injector Base Pulse Width Bank 1".

And what's the difference between these as GM.INJXPW, "Injector Pulse Width Injector X", where X goes from 1 to 8.

Thanks!

joecar
March 27th, 2013, 08:15 PM
GM.INJFLOW.gps and GM.INJFLOW.lbpm are instantaneous fuelmass flowrate.


If, perhaps, you're looking for instantaneous fuelmass, then you would do something similar to what you did above (do units analysis to sanity check).



Yes, you can next parenthese ( ) to change the arithmetic order of precedence.

joecar
March 27th, 2013, 08:16 PM
GM.IBPW1 : this is for LS1A/LS1B

GM.INJPWB1 : this is for something else (maybe E38/E67).

GM.INJXPW: these are for something else (diesel).



Note that CALC.INJDC1 is calculated form GM.IBPW1.

ferocity02
March 28th, 2013, 06:33 AM
GM.INJFLOW.gps and GM.INJFLOW.lbpm are instantaneous fuelmass flowrate.

Aren't these just the injector flow rate as specified in the tune file? I logged GM.INJFLOW.lbpm as part of CALC.MPG and it was fixed at 0.42 lb/min, which correlates to my stock 25 lb/hr injectorsa which is constant with MAP due to the fuel pressure regulator.

joecar
March 28th, 2013, 07:55 AM
Yes, they are flowrate in g/s and lb/min...

oh, do you want g and lb...?

ferocity02
March 28th, 2013, 09:30 AM
I want to calculate how much fuel the motor is instantaneously consuming in grams/second or pounds/minute.

The equation I posted seems like it should work. I also have the Calc.MPG PID which seems to be working accurately.

joecar
March 28th, 2013, 11:32 AM
After rethinking it, yes you are correct...


fuelmass [g] per cylinder =
{GM.INJFLOW.gps}*(({GM.IBPW1}+{GM.IBPW2})/2000)

if IBPW1 and IBPW2 are the same, the that simply becomes:
{GM.INJFLOW.gps}*{GM.IBPW1}/1000

so then fuelmass [g] per cycle (8 cylinders, 4 strokes, 2 revolutions) =
{GM.INJFLOW.gps}*{GM.IBPW1}/1000*8

cycles (2 revolutions, 4 strokes) per second =
{SAE.RPM}/60/2 = {SAE.RPM}/120

so the instantaneous fuelmass rate [g/s] =
{GM.INJFLOW.gps}*{GM.IBPW1}/1000*8*{SAE.RPM}/120 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}*8/120000 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000


edit: corrected for 8 cylinders.

joecar
March 28th, 2013, 11:49 AM
covert IBPW1 to minutes...

so then, instantaneous fuelmass rate [lb/min] =
{GM.INJFLOW.lbpm}*{GM.IBPW1}/1000*8/60*{SAE.RPM}/120 =
{GM.INJFLOW.lbpm}*{GM.IBPW1}*{SAE.RPM}*8/7200000 =
{GM.INJFLOW.lbpm}*{GM.IBPW1}*{SAE.RPM}*/900000



edit: corrected for 8 cylinders.

joecar
March 28th, 2013, 11:59 AM
The CALC.MPG pid should be using this:

vehicle speed [mile/min] =
{SAE.VSS.mph}/60

fuel mass rate [lb/min] =
{GM.INJFLOW.lbpm}*{GM.IBPW1}*{SAE.RPM}/900000

gasoline has density 6.073 [lb/gal]

so fuel volume rate [gal/min] =
{GM.INJFLOW.lbpm}*{GM.IBPW1}*{SAE.RPM}/900000 / 6.073

so MPG =
[mile/min] / [gal/min] =
{SAE.VSS.mph}/60 / ({GM.INJFLOW.lbpm}*{GM.IBPW1}*{SAE.RPM}/900000 / 6.073) =
{SAE.VSS.mph}/{GM.INJFLOW.lbpm}/{GM.IBPW1}/{SAE.RPM}*900000/60*6.073 =
{SAE.VSS.mph}/{GM.INJFLOW.lbpm}/{GM.IBPW1}/{SAE.RPM}*15000*6.073



edit: corrected for 8 cylinders.

joecar
March 28th, 2013, 12:19 PM
And [L/100km] should be using this:

vehicle speed [km/s] =
{GM.VSS.kph}/3600

fuel mass rate [g/s] =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000

gasoline density is 725 [g/L]

so fuel volume rate [L/s] =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000 / 725

so Litres per km [L/km] =
[L/s] / [km/s] =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000 / 725 / ({GM.VSS.kph}/3600) =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/{GM.VSS.kph}*3600/15000/725 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/{GM.VSS.kph}*12/50/725

Litres per 100km [L/100km] =
[L/km] * 100 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/{GM.VSS.kph}*12/50/725*100 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/{GM.VSS.kph}*24/725



edit: corrected for 8 cylinders.

ferocity02
March 28th, 2013, 12:28 PM
so the instantaneous fuelmass rate [g/s] =
{GM.INJFLOW.gps}*{GM.IBPW1}/1000*{SAE.RPM}/120 =
{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/120000

That is per cylinder correct? So multiply by 8 to get the total fuel flow and you will get the same result as me (except I'm averaging the bank 1 and 2 pulse width).

{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000

joecar
March 28th, 2013, 12:41 PM
That is per cylinder correct? So multiply by 8 to get the total fuel flow and you will get the same result as me (except I'm averaging the bank 1 and 2 pulse width).

{GM.INJFLOW.gps}*{GM.IBPW1}*{SAE.RPM}/15000Ah, good point, I knew I left out something, let me go back and edit my derivations...

(yes, you can replace GM.IBPW1 with the bank average... lol, I was saving some typing)