G.a.S. Matcher

-

"Dart67"

Well-Known Member
Joined
Jan 7, 2012
Messages
646
Reaction score
588
Location
Jessieville, Arkansas
G.a.S. Matcher
DSCF3686.jpg
DSCF3687.jpg
DSCF3689.jpg

(G)uage (a)nd (S)ender Matcher

I have been working and refining this project with the help of two of my fellow "Ham Radio" operators off and on(more off then on) for the last 5 1/2 years.

My extreme thanks goes out to Frank N7FF and Malcolm K6UAW for all of their assistance and help in making this all work.

The inspiration for this project was the need for an accurate working fuel gauge and fuel sender that could be used in the custom made aluminum fuel tank that I built for my 1967 Dodge Dart GT Convertible "Home=Brewed".

It uses a "Universal" 73/10 ohm tank sender and a Autometer Sport Comp 73/10 ohm gauge. None of the fuel level readings were accurate.

I purchased a similar device with Full, Mid Hi, Mid Low, and Empty settings. It helped, but was still not as accurate as I thought it should be.
After talking with the Gentleman that makes the unit about adding additional set points I hit a dead end, I started on this journey.

I know just enough about electronics and programming to be dangerous.

Enter my fellow Ham's Frank and Malcolm. Frank is a retired Computer programmer. Malcolm is a retired Electronic design engineer. Both volunteered to help with this project. Frank has written all the code. Malcolm provided consultation on the circuit design.

I designed the Printed Circuit Board and do all the assembly work.

The GaS Matcher (Gauge and Sender Matcher) is a hardware/software solution to correct the errors in Fuel Gauge and Fuel Senders readings due to most all aftermarket tank fuel senders being linear in design instead of being non linear as the factory units were.

The heart of this unit is an Arduino Pro Mini and the software loaded to it.

Here is a summary of how the circuit and software work.


GaS Matcher

Inspiration, Manufacturing & End User: Herb Beer, N9QEP
Arduino program design & development: Frank Fahrlander, N7FF
Consultation & Circuit Design: Malcolm Oakes, K6UAW

Summary:

This program reads a restrictive/float type fuel level sensor (sending unit) and drives
virtually any kind of fuel gauge.

It provides a means to calibrate the sensor and gauge for 9 set points from Empty to Full
in 1/8th of a tank increments as well as 2 set points for low fuel Alert and Alarm for a total
of 11 set points.

Values between these points are linearly interpolated between adjacent setpoints which
provides accurate readings across the entire gauge range.

Gauges are driven using a PWM output from a single Arduino port.

Sending units can either vary in regard to resistance value range and also as to which end the
the range represents EMPTY.

Description of Operation:

The Gas gauge sending unit is attached to the pin "PsensorIn" which has a 100 ohm resistor to
+5V. The program periodically reads the voltage at this pin several times to get an average
value for the current fuel level. This sensor value is then mapped to a number that is used
to drive the gas gauge.

To drive the gauge, the gaugeValue number is output as a pwm signal at pin 9. Pin 9 is tied to
ground through a 10K pull down resistor and the Gate of a IRF540N or 14N05L N channel
MOSFET.
The resistor holds the gate low when the arduino does not send a high signal. This is here in case
the arduino comes loose, or the wiring is bad it will default to off.
You don’t want this pin to ever be floating as it will trigger on and off.

There is a diode parallel to the device we are powering. Any time you are powering a device with a
coil, such as a relay, solenoid, or motor, you need this guy, and don’t leave home without it. What
happens is when you stop powering the coil, a reverse voltage, up to several hundred volts, spikes
back. This only lasts a few microseconds, but it is enough to kill our MOSFET. So this diode
(only allows current to pass one way) is normally facing the wrong direction and does nothing. But
when that voltage spikes comes flowing the opposite direction, the diode allows it to flow back to
the coil and not the transistor. We will need a diode fast enough to react to the kickback, and
strong enough to take the load.

A rectifier diode like the 1N4001 is used do the job.

Besides reading the sensor and driving the gauge, the main loop also:

1. checks for user inputs from a serial keyboard
2. checks for selector switch values used in programming/calibration
3. checks for push button inputs
4. controls the blinking of an alert/alarm LED (port Palarm)

The selector switch allows the user to calibrate the GasMatcher. If the switch is positioned to
any of the values 0 through A, the GasMatch is in programming (or calibration) mode.
When in this mode, the gauge is driven directly from the map table entry that corresponds to the
selector switch value: 0=empty, 1=1/8 full,...8=full, 9=alert and A=alarm. B through F are not used
and are considered be the "Normal" operation positions. (Prefferably position F)

