Pages: [1]   Go Down
 Author Topic: LM35D ¿Good?  (Read 612 times) 0 Members and 1 Guest are viewing this topic.
Offline
Newbie
Karma: 0
Posts: 9
 « on: December 05, 2012, 11:14:46 am » Bigger Smaller Reset

Page: 6 .Graphic: Minimum Supply Voltage vs. Temperature.

The graph shows the voltage discontinuities at certain temperatures. The slope increases with increasing current. Arduino generates a voltage of 5.01 V.

How I can I know that there are no discontinuities in voltage between +2 º, +100 º C?
I see in the graph where the discontinuities begin to 2 mA, but I do not see where the discontinuities with 40 mA.
 Dibujo.jpg (25.38 KB, 347x381 - viewed 14 times.) Logged

Offline
Edison Member
Karma: 116
Posts: 2205
 « Reply #1 on: December 05, 2012, 11:44:43 am » Bigger Smaller Reset

Quote
How I can I know that there are no discontinuities in voltage between +2 º, +100 º C?

Typically done by reading the datasheet or experimenting with the chip.
 Logged

Manchester (England England)
Offline
Brattain Member
Karma: 602
Posts: 33374
Solder is electric glue
 « Reply #2 on: December 05, 2012, 12:00:08 pm » Bigger Smaller Reset

Quote
The graph shows the voltage discontinuities at certain temperatures.
No it doesn't.

The dotted line indicates that the chip is operating outside it's recommended parameters, not that there is a discontinuity in reading.

Nice useful post as normal from dhenery.
 Logged

Offline
Newbie
Karma: 0
Posts: 9
 « Reply #3 on: December 05, 2012, 12:38:48 pm » Bigger Smaller Reset

Can you tell me why there is a 5?

samples = (5.0* analogRead(pin) * 100.0) / 1024.0;

for this device.

100ºC = 1024 points

Tª = (points * 100) / 1024

 Logged

Manchester (England England)
Offline
Brattain Member
Karma: 602
Posts: 33374
Solder is electric glue
 « Reply #4 on: December 05, 2012, 12:48:05 pm » Bigger Smaller Reset

Quote
You are not adding 5V you are multiplying by 5V.

An analogue reading returns a number from 0 to 1203, this corresponds to a voltage between 0 to 5V so this:-
Quote
samples = (5.0* analogRead(pin) * 100.0) / 1024.0;
Is converting the number you read into a voltage.
 Logged

Offline
Edison Member
Karma: 116
Posts: 2205
 « Reply #5 on: December 05, 2012, 12:52:59 pm » Bigger Smaller Reset

Quote
samples = (5.0* analogRead(pin) * 100.0) / 1024.0;

Things like that utilize floating point math and floating point math is quite inefficient on an 8-bit mcu.

A simpler approach would be to use fixed point math.
 Logged

Manchester (England England)
Offline
Brattain Member
Karma: 602
Posts: 33374
Solder is electric glue
 « Reply #6 on: December 05, 2012, 01:22:49 pm » Bigger Smaller Reset

Quote
samples = (5.0* analogRead(pin) * 100.0) / 1024.0;

Things like that utilize floating point math and floating point math is quite inefficient on an 8-bit mcu.

A simpler approach would be to use fixed point math.
No it is not a simpler approach it is an approach that runs faster.
We are dealing with a compiler here and simple projects. All those posts and you still haven't got the basic hang of this forum have you.
 Logged

 Pages: [1]   Go Up