## "Pit Boss" grill temperature probe

25 posts / 0 new
Author
Message

Trying to use one of these to measure temperature, but having no luck. It doesn't behave like a K type, or a J type thermocouple. Wonder if it's actually an LM35 or somesuch. It has a "stereo" type 3mm phone plug, so I wonder if it's actually +, - and output.

Anybody find any technical information about these? All's I can google is places to buy them and instructions for grilling.

The largest known prime number: 282589933-1

Last Edited: Thu. Jan 31, 2019 - 07:42 PM

My search came up with RTD temp probe, so maybe this app note will help: http://ww1.microchip.com/downloa...

Jim

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get \$5 free gold/silver https://www.onegold.com/join/713...

Just figured out it's restive and 0C is 1000 ohms. I measured 1.012 at 0C. Jim's link mentions RTDs that are 1000 ohms and 0C but doesn't say much about them.

Googling with a little more knowledge,

The largest known prime number: 282589933-1

I think it should take at least 4 burgers & five juicy steaks to figure this out.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

avrcandies wrote:

I think it should take at least 4 burgers & five juicy steaks to figure this out.

I used a glass of ice water and a pot of boiling water to find:

0C = 1000 Ohms

100C = 1383 Ohms

I think I'll build a wheatstone bridge and measure the difference in the two voltages.

The largest known prime number: 282589933-1

There are several RTD values 100 ohms, 1000 ohms, probably others. They are quite linear.

RTDs can be sensed several ways. (1) simple divider with a very low TC second resistor (often same value as 0C RTD resistance combined with a precision or measured drive voltage, (2) Precision, low TC, measured, current source, (3) Wheatstone bridge with good, low TC resistors.

In a way, (3) is really a way to realize (1). The fixed side of the bridge gives you a way to "measure" the drive voltage. The variable side realizes a voltage divider. It just happens to be highly suited to differential measurement, which, under certain circumstances, nulls-out particular measurement errors.

Should point out that RTD sensors are sort of the gold standard for temperature measurement in the range of maybe -50C to +150C. The range really depends on the material and the quality of the material on which the platinum element is wound or deposited. There is lots of literature, out there, on interfacing to RTDs. Do a bit of searching. It will save you gobs of effort and wasted time (unless you relish just doing the  experiments).

West Coast Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

Last Edited: Fri. Feb 1, 2019 - 05:26 AM

Yes. I'm leaning toward building a current source out of nfets, or maybe just a bridge.

If I use an output pin for VDD, I can turn off the current source for shutdown mode.

The largest known prime number: 282589933-1

Have you considered that your current mirror might be temperature dependant?

Modern chips have made interfacing bog standard sensors a very boring exersice which is very hard to beat with some home brew circuit.

These (and other) chips are also cheaply available on breakout boards from Ali / Ebay / China / Whatever.

If you want to go really cheap you can give the HX711 a try, but that does not have an internal temperature sensor for compensation and is said to have some drift issues.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Torby wrote:
I'm leaning toward building a current source out of nfets ...
some AVR have a calibrated current source (5% typ by ambient temperature, much worse by Vcc)

IIRC, a bang-bang controller by a window comparator.

Atmel AVR XMEGA E Manual (10.5MB)

(page 391)

27. AC – Analog Comparator

...

 Constant current source with configurable output pin selection

...

"Dare to be naïve." - Buckminster Fuller

When measuring an RTD directly with the ADC of an AVR is a typical example where a simple resistor works better.

It can easily have a 0.1% resolution, probably also has better tempco than the 5% current source of such an AVR.

Also: with a completely resistive measurement there is no need of a calibrated reference.

The ADC only has to measure the ratio between the reference voltage and the ADC voltage from the sensor.

The reference voltage itself is not even part of the equasion.

If you put an accurate current through a resistive sensor, you get a voltage you can measure, but then you have to compare that voltage to the accuracy of your voltage reference.

This has more linearity, but there are plenty of horses inside a small uC for some linearisation. (Do note that horses are not very smart though).

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

The nfet current reference is terrible. Don't even try that circuit. Some joker must have posted it as a hoax and it got copied around the internet.

Quote:

Thanks for the part numbers. The only current reference parts I could find seemed to be more like temperature sensors than current references.

It would be obvious to use the differential feature of an AVR's DAC, but alas, this isn't an avr project and there is no differential input.

So I figure on putting the temperature probe in series with a resistor to an output pin, so I can turn the current off. Then measure the volts in the middle. I then know the current as i = (Vout-v)/R and the resistance of the RTD is v/i. I can simply use a resistor divider to measure the Vout. Some 1% resistors should do nicely for the application. Might include a calibration routine where you freeze and boil the probe and store the results.

And on a "PT1000" type RTD probe, it appears that the resistance is simply 10 times the resistance specified for the PT100 type probes you can find specs for. I found this out by measuring the resistance at several temperatures and comparing with the chart for 100 ohm sensors. Still haven't found a PT1000 spec. You can find PT1000 type probes at Wal*Mart even, though they're not labeled anything a geek like me would recognize.

The largest known prime number: 282589933-1

Torby wrote:

Might include a calibration routine where you freeze and boil the probe and store the results.

Don't forget to account for altitude with the boiling point.

--Mike

Torby wrote:
The nfet current reference is terrible.
... by use case; these are simple and rugged for high voltage low current sources though will have to tune due to nfet.Vgs-th variability (though a relative few nfet are Vgs-th binned by the manufacturers)

nfet, enhancement-mode and depletion-mode

Torby wrote:
Don't even try that circuit.
An alternative to nfet is npn with a shunt regulator (CCS is a common circuit in 431 shunt regulator datasheets); mostly by jelly bean parts and there's a lot of competition in 431.

Torby wrote:
The only current reference parts I could find seemed to be more like temperature sensors than current references.
LM334 3-Terminal Adjustable Current Source | TI.comdatasheet figure "Zero Tempco Current Source"

Torby wrote:
Might include a calibration routine where you freeze and boil the probe and store the results.
The probe's manufacturer will likely make the probes to within tolerance; so, a probe simulator to calibrate the instrument (external, internal or self, built-in-test, etc)

AN-D66 : Depletion-Mode MOSFET: The Forgotten FET (CCS on page 2, middle of left column)

"Dare to be naïve." - Buckminster Fuller

avr-mike wrote:

Torby wrote:

Might include a calibration routine where you freeze and boil the probe and store the results.

Don't forget to account for altitude with the boiling point.

--Mike

I was just thinking about that. Denver is almost 10 times the elevation here.

The largest known prime number: 282589933-1

gchapman wrote:
The probe's manufacturer will likely make the probes to within tolerance; so, a probe simulator to calibrate the instrument (external, internal or self, built-in-test, etc)

Hmm. Maybe don't need a calibrate routine then. I'm thinking the RTD probe is much more accurate than the gizmo needs to be.

The largest known prime number: 282589933-1

Digging in my junk box, I found some 0.5% 510 ohm resistors (labeled 56R). I put two in series as a voltage divider, then used two more to build voltage dividers with my pt1000 RTD probes. I connected all this mess to an output pin so I could turn off the current. I thought it important to turn off the current to avoid self-heating the probes since the current is about twice the recommendation. So the program turns the current on for a few microseconds every second.

I use the voltage divider to measure the pin's output voltage.

Then I measure the volts of each probe. The current is the pin voltage less the probe voltage / 510. The probe resistance is the probe voltage divided by the current. I then just multiplied, divided and added 32 to get the temperature in F. This can be off up to .4C around 50C. I've seen a better equation, but the program blew up every time I tried it. I'll sleep on it and try it again tomorrow.

Anyhow, it now displays 2 temperatures and I believe the figures.

Some code:

```    pinSetFast(rtdPower);
pinResetFast(rtdPower);

long pullup = divider * 6600 ;

long pinv = counts * 3300 ;
long vp = pullup - pinv ;
long i = vp / 510 ;
long r = pinv / i ;

long celcius = (r-1000)*1000 ;
celcius = celcius/383 ;

long farenheit = ((r-1000) * 1800) ;
farenheit = (farenheit / 383) +320 ;

// display code inserts a decimal point before the lsd.```

The largest known prime number: 282589933-1

Nicely done.

Time to try your boiling water and ice water experiments.

JC

My brother's company designs sells these sorts of things to the big box stores.   Sometimes he brings over stuff from the 'free bin' for my parents.

Usually they do not work.  Good source of SS tube.  The one I took apart only had  a wire on one end attached to the sensor, which looked like a glass diode. Not sure if the other side was supposed to return through the shield or not.  Never could get a reading from it.

The thing was supposed to be wireless,  Never could get it to work, and the controller was not a common one.  Bits and pieces of it are in my junk box.  The little LCD screens are interesting and I can sometimes get them to work with an AVR, bit banging the glass signals with a resistor ladder.

DocJC wrote:

Nicely done.

Time to try your boiling water and ice water experiments.

JC

How do you think I decided the figures were believable? Water, Ice, room temperature compared to my meter and my temperature compared to my meter.

The largest known prime number: 282589933-1

Was worried because sometimes the measurement was just plain wrong. Reading more about it, I found that this calculation can be like 4 degrees (C) off. That's 8F.

So I had my PC use the Callendar-van Dusen equations to generate a lookup table:

```       private void Figure()
{
double A = 3.9083E-3;
double B = -5.775E-7;
double C = -4.183E-12;

StringBuilder sb = new StringBuilder();

for( int T = 32; T<800; T++)
{
double c = (T - 32) / 1.8;
double R = 100 * (1 + (A * c) + B * (c * c));
sb.AppendLine("    {" + Math.Truncate(R*10).ToString() + "," + T.ToString() + "},");
}
textBox1.Text = sb.ToString();
}
```

This is C# for running on my windoze computer. I then edited the output into a lookup table and used a binary search to find the temperature from the resistance.

Does anybody really want me to include the 775 line lookup table since I posted the code to make it?

Notice: If you're interested in temperatures below 0C, you need another term in the R calculation.

Since I have Pt1000 probes, not Pt100, I multiplied the resistance by 10 before putting it into the string.

The largest known prime number: 282589933-1

Rtds, while not linear over a wide temp range, are pretty linear over small ranges.  You should be able to streamline your lookup down to just a relative few (10-20) points, and by interpolating, get nice accurate results.

Tom Pappano
Tulsa, Oklahoma

Last Edited: Tue. Feb 19, 2019 - 06:56 AM

If you're interested in a SMALL range, you can just calibrate at 2 points close together and be done with it.

The largest known prime number: 282589933-1

Wikipedia has some tables with Pt100 and Pt1000 values.

https://en.wikipedia.org/wiki/Resistance_thermometer

Strangely they also have 2 different tables for different Pt100 RTD's. but one of them is 1/10'th of the resistance values of the Pt1000, just as you assumed.

Is your table the same as that from Wikipedia?

If not, then why?

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

I haven't compared them line by line. My table has more entries. Theirs might have been determined in a laboratory where they could measure the resistance at each controlled temperature while I built mine using the formula above.

The largest known prime number: 282589933-1

I tested yesterday by wiring a probe and the thermocouple of a thermometer together, putting them in an oven and heating them up in an oven.

My monitor agreed with the thermometer very well until the temperature passed 430F. I couldn't read anything higher than 430. So, I looked close at the code looking for an arithmetic overflow or some such beastie. Then I thought, "Hey dummy, calculate your lookup table to go from counts to degrees, instead of ohms to degrees. This code runs in my PC to produce the table that I paste into the C++ code.

```       private void Figure()
{
double A = 3.9083E-3;
double B = -5.775E-7;
double C = -4.183E-12;

StringBuilder sb = new StringBuilder();

for( int T = 32; T<800; T++)
{
double c = (T - 32) / 1.8;
double R = 1000 * (1 + (A * c) + B * (c * c));
double i = 3.3 / (R + 510);
double pinv = i * R;
double counts = pinv * 4096 / 3.3;
sb.AppendLine("    {" + Math.Truncate(counts).ToString() + "," + T.ToString() + "}, // v=" + pinv.ToString());
}
textBox1.Text = sb.ToString();
}
```

I also changed the schematic:

The processor selects which probe to measure by setting D0 or D1 high, then measures A0. Turns off both fets to save power and prevent self heating.

The largest known prime number: 282589933-1