While in programming mode, the sending unit is moved to one of the 11 positions and the UP and
DOWN
push buttons are sensed to allow value driving the gauge to be adjusted. Pressing the SAVE push
button causes the map table entry for the sending unit and the gauge to be updated and saved into
the EEPROM.

During programming (or calibration) the Onboard Arduino LED on pin 13, Pled, is used to show that
the unit is in programming mode. It will blink if there is currently an error in the mapping table.

These errors can occur easily as individual calibrated entries may not agree with entries yet to
be calibrated.

During normal operation, if the fuel level reaches the Alert level, the alert/alarm LED is lit.
If the fuel level reaches the Alarm level set in the map table, the this LED will blink.

If the UP and DOWN buttons are pressed at the same time for greater than 2.5 seconds,
the map table is restored to the default values that are stored in the EEPROM.


Herb aka "Dart67"
 
At this time I have two of these units in use.

One is in my Dart "Home-Brewed".
The other is in spl440's Dart.

I also have promised (some time ago now) two members here units to evaluate.
I have not followed through with this as of now.

Reason being I need to get an LLC set up for liability reasons.

I also need to find some one that can "Help" me convert or convert my EpressPCB files to Eagle files.

Also at this time, Each of these units is individually assembled by hand by me.

I have no idea at this time when or even if I can or will get these into production.

I have also entertained the idea of making everything I have "Open Source". But again not sure how to do that.


I have a tenative price of about $60 plus $10 for shipping.


Herb aka "Dart67"
 
I will report that the unit works as advertised and very happy with it. Easy hookup, have mine in the lower left kick panel of my 67 Dart. Will be putting one in my 1990 D150, nice to have the low fuel light.
 
I'll be standin' by...............watchin LOL...........
 
This piece of equipment will be a great help to builders using after market gauges & senders, it's also reasonably priced & not made in China My suggestion would be look into getting a patent on it before some dishonest clown rips off your design.
 
Looks like it does the same thing meter match does. Add a second 7805 in there so it will power a second gauge. My only complaint about the meter match is you still have to hack in another 7805 to power the temp sending unit.
 
Looks like it does the same thing meter match does. Add a second 7805 in there so it will power a second gauge. My only complaint about the meter match is you still have to hack in another 7805 to power the temp sending unit.


If I read this correctly, and the OP might clarify---this unit has more correction points than does the MM
 
Looks like it does the same thing meter match does. Add a second 7805 in there so it will power a second gauge. My only complaint about the meter match is you still have to hack in another 7805 to power the temp sending unit.

This unit has a total of 9 calibration points, Starting as Empty as 0, 1 = 1/8, 2 = 1/4, 3 = 3/8, 4 = 1/2, 5 = 5/8, 6 = 3/4, 7 = 7/8, and 8 = Full.
If you want to count the Low Fuel and Alarm Fuel used for a in dash warning LED, it has 11 set points


With this unit you still use the Factory Voltage Limiter, it does Not provide power to the gauge.
 
need a 12v version for those who have replaced the 5v dash components

Voltage has nothing to do with the calibration between the Gauge and Sender.

The unit is powered by +12vdc.
It will work with virtually ANY Sender and ANY Gauge.

I have a aftermarket Universal "73/10 ohm" Sender in my "Home-Brewed" tank and an aftermarket Autometer "73/10 ohm" Fuel gauge in the dash. Works Great...
 
I dont think you can convert the expressPCB file. If you find out a way to do it let me know. I have had good luck with express pcb doing runs of a couple hundred on several projects. You can also check out Pad2Pad, its decent too.
 
Anything you put on the internet PCB design tools goes to the Chinese. Just another way for them to steal our stuff.
 
could I use a teensy ++ 2.0? Been looking for a project for this little guy.
teensy.png


AT90USB1286 8 bit AVR 16 MHz processor
Flash Memory 130048
RAM memory 8192
EEPROM 4096
I/O 46 @ 5 Volts
Analog pins 8
PWM 9 outputs
UART, I2C, SPI 1,1,1,2001
128K Flash Memory, 8K RAM, 4K EEPROM
USB can emulate any type of device
One button programming
Arduino Compatible
46 Digital I/O Pins
 
Herb, any developments on your gasmatcher? For sale?

I have a few put together.

Life Has gotten in the way of finalizing everything. Sorry.

Do You have my phone number from past communications?

If so, give me a call sometime this evening. If not, let me know and I will get it to you.

Thanks for not forgetting my project.
 
-
Back
Top