Sizing Resistors

Hi there!

I would like to read a fuel sender in my car, which I believe changes resistance from 10ohms at empty to 180 ohms when full.

I'd like to read this with a Teensy 3.2, so by my calculations I will need a voltage divider with R2 set as 19ohms to end up with a voltage of 3.275 volts when full and 0.477 when empty if using a 5v Vin. My question is; these resistance figures seem quite low - is the amount of current flowing going to be too much for an arduino and is there anything I could do to improve the circuit?

So here's the thing.

Is this fuel sender still connected to the car's instruments?

No I'm just going to connect it to the Arduino and it will serve as the fuel gauge... I'm wondering whether to size it to get 0-5v, then use a second divider to scale that down to 3v3... I have to use 5v as it's my sensor reference signal and my board design doesn't have an output for 3v3 from the arduino...

Clarify your task.
If your tank is empty and Rfs = 10 ohms, what is the output voltage you need?
If your tank is full and Rfs = 180 ohms, what is the output voltage you need?

Using a 19 ohm resistor will give you a high power of about 800 mW across two resistors in the worst case.

  1. Simple solution.
    You'd better put the sensor at the bottom (to ground) and the R2 at the top (to +5 V). Choosing a R2 value of 100 Ohm, you will get a voltage in the range from 0.45 to 3.2 V. In this case, in the worst case, a current of 45 mA will be consumed, and the power will be 227 mW.
  2. Not a bad solution.
    Similar to item 1, but use R2 = 750 ohms, get a voltage in the range of 0.06 to 0.96 V, and then use the Arduino's Teensy's internal 1.1 V 1.2 V reference.
  3. Good solution.
    Use a constant current source, for example 5 mA, and then an op amp to boost the voltage to the desired level.

The sender will have a maximum current specification - this is safety critical.

For instance the idea of using a 19 ohms series resistor could mean 170mA flowing which would worry me greatly.

Thanks for the input guys... I think the simple solution sounds most appealing with 45mA. This seems like a more palatable amount! Perhaps even a 125 ohm resistor for R2, which would give 0.37 to 3v3 with a max of 37mA...?

I think the OE's use about 300 ohms to 5V. Could be as low as 250 ohms.

The current is needed to keep the contacts clean, and resistance has to be low enough so any conductivity of the fuel does not substantially change the fuel level.

125 Ohm gives 0.37 to 2.95V.

I'm planning to do the same project and would like to hear more about solution #3.

The constant current regulator gives a linear dependence of the output voltage from the sensor resistance.
This may be approximately the following solution.

1 Like

Some mfg specify the fuel sender resistor "card" to have the resistance change account for tank shapes and non-linearity of the resistor divider circuit. So constant current will not buy anything.

Depends on the make and year of the vehicle. Newer vehicles have linear fuel sender resistors and unwind all the nonlinearities in the ECM.

@Hutkikz asked me to explain what solution #3 means. I explained.
You can suggest another solution.

100 ohms is too low for a typical fuel level sensor.

I think so, but @450nick want to get 3.3V. May be you have a better solution.

...eventually damaging fuel sender resistor card**

** Unless you have a very old vehicle system, current cards are ceramic substrates (~ 1" x 1/2") with about 50 segments printed on the card with palladium alloy "ink". At the current you need to get 3.2 volts across the resistor card you will quickly burn out the wiper and damage the palladium segments.

Sorry you are quite correct - I've heard conflicting views from folks about the fuel sender used by TVRs - it seems I may have the US type sender which runs to 250 ohms. Using 125 ohm for R2 would give 3.3v if the sender is 250 ohms and 2.95 if it's 180. I don't have the car available to test right now so this would cover all bases.

Thanks John, the sender I'm using is an older style float system. The car is a TVR Chimaera which was designed back in around 1992, and likely the sender arrangement came from its predecessors, so it's likely to be a design from the 80s.

You mention that 250-300 would be more applicable for my application, could you help me understand the rationale? This would bring the voltage range to 0.16-1.86, though I'm worried that 0.16 could be too low to read?

The only concern I have is that I have read some reports that these senders can go to 0 ohm when the tank is totally full, so in this case I would end up with a short circuit. So perhaps I need a series resistor to ensure that doesn't happen. Any ideas on where and how big?

A constant current source (post#11) and an A/D with fixed reference (not 3.3volt) would solve this.
6mA would give 0-1.2volt with a 0-200 ohm sensor.
No opamp needed.