Saturday, 21 February 2015

arduino - Why is my 10k NTC thermistor on average accurate to 2C


I am trying to figure out what is causing the 2C inaccuracy in my thermistor calibrations, my goal is to get my accuracy down to > .1C. I am using the KS103J2 10K NTC thermistor. To calibrate my thermistor I am using a vernier temperature sensor both the surface probe and stainless steel probe. I calibrate by putting the probe as well as my own NTC thermistor inside a beaker with water, let the probe and thermistor equilibrate with the water. I input the vernier probe's temperature, which is displayed by Logger Pro, into the Arduino Uno serial. The code then takes 10 resistance readings from the NTC thermistor, averages them and then uses that as a point (temperate from vernier probe, resistance from NTC thermistor) as a point of calibration for the Steinhart-hart equation. The code calculates the A, B, C coefficients. I then test the calibration by inputting the resistance into the Steinhart-hart equation which returns the temperature based on the value. I find the difference between the outputted temperature from the Steinhart-hart equation with the vernier probe's temperature to find the "error - 2C.





  • 10K NTC thermistor (waterproofed with liquid electrical tape) with resistance range 35000 - 1,200 Ω

  • Arduino Uno (10-bit ADC) and breadboard

  • Temperature range: 0C to 75C

  • Using water to sample temperature




  • Switching to a different NTC thermistor for calibration


    Result: No difference in accuracy (stayed around 2C)




  • Checking the precision of my voltage divider

    Result: Very stable, I tested this by replacing the NTC thermistor with 3
    different stable thermistor (1K, 10K, 100K).




  • Switched to from 5v to 3.3v with Aref


    Result: The error remained the same.




  • Calculating maximum ideal error with 10-bit ADC

    Result: at the ideal maximum, the error should be .25C at 75. The rest of the range should be >.2C.






  • Checking the accuracy of the Steinhart-hart model with an NTC thermistor resistance table



    Results: the model predicted the temperate very accuracy.



    NTC Table:
    20.80C 11,868.8 ohms
    20.85C 11,844.3 ohms
    20.90C 11,819.9 ohms

    My NTC thermistor values with Steinhart:

    20.82C 11858.97 ohms




  • Imprecision in the vernier probes (I tested with 2 different types of probes and the error still continued, they are rated for accuracy of +/- 0.2 C, but their precision is unknown).




  • I cannot use external ADC's


  • I cannot use thermistors with waterproof housings



Circut




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...