Forum: Mikrocontroller und Digitale Elektronik DS18B20


von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe vor, einen DS18B20 an einen Mega32 zu hängen. Lt. Datenblatt
kann der 0,5°C genau. Jetzt habe ich ein Programm gefunden, das 0,1°C
kann.

Kann mir einer das ein wenig erklären?
Dann gibt es noch eine Aussage in Datenblatt.

"The core functionality of the DS18B20 is its direct-to-digital
temperature sensor. The resolution of the
temperature sensor is user-configurable to 9, 10, 11, or 12 bits,
corresponding to increments of 0.5C,
0.25C, 0.125C, and 0.0625C, respectively. The default resolution at
power-up is 12-bit. The DS18B20
powers-up in a low-power idle state; to initiate a temperature
measurement and A-to-D conversion, the
master must issue a Convert T [44h] command. "
...
"The DS18B20 output temperature data is calibrated in degrees
centigrade; for Fahrenheit applications, a
lookup table or conversion routine must be used. The temperature data
is stored as a 16-bit sign-extended
two’s complement number in the temperature register (see Figure 2).
The
sign bits (S) indicate if the
temperature is positive or negative: for positive numbers S = 0 and
for
negative numbers S = 1. 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 2 gives examples of
digital output data and the
corresponding temperature reading for 12-bit resolution conversions.
"
Gruss

Dirk

von Elektrikser (Gast)


Lesenswert?

Die Genauigkeit ist nicht gleich der Auflösung. Man kann genauer
anzeigen, aber die Genauigkeit bleibt bei den 0,5°
Ist wie mit den Multimeter: Die zeigen auch genauer an, als sie
wirklich messen.

Gruß Elektrikser

von Dirk (Gast)


Lesenswert?

Sorry, im Moment stehe ich auf dem Schlauch.
Angenommen: Ich messe mit einem präzisen, geeichten Tempmesser 20°C
dann werde ich mit dem DS etwas zwischen 19,75 bis 20,25°C messen. Doch
die Abweichung wird immer gleich sein. Ich werde immer einen "Offset"
zum eigentlichen Wert haben. Dieser ist aber immer gleich?
Der DS wird bei 20°C nicht einmal 19,75 und im nächsten Atemzug 20,25
messen? Wie schaut es im Verlauf an? Wenn die Temp steigt, dann zeigt
der DS mir auch die Steigung an aber mit der Abweichung die der DS halt
hat?

Kann man das so sagen?

von Werner B. (Gast)


Lesenswert?

...wobei bei konstanter temperatur allerdings noch die
versorgungsspannung und die mondphase in den fehler eingeht ;) Der
absolute fehler ist auch noch von der temperatur abhängig und kann im
messbereich zwischen den extremwerten schwanken.

von Wolfgang (Gast)


Lesenswert?

@Dirk,
>Angenommen: Ich messe mit einem präzisen, geeichten Tempmesser 20°C
dann werde ich mit dem DS etwas zwischen 19,75 bis 20,25°C messen.<
das wäre schön, wenn es so ist.
-Sieh dir mal Datenblätter an, dann siehst du, dass  die Kurve
Temperatur - Ausgangswert meist nicht linear ist, sondern sie hat mal
größere oder kleinere Abweichungen vom theoretischen Wert. Andere
Datenblätter geben den Fehler in Abhängigkeit von der Temperatur
wieder.
Der Hersteller gibt dann den maximalen Fehler über den gesamten
Temperaturbereich    an.
-Oder nimm mal (5) normale Zimmerthermometer und hänge sie an den
gleichen Platz, dann wird jedes eine andere Temperatur anzeigen. Je
nach Fehlerklasse können die maximalen Abweichungen größer oder kleiner
sein.
Je genauer ein Messgerät (Thermometer) misst, um so geringer ist die
Abweichung vom theoretischen Wert.
Bei einer Fehlerangabe von z.B. +-0,5°C heißt das:  wenn man 20,5°C
abliest, dann kann die tatsächliche Temperatur zwischen 20° und 21°C
liegen.  Oder wenn man bei einer Auflösung von 0,1° z.B. 20,6° abliest,
dann kann die tatsächliche Temperatur zwischen 20,1° und 21,1°C liegen.


MfG
Wolfgang

von Dirk (Gast)


Lesenswert?

Danke Dir.
Mir ging es halt auch wie konstant Flasch gemessen wird. Ich will ein
Aquarium damit messen. Im Moment habe ich einen billigen, normalen
Thermometer drinn. Je nach Blickwinkel kann man dort auch viel
ablesen.
Wenn ich dann eine Erhöhung von 0,5°C habe soll halt der DS 0,5°C mehr
anzeigen, bezogen auf seinen zuvor gemessenen Basiswert.

von Jens (Gast)


Lesenswert?

> Ist wie mit den Multimeter: Die zeigen auch genauer an, als sie
> wirklich messen.

Die Auflösung der Multimeter ist höher, d. h. es werden mehr Stellen
angezeigt. Deshalb wird aber nicht genauer angezeigt.

von hodoe (Gast)


Lesenswert?

Moinsen,

oder man läßt sich ein DS18B20 im benötigten Wertebereich kalibrieren.
Die so ermittelte Kalibrierkurve hinterlegt mann dann µC.

mfg

von Wolfgang (Gast)


Lesenswert?

@hodoe
- alles eine Frage von Aufwand und Nutzen
- wo kann man einen Temperaturfühler kalibrieren lassen und wie viel
kostest das

@Dirk
Vorschlag: ein billiges elektr. Thermometer mit 0,1° Auflösung für
Zimmer- und Außentemperatur nehmen. Außentemperaturfühler (nicht Funk)
wasserdicht im Aquarium versenken. dann kannst du  sogar
Temperaturänderungen von 0,1°C erkennen.
MfG
Wolfgang

von Seek1 (Gast)


Lesenswert?

Maxim hat die Dinger mit 0,125 Grad Genauigkeit . Die 0,125 bis 0,999
schreibt er dann ins LSByte

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
Noch kein Account? Hier anmelden.