DS18S20 One Wire Temperatur Sensor mit 16 Bit -> ich brauch aber nur 10 Bit

Gast #4202829
Lesenswert?

Hallo Forengemeinde,

ich kann mir aktuell die erweiterte 16 Bit Auflösung des DS18S20 
anschauen. Das funktioniert soweit.

Was mir nicht gefällt ist die 16 Bit Auflösung. Ich bin vom Thermometer 
aber 10 Bit gewöhnt.

Aktuell bekomme ich also folgende Nachkommastellen (vielfache von 
0,0625):

0,0625
0,125
0,1875
0,25
0,3125
0,375
0,4375
0,5
0,5625
0,625
0,6875
0,75
0,8125
0,875
0,9375
1

Ich steh irgendwie auf dem Schlauch wie ich das in 10 Bit Auflösung (0,1 
0,2  0,3  ....)umrechnen kann.

Hat jemand einen Tipp?

Gruß Paul
Gast #4202847
Lesenswert?

Sven B. schrieb:
> 10 Bit hat mit 0.1, 0.2, 0.3 relativ wenig zu tun ... dafür sollte man
> den Wert eher runden:
> temp = ((int)(temp*10)) / 10

Der DS18B20 gibt die Werte als Integer in Einheiten von 1/16°C raus.

Paul schrieb:
> Aktuell bekomme ich also folgende Nachkommastellen (vielfache von
> 0,0625):

Die Zahlenwerte mit den Nachkommastellen werden von deiner (uns 
unbekannten) Software erzeugt.
#4202913
Lesenswert?

Marc V. schrieb:
>  Soviel ich weiß, hat der DS18S20 eine Genauigkeit von +/- 0.5C und
>  eine Auflösung von 0.5C bei 9bit (bit 0).

Es gibt noch einen Rest in einem weiteren Byte, mit dem man auf 1/16 
Auflösung kommt. Der Unterschied zum 18B20 ist nur die Art, wie man an 
diese Auflösung kommt.

>  Genauer als 0.5C kann es also nicht sein, alles andere ist Blödsinn,

Genauer als 0,5°C wird es zwar nicht, aber grad bei 
Innen/Aussentemperaturen ist eine höhere Auflösung zwecks Tendenzanzeige 
durchaus nützlich.
(Firma: Vescomp) #4202922
Lesenswert?

A. K. schrieb:
> Es gibt noch einen Rest in einem weiteren Byte, mit dem man auf 1/16
> Auflösung kommt.
 Das ist mir bekannt, aber diese Auflösung ist nutzlos wenn die
 Genauigkeit selbst dafür nicht reicht.

> Innen/Aussentemperaturen ist eine höhere Auflösung zwecks Tendenzanzeige
> durchaus nützlich.
 Ja, aber das ändert nichts an der Genauigkeit, somit ist die Tendenz
 nur auf +/- 0,5C genau. Durch diese 0,5C Ungenauigkeit kann es dann
 sehr wohl eine zackige Kurve geben, obwohl die Temperatur linear
 ansteigt oder sogar gar nicht verändert wird.
#4202940
Lesenswert?

Marc V. schrieb:
>  Ja, aber das ändert nichts an der Genauigkeit, somit ist die Tendenz
>  nur auf +/- 0,5C genau.

Zeitliche Stabilität und Linearität sind de fakto deutlich besser als 
die garantierte absolute Genauigkeit. Deshalb ist eine Tendenzanzeige 
mit 1/16 °C Schritten durchaus zu gebrauchen, auch wenn die absolute 
Genauigkeit nicht mithält.

Schau dir so ein Teil mal im praktischen Betrieb an. Die theoretisch 
erlaubte zackige Kurve tritt zumindest bei mir in der Praxis eben nicht 
auf. Alle 5 Sensoren, die ich grad in Beobachtung habe, schwanken 
maximal in der letzten Stelle. Meist nicht einmal dies.
Persönliche Seite #4202963
Lesenswert?

Marc V. schrieb:
>  somit ist die Tendenz nur auf +/- 0,5C genau.

Aber die "Tendenz" bezieht man immer auf die vorher gemessenen Werte, 
und die Abweichung zwischen "realer" und "gemessener" Temperatur ändert 
sich nicht Sprunghaft.

Der "differentielle Teil" (AC-Anteil) ist also quasi vom DC-Fehler 
befreit, wenn diese Formulierung hilft.

@A. K.: Wie Du schon sagtest, nur anders formuliert. Hoffentlich 
versteht er es nun.

@Paul: Problem gelöst? Thread für Debatten freigegeben?
Gast #4202979
Lesenswert?

A. K. schrieb:
> Zeitliche Stabilität und Linearität sind de fakto deutlich besser als
> die garantierte absolute Genauigkeit. Deshalb ist eine Tendenzanzeige
> mit 1/16 °C Schritten durchaus zu gebrauchen, auch wenn die absolute
> Genauigkeit nicht mithält.

Leider ist die Rauschamplitude des Analogteils vom DS18B20 nicht groß 
genug, so dass man auch bei Mittelung nicht über die Auflösung von 1/16 
Grad hinaus kommt.
Persönliche Seite #4202993
Lesenswert?

Tom schrieb:
> so dass man auch bei Mittelung nicht über die Auflösung von 1/16
> Grad hinaus kommt

Was erwartest Du? Maxim/Dallas wird die ADC-Auflösung schon sinnvoll an 
das Rauschen angepasst haben, darin sind die gut!

Aber 1/16 Grad Auflösung bei 1/2 Grad Genauigkeit für 60 Cent sind doch 
schon genial. Ich habe viel gesucht und nichts besseres gefunden.
(Firma: Vescomp) #4202997
Lesenswert?

Torsten C. schrieb:
> @A. K.: Wie Du schon sagtest, nur anders formuliert. Hoffentlich
> versteht er es nun.
 Mir scheint, du versteht es nicht.
 Ob der Fehler bei einem bestimmten Exemplar größer oder kleiner ist,
 tut nichts zur Sache. Garantiert ist nur +/- 0,5C und damit hats.

> Der "differentielle Teil" (AC-Anteil) ist also quasi vom DC-Fehler
> befreit, wenn diese Formulierung hilft.
 Nein, tut es nicht. Quasi vom Fehler befreit ist eben nur "quasi".
 Wenn er 4 hintereinanderfolgende differentiele Messungen durchführen
 würde, dann könte das sogar stimmen. Aber hier ist jede Messung fur
 sich und hat mit vorhergehenden genau nichts zu tun.
 Hoffentlich verstehst du es nun.

 P.S.
 Und lerne "Auflösung" und "Genauigket" auseinander zu halten.
 Bestes Beispiel ist GPS.
#4203003
Lesenswert?

Marc V. schrieb:
>  Ob der Fehler bei einem bestimmten Exemplar größer oder kleiner ist,
>  tut nichts zur Sache.

Wenn ein Sensor bei langsamer realer Temperaturabsenkung über zig 
Messungen hinweg allenfalls in der letzten Stelle schwankt und darüber 
hinaus nur sinkende Werte liefert, dann ist das eine praktisch gut 
brauchbare Tendenzanzeige. Weil man das dann auch umdrehen kann, d.h. 
wenn die Anzeige steigt, dann ziemlich sicher auch die reale Temperatur.

Dass man auf dieser Basis keine formelle Präzision bekommt ist klar. 
Ebenso, dass man das nicht einklagen kann. Aber darum geht es meist 
nicht. Ich will wissen ob es tendentiell wärmer oder kälter wird. Und 
dafür reicht es faktisch aus.
(Firma: Vescomp) #4203018
Lesenswert?

Torsten C. schrieb:
> Wir haben das Kapitel hinter uns.
 Wer ist wir ?


> PS: Ach, nun doch? Dann sind wir uns ja einig. Schön!
 Nein, sind wir nicht, da die Erklärung anscheinend zu kompliziert für
 dich war.

 Hier geht es etwas einfacher nur fur dich:
 Ich habe auch einen chinesichen Multimeter, da ist die Auflösung im
 mV-Bereich 0,1mV, aber der Fehler liegt bei 2%, das ist 4mV.
 Dieser Fehler ist eine Konstante über den gesamten Messbereich.

 Ob der jetzt 99.8mV oder 99.9mV anzeigt, dürfte mir ziemlich egal
 sein, ich kann mich nur darauf verlassen, dass der gemessene Wert
 zwischen 95.9mV und 103.9mV liegt.

 Hoffe, sogar du hast es endlich verstanden.
Gast #4203036
Lesenswert?

Torsten C. schrieb:
> Was erwartest Du? Maxim/Dallas wird die ADC-Auflösung schon sinnvoll an
> das Rauschen angepasst haben, darin sind die gut!

Ich erwarte, dass ich bei Mittelung über viele Messungen einen 
Mittelwert bekomme, der beliebig nahe am realen Wert liegt. Das 
funktioniert aber nur, wenn das Rauschen deutlich größer als die 
Quantisierungsstufen ist. Beim DS18B20 ist das nicht der Fall, so dass 
sich durch Mittelung keine höhere Auflösung ergibt.

Trotz Mittelung über viele Werte ergibt sich bei gleichmäßigem, 
langsamen Temperaturanstieg kein gleichmäßig langsam steigender 
gleitender Mittelwert, sondern es sind Stufen mit der Auflösung des 
Digitalsignals vorhanden.
Angehängte Dateien:
(Firma: Vescomp) #4203042
Lesenswert?

