Pages: [1]   Go Down
Author Topic: Thermistor Sending low readings  (Read 534 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello everyone,

 I am trying to read a BBQ meat probe on my Arduino Uno. I currently have it wired in a voltage divider circuit read by Analog #1. Unfortunately, the program I'm using is outputting very low readings (-34C at room temperature) and I can't seem to figure out why.

Diagram of the Circuit

(Ground) ---- (100k-Resister,actually 109.8k) -------|------- (Thermistor(222k at room temp)) ---- (+5v)
                                                                            |
                                                                   Analog Pin 1

I am using the code from the tutorial found on the playground: http://playground.arduino.cc//ComponentLib/Thermistor2

Here's a copy of my output:

Code:
ADC: 351/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.683, Resistance: 210528 ohms, Celsius: -32.8
ADC: 350/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.678, Resistance: 211443 ohms, Celsius: -32.9
ADC: 349/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.673, Resistance: 212363 ohms, Celsius: -32.9
ADC: 349/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.673, Resistance: 212363 ohms, Celsius: -32.9
ADC: 347/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.664, Resistance: 214220 ohms, Celsius: -33.1
ADC: 348/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.669, Resistance: 213289 ohms, Celsius: -33.0
ADC: 348/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.669, Resistance: 213289 ohms, Celsius: -33.0
ADC: 348/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.669, Resistance: 213289 ohms, Celsius: -33.0
ADC: 347/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.664, Resistance: 214220 ohms, Celsius: -33.1
ADC: 347/1024, vcc: 4.91, pad: 109.800 Kohms, Volts: 1.664, Resistance: 214220 ohms, Celsius: -33.1


As you can see it's reading approximately negative 30 Celsius at room temperature. What am I missing here? Thanks for your help.
Logged

Texas
Offline Offline
Edison Member
*
Karma: 25
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Do you have a URL to the "BBQ meat probe" specs. ?
If not, I suggest you start with an ohm meter. Read the sensor at three temperatures and record the resistance at each.
What did you get?
Logged

Good luck, Jack

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Unfortunately, I can't find any specs related to the thermistor other than it replacement for this thermometer: http://www.thermoworks.com/products/alarm/oven_temp_timer.html#Specifications

I took some measurements of the thermistor:

Boiling water: 13k

Room Temperature: 220k

Ice water: 354k

Is there something wrong with my equation? I used 220k as a nominal value for my resistor, but don't really understand how the coefficients come into play.
Logged

Texas
Offline Offline
Edison Member
*
Karma: 25
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Great: I assume those readings were just the probe without the external resistor.
From those readings we see the resistance goes up as the temperature goes down. So to cause the voltage from the voltage divider (input to analog pin) to go up as temperature goes up, the probe should be connected to ground, and the other resistor should be connected to the positive voltage. And the center tap of the voltage divider to the analog input pin.

Now, running a sketch to show you the analog input readings, test the same 3 temps, and this time log the voltage on the analog input pin, and the reading from the sketch.

Then, if it looks right, we can use a map() command to convert to a temperature reading.

Does that make sense?

EDIT: You need a temperature associated with each of those three readings.
« Last Edit: September 17, 2013, 07:28:37 am by jack wp » Logged

Good luck, Jack

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks again for the help. Yes, the readings were just the resistor; disconnected from the circuit.

I'm curious, most voltage divider circuits that are setup for thermistors are setup just like mine. Do I need to rearrange my circuit because I am using too strong of a "known resistor(the non variable resistor)"
Logged

Texas
Offline Offline
Edison Member
*
Karma: 25
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think your resistor is just right. It should be close to equal the probe at its center temp., and yours is I think.
Logged

Good luck, Jack

United Kingdom
Offline Offline
Tesla Member
***
Karma: 220
Posts: 6587
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The sample code uses A, B and C coefficients (A = 0.001129148, B = 0.000234125 and C = 8.76741E-08) that were correct for the thermistor used by the person who published that code. Your thermistor has different coefficients. You need to find out what the coefficients are for your thermistor and change them in the code.

As you have 3 unknowns, you need 3 accurate measurements to determine them. You already have 2 (boiling water and ice water).
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jack and DC 42,

Thank you for your help. I had an epiphany today and realized the code author's "universal" coefficients probably weren't that universal. I just took measurements of known temps and calculated my own coefficients and everything is working as planned!
Logged

Pages: [1]   Go Up
Jump to: