I am building a PWM controller for an Automotive radiator fan. The control will take temperature data from both the radiator and the AC condenser. I have selected two thermisters to measure these temperatures. One senser is a standard GM automotive coolant temperature sensor and the other is a Littlefuse USP7766 clip on sensor. So I have been running the numbers and have come to some interesting observations and I do have a question.
My question is that a lot of the literature uses a 10K resistor when making these connections and in fact Little Fuse data sheet highlights the 25°C line with it associated 10K resistance at 25°C. Almost as if they are implying a 10K resistor is required. But I find when I go through the data and extract the voltages that will be put out from the circuits that a lower resistance appears to give a larger and I'm thinking may be a more appropriate signal for a 3.3V Arduino Nano.
The attached tables show the show the range of temperatures the radiator and condenser need to operate in along with the calculated Vout for there respective sensors. The first table has R1 set to 10KΩ for both the radiator and condenser. The second table shows it at 1KΩ. The last table shows what I feel is most optimum with 200Ω resister for the radiator and 5KΩ resister for the condenser.
Are there any pros and cons of selecting the larger or smaller Ohm resisters?
Do you use a 3.3V Arduino board ?
With 200Ω, the resistance of the wires can have influence. It will also draw current from the 3.3V, so that voltage might drop a little.
The highest accuracy/resolution is when the voltage is in the middle, that is 3.3 / 2 = 1.65V.
So if you want the best measurements for 100°C, then use a resistor value that is the same as the thermistor at 100°C.
I don't understand your table.
The Littlefuse USP7766 should be 10k at 25°C. Use a multimeter to measure the resistor value.
What is the other one at 25°C ?
As Koepel said, you get the most A/D values per degree if the resistor value is the same as the thermistor. For coolant temps (normally 82 degrees C) I would pick a pull up resistor value that's about the same as the thermistor at 75C. So you get a high resolution between 50C and 100C.
Leo..
Tables are only partial for the temperatures I will be operating. First column is the % speed the fan will programmed to run at. It is not part of the data sheet from the manufacture and can be ignored. Second and third columns are temperature °C and resistance Ω from the sensor data sheets. 4th column is the calculated voltage if using the Vin voltage and R1 resistor above the Vout voltage column.
The littlefuse data sheet shows 10KΩ at 25°C is not presented in the tables I provided because it is well out of my operating range and the table is too long to screen copy.
The GM thermister data sheet presents data at 70°F and 90°F of 3400Ω and 2150Ω. Therefore it will be ~ 3000Ω at 25°C. also not presented in my tables for the same reason.
That's what I was thinking with my uneducated electrical engineering mind.
Sounds like what you are saying is if I lower my resister, I will be more into the operating range of the sensor but I may be producing too much of a load on the Arduino and my ASSUMED 3.3Vin might be less. I believe I can measure that, but let's say I do and measure 3.0V. I should be able to just apply 3.0 V as Vin and recalculate my numbers. Or would I be over loading the Arduino. The way I understand the docs the Nano 33 BLE allows 15ma on the IO pins so theoretically I should be able to put 220Ω across it. Yes/no?
Do you have a multimeter ? Can you get one ? I would like to know the resistor value at 25°C for both.
Perhaps you have a different type of thermistor or maybe it was overheated.
By the way, in some countries they call a multimeter a "DMM".
I do have a multimeter or DMM we also use both here. Probably be able to get measurements at ~15° C but that should confirm if they are trending with the data sheets.
I do expect them to be different as that are completely different construction. Both are new and never installed so unlikely they have been over heated.
Thank you. I picked the wrong NTC once, so I wanted to start at the beginning.
If you want to use the GM 5kΩ sensor with most accuracy near 100°C, then yes, go ahead, use the 200Ω resistor. That is fine.
In a real situation, you probably get the same accuracy with 470Ω or 1kΩ, because there are more influences. If you stay away from the outer 10% or 20% (keep the voltage between 0.6 and 2.6V) then you are okay. Measuring the ambient temperature will be more accurate with a slightly higher value of the resistor.
To power the thermistor plus its resistor, you have to use the same 3.3V that the processor runs on. I assume you know the word "ratiometric".
When measuring a steady voltage or a temperature, take the average of a number of samples (5 to 100 or so). That helps a lot to get rid of electronic noise.
After that you can apply a low-pass filter or a rolling average in software if needed.
The Arduino board does not measure a voltage, it measures a value relative to the reference voltage. The default reference voltage is 3.3V.
When using a resistor + thermistor, they also do not output a voltage, they also output a relative voltage, relative to the 3.3V that powers it.
That is a perfect match. If the 3.3V voltage changes between 3.1 and 3.4V, the value returned by analogRead() is exactly the same. The calculated temperature will also be exactly the same.
The "perfect match" that eliminates variations in the 3.3V is called "ratiometric".