LM35 voltage range

I am rather new to electronics and Arduino and trying to understand some things.

I am just playing with the LM35 temp sensor and found following information on the Arduino Playground: http://playground.arduino.cc/Main/LM35HigherResolution

It describes the formula to calculate the temp.

I however do not understand how this is done... I have looked at the spec documentation from the sensor but I didn't get much info from that. Maybe I'm just lost in the info.

Can someone please explain how to get the formula based upon the sensor spec. Thanks!

Replace the 5.0 in this formula : temp = (5.0 * analogRead(tempPin) * 100.0) / 1024;

with 1.1 to get this formula: reading = analogRead(tempPin); tempC = reading / 9.31;

Ok so the 5 is the input voltage and by setting the AREF to internal, we can replace that with 1.1


I however do not understand why we can do this. According to the specs of the sensor, the sensor will be above the 1.1 reference when the temp is above 110.

Are we putting a limitation on the sensor to 110 degrees because of the 1.1 reference?

Good point. The ADC will max out at 1023, so you can't measure temperatures higher than 110 degrees. You can buy or build external voltage references (say 1.3 V) that would solve this problem.

The Reference voltage must always be greater than the highest value measured More value to be measure will be close to voltage reference more the measurement will be accurate.

Important Notice : The value of the internal reference is given to + / - 10%. But this value is stable and depends only on the batch. It is possible to measure : After an analogReference (INTERNAL) to select the internal reference, the 1.1 V is available on pin AREF: it is possible to measure with a voltmeter.

Cool. Thanks for the info.

So the internal AREF is constant for my board but can change from one board to another? So if I messure 1.2V on the AREF pin it will be the same tomorrow and next week but if I messure it on another board it might be something else. Or is it also not constant on my board?

As I mentioned, you can buy voltage reference devices to use on the external AREF input of the arduino. Some have very high precision and there are several in the range appropriate to your project (e.g. between 1.1 and 1.3 volts). Here is a selection from Mouser: http://www.mouser.com/Semiconductors/Power-Management-ICs/Voltage-References/_/N-10vu2/

The 1.1 V AREF should be between 1.0 and 1.2 V for an arbitrarily chosen ATmega MCU, but will be constant for that MCU.

68tjs: this value is stable and depends only on the batch.

For a given micro this value is constant.

This is the same for the pull-up resistors, they can take any value between 30 kohms and 70 kohms but for a given micro they are constant.