Pages: [1]   Go Down
Author Topic: [SOLVED] Analog or Digital Temperature measurement  (Read 545 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a project where I want to measure the temperature of several (12 for the beginning) heat sinks so that I can monitor the mikrochips below them and take action when they get to hot.

I'm not sure though what kind of Thermometer I should use.
I found the following solutions

- DS18B20 (digital and thus I can identify them using the serial)
- LM35 (a bit cheaper but analog and needs Multiplexer)

What about Thermistors? Can they be used with Arduino as well?

I think it is ok to have +-1 degree Celsius accuracy thus the analog LM35 is precise enough.

I'm rather new to this and thus need advice what would be the best approach for the project.

Thanks!
« Last Edit: January 21, 2012, 05:31:59 pm by torusJKL » Logged

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

I would choose DS18B20 due to the hardware simplicity that will payback.
Logged

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

What about Thermistors? Can they be used with Arduino as well?

I've used my arduino with a TMP36. Oomlout included one with their ARDX experimentation kit.

http://www.oomlout.com/a/products/ardx/circ-10

Quote
/*     ———————————————————
*     |  Arduino Experimentation Kit Example Code             |
*     |  CIRC-10 .: Temperature smiley-small (TMP36 Temperature Sensor) |
*     ———————————————————
*  
*  A simple program to output the current temperature to the IDE’s debug window
*
*  For more details on this circuit: http://tinyurl.com/c89tvd
*/

//TMP36 Pin Variables
int temperaturePin = 0; //the analog pin the TMP36′s Vout (sense) pin is connected to
                        //the resolution is 10 mV / degree centigrade
                        //(500 mV offset) to make negative temperatures an option

/*
* getVoltage() – returns the voltage on the analog input defined by
* pin
*/
float getVoltage(int pin){
return (analogRead(pin) * .004882814); //converting from a 0 to 1023 digital range
                                        // to 0 to 5 volts (each 1 reading equals ~ 5 millivolts
}

/*
* setup() – this function runs once when you turn your Arduino on
* We initialize the serial connection with the computer
*/
void setup()
{
  Serial.begin(9600);  //Start the serial connection with the copmuter
                       //to view the result open the serial monitor
                       //last button beneath the file bar (looks like a box with an antenae)
}

void loop()                     // run over and over again
{
float temperature = getVoltage(temperaturePin);  //getting the voltage reading from the temperature sensor

temperature = (temperature - 0.5) * 100;

//converting from 10 mv per degree wit 500 mV offset
                                                  //to degrees ((volatge – 500mV) times 100)
Serial.println(temperature);                     //printing the result
delay(1000);                                     //waiting a second
}



Logged

0
Offline Offline
Edison Member
*
Karma: 7
Posts: 1411
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

For your specific project, the temperature sensor should be attached to the heat sink(s). For this reason I would think it should be in a metal package. Looking at the datasheet, I see that DS18B20 only comes in a plastic package. LM35 is offered in 2 metal packages: TO-46 and TO-220. I would definitely chose LM35.
Logged

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

[...]For this reason I would think it should be in a metal package.[...]

Thanks for your reply.
I also thought about this problem.

What if I attached the DS18B20 using Thermal Glue?
Logged

Offline Offline
Edison Member
*
Karma: 4
Posts: 1726
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I would say just attach a ds18b20 to the device, and use maybe epoxy to hold it in place, being that most heat transfer happens from the leads they should be epoxied too
I would say ds18b20 is definetly the easiest route
Logged

0
Offline Offline
Edison Member
*
Karma: 7
Posts: 1411
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I don't know how epoxy behaves with temperatures in the range of 60-80 Celsius (as I assume the temp of the heat sink will be).
Also, I don't know how good of a temperature conductor the epoxy is.
It also depends on how exact you want your measurement to be.
In the end, it's a trade-off between exactness and ease-of-use. If this is just a hobby project, go for the easy solution.
Logged

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

Thanks to all who have replied!

I will go for the LM35 TO-220 so that I can screw it directly to the heat sink.
Logged

Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 24
Posts: 1762
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

How much approximate power is dissipated on these heatsinks?

Unless it's very small, the DS18B20's epoxied (with a good sized blob, clean/abrade the surface first) should be fine.

I would suggest running the leads and the first 1-2 cm of the attached leads in the epoxy too, so the small amount of heat conducted away by the leads would be insignificant.

You also COULD use pre-packaged DS18B20's like these: http://arduino-direct.com/sunshop/index.php?l=product_detail&p=151

You could even attach those with a metal U-shaped strap and some heatsink grease, and be able to more/remove them.

DISCLAIMER: Mentioned stuff from my own shop...

Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Pages: [1]   Go Up
Jump to: