Hallo, mich würde interessieren wie ihr eure Temp-Sensoren mit dem LM335 am atmega realisiert habt und wie eure Erfahrungen sind. (Genauigkeit) Wie habt ihr es implementiert? - die Spannung vom LM335 analog aufbereiten und AREF geschickt wählen und dafür weniger Software? - Oder alles Software mit Fließkommarechnungen? Ciao Chris
Hallo Chris, meine Erfahrung mit dem LM335 an einem Mega8 ist, dass man eine Genauigkeit von bestenfalls 0,25 °C (eher 0,5 °C) erreichen kann. Dabei ist schon ein gewisser Aufwand für die Kalibrierung erforderlich. 1) Fehler des LM335 bis zu +/-8 °C (evtl. Abgleich mit 10k-Poti) 2) Fehler des ADC im Mega8 laut Datenblatt bis zu +/-3 Bit (etwa +/- 0,75 °C) 3a) Nimmt man die von einem 7805 stabilisierte Betriebsspannung (5 V +/- 5%) des Mega8 als Referenzspannung für den AD-Wandler kommt eine Unsicherheit von +/-5% (bis zu 15 °C) hinzu. 3b) Ansonsten ist für A-Ref eine zusätzliche Präzisionsspannungsquelle (+/-1 mV über den gewünschten Temperaturbereich) erforderlich. Am besten setzt man die ganze Schaltung der tiefsten und höchsten Arbeitstemperatur aus und speichert die erhaltenen AD-Wandler-Ergebnisse im EEPROM. Diese Kalibrierung ist beim Austausch des LM335, (evtl. des 7805) und des atmega's zu wiederholen. Mittelwertbildung über 4 Messungen gibt deutlich stabilere Ergebnisse! Im Betrieb wird die Temperatur durch Interpolation errechnet. Fließkommarechnung oder geschickte Integerrechnung kann die gleiche Genauigkeit ergeben, hier muss man Speicherverbrauch gegen erforderlichen Gehirnschmalz abwägen. Viel Spaß, Ralli
Hallo Ralli, Danke für die Tips! Wie dramatisch ist das mit dem 7805 als Referenz? Kann ich den Fehler mit einem Mittelwert aus mehreren Messungen in Grenzen halten (sagen wir +/- 1°C) oder brauche ich wirklich eine Präzisionsspannungsquelle (LM336-5.0 ?) Ciao Chris
Hallo Chris, Die Mittelung aus 4 Messungen dient nur der Rauschunterdrückung, sie kann nur zufällige Fehler, keine systematischen Fehler verringern. Die Ausgangsspannung eines LM7805 liegt je je nach Exemplar bei 4,75 bis 5,25 V (meist 4,8 ... 5,2 V). Diese Spannung bleibt aber bei konstanter Last bis auf einen Temperaturgang von -0,8 mV/°C relativ stabil. Typischer Temperaturgang des 7805 über 0-70°C: 50 - 60 mV Als A-Ref bedeutet dies +/- 3 °C. Der Temperaturfehler des LM336-5.0 ist max. 12 mV über 0-70°C, bringt also nur 1,2 °C (oder +/- 0,6 °C) Fehler in diesem Temperaturbereich dazu. Weiterhin: Genauigkeit des (abgeglichenen!) LM335 über 0-70°C: etwa 1 °C AD-Wandler-Fehler atmega: 2 - 3 Bit, also 1 - 1,5 °C Kommt also darauf an, was du - mit welchem Aufwand erreichen willst. Bis denn, Ralli
Kann mir jemand sagen, was dieser Sensor mißt? Ist die gemessene Temperatur: - Umgebungstemperatur oder - Temperatur vom Baustein ??? Bei einer Raumtemperatur von 24 °C mißt der Sensor 38°C.
@ Ralli (Gast) >meine Erfahrung mit dem LM335 an einem Mega8 ist, dass man eine >Genauigkeit von bestenfalls 0,25 °C (eher 0,5 °C) erreichen kann. Ha, wenn das mal kein Irrtum ist. 0,5 Grad GENAUIGKEIT über den vollen Messbereich ist aufwändiger als man glaubt. Aufloesung und Genauigkeit >Mittelwertbildung über 4 Messungen gibt deutlich stabilere Ergebnisse! Und? Was hat das mit GENAUIGKEIT zu tun? GAR NIX! Es verringert nur das Rauschen. >Fließkommarechnung oder geschickte Integerrechnung kann die gleiche >Genauigkeit ergeben, Quark. Festkommaarithmetik reicht allemal, ändert aber nix and er Genauigkeit. Die wird in erster Linie duch den Analogteil und den ADC bestimmt. > hier muss man Speicherverbrauch gegen >erforderlichen Gehirnschmalz abwägen. In der Tat! MFG Falk
Der Sensor mißt natürlich seine eigene Temperatur ! Soll er die ihn umgebene Luft messen, muß der Fühler intelligent angebracht werden. Er sollte nicht von zu viel Strom durchflossen werden, damit er sich nicht erwärmt. Es muß immer eine gewisse Zeit gewartet werden, damit der Festkörper (Sensor) auch die Temperatur des Mediums annimmt. In der Luft hilft dabei auch eine exponierte Montage und Strömung, um mehr Luft in Berührung mit dem Sensor zu bekommen.
@ Marc (Gast) >Ist die gemessene Temperatur: >- Umgebungstemperatur >oder >- Temperatur vom Baustein Er misst die vom Baustein, welche bei gescheitem Design sehr nah an der Umgebungstemperatur liegt. Die meiste Wärme koppelt über die Drahtanschlüsse ein, also muss dort eine grosse Kupferfläche dran, die als Wärmetauscher zwsichen Umgebung und IC funktioniert. Mit kurzen Anschlüssen. >Bei einer Raumtemperatur von 24 °C mißt der Sensor 38°C. Wieviel Strom jagst du denn durch? Der IC läuft von 400uA bis 5mA. bei einer Spannung von 2.98V bei 25 Grad sind das 15mW. Das sollte auch bei ~200k/W Wärmewiderstand 8TO92 Gehäuse) max. 3 Grad ausmachen. Ein typischer Vorwiderstand für 5V wäre dann 1 kOhm. MfG Falk
Der Vorwiderstand beträgt 2,7K und bei einer Spannung von 5 V fließt ein Strom von 1,85 mA. Bei Raumtemperatur messe ich am Ausgang eine Spannung von 3,01 V.
@ Marc (Gast)
>Bei Raumtemperatur messe ich am Ausgang eine Spannung von 3,01 V.
Das wären 310 Kelvin, macht 37 Grad Celsius. Hmmm. Ist dein Messgerät
kalibriert?
MfG
Falk
Bei mir sind 3,01V aber 301 Kelvin...(10mV/K) Daher wären das dann "nur" 28°C.
bei 3,01 V sind es "nur" 28°C.. (3,01V/10mV)-273 = 28°C Umgebungstemperatur könnte 21°C sein => 28°C - 21°C = 7°C Unterschied das muss ich wohl so hinnehmen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.