temperature sensor for Negative temperatures


someone knows a temperature sensor for Arduino that works with negative temperatures (up to -20°C would be good) ?

For example, LM35 DZ unfortunately works only in the range 0°C ~ 100°C according to its datasheet.

P.S.: Linear output would be great.

Thank you.

The datasheet states -55C to 100C, but only .75C accuracy between -55C and 0C.

I relied on the specifications written on ebay, sorry.
There was only mentioned the Figure 1 (datasheet) where the range is +2°C to +150°C.

However, how should I implement negative voltages to use the full range?
(referring to “FIGURE 2. Full-Range Centigrade Temperature Sensor”)

I found it out, the solution is a NTC (negative temperature coefficient) thermistor.
Supplying positive voltage, the resistance value is always positve (big when cold, small when warm)
Unfortunately not linear, but there are tables to look in for conversion

You probably want to read the device datasheet.

Ntc only means its resistance goes down as temperature increases.

You can also consider using a DS18B20, it is one of the favorite digital sensors on the forum with quite a big range

Ok, that means PTC thermistors could measure negative temperatures, too (with positive power supply) ?

This one looks great! The range -55°C ~ +125°C is even more than what I would need.
However, is this only the thermistor (so I have to add a constant resistor) or can I simply attach the pins to VCC, GND, and an other pin (that means the other circuit is built-in)?

I suggest either the DS18B20, or the LM34 (which goes down to almost 0 degF i.e. around -17 degC without a negative supply), or the LM335. Thermistors generally have +/- 5% or worse tolerance, so they are less accurate unless you calibrate them.

Actually, up to 20°C would be good. According to LM34 datasheet, it supports up to 5°F = -15 degrees Celsius. Even -17°C are not enough, I'd really like upto -20°C.

Can DS18B20 simply be used without an additional constant resistor?

The DS18B20 connects to a digital Arduino pin (unlike the other devices, which all use an analog pin) and needs a 4K7 pullup resistor.

Ok, thanks, however, I prefer those with an analog output.
The LM34 is currently the one I like best. Maybe you know one that can measure upto -20°C.

Try the LM335 then.

In the datasheet on page 7 at the bottom, there is an example with a resistor. How is the temperature calculated then? Or can this also be used without a resistor?

You need a resistor to +5V, value around 2K (see "Basic temperature sensor" on page 6), and optionally a 10K pot for calibration (see "Calibrated sensor" also on page 6). Or you can do the calibration in software, for example put the sensor in an ice-water bath to find the exact output at 0 degC.

The nominal voltage across the LM335 is 10mv per degree Kelivin, as specified in the datasheet.

Ok, that is very good!

The nominal voltage across the LM335 is 10mv per degree Kelivin, as specified in the datasheet.

This is similar to the formula for LM35 where 10mV correspond 1°C temperature change.

But why does this one need a 2K resistor while LM35 doesn't need one. Does that mean that LM335 is only the thermistor?
Why does this one have 3 pins (it is also called LM335 ) ?

The answers to your questions can be found on the datasheet.

Ok, I think the one I linked to is the LM335Z. It is TO-92 package.
However, I don’t understand what AD… is and what to connect it to, and how this connection of 3 on the right is made, even if the latter one is not necessary for me.

Screenshot 20121104 19.41.29.png

The ADJ pin is used for calibrating the device using an external 10K pot as described on page 6 of the datasheet, to get more accurate readings. But you can also do the calibration in software.

You really can benefit tremendously from reading the datasheet.