Calculating Probe Coefficients


 

MikeNugent

New member
I'm not sure if this has been posted before, but after digging around I found some useful info for calibrating temp probe coefficients. I was having trouble with a couple of my probes reading totally random temps. After calibrating, I was able to get multiple brands/ages of probes to read within 0.5-1F of each other, from boiling to room temp using this method.

You will need a multi-meter to do this. You will subject the probes to room temp (I used ambient air temp in my house), freezing temp (cup of ice water), and boiling temp (pot of boiling water). At each temperature level, take a celsius reading with an independent thermometer. Freezing should be 0, boiling 100, and room temp around 22-25*C. At each of these temperature levels, use your multi-meter to measure the resistance between the tip and ring of the plug on each probe. Mine ranged from 3k ohms to 550k ohms depending on temp. Then enter the temp and resistance values on the page below to get your A, B, C Steinhart‐Hart coefficient values.

Calculator: http://www.thinksrs.com/downloads/programs/Therm%20Calc/NTCCalibrator/NTCcalculator.htm
 
Hi Mike,

It's been discussed here in a few threads. One of the observations made is that the 3 readings of 0C, 25C, and 100C has been found to not provide enough data to generate accurate Steinhart‐Hart coefficient values to be used with the HeaterMeter.
 
Steve would you mind explaining the issue with accuracy based on the three reference points as described? Mike says that after doing the calculations he is within 1 degree from his reference points, so it seems that there's some validity to the approach. Is the issue that outside of those reference points, either below/above the min/max, or even temps in between the 3 references points, that the results will not be accurate?

The problem that I'm facing is that I checked my probes (6ft high heat ET-73) against boiling water which is 210.79F based on http://www.thermoworks.com/software/bpcalc.html. My factory calibrated thermapen was within .2 degrees (210.6F), but yet the Maverick probes are way off. I'm getting 218.0 so I'm too high by 7 degrees, and this is consistent across the 2 probes that I have. At ice water I'm reading 30.1 so I'm too low by 2 degrees, again consistent across 2 probes.

I tried the technique as described by Mike except I used the "lmclient LMUP,1" command on the LinkMeter because I don't have a multimeter, and I used the TableGenerator.exe program that Bryan uses. I came up with some new coefficients for the Mavericks, and lo and behold now I'm pretty much spot on to my reference points of 32F and 210.79F. I'm not sure whether I should try using these new coefficients or what the downside might be.

I suppose I should order up one of the Thermoworks probes that everyone is talking about. I kind of wish I hadn't even checked against boiling water because now this will gnaw at me. I do some higher heat roasting and baking on my BGE so I need the LM to be accurate up to 450F.
 
I downloaded it from here: http://capnbry.net/~bmayland/fi/bbq/AN2395.zip

As a follow up to my last post... I have done some more testing with the coefficients calculated using the 3-point approach and felt comfortable enough that I smoked a brisket over the weekend using those coefficients. I don't think the brisket could have come out better. I'd still like to find a way to verify the values at higher temps (> 250) but for low-n-slow temps it worked for me.

I wonder why the probes I have are off from the HM preset coefficients.
 
There's also LUA code in github that does the curve fit for you. I thought it was in the last release but I put it in after the last release.
Code:
local ok, results = lmfit.steinhart({ resistance values }, { temperature values })
if ok then
  print(string.format("A=%f,B=%f,C=%f", results[0], results[1], results[2]))
else
  print("Error")
end

Alternatively the LMUP has been expanded to do this for you:
Code:
LMUP,start (start data collection)
LMUP,csv (dump data in CSV)
LMUP,fit (return steinhart data in JSON)
LMUP,stop (stop data collection and clear data table)
 

 

Back
Top