01-03-2013, 03:09 PM
Try #2 for posting...don't know where the first reply went...Here's the short version...
Originally Posted by lude-de
#1 - MAP value figured wrong. You're reading manifold vacuum, not manifold pressure. Subtract your reading from ambient baro pressure (use 29.92 for starters) and work with that instead.
#2 - F to K is off slightly.
#3 - There's an extra /100 in the final solution.
When I do the calculation the right way, I get about 31-ish MPG.
02-25-2014, 09:29 AM
On-Line Gasoline MPG Calculator (Using MAF and/or MAP/IAT/RPM)
You may find this useful for "checking your work".
As many of you have discovered---based on comments here and email that I regularly receive---getting all the units and calculations exactly right can be hard. And, in an embedded system without floating-point support, avoiding integer overflow errors can proved difficult.
Bruce D. Lightner
05-22-2015, 02:00 PM
Usiing LOAD_ABS (OBD-II Mode 1 PID 0x43) to Estimate Vehicle MPG
SAE J1979 defines a new OBD-II parameter, LOAD_ABS (i.e., Mode 1 PID 0x43) which is the normalized value of air mass per intake stroke displayed as a percent. This value is directly proportional to air flow rate which, as we know, is directly proportional to fuel flow (almost 100% of the time). Therefore integrating this percentage and then multiplying it by a constant---which will be unique for a given vehicle make/model/engine, will provide a good estimate of fuel consumed. With that and distance traveled---derived from integrating vehicle speed readings---we can calculate fuel consumption in miles per gallon (MPG). Q.E.D.
Originally Posted by lightner
For the record, here's what the SAE standard says about this "new" OBD-II parameter:
The absolute load value has some different characteristics than the LOAD_PCT defined in Mode 1 PID 0x04. Vehicles which utilize spark or compression ignition engines for propulsion shall use the following definition for calculating LOAD_ABS:
LOAD_ABS = [air mass (g / intake stroke)] / 1.184 (g / litre) * cylinder displacement (litres / intake stroke)]
- air mass (g / intake stroke) = [total engine air mass (g/sec)] / [rpm (revs/min)* (1 min / 60 sec) * (1/2 # of cylinders (intake strokes / rev)],
- LOAD_ABS = [air mass (g)/intake stroke] / [maximum air mass (g)/intake stroke at WOT@STP at 100% volumetric efficiency] * 100%.
- STP = Standard Temperature and Pressure = 25 oC, 29.92 in Hg (101.3 kPa) BARO
- WOT = wide open throttle.
The quantity (maximum air mass (g)/intake stroke at WOT@STP at 100% volumetric efficiency) is a constant for a given cylinder swept volume. The constant is 1.184 (g/litre) * cylinder displacement (litres/intake stroke) based on air density at STP.
Characteristics of LOAD_ABS are:
- Ranges from 0% to approximately 95% for naturally aspirated engines, 0% to 400% for boosted engines,
- Linearly correlated with engine indicated and brake torque,
- Often used to schedule spark and EGR rates,
- Peak value of LOAD_ABS correlates with volumetric efficiency at WOT.,
- Indicates the pumping efficiency of the engine for diagnostic purposes.
NOTE At engine off and ignition on the LOAD_ABS = 0 %.
All vehicles with spark ignition engines used for propulsion are required to support PID 0x43.
See Mode 1 PID 0x04 for an additional definition of engine LOAD.