Trying to understand better how to measure

diesel fuel level (and consumption) as accurately as possible. It turns out there is no perfect approach for older, mechanical diesels without ECUs. Engines are Cummins 450C Diamonds.

Fuel tank is 1,600 liters.

First, I tried to measure tank

fuel level accurately. A typical resistive sender will give 0.5-1.0% accuracy if we measure the resistance with a multimeter. This sounds much better than a sight gauge, but there are two additional errors. One is that most dials apply the

battery voltage across and measure the voltage drop instead. As the

boat voltage varies from 12 to 14V, this introduces an error of 10-15%. Some gauges compensate partially for this, others do not. The second error changes in fuel volume with temperature, where the temperature of the tank increases due to the hotter return fuel. In my case, I calculated max error of around 3% based on fuel temperature increase of 30C and a

diesel expansion coefficient of .85 ml/liter/degree C. And lastly, there is the measurement error, when the fuel moves around the tank while the

boat is in motion, although this can be averaged out.

Basically, these errors seem small if displayed on a small 2" gauge but if we try to calculate how much fuel the boat would use over say 1 hour (100 liters out of a half full tank of 800 liters), the overall error could be as high as 20-30%. One way to compensate for all of this is to use an averaging ohm meter to measure the level, then measure the temperature of the fuel of the tank and do some calculations to find the true amount (weight) of fuel used. Seems like a mini

project but it could all be done with an Arduino.

The alternative approach is to install flow meters, although these are expensive, restrict fuel flow and introduce errors on their own (for example, at slow speed, the forward flow would measure 150 liters (with 1% error), the return will measure 120 liters (with 1% error), which will give max error of 9%. Plus, temperature compensation should also be introduced, although the temperature compensation error will be much smaller.

What are your thoughts on this? The options seems to be:

1) Measure tank levels and temperature compensate, where the error in fuel

consumption will be around 10% for short periods (10-15 min) but will decrease over a long period of time, may be to 3-5% over 1 hour. Extensive

fuel tank shape calibration required but no

engine work. $200

2) Build a fuel flow meter with Arduino, four positive

displacement flow meters for the two engines, the error would be 10% at slow speeds and 5% at cruising speeds. $400

3) Buy two NMEA2000 flow meters with temperature compensation, such as Eurosens

Delta 500, stated error is 3%. $2,500 installed.

All of this is mostly for fun, I do not need to know fuel level/consumption that accurately but it is an interesting

project.

Thank you,

MV Ithaka