I am using an NCD relay control with 8 channel ADC. I have thermometer that is reading temp of my room to be 70F but the Thermistor Vishay NTCLE100E3 10k is reading 62.26F. The relay board has a built in temperature that reads 62.507. I have been using the Steinhart and hart equation as provided by vishay. I have seen a tutorial on youtube with someone using the same thermistor i have plugged to an arduino and his thermistor seems to be responding better than mine. I have measured the voltage between both resistors and i get 3.27v. I use Rthermisor = R10k*(5.0/Vo)-1 where Vo is the voltage between thermistor and resistor. These are the values i use for the Steinhart eq. A1= 3.354016E-03 B1=2.569850E-04 C1=2.620131E-06 D1=6.383091E-08 my beta value is 3977.

At this point I am not sure what I am doing wrong or why the readings are so off. Should I change the resistor value? I was reading something about self heating but didnt quite understand.

simulate this circuit – Schematic created using CircuitLab

• It's not immediately clear which measurement you're regarding as 'accurate' and what problem you're trying to solve. Are you regarding your thermometer reading of 70F to be the truth and you're not happy with the other 2 readings, or something else? Jun 21 '18 at 15:23
• Yes I think the thermometer reading is accurate and the other two are not. I want to understand why my thermistor reading is off. I heated up some water in the microvae and the thermometer read 134.5F while my thermistor is reading 70.71F something is just not right. Jun 21 '18 at 15:38

R25 error is defined by the p/n suffix after the value 103.

This is likely the cause of both errors.

Replace in SAP by (fine print in spec)

J=5%,H=3%,G=2%.

Adjust offset for R25 error and B tolerance errors as required by your unstated system design spec.

Or get G tolerance part.

Or recompute worst case errors and decide how to compensate with series R (select on test jumpers) to thermistor or other methods.

But always create an acceptance criteria 1st before part selection and then do a tolerance stack up of all parts.

• What is J H G for? I multiplied by Beta value by 103 and i get my room temp to be 76.833 and thermometer reads 70.7. The spec sheet says R25 Tol (+/- %) 2,3,5 are the values I use to offset my resistance? Thanks for you help Jun 21 '18 at 15:49
• Use J=2% in part number for most accurate results Jun 21 '18 at 19:59
• I am still getting 76.8F. I get an ADC value of 708.1. When i convert that back to voltage i get 3.46V. My Rthermistor is 22486.5036 (i should be getting 11k-12k in resistance) i am using Beta=3977*103*2. I am using the B-parameter equation and i am still getting 76.8. I'm really not sure what i am doing wrong. Jun 21 '18 at 21:41
• Only you can do the error analysis with the lack of answers to my question. Your temp. rose but no error given. Why? Jun 21 '18 at 22:05

Your error is obviously way too large to be accounted for by tolerances (will typically be within a fraction of a degree C).

It is reading low, which implies that the voltage at the input is lower than expected. Since the ADC input impedance is given (not clearly, but the number is mentioned) as 10K, this is to be expected.

For future reference, you can easily diagnose problems like this yourself if you measure the voltages at the input to the "black box" system with a voltmeter and do some back-of-envelope calculations. Always try to find a "test point" somewhere in the system and divide it. A single point problem can be located in $\log_2(n)$ tests