Pages: [1]   Go Down
Author Topic: DS 18B20+ - Temperatur zu hoch  (Read 837 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

Bin neu dabei und bisher hat auch alles sehr gut funktioniert.
Allerdings ist die Temperaturmessung um 4-5C daneben.

Das ist unabhängig von der Stromversorgung, welche Lib ich verwende (OneWire 2.0 oder DallasTemp 3.6) und welchen meiner beiden Chips ich verwende.

Als Pullupwiderstand nehme ich einen 4,7kOhm. Das heißt der ist zwischen dem I/O pin und 5V. (schreibe das dazu, falls es falsch ist)

Bin jetzt ein bisschen verwirrt, weil man die Teile ja nicht kalibrieren muss. Also geh ich mal davon aus, dass ich was übersehen habe.

Mein Arduino ist ein Duemilanove mit einem Steckernetzteil oder von USB betrieben (auch das macht keinen Unterschied).

Logged

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 703
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich würde eine Vergleichsmessung mit einem weiteren Sensor machen.
« Last Edit: November 06, 2010, 02:00:33 pm by webmeister » Logged

0
Offline Offline
Full Member
***
Karma: 8
Posts: 153
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

habe hier seit einiger Zeit 6 Stück DS18B20 in der Anwendung. Leider habe ich auch festgestellt, dass die Sensoren untereinander bis zu 3 Grad abweichen. Bin noch dabei, das zu untersuchen. Im Auswerteprogramm (LogView) kann ich ja einen Offsetwert einstellen. Möglicherweise muss ich das dann auch im Sketch berücksichtigen. Am Programm oder an der Spannung kann es nicht liegen, da die Werte ja rein digital übertragen werden. Habe bei meiner Schaltung noch sicherheitshalber einen 140 Ohm Widerstand in die Plusleitung geschaltet, falls ein Sensor (oder meine Anschlüsse an den Zuleitungen) mal einen Kurzschluss erzeugen sollten. Laut Datenblatt sollen die DS18B20 schon ab 3 V sicher arbeiten.
Mal sehen, was wir rausfinden.

Gruss Kalli
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich würde ein normales Thermometer als Referenz hinzuziehen.
Dann mit beiden sporadische Messungen durchführen.
Sollte sich der Unterschied zwischen dem normalen und dem digitalen Thermometer als konstant erweisen. Z.B. unabhängig von der Temperatur immer 3 Grad. Dann kann diese Differenz herausgerechnet werden.
« Last Edit: November 06, 2010, 04:48:29 pm by Megaionstorm » Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

0
Offline Offline
Full Member
***
Karma: 8
Posts: 153
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, kann man ja alles machen, habe ich auch ausprobiert, laut Datenblatt soll die Genauigkeit im Bereich von -10 bis +85 °C bei 0,5 °C liegen, nicht bei 0,5 K. Meine Kurven zeigen jedoch ein anderes Verhalten. Die Differenz ist auch abhängig von der Temperatur (innerhalb -10 bis +85 °C). Na, ich werde das weiter untersuchen, habe noch zwei neue DS zu liegen.
 :smiley
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Erstmal danke für die Antworten. Ich konnte bisher noch kein sinnvolles Thermometer auftreiben, aber Messungen im Kühlschrank und im Freien passen ziemlich gut und sind innerhalb der Messungenauigkeit.

Das heißt entweder muss ich das mal präzise nachmessen, oder ich bin der "gefühlten" Temperatur auf den Leim gegangen.

Ein Teil könnte auch vom Steckbrett kommen, weil der Sensor den ich nur noch mit Klemmen versehen habe hat plötzlich 1 Grad weniger angezeigt als der Eingesteckte.

Um die Präzisionsneurose zu befriedigen muss ich dann wohl noch andere Sensoren testen, aber das ist ok, weils ja Spaß macht smiley.

Falls ihr ne Empfehlung habt bin ich auch gern offen dafür. Da gabs doch so nen LM35 for den analogen Eingang.

Kalli, das mit dem Unterschied zwischen 0,5C und 0,5K ist mir nicht so ganz klar, aber deine Messkurven wären sicher interessant, falls du sie hier posten möchtest!
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 260
Posts: 21566
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Kalli,  0,5C und 0,5K sind genau das gleiche. Als Bezugsunkte sind Schmelz- und Siedepunkt von Wasser definiert und die Werte 0 und 100 Grad gegeben.
Der 0 Punkt der Kelvin-Skala ist mit dem absoluten Nullpunkt definiert und entspricht -273,16 grad Celsius. und der Schmelzpunkt von Wasser ist als 273,16 Kelvin definiert. So ist eine temperaturdifferenz in Grad Celsius und Kelvin gleich groß. http://de.wikipedia.org/wiki/Grad_Celsius

@Lifthanger
Der LM35 gibt als Meßwert 10mV pro grad Celsius. Um negative Temperaturen zu messen braucht es eine negative Spannung. Ich würde Dir als Alternative den LM135 empfehlen. Als Meßwert gibt er 10mV pro Kelvin und darum für 0 Grad Celsius 2,73V.

Eine Alternative für schnelle Messungen sind Thermoelemente zb ein K-Thermoelement; die Sensoren sind winzig und kosten wenig. Mit dem MAX6675 hat man schon alles samt AD-Konverter
http://code.google.com/p/max6675-arduino-library/
http://www.maxim-ic.com/datasheet/index.mvp/id/3149

Grüße Uwe
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke Uwe, jetzt weiß ich Bescheid!
Werde es wohl mal mit dem LM235 (kleinerer Messbereich, aber viel günstiger) probieren und so ein k-Thermoelement hätt ich auch gern smiley.

Jan
Logged

Pages: [1]   Go Up
Jump to: