I have an application that uses an NTC thermister to turn things on an off. The NTC thermister is built into the 10 year old device and cannot be replaced. I do not have the original Steinhart and Hart equation coefficients. Using the device manual, it specified that the NTC thermister was 10K @ 77F and gave a generic upper and lower temp/resistance pairs. Using these in a SH calculator, I get coefficients that at certain temps produce values close (~2) to what I'm measuring with an external multimeter with a K type thermal sensor, and other places it's off like 8*. For instance, at @76*F, it's reading 4300ohm when it should be more than double that.
When designing the measurement circuit, I used a 1% 2200 ohm pull up resistor. In the programming, for accuracy, I used the actual measured value for the pull up which was slightly different than 2200, but within spec.The problem I'm having is that sometimes because the measurement is too far off, things are not operating like they should.
My solution to this, which at the time I believed was pretty smart, was to watch the serial monitor for what the arduino is inferring for the NTC resistance at a given temperature measured externally, then plug those real measured resistance/temp pairs into a S-H calculator and generate a curve that actually matches the analog device which has clearly experienced some drift over time.
What resulted were coefficients that lead to a 25F error instead of an 8F error.
What can I do to get a more accurate result for a range between 70F & 150F?