Variable Resistance Using Arduino to Convert Output Resistance

Hi there, I'm Matt...an Arduino noob but really eager to learn...

I have come across a problem where I feel an Arduino board would be perfect to solve the problem...however I wanted to speak to some experienced peeps to ascertain if it was actually feasible.

OK, so hears my problem...

I've got an old Honda Civic in which I'm trying to fit an instrument cluster from a later model.
Now generally this wouldn't be an issue and would simply require re-wiring.

However, the Honda that this cluster originates from uses a Multiplexer within the fuses box to control many of the engine sensor outputs....this is a problem as it outputs the water temperature via this multiplexer (which requires a later ECU, sensor, fusebox and a headache).

About half of the visual outputs on the instrument cluster (warning & engine check lights, indicators, water temp etc... )are controlled via this multiplexer BUT it's quite simple to cut this link on the cluster's PCB so that they can be driven directly.

The other issue is that the fuel gauge resistance range on the new cluster is completely different to the range on the old cluster...i.e. the old cluster may be 1ohm full, 5ohm half full and 10ohm empty, whereas the new cluster may be 10ohm full, 17ohm half full & 100ohm empty.

As you can see it's not a linear output so i cannot simply add a resistor in the bump it up to what i need.

So here's the main questions:

  1. would I be able to achieve the resistance conversion using an arduino to alter the output to the fuel gauge?
  2. would I be able to take a resistance input from a water temp sender and convert to the necessary resistance for the water temp gauge?
  3. is there a particular arduino model that would be most suitable for my needs?

i apologies if these sound like noob questions but we all have to start somewhere.

many thanks guys!

cutz

Change out the sending unit in the tank.

unfortunately that's not viable, it isn't a simple swap :frowning:

For what I have read, maybe this:

can be useful to you.

The Arduino can't measure resistance. The only thing it can measure is voltage between 0v and 5v.

You need to know how much current flows in the circuit between the fuel sensor and the dashboard fuel gauge. If the sensor has a low resistance there may 1 amp or more flowing. Whatever it is, your substitute system will have to match it. You can get digital potentiometer chips that an Arduino can control but I have no idea if you can get low resistance high current versions. I suspect you will be faced with building a transistor circuit to match the needs of the dashboard gauge. And don't ask me how - I know virtually nothing about that stuff.

Why mess up a nice car by customizing it. In 50 years time the authentic original might be worth a few bucks. :slight_smile:

...R

aaah interesting reading...

so, in theory, if i can create a sort of "look-up chart" for the fuel level senders resistance readings then that could be output to the fuel level gauge via the digital potentiometer?

that sounds like just what i'm after :slight_smile:

and i should then be able to use my current engine water temp sender to feed into the arduino and then output to the water temp gauge, again via a digital potentiometer?

Robin2:
The Arduino can't measure resistance. The only thing it can measure is voltage between 0v and 5v.

You need to know how much current flows in the circuit between the fuel sensor and the dashboard fuel gauge. If the sensor has a low resistance there may 1 amp or more flowing. Whatever it is, your substitute system will have to match it. You can get digital potentiometer chips that an Arduino can control but I have no idea if you can get low resistance high current versions. I suspect you will be faced with building a transistor circuit to match the needs of the dashboard gauge. And don't ask me how - I know virtually nothing about that stuff.

Why mess up a nice car by customizing it. In 50 years time the authentic original might be worth a few bucks. :slight_smile:

...R

i'm an electronics noob myself but willing to learn...

i understand what you're saying so i'll have to play around with the likes of V=IxR to work out how exactly measure what I need...as long as it's feasibly possible then i'm happy.

as for keeping it authentic...the original instrument cluster is garbage!

cutz:
aaah interesting reading...

so, in theory, if i can create a sort of "look-up chart" for the fuel level senders resistance readings then that could be output to the fuel level gauge via the digital potentiometer?

that sounds like just what i'm after :slight_smile:

and i should then be able to use my current engine water temp sender to feed into the arduino and then output to the water temp gauge, again via a digital potentiometer?

From what I've read, it seams what you are looking for, yes.

But like Robin2 says, you need to read voltage level and not resistance. So, you need something like this:

Look for: "arduino resistance measurement", for example.

thats great luisilva, thanks a lot

There seems to be some discussion here about using a "digital potentiometer" as if this was somehow meaningful in this context. :astonished:

We are talking here of automotive electronics; the sender in question is presumably a wire wound potentiometer. You will not find "digital potentiometers" with values of 10 to 100 ohms or a corresponding power rating; they generally start at 10k though some might be as low as 1k and they are designed to operate (generally from about 5V) as potentiometers, not variable resistors. (Searching to verify this notes some sites referring to "100 ohms" which on checking the datasheet, actually are 100k!)

This is not a problem however, as to operate a dashboard gauge, you simply use a FET and PWM. Note the need to have a "kickback" diode.

Also, if you have the sole connection to the fuel or temperature gauge, these almost always are connected to ground, so luisilva's diagram is upside down because the reference resistor (about 470 ohms) goes to the supply and the connection to the Arduino needs to go through a protective 1k resistor (with a diode from that Arduino input to 5V for protection).

Many thanks for the extra info buddy.

This is definitely a learning exercise for me and I appreciate all the help.

My arduino is in the mail and im eager to get started.

Once I have it in my hands im sure ill be back for some more wisdom