My ongoing project is to control the airflow through a race car's oil cooler (that sits under the boot floor). The thermister is;
I am using a voltage divider to read the output and the Steinhart-Hart formula in an Arduino to calculate the temperature. No worries with that so far.
I originally wired the sensor from a 12v->5v buck converter. I did this as I am using it for other components and I wanted to take any load off the Arduino (although this sensor consumes minimal micro amps). The ground from the buck converter output is connected to Arduino ground. The issue I am seeing is that the temperature reading is 3 to 4 degrees celsius higher than it should be but also fluctuates +/- 4 degrees. I have checked that the voltage to the sensor is 5v.
When I power the sensor directly from the Arduino 5v pin the temperature is more or less correct and is stable.
The easy answer here is to power it from the Arduino and move on but I want to understand why the external power version fluctuates. Can anybody explain?
My thought for the incorrect temperature is that the ADC is converting the reading to 0-1023 based on the Arduino voltage (that I suspect is a bit under a true 5v) whereas the sensor has a full 5v. I cannot account for the fluctuations though.
Is it even OK to power the thermister externally to the Arduino/ADC circuitry?
I tried a 104 (100nf?) capacitor across the buck converter output + & - but it didn't make any difference.
I don't think I need to attach code or schematics seeing as this is a theoretical type question but I can if required.