After prodding from a few owners, I decided to start a fuel gauge circuit design. I’ve come to accept that car fuel gauges are inaccurate in that when you fill up, the gauge shows above the full mark and most stay at that point for many miles of driving. I then tend to full up the car when the gauge reads at the ¼ full mark or a little below. I have the TankZilla which has not caused me much problem other than a bad connection one time.

Note the fuel gauge and most other car gauge circuits use a two coil design to prevent car voltage variations from affecting the gauge reading. One coil is always powered and the other coil counteracts the first coil as it conducts current via the fuel gauge sender varying the current with its resistance. This does work very well to prevent car voltage variations changing the reading but really uses a lot of power at 333 ma. At 14.5 volts.

So I started designing a driver for the gauge by just driving a transistor to provide an analog current sink. This method turned out to be very problematic in that it provided very unstable gauge readings. The cars voltage would change the gauge reading over 1/8 when going from 12.5 volts to 14.5 volts. Also as the transistor heated the reading would change. Then it hit me to try driving a MOSFET with a pulse width signal to change the duty cycle rather than using analog. This turns out to be the way to drive the gauge since it keeps the driver “transistor” cool and also returns the stability of the duel coil gauge and voltage changes have no effect.

I have not decided how to make the unit adjustable for different sensors yet. I leaning to using different software and maybe a few component values to change the unit to use any sensor resistance.