Tom schrieb:
> Trotz Mittelung über viele Werte ergibt sich bei gleichmäßigem,
> langsamen Temperaturanstieg kein gleichmäßig langsam steigender
> gleitender Mittelwert, sondern es sind Stufen mit der Auflösung des
> Digitalsignals vorhanden.

 Solche Messreihen habe ich nur bei Sensoren die draussen angebracht
 waren, gekriegt.
 Innentemperatur ist zwar auch ziemlich zackig, aber nicht so.

 War dein Sensor draussen ?
Gast #4203053
Lesenswert?

Marc V. schrieb:
> War dein Sensor draussen ?

Hast du auf meine Skalierung geachtet?
Draußen rauscht die Lufttemperatur wesentlich stärker. Die gezeigten 
Messungen stammen von einem im Raum montierten Sensor, der thermisch gut 
an eine große Metallmasse angekoppelt ist und dadurch thermisch sehr 
träge ist.
Persönliche Seite #4203070
Lesenswert?

Tom schrieb:
> sondern es sind Stufen mit der Auflösung des
> Digitalsignals vorhanden

Stufen mit der Auflösung sind klar. Das geht ja auch nicht anders. 
Digital ist halt nicht analog.

Plateaus im Abstand der Genauigkeit sind natürlich das anderes.
Ob diese "Plateaus" von Dallas/Maxim so gewollt sind? Pfiffig!
https://www.mikrocontroller.net/attachment/262456/DS18B20_gemittelt.png
Gast #4203353
Lesenswert?

Torsten C. schrieb:
> Stufen mit der Auflösung sind klar. Das geht ja auch nicht anders.
> Digital ist halt nicht analog.

Warum sind die klar? Es geht hier nicht um Einzelwerte, sondern um 
Mittelwerte.

Wenn im Vergleich zu den Quantisierungsstufen genügend Rauschen (oder 
ein Dithersignal) auf dem Analogsignal des Sensors liegt, muss sich 
statistisch betrachtet der genaue Mittelwert des Analogsignals in der 
Häufigkeit des Auftretens der benachbarten Quantisierungsstufen wieder 
finden. Und dann verschwinden in einem gleitenden Mittelwerte über das 
Digitalsignal die Quantisierungsstufen. In meinen Beispieldaten sieht 
man, dass es nur für ein Intervall von etwa 30% der Höhe der 
Quantisierungsstufen klappt, weil das Rauschen/Dither nicht groß genug 
ist. Dazwischen "klebt" der Mittelwert an einer Quantisierungsstufe.
Persönliche Seite #4203376
Lesenswert?

Tom schrieb:
> Es geht hier nicht um Einzelwerte, sondern um
> Mittelwerte.

Ah, ich habe mal horizontale Linien rein gemalt und verstehe jetzt erst, 
was Du meinst.

Vielleicht funktioniert Deine Mittelwertbildung nicht richtig. Zeig mal 
die Roh-Werte vor Deiner Glättung, sonst kann ich Dir auch nicht 
helfen.
Angehängte Dateien:
#4203684
Lesenswert?

Tom schrieb:
> Wenn im Vergleich zu den Quantisierungsstufen genügend Rauschen (oder
> ein Dithersignal) auf dem Analogsignal des Sensors liegt

Genau das ist der Knackpunkt, Dein ADC-Wert muß wackeln wie ein 
Lämmerschwanz.
Gute ADCs liefern Dir aber auf ein LSB stabile Werte und da kannst Du 
kein einziges Bit mehr Auflösung rauskitzeln.
Gast #4203718
Lesenswert?

Peter D. schrieb:
> Genau das ist der Knackpunkt, Dein ADC-Wert muß wackeln wie ein
> Lämmerschwanz.

Selbst bei Spiegelgalvanometern hat man ein Dithersignal überlagert, um 
die Reibung zu überwinden. Ich nenne die Quantisierungsstufen jetzt 
einfach mal "digitale Haftreibung" ...

> Gute ADCs liefern Dir aber auf ein LSB stabile Werte und da kannst Du
> kein einziges Bit mehr Auflösung rauskitzeln.

Es kommt immer drauf an, was man mit dem digitalen Ausgangssignal vor 
hat. Jeder Class-D Verstärker und jeder DC/DC-Schaltwandler erhebt das 
Wackeln des einen Bits zum Grundprinzip ;-)

Aber paßt schon - ich beklage mich doch gar nicht ernsthaft. Für einen 
busfähigen Sensor, der weniger als 1€ kostet, bin ich mit der Auflösung 
ganz zufrieden.

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