Hallo alle miteinander, ich beschäftige mich grad mit dem Sensor DS18B20. Ich lese von Maxim Integrated das Datenblatt durch. ich verstehe einen Teil nicht und habe gehofft ihr könnt es mir eventuell erklären. Beim Punkt "Operation—Alarm Signaling" auf der Seite 6 steht: (Diesen Teil habe ich noch verstanden) The DS18B20 output temperature data is calibrated in degrees Celsius. The temperature data is stored as a 16-bit sign-extended two’s complement number in the temperature register (see Figure 4). The sign bits (S) indicate if the temperature is positive or negative: for positive numbers S = 0 and for negative numbers S = 1. (den unteren Teil habe ich nicht mehr verstanden) If the DS18B20 is configured for 12-bit resolution, all bits in the temperature register will contain valid data. For 11-bit resolution, bit 0 is undefined. For 10-bit resolution, bits 1 and 0 are undefined, and for 9-bit resolution bits 2, 1, and 0 are undefined. Table 1 gives examples of digital output data and the corresponding temperature reading for 12-bit resolution conversions. Entschuldigt ich kann leider die Tabelle nicht einfügen bzw. Anhängen aber ich habe das Datenblatt anhängen können auf der Seite 6 findet man die Tebelle. Also meine Frage ist: wieso wird bei 11-bit 0 undefiniert, bei 10-Bit 1 und 0 undefiniert und so weiter worauf kommt das an, wie entscheidet man das?
HM65 schrieb: > Also meine Frage ist: > wieso wird bei 11-bit 0 undefiniert, bei 10-Bit 1 und 0 undefiniert und > so weiter worauf kommt das an, wie entscheidet man das? Je nachdem, welche Genauigkeit Du eingestellt hast. Hast Du den Sensor auf 9-Bit konfiguriert, misst er schneller. Du kannst dann aber nur die oberen 9-Bit verwenden. Alle anderen enthalten sinnlose Werte, die Du für die Weiterverarbeitung ausmaskieren musst.
:
Bearbeitet durch User
Also wenn ich es richtig verstanden habe: bei 12-bit sind alle daten gültig das man bei 12-bit eine Genauigkeit von 0,0625°C haben will bei 11-bit hat man 0 undefiniert da man bei 11-bit eine Temperatur Genauigkeit von 0,125°C hat bei 10-bit ist eine Genauigkeit von 0,25°C gegeben dementsprechend sind 0 und 1 undefiniert und bei 9-bit ist die Messgenauigkeit 0,5°C das heißt 0,1 und 2 müssen undefiniert sein aber das gilt nur bei 9-12-bit... Wenn ich richtig liege; WILL ICH MICH VOM GANZEN HERZEN BEDANKEN!! vielen Dank für Ihre Hilfe!!
HM65 schrieb: > bei 12-bit sind alle daten gültig das man bei 12-bit eine Genauigkeit > von 0,0625°C haben will beschäftige Dich mal mit den Begriffen: Genauigkeit und Auflösung (siehe https://www.mikrocontroller.net/articles/Aufl%C3%B6sung_und_Genauigkeit) DS18B20 hat bei 12-bit eine Genauigkeit lt. Datenblatt von +-0,5°C und eine Auflösung von 0,0625°C
Oh, ich verstehe. Vielen Dank das Sie mich auf diesen Fehler aufmerksam gemacht haben!
Wolle G. schrieb: > DS18B20 hat bei 12-bit eine Genauigkeit lt. Datenblatt von +-0,5°C und > eine Auflösung von 0,0625°C Bedeutet das, ich kann mit einen Tempmessgerät von einer Absoluten Messgenauigkeit von +/+0,03 Grad meinen Sensor Kalibrieren?
Peter_ schrieb: > Bedeutet das, ich kann mit einen Tempmessgerät von einer Absoluten > Messgenauigkeit von +/+0,03 Grad meinen Sensor Kalibrieren? Du kannst ihn auch mit einem Sensor mit +/-0,01K Genauigkeit kalibrieren. Egal wie genau deine Kalibrirreferenz auch ist, der Sensor wird dadurch nicht genauer. Denn in der Genauigkeit stecken auch alle anderen Fehler drin, welche die Messung beeinflußen, wie Alterung, Schwankung der Versorgungsspannung, Hysterese des Sensors etc. Viel besser als die 0,5K vom Hersteller wird man nicht werden. AUFLÖSUNG ist ein anderes Thema!
Das ist schon verständlich und nicht strittig. Wenn jetzt eine Temperatur Kurve aufgezeichnet wird und die Sensortemperatur kalibriert wurde,werden dann die Temperaturschritte von 0,0625 Grad angezeigt?
Bei 12-bit-Messung: Ja. Wenn man die äußeren Parameter (Vcc etc., evtl. kein parasite power) einigermaßen konstant lässt, kann man mit Abgleich schon 0,2°C Genauigkeit erreichen. Ist halt auch eine Frage des benötigten Temp-Bereiches.
Peter_ schrieb: > Wenn jetzt eine Temperatur Kurve aufgezeichnet wird und die > Sensortemperatur kalibriert wurde,werden dann die Temperaturschritte von > 0,0625 Grad angezeigt? Die Auflösung von 0,0625K ist unabhängig von der Kalibrierung. Was auf der Anzeige erscheint, hängt davon ab, wie die Rohdaten des Sensors aufbereitet werden. Wahrscheinlich wirst du dich z.B. um ein überlagertes Rauschen kümmern müssen.
Peter_ schrieb: > Wenn jetzt eine Temperatur Kurve aufgezeichnet wird und die > Sensortemperatur kalibriert wurde,werden dann die Temperaturschritte > von 0,0625 Grad angezeigt? nicht unbedingt jeder einzelne, es gibt auch noch Linearitätsfehler. Nicht so sehr vom eigentlichen Sensor, aber der ADC im DS18B20 ist doch eher auf 1-Wire "optimiert". Selbst einem NTC, aber mit ordentlichem ADC dahinter, würde ich eher trauen. Ganz abgesehen davon, wer würde bzw. könnte überhaupt alle 4096 Punkte kalibrieren?
Beitrag #6643425 wurde vom Autor gelöscht.
Der DS18B20 dürfte auch so relativ genau sein. Klar hat der angezeigte Wert eine Genauigkeit von 0,5K, aber die Wiederholbarkeit scheint wesentlich besser zu sein. Wir haben welche in Klimakammern und die zeigen über hunderte Messungen nur eine Abweichung von +/-1 LSB pro Sensor. Die einzelnen Sensoren unterscheiden sich jedoch voneinander. D.h. wenn man nur Temperaturveränderungen messen will, dann ist der schon ziemlich genau. PS: Bei uns lautet die Vorgabe "auf 1 Grad genau", der DS18B20 erfüllt diese also ohne irgendwelches Kalibrieren.
Da es mir nicht gelungen ist, zwei Bilder anzuhängen, zunächst Bild 1 Peter_ schrieb: > Wenn jetzt eine Temperatur Kurve aufgezeichnet wird und die > Sensortemperatur kalibriert wurde, werden dann die Temperaturschritte von > 0,0625 Grad angezeigt? Wie die 0,0625 Grad angezeigt werden, ist bei den oben gezeigten Abkühlkurven zu erkennen. Es handelt sich um zwei DS18B20 (+- 0,5K) und um zwei TSiC506 (+-0,1K) Alle 4 Thermometer wurden zusammen mit Draht zu einem Bündel zusammen gebunden und in einen Lappen eingewickelt. Bild 2 zeigt einen Ausschnitt von Bild 1. Hier ist das "Rauschen" des letzten Bit gut zu erkennen.
Hallo, ich möchte gerne ein wenig die Begriffe sortieren. Als Leiter eines Kalibrierlabores erlaube ich mir das einmal. 1. Der DS18B20 hat bestenfalls eine Auflösung von 0,0625 K. Das sagt nichts über die Abweichung zu einer Referenz aus. Ich habe mir mal ca. 20 Stück angesehen und die Streuung war schon deutlich. 2. Eine Kalibrierung ist vereinfacht gesagt der Vergleich mit einer Referenz. Dabei schreibt man die ermittelten Messwerte mit der zugeordneten Messunsicherheit auf. - Die Messwerte der Referenz sind mit einer Unsicherheit behaftet. - Die Messwerte des Kalibriergegenstandes sind ebenfalls mit einer Unsicherheit behaftet. Wir verwenden den Begriff Unsicherheit und nicht Genauigkeit oder ähnliches. - Bei der Kalibrierung hängen das Referenzthermometer und der Kalibriergegenstand in einem Kalibrierbad. Beide in enger räumlicher Nähe, aber sie haben keinen Kontakt. Aufgrund der Bauform unserer Kalibriergegenstände können wir keinen Ausgleichsblock verwenden. - Wir berechnen die Abweichung zur Referenz und geben für das Delta eine Unsicherheit an, die 20 mK nicht unterschreiten kann (k=2). 3. Die Bestimmung der Unsicherheit kann aufwändig sein und sehr viele einzelne Unsicherheitskomponenten aufweisen. Zur Unsicherheit gehört z.B. auch die Auflösung des Kalibriergegenstandes aber nicht die Langzeitdrift. 4. Die Ergebnisse der Kalibrierung kann man nutzen, um die Messwerte unter den gleichen oder ähnlichen Bedingungen wie bei der Kalibrierung zu korrigieren. Aber eine Korrektur ist wiederum mit Unsicherheiten verbunden und in der Regel sind die Einsatzbedingungen vollkommen anders. Das heißt, zur Unsicherheit der Kalibrierung kommt immer noch eine Unsicherheit für den spezifischen Einsatz. Dass muss der Nutzer beachten. 5. Bei einer Kalibrierung wird nichts am Kalibriergegenstand eingestellt, geschraubt oder programmiert; das wäre eine Justierung. Er bleibt also wie er ist. Sollte aufgrund der Kalibrierung eine mögliche Justierung durchgeführt werden, erfolgt danach immer eine erneute Kalibrierung. 6. Ein Thermometer kann also bei 0 °C eine deutliche Abweichung haben, sagen wir mal 2 K, und kann dennoch kalibriert sein. Gruß Holger
Meiner Erfahrung nach ist die Anzeige einer Temperaturentwicklung recht zuverlässig, auch wenn die absolute Genauigkeit geringer ist. Lies: sehr geringes Rauschen. Ich hatte allerdings auch schon vergossene Sensoren erwischt, die mir wie ungenaue Fälschungen vorkamen.
:
Bearbeitet durch User
Holger D. schrieb: > Ich habe mir mal ca. > 20 Stück angesehen und die Streuung war schon deutlich. Dazu einige Fragen an einen Experten: a) Kannst Du die Streuungsbreite der untersuchten DS18B20 hier mal nennen? Der Einsatztemperaturbereich der DS18B20 beträgt -55°C bis 100°C. b) Wird, um die Unsicherheit zu bestimmen, der gesamte Temperaturbereich durchfahren und gibt es dazu zur Darstellung Diagramme o.ä.? c) gibt es Langzeiterfahrungen zu den DS18B20? Ich verwende die DS18B20 seit >10 Jahren zur Datenaufzeichnung in unserer Heizstation bei Temperaturen bis ca. 95°C und schreibe die Messwerte auf eine SD-Karte.
Wolle G. schrieb: > a) Kannst Du die Streuungsbreite der untersuchten DS18B20 hier mal > nennen? Die lagen damals alle bei Raumtemperatur in einem Bereich von ca. +/- 0,5 K. > b) Wird, um die Unsicherheit zu bestimmen, der gesamte Temperaturbereich > durchfahren und gibt es dazu zur Darstellung Diagramme o.ä.? Bei uns wird der für uns relevante Temperaturbereich in Schritten durchfahren. -30°C, -15 °C, 0 °C .... Die Unsicherheit bezieht sich dann immer auf den konkreten Punkt bzw. den Punkten. Es ist durchaus möglich, dass zwischen den Kalibrierpunkten andere Unsicherheiten vorkommen können. Das ist wiederum eine Sache, die der Nutzer beachten muss. Beispiel Kalibrierung Pt100: Referenz 0,006 °C, Kalibriergegenstand 0,016 °C, Differenz +0,01 K, Unsicherheit (k=2) für die Differenzbestimmung +/- 0,02 K. Die Abweichung kann auch zwischen -0,01 K und + 0,03 K liegen. Niemand weiß das. Nun könnte man mit einem gewissen Aufwand die Unsicherheit verringern. Aber bei einem DS18B20 wird die Unsicherheit schon einmal nicht unter der Auflösung liegen. > c) gibt es Langzeiterfahrungen zu den DS18B20? Nein, dass war rein aus Interesse, da man ja hier im Forum immer von der sagenhaften Genauigkeit von 0,0625 K liest. Dabei ist das die vom Hersteller genannte Auflösung und die Spezifikationen besagen "±0.5°C Accuracy from -10°C to +85°C". Bei 95 °C soll es ja schon 1K sein. Interessant dürfte auch die Drift sein. Gruß Holger
Holger D. schrieb: > Bei 95 °C soll es ja schon 1K sein. > Interessant dürfte auch die Drift sein. Vielen Dank für die Erläuterungen. Schade, dass keine Langzeiterfahrungen vorliegen. Die Frage ergab sich eigentlich nur interessehalber. Bei dem genannten Anwendungsfall kommt es ja nicht auf einen Schnaps an. Ob die gelieferte Fernwärme zum Zeitpunkt xx eine Temperatur von 95°C oder 93°C o. ä hatte, ist hier unwichtig. Aber vielleicht kennt jemand das Langszeitverhalten des DS18B20 bei Temperaturen nahe der Grenztemperatur. Kleine Fehlerkorrektur aus meinen Beiträgen: a) Der Temperaturmessbereich des DS18B20 reicht von -55°C bis 125°C. -55°C bis 100°C gilt für DS18B20 PAR. b) Die Kurven ‚türkis’ und ‚gelb’ gehören zum DS18B20.
Holger D. schrieb: > ... da man ja hier im Forum immer von der sagenhaften Genauigkeit > von 0,0625 K liest. Nur von den Leuten, die Auflösung und Genauigkeit nicht auseinander halten können.
Wolfgang schrieb: > Nur von den Leuten, die Auflösung und Genauigkeit nicht auseinander > halten können. Manchmal interpretieren die Leser eines Beitrages dies auch nur unrichtig.;-)
Wolfgang schrieb: > Nur von den Leuten, die Auflösung und Genauigkeit nicht auseinander > halten können. Was dann auch immer Genauigkeiten sein sollen ... Wir sprechen von Unsicherheiten.
Moin, ich habe jetzt mal aus der Bastelkiste 9 DS18S20 auf einem Breadboard mit LCD und Atmega32 gesteckt. Also keine (B) sondern (S), die aber meines Wissens nach den selben Inhalt aber ein etwas anderes Frontend haben und lediglich etwas anders ab Werk konfiguriert sind. Man möge mich korrigieren. Anbei eine Grafik. Gruß Holger
Das ist doch nicht schlecht: Maximal 1% Unterschied zwischen "Bestem" und "Schlechtesten"
Holger D. schrieb: > Die lagen damals alle bei Raumtemperatur in einem Bereich von ca. +/- > 0,5 K. Genau so sind sie auch angegeben +/- 0,5K. Für viele Fälle sollte das ausreichen; bei uns reicht das jedenfalls. > (S) oder (B) Der DS18S20 ist als Ersatz für den DS1820 gedacht. Beim DS18B20 kann die Auflösung vorgewählt werden über das Konfigurationsregister. Wenn 9-Bit reichen, dann ist der mit <100ms deutlich schneller.
Holger D. schrieb: > Was dann auch immer Genauigkeiten sein sollen ... Wir sprechen von > Unsicherheiten. Für den einen ist das Glas halb voll, für den anderen halb leer.
Es ist auch nicht unwesentlich wie "original" der Sensor ist Hier ist eine sehr gute Auflistung der diversen Fakes/Versionen: https://github.com/cpetrich/counterfeit_DS18B20 Es gibt dort auch ein Arduino Testprogramm um diverse Versionen zu erkennen
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.