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
Auf der ersten Seite steht doch die Formel ... wo ist da das Problem?
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.
Robert K. schrieb: > datenblatt1.jpg Warum verlinkst du statt irgenwelchem JPEG Pixelgeschmiere im Photoformat nicht das Datenblatt des ST-20M/Z http://www.sensorpro.com/images/Dsht-ST20f.pdf
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
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.
Nimm doch der einfachheit halber gleich einen ds18b20... Die libs funktionieren, und geben dir den wert in °C zurück... Und vor allem, hält sich der hardwareaufwand in grenzen...
Steven M. schrieb: > Und vor allem, hält sich der hardwareaufwand in grenzen... Wenn du eine Quelle für einen DS18B20 im passenden Einschraubgehäuse hast, mag das richtig sein. Aber bis der DS18B20 so verpackt ist, muss man einigen Hardwareaufwand treiben.
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...
:
Bearbeitet durch User
Die 18b20 gibt es fertig verpackt: www.ebay.de/itm/like/161742442239
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.
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.