Temperaturmessung mit Atmega328

OP #4505174
Lesenswert?
• ▲
▼
Hallo,

ich muss echt sagen, super tolles Forum! Man kann hier super viel lernen 
und bekommt immer Hilfe und neue Ideen!

Kommen wir zu meinem Problem. Ich bin gerade dabei ein Projekt zu 
machen, welches unteranderem eine Temperaturmessung eines Fluides 
beinhaltet.
Diese Temperaturmessung sollte wenn es geht auf 0,1 Grad genau sein, 
wenn es 0,5 Gradschritte sind wäre es auch noch ok. Der 
Temperaturbereich sollte zwischen 0 Grad - 100 Grad liegen.
Ich habe einen Temperatursensor von Conrad (Temperatur-Sensor 2000 ? 
ST-20M -50 - +150 °C). Das datenblatt habe ich mal mit angehangen.
Die Messung wird an einer bestimmten Stelle im Programm und nur einmal 
durchgeführt(single conversion mit polling).
Bin mir aber noch unschlüssig ob ich die ganzen 10bit nehme oder ob 8bit 
für den Wert der Wandlung reichen, da die zwei
letzten Bits doch sehr schwanken.
Aber um auf meine eigentlich Frage oder mein eigentliches Problem zu 
kommen, ich habe nach der Messung / AD-Wandlung in einer Variable meinen 
Wert zwischen 0-1024 stehen.
Wie bekomme ich aus diesem Wert meine Grad Zahl also mein float, welche 
ich dann über meine UART senden kann?
Habe da iregndwie ein denk Problem, weil ich nicht weis wie ich daran 
gehen soll um den digitalwn Wert in den tatsächlichen Temperaturwert 
umzurechnen.

Schönen Abend noch

Lg Robert
Angehängte Dateien:
Gast #4505310
Lesenswert?
• ▲
▼
Robert K. schrieb:
> ich muss echt sagen, super tolles Forum! Man kann hier super viel lernen
> und bekommt immer Hilfe und neue Ideen!

Genug des süßen Honigs ...

> Diese Temperaturmessung sollte wenn es geht auf 0,1 Grad genau sein,
> wenn es 0,5 Gradschritte sind wäre es auch noch ok.

Lies mal ein paar Grundlagen über den Unterschied zwischen Genauigkeit 
und Auflösung.

> Bin mir aber noch unschlüssig ob ich die ganzen 10bit nehme oder ob 8bit
> für den Wert der Wandlung reichen, da die zwei letzten Bits doch sehr
> schwanken.

Trotz der Schwankungen enthalten auch die unteren Bits ein Stückchen 
Wahrheit. Mittelwertbildung ist das Geheimnis vieler Messungen, um das 
allgegenwärtige Rauschen der Welt ausreichend stark abzuschwächen.
Gast #4505354
Lesenswert?
• ▲
▼
Wolfgang schrieb:
> Trotz der Schwankungen enthalten auch die unteren Bits ein Stückchen
> Wahrheit. Mittelwertbildung ist das Geheimnis vieler Messungen, um das
> allgegenwärtige Rauschen der Welt ausreichend stark abzuschwächen.

Hallo,

wenn da etwas schon bei 10 Bit um 2 Bits schwankt ist irgendwas mit der 
Schaltung faul. Ich habe selbst bei 12 Bit Temperaturmessungen maximal 
an den Stellen zwischen 2 Messwerten ein hin und herspringen.

Robert K. schrieb:
> Bin mir aber noch unschlüssig ob ich die ganzen 10bit nehme oder ob 8bit
> für den Wert der Wandlung reichen, da die zwei
> letzten Bits doch sehr schwanken.

Robert K. schrieb:
> Diese Temperaturmessung sollte wenn es geht auf 0,1 Grad genau sein,
> wenn es 0,5 Gradschritte sind wäre es auch noch ok.

Bei 0..100 Grad Messbereich mit 0.1 Grad Auflösung brauchst du 
mindestens 10 Bit. In der Realität gelingt dies nur wenn du einen 
entsprechenden Meßverstärker hast, der den Temperaturbereich exakt an 
den Messbereich des ADCs anpassen kann.

Robert K. schrieb:
> Wie bekomme ich aus diesem Wert meine Grad Zahl also mein float, welche
> ich dann über meine UART senden kann?

Im einfachsten Fall über lineare Interpolation.
Wobei ich vermute daß du kein float (binär) sondern eine ASCII 
Zeichenkette mit einer Dezimalzahl an den UART schicken willst.

Gruß Anja
Gast #4505375
Lesenswert?
• ▲
▼
Anja schrieb:
> wenn da etwas schon bei 10 Bit um 2 Bits schwankt ist irgendwas mit der
> Schaltung faul.

Wer weiß schon, wie in dem Aufbau von Robert die Referenzspannung 
abgeblockt ist, wie stabil sie ist, was sonst noch in die Schaltung rein 
streut oder was die Verdrahtung des Sensors so einfängt. Da sind auch 
bei nur 10Bit schnell mal zwei Bit mit Rauschen vermüllt.
#4505499
Lesenswert?
• ▲
▼
man muss ja keinen zum einschrauben nehmen... es gibt auch lösungen die 
bestehen nur aus einer hülse, die ins rohr eingeschweißt oder geschraubt 
ist, in die ein standardfühler, ggf mit etwas wärmeleitpaste, 
eingeschoben wird (aka tauchhülse). hat den vorteil, dass man das system 
ansich nicht öffnen muss, wenn man den fühler wechseln will...
Gast #4505535
Lesenswert?
• ▲
▼
google schrieb:
> Die 18b20 gibt es fertig verpackt:
>
> www.ebay.de/itm/like/161742442239

Die entsprechen wahrscheinlich nicht den Qualitäts- und 
Preisvorstellungen des TO ;-)

Für den Hausgebrauch reicht es meist, den DS18B20 in seinem TO-92 
Gehäuse mit etwas Wärmeleiter als Anlegefühler zu verwenden und mit 
Kabelbinder zu haltern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren