Fuel consumption calculations

There are multiple algorithms that are used to calculate fuel consumption based on what sensors send data to RealDash:

  • If Fuel Flow (ID490) comes from the vehicle, that is used directly for fuel consumption calculation.
  • If Fuel Flow is not available from the vehicle, and injector pulse widths (ID35, ID36) are present, consumption is calculated based to injector size, cylinder count, using average injector dead time with battery voltage correction.
  • If pulse widths are not availablem and MAF sensor is present, consumption is calculated from MAF, AFR and settings for engine VE and engine size. If AFR is not available, the stoichiometric value is used.
  • If MAF is not available, and MAP sensor is present, the MAF g/sec value is calculated by using either real IAT reading or approximate if IAT is not present. Also, settings of engine VE and engine size is used. Then this calculated MAF is set to MAF input, so you will see MAF value without MAF sensor. Lastly consumption is calculated with same MAF formula as with real MAF sensor.

Exceptions to calculations are:

  • If Enginebits Fuel Cut is 1, consumption is set to 0
  • If TPS is available from the vehicle and consumption is not based on injector pulse widths, consumption is set to 0 if TPS is below 1% and speed is greater than 20kph

The consumption calculations give value of ‘litres per second’, which is simply used to update all the rest calculated values that depend on consumption.

Can you please let me know what these dead times are? The Haltech ECU provides the pulse width without the dead time, so I’d like to adjust my xml to remove your dead times to try and get the fuel economy more accurate.

Thank you in advance
Jason

I believe Haltech can also provide Fuel Flow? Reading that instead would give most precise result.

I don’t have a fuel flow sensor unfortunately.
I had been using the fuel flow estimation from the Haltech, however how I’ve added it to the CAN network is a little course at 20cc increments.
It has been working ok the last 18 months but was trying this to get it more accurate.

Thank you
Jason

Estimated injector dead time is 0.35 milliseconds at 12 volts.

Thank you.
I’ll start with adding this to my pulsewidth in the xml and then tweak as needed.
Certainly a lot less than my ~1mS dead time for my largish injectors.

Thank you again.
Jason

1 Like