Temperature Sensor Suggestions

Hello,

I need to measure the temperature of a 12 oz Soda Can from the bottom on the outside. (Edited)

I was looking for a Temp Sensor with a metal package 3-5v to plug into my Uno but, I couldn't really find anything.

Any Suggestions? There are many plastic body version would the time constant be largely affected by the plastic body vs metal?

DS18B20 the waterproof edition will be your favorite

Search for the Dallas Temperature Control Library , it has samples to get you started.

robtillaart:
DS18B20 the waterproof edition will be your favorite

Search for the Dallas Temperature Control Library , it has samples to get you started.

Hey rob

Thanks for the reply but I forgot to mention it was to measure the outside of the can not submerged.

The economic choice would be to use a thermistor in series with a resistor. If you use a lightweight thermistor you will get a fast response to temperature change. You will have to calibrate each chip manually, eg. by submerging it in boiling water and ice water and then calculate the linear function. You might want to add a small capacitor to filter interference on the wires.
I have used theese in a project: http://uk.rs-online.com/web/p/thermistors/7468208/

Wiring example:
Vcc - Thermistor
Thermistor - Capacitor - Resistor - Analog input
Capacitor - Resistor - Gnd

thescreensavers:

robtillaart:
DS18B20 the waterproof edition will be your favorite

Search for the Dallas Temperature Control Library , it has samples to get you started.

Hey rob

Thanks for the reply but I forgot to mention it was to measure the outside of the can not submerged.

Still it will be the sensor of your choice as when the can contains liquid there is a great chance of forming condensed water on the surface and that can cause failure (short circuit) of a normal sensor.

update: The are not as cheap as thermistors ....

robtillaart:

thescreensavers:

robtillaart:
DS18B20 the waterproof edition will be your favorite

Search for the Dallas Temperature Control Library , it has samples to get you started.

Hey rob

Thanks for the reply but I forgot to mention it was to measure the outside of the can not submerged.

Still it will be the sensor of your choice as when the can contains liquid there is a great chance of forming condensed water on the surface and that can cause failure (short circuit) of a normal sensor.

update: The are not as cheap as thermistors ....

Yep There will be condensation, I like the temp sensor you linked me from spark but I do not think that will react fast enough with just the tip touching the can.

But the DS18B20 seems to only to come in TO-94 packaging which is plastic how would that work in contact with metal?

thescreensavers:
But the DS18B20 seems to only to come in TO-94 packaging which is plastic how would that work in contact with metal?

You are not looking hard enough, and not reading either. The DS18B20 is available in waterproof packaging - encased in metal. It reacts quickly enough for readings at one second intervals. It only costs a few dollars and is so simple to use I don't know why you would bother with a thermistor.

I imagine you could waterproof the TO-94 version, and its performance would be the same.

Nick_Pyner:

thescreensavers:
But the DS18B20 seems to only to come in TO-94 packaging which is plastic how would that work in contact with metal?

You are not looking hard enough, and not reading either. The DS18B20 is available in waterproof packaging - encased in metal. It reacts quickly enough for readings at one second intervals. It only costs a few dollars and is so simple to use I don't know why you would bother with a thermistor.

I imagine you could waterproof the TO-94 version, and its performance would be the same.

Just so are clear here and on the same page, I want to measure the temperature of the can from the outside on the bottom.

If you are talking about the Metal temp sensor Rob linked, then Only the tip would be in contact and so the Thermal time constant would probably be too long this is different from how many time it reads a second. If it was submerged then it would work, but I am only touching the bottom of the can outside. So I need something small and that will give the proper temp in ~15 sec at the longest.

A noncontact sensor like the MLX90614 will read out the temperature in less than 1 second. It doesn't matter if there is condensation on the outside, but unpainted aluminum might require a small correction for the emissivity. Pololu - MLX90614ESF-AAA Infrared Temperature Sensor 90° FOV
The sensor reports the average of its 90 degree field of view, so you need to make sure that the sensor is close enough that the can fills the entire field.

jremington:
A noncontact sensor like the MLX90614 will read out the temperature in less than 1 second. It doesn't matter if there is condensation on the outside, but unpainted aluminum might require a small correction for the emissivity. Pololu - MLX90614ESF-AAA Infrared Temperature Sensor 90° FOV
The sensor reports the average of its 90 degree field of view, so you need to make sure that the sensor is close enough that the can fills the entire field.

thanks for the help Unfortunately Aluminium is a no go with IR Temp sensors even with an emissivty change, its not going to help. Seeing that the bottom of the can is pretty polished there is no chance for it to get an accurate reading repeatedly unless there was some sort of paint or what not to help the reflective surface which would not work for my case

Im open to thermistors as well, What ever can get the job done heh, how do the bead type function with metal contact?

Aluminium is a no go with IR Temp sensors

Wherever did you hear that? It is not true.

thescreensavers:
Only the tip would be in contact and so If it was submerged then it would work, but I am only touching the bottom of the can outside. So I need something small and that will give the proper temp in ~15 sec at the longest.
the Thermal time constant would probably be too long this is different from how many time it reads a second.

It doesn't seem to make much difference whether the contact is the tip or the sides. The time taken to get the temperature depends largely on the ambient. Pressing the tip of a DS18B20 against an iceblock will drop it 30 degrees, from ambient to 2 degrees, in 30 seconds. This was rather unscientific, as the sensor was melting the ice, but indicative nonetheless.

Having said all that, your real intention is far from clear. If it is just some check for coolth system in a bar, a thermistor and LED signal is probably fine anyway. I mention this as I have a tiny thermistor in a thin plastic film which, mechanically if nothing else, is probably ideal for testing drink cans - no Arduino required. I have never used it.

jremington:

Aluminium is a no go with IR Temp sensors

Wherever did you hear that? It is not true.

Do you have any info that it is not true? Just changing the emissivity does not solve Aluminum issues with IR sensors.

Nick_Pyner:

thescreensavers:
Only the tip would be in contact and so If it was submerged then it would work, but I am only touching the bottom of the can outside. So I need something small and that will give the proper temp in ~15 sec at the longest.
the Thermal time constant would probably be too long this is different from how many time it reads a second.

It doesn't seem to make much difference whether the contact is the tip or the sides. The time taken to get the temperature depends largely on the ambient. Pressing the tip of a DS18B20 against an iceblock will drop it 30 degrees, from ambient to 2 degrees, in 30 seconds. This was rather unscientific, as the sensor was melting the ice, but indicative nonetheless.

Having said all that, your real intention is far from clear. If it is just some check for coolth system in a bar, a thermistor and LED signal is probably fine anyway. I mention this as I have a tiny thermistor in a thin plastic film which, mechanically if nothing else, is probably ideal for testing drink cans - no Arduino required. I have never used it.

Ill have to play around with a thermistor and see how fast that can react. I Just need to read the outside of the can in a somewhat reasonable amount of time. If you put a soda can a just few degrees below room temp, and the sensor is at room temp in ~15 sec it should tell me what the can temp is. .

How quickly does this need to respond? Are you putting a blowtorch to a can of soda and need to track the temperature within 1 second or 1 degree change? Is this a can on a production line and since time is money, you need to know in a fraction of a second?

Or are you just wanting to make a beer can holder with a temperature read out?

A glass cased thermister has very little thermal mass. Enclose it so the glass bead is still sticking out of the epoxy, and put that in contact with the can. Even though glass doesn't conduct heat that well, it'll be a very small thickness of glass.

Or you could use a silicon diode as a sensor. Arrange it in the probe so that the cathode end (and therefore the grounded end) is in contact with the can, with only a coat of paint over it. When you solder wires to the diode, make it a bit of a blob on the cathode end, right next to the glass package, and file the end of the solder flat for more contact area.

You may destroy a few diodes soldering them that close to the case, but 1N914/1N4148 are cheap.

Or just use the Dallas DS18B20. Don't buy it in the probe already, make your own by enclosing in the same way I described the glass thermistor, and sand/file the end of the TO92 off flat so it makes better contact with the can.

If this is for something like seeing how long it takes a can to warm up to ambient, or cool down in a fridge, put a little tiny bit of heat sink paste between.

If this is for a production line, point a noncontact pyrometer (ie, "Laser thermometer") at the bottom of the can. As stated, you'll need a correction factor because the pyrometer is already calibrated for (usually) 80% emissivity and that changes according to the shade of the surface at IR. Polished aluminum will need a correction, but it still works.

It will really help if you tell us what you are trying to do.

Certainly using a pyrometer on aluminum is a problem, because the emissivity changes so drastically depending on the surface finish. This PDF indicates a range of 3% to 97% emissivity:

These engineers went to rather extreme methods to get high accuracy, from forge to calendared sheets:
http://www.accuratesensors.com/catalogues/new-optical-pyrometer.pdf

By contrast, what you are doing is measuring nearly identical surfaces. Especially if these are all the same brand of soda pop or beer. However, this could be an issue, so unless you are going to put a coat of opaque paint on the bottom of each can, I'd not use a pyrometer.

You might get away with it if these are all identical cans, and you point it at the same spot on the label each time. They are very particular about making the sides of the can look identical, not so much concerned with the bottom.

Do you have any info that it is not true? Just changing the emissivity does not solve Aluminum issues with IR sensors.

I use the MLX90614 to measure surface temperatures of metals (including aluminum) and other materials, with corrections for the emissivities. The corrections do increase measurement errors, but to claim that you can't use the technique is nonsense.

I suggest you try it. You need to determine the emissivity of typical can samples (likely to be between 0.1 and 0.2) which is easy with the MLX90614. The procedure is outlined here: Error - Melexis

The correction can be applied after you make the measurement -- there is no need to update the sensor. For the record, you need to acquire both the ambient (chip) temperature Ta, and the object temperature Tom in Kelvin. The corrected object temperature Toc is given by the following expression in C, where eps is the surface emissivity:

Toc = pow( ( ( (pow(Tom,4)-pow(Ta,4))/eps) + pow(Ta,4) ), 0.25);

It is possible that can-to-can variations in emissivity will make the measurement errors too large for your purpose. How accurate do the measurements need to be?

interesting read about the emissivity - not too difficult -

Toc = pow( ( ( (pow(Tom,4)-pow(Ta,4))/eps) + pow(Ta,4) ), 0.25);

note the pow(Ta,4) is twice in the formula, so you might spend a variable on that.
As 4 is an integer and a power of 2 one can optimize speed and accuracy.

//
//    FILE: power4.ino
//  AUTHOR: Rob Tillaart
// VERSION: 0.1.00
// PURPOSE: speedtest
//    DATE: 2014-01-16
//     URL: 
//
// Released to the public domain
//
volatile float x = 100;
volatile float y = 0;
volatile float a = 0;

void setup() 
{
  Serial.begin(115200);
  Serial.println("Start ");

  uint32_t start = micros();
  for (int i=0; i<1000; i++)
  {
    y = pow(x, 4);
  }
  uint32_t stop = micros();
  Serial.println(stop - start);
  Serial.println(y);

  start = micros();
  for (int i=0; i<1000; i++)
  {
    y = pow4_1(x);
  }
  stop = micros();
  Serial.println(stop - start);
  Serial.println(y);


  start = micros();
  for (int i=0; i<1000; i++)
  {
    y = pow4_2(x);
  }
  stop = micros();
  Serial.println(stop - start);
  Serial.println(y);
}

void loop() 
{
}

float pow4_1(float x)  
{
  return x * x * x * x;
}

float pow4_2(float x)
{
  float a = x * x;
  return a * a;
}

The output:

333464
99999968.00   <<< small error!
25580
100000000.00
17720
100000000.00

pow4_1(x) is 13 times faster than pow(x, 4)
pow4_2(x) is 18+ times faster than pow(x, 4)

Given that you need 3 of them in the formula this adds up.

BTW pow(x, 0.25) can be speed optimized by

float pow025(x)
{
  return sqrt(sqrt(x));
}

Improvement is not as spectacular as the other but still a factor 3.5
329772
3.16
92836
3.16

traditional code in total 4 x 330 uSec = 1320 uSec
optimized 2x 18 + 93 = 129 uSec pow(Ta,4) needs only be calculated once

my 2 cents

jremington:

Do you have any info that it is not true? Just changing the emissivity does not solve Aluminum issues with IR sensors.

I use the MLX90614 to measure surface temperatures of metals (including aluminum) and other materials, with corrections for the emissivities. The corrections do increase measurement errors, but to claim that you can't use the technique is nonsense.

I suggest you try it. You need to determine the emissivity of typical can samples (likely to be between 0.1 and 0.2) which is easy with the MLX90614. The procedure is outlined here: Error - Melexis

The correction can be applied after you make the measurement -- there is no need to update the sensor. For the record, you need to acquire both the ambient (chip) temperature Ta, and the object temperature Tom in Kelvin. The corrected object temperature Toc is given by the following expression in C, where eps is the surface emissivity:

Toc = pow( ( ( (pow(Tom,4)-pow(Ta,4))/eps) + pow(Ta,4) ), 0.25);

It is possible that can-to-can variations in emissivity will make the measurement errors too large for your purpose. How accurate do the measurements need to be?

Surely you make a good argument, I have personally used IR Temp sensors on aluminum even with changing the emisitivy it still gave very wrong data. The problem with aluminum is its too reflective. It might work if it was rough but the bottom of the cans are pretty shiny.

Hell this was a pretty good suggestion just sucks that its aluminum.

OMEGA

Some polished, shiny metallic surfaces, such as aluminum, are so reflective in the infrared that accurate temperature measurements are not always possible. Infrared Thermometer

Fluke

Other factors to consider. These instruments measure only surface temperatures, not internal temperatures. Furthermore, they cannot take readings through glass and, as noted, will be inaccurate if used to measure shiny or polished metal surfaces (stainless steel, aluminum, etc.). Fluke News & Solutions Blog | Fluke

Other Source

Some noncontact Thermometers have an adjustment for emissivity, but there are many variables including the texture of the part being heated and the amount of reflection from the background that make adjustments difficult. It is nearly impossible to adjust the emissivity of the thermometer to achieve and accurate reading on a bare aluminum panel. http://www.i-car.com/pdf/advantage/online/2003/092903.pdf