Forum: Mikrocontroller und Digitale Elektronik LM35DT Ausrechnen


von Sepp (Gast)


Lesenswert?

Hallo ich möchte mit dem LM35DT ein Thermometer bauen.Jetzt stehe ich 
vor der Frage wie ich am besten vorgehe.Der ADC hat ja 0-5V 1024 
Schritte,der Sensor liefert maximal nur 1,5V bei 150°.Also würde der ADC 
ja immer nur zu ca 1/3 benutzt werden.Aber 3,333 rechnen geht ja nicht 
wirklich.Ist es überhaupt möglich ohne Referenzspannung 1,5V extern 
ordentlich zu messen?


MfG Sepp

von MaWin (Gast)


Lesenswert?

> Der ADC hat ja 0-5V

Du solltest die interne Referenz verwenden
und nicht die 5V vom Spannungsregler.
Zwar ist die interne Referenz nicht genauer, um eine
Kalibrierung kommst du also nicht drumrum, aber 1000
mal stabiler, die Messwerte bleiben also korrekt.

> Ist es überhaupt möglich ohne Referenzspannung 1,5V extern
> ordentlich zu messen

Vor allem liefert der blöde LM35 eine negative Spannung
bei negativen Temperaturen.

Da der uC eine interne Referezspannung hat, die er nach
aussen leiten kann, sollte man diese verwenden. Allerdings
braucht man von ihr nur einen Bruchteil, sagen wir 1V,
dann müsste an Vref ein Spannungsteiler

Aref--|+\           +5V  +5V
      |  >-+--+      |    |
   +--|-/  | 15k     |  LM35--+-- A/D
   |       |  |      |    |   |
   +-------+  +-----|+\   |   |
              |     |  >--+  22k
             10k  +-|-/   |   |
              |   | LM358 |   |
             GND  +-------+  GND

Macht 10mV pro GradC ab -100 GradC bis +150 GradC.



Warum die Leute immer so einen Scheiss-Sensor kaufen,
und sich dann wundern warum er nicht so einfach einzusetzen
ist wie ein NTC, KTY oder LM335, ist mir schleierhaft.

> Aber 3,333 rechnen geht ja nicht wirklich.

Och Gottchen, in Bruchrechnen nicht aufgepasst ?
( x * 10 ) / 3

von Sepp (Gast)


Lesenswert?

Okay danke ich habe es jetzt so gelöst.


$regfile = "M8def.dat"                                      ' use the 
Mega8

$crystal = 8000000


Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , 
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cls
Cursor Off

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'config ADC
Start Adc


Dim W As Word
Dim Volt As Single
Dim Celsius As Single
Const Adc_faktor = 4.8
Dim Z As String * 10


Do
Cls
W = Getadc(0)
Volt = W * Adc_faktor
Celsius = Volt / 10
Z = Fusing(celsius , "#.#")



 Locate 1 , 1
 Lcd W
 Locate 2 , 1
 Lcd Z ; "ß"
 waitms 500



 Loop
End

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.