Read ohms throw ground wire in my old car

Hello, I'm trying to retrieve data from my old car. Now for water temperature there is a ground wire is going into sensor and a second one going out from sonsor with ohms value.

here is what i did note for each value from my ohmmetter :
74 Ohm = 5 degree
47 Ohm = 40 degree
27 Ohm = 75 degree
23 Ohm = 82 degree
19 Ohm = 89 degree
17 Ohm = 92 degree
15 Ohm = 96 degree
11 Ohm = 103 degree
07 Ohm = 110 degree

my goal is to read those values in my arduino but im really confused, as i know arduino read only positive wire 0v to 5v.

When i link the ground wire with arduino A1 pin i get 82 value always and not a variable value like sensor send.

int sensorCoolantTemp = (float)analogRead(A1);

  Serial.print("water temp : ");
  Serial.println(sensorCoolantTemp);

Thank you for taking your precious time to help !

Connect a 47 ohm resistor from V+ to the sensor.
Now the sender becomes a voltage divider.

Edit: You may need to increase the resistor value to reduce the current.
The higher the temperature, the lower the voltage between the resistor and the sensor.

V+ should be 5vdc.

1 Like

Thank you for your response, I have 74 ohm resistor may it works ?

For the V+ should i take it from arduino (5V) pin or from my car positive wire (12V and use L7805) ?

PS : I linked the ground pin of arduino to the ground of my car.

V+ should be 5v. You don't want 12v input to a 5v pin.
GND to GND. That's correct. No common ground, no work.

Edity: 74 ohms may be ok.

Thank you, If I take 5V from arduino pin is it okey ?

Or I can use 12V from my car with regulator L7805 that will reduce voltage to 5v

That is your call. I might use the separate power supply.
The 5v pin on Arduino can't supply a lot of current.
You can increase the resistor value and use the Arduino 5v pin but the resolution will decrease. With a 74 ohm resistor, the voltage at the sensor/resistor junction will be 2.5v at 5 degrees.
With a 150 ohm resistor, the voltage will be 1.66v.

Edit: With 74 ohms, you'll need a 1/2 watt resistor.
With 150 or 220 ohms. a 1/4 watt will do.

Edit2: You can change the analog reference voltage depending on your Arduino.
https://docs.arduino.cc/language-reference/en/functions/analog-io/analogReference/

I give it a little try with 74.9 Ohms it seems to work thank you :

 int sensorCoolantTemp = (float)analogRead(A1);
  float resistanceFinal = (sensorCoolantTemp * R1) / (1023.0F - sensorCoolantTemp);

 Serial.print("water : ");
  Serial.print(resistanceFinal);
  Serial.print(" Ohm");

But I have positive voltage going to the other side to the sensor (Voltage I think between 2.5v when the car is cold and 1.7v when its hot)

Will this voltage damage the sensor as the sensor linked to a ground wire ?

Thank you so much fo all your precious help again

Doesn't sound like it. Check the resistor temperature when the engine is up to temperature. If it is hot to the touch, it isn't rated for that wattage.

Edit: If I wasn't clear before: As the engine temperature increases, the voltage at the resistor/sensor junction will drop. That will increase the current through the resistor.

Yes I did get it thank you.

When its hot the resistance is low thats why the voltage is high and when its cold the resistance is high thats why the voltage is low.

But i was just wandering that the current of 2.5v when its hot or 1.7v when its cold will not damage anything in the sensor of water temperature that is basically works with ground wire ?

You should be good to go as long as that resistor doesn't overheat.

So i will use bigger resistance to reduce voltage so the sensor will not be hot.

Did not check if its going hot because the car is already hot, I will try later and see if its getting hot with 74Ohm resistance.

Thank you again for your help mate.

I was thinking more like 220 ohm and changing the analog reference.
But that's just me. :grinning:

Well 47, 74.9 and 220 ohm resistors have been suggested so far.
Maybe you should find out a little more about the sensor and the device that is reading it before you go any further.

It's an old car. Analog gauges.
The 47 ohm was if I was using a separate power supply.
The 74 ohm is what the OP has.
The 220 ohm is what I would try.
Good enough?

Your ground wire should be going to your Arduino Ground. The other wire on the sensor should have a voltage proportional to temperature. You should not need to add any resistance since that should be done by the ECU when things are connected. Next you are sure of those resistance values?

Ron

fair enogh, I will see how to change referance of my analog pin so it will work perfectaly

I do not have ecu on this car, its an old car from 1989, thank you

That should be done by the what? It's an old car. Newer cars have temp sensors with higher resistances. At least that what the spec sheets show.

1 Like

Looks like a VW and in 89 VW did have an ECU. Matter of fact depending on Make/Model VW had ECUs on 87 through 89 and the same ECU. What year and what model?

The temp sensor should be two pins and one is likely ground and when operating the remaining pin should be outputting a voltage. Have you measured it? With engine running.

Ron

Ron

Yes you are right they did have ecu on gasoline engine named GTI, this is golf mk2 GTD 1989 that's why i do not have ecu

Yes I did the first broun wire is connected to ground, goin into sensor and the other one Yellow going out from sensor is grouded too but with Ohm value, yes i did mesure it with car running

I just solved the problem with @SurferTim solution above, i did use 295 Ohm resistor and its working like charm... Max voltage I have back to ground sensor is 0.4v so it won't damage the sensor

Thanks again