Da muss ich auch noch mal an den Beitrag von S. Landolt (Gast)
anschließen:
Die 5 V aus der USB-Versorgung sind vielleicht nur eine
Hausnummer. Laut Wikipedia-Artikel "Universal Serial Bus"
dürfen da 4,4...5,5 V anliegen.
Wenn sich an die altmodische TTL-Regel gehalten wird, so haben
wir 4,75...5,25 V. Hast du ein DVM um die "5 V" zu messen, sind
die stabil?
Beispiel: Idealer LM 335 bei 298 K = 25 °C: 2,98 V
Umrechnungsfaktor K = 0,48852 * ADC, °C = K - 273
A) Vcc = Vref = 5,25 V
ADC = 2,98 / 5,25 * 1024 = 581 -> 11 °C
B) Vcc = Vref = 5,00 V
ADC = 2,98 / 5,00 * 1024 = 610 -> 25 °C
C) Vcc = Vref = 4,75 V
ADC = 2,98 / 4,75 * 1024 = 642 -> 41 °C
Beim Mega168 und Mega328 gibts alternativ zu Vcc eine 1,1 V
Internal Reference.
Benutzt du diese und teilst das Signal vom LM335Z mit einem
Spannungsteiler durch 4, kannst du 0...4,4 V (-273...167 °C)
erfassen.
So wie eine 5 V Betriebsspannung als Uref (egal, ob USB, oder ein
LM7805) sind diese 1,1 V auch nicht sehr genau, ABER (!) recht
stabil.
Du wirst in jedem Fall bei der ersten Inbetriebnahme einen
Abgleich vornehmen müssen. Dies kann per Software, oder z.B. mit
einem 10-Gang-Poti (10 kOhm) erfolgen, das den Spannungsteiler
1:4 darstellt. Am Poti kurbelst du solange, bis die mit
einem externen Thermometer ermittelte Temperatur angezeigt wird.
Instabilitäten sind dann nur noch äußere Störungen, die durch
das Layout und RC-Filterung minimiert werden können - und durch
Mittelwertbildung über die Netzspannungsperiode (20 ms), oder
über die Periode der Störspannungen, die du mit dem µC erzeugst...