Forum: Mikrocontroller und Digitale Elektronik DS1820 und der neue DS18S20


von lifesbest23 (Gast)


Lesenswert?

Liebe Forumsgemeinde,

Ich beschäftige mich jetzt seit die Ferien angefangen haben wieder mit 
Mikrocontrollern und um genauer zu sein mit einem ATtiny2313 und dem 
DS1820.
Ich habe das one wire protokoll verstanden und kann auch die Temperatur 
Sensoren auslesen. Jedoch wollte ich dann mit Hilfe der Register 
COUNT_PER_C und COUNT_REMAIN eine höhere Auflösung erreichen und dann 
kamen sehr schnell hintereinander um 1 grad oder mehr verschieden Werte 
raus. Das sollte so eigentlich nicht sein.

Dann habe ich noch ein mal das Scratchpad komplett ausgeben lassen und 
parallel dazu einmal im Computer und im Mikrocontroller die crc 
berechnet und kam immer auf den richtigen wert, es gab also keine 
übertragungsfehler. Aber beim ausgeben des Scratchpads ist mir 
aufgefallen, dass COUNT_PER_C was laut Datenblatt für den DS18S20 
konstant den Wert 16 haben soll, sich verändert und um die 84 lag.
Außerdem kam es vor, dass der COUNT_REMAIN Wert höher als der 
COUNT_PER_C Wert war.

Nach viel Recherche bin ich jetzt zu dem Schluss gekommen, dass ich gar 
nicht im Besitz von DS18S20 bin sonder von deren Vorgängern DS1820 die 
2000 überarbeitet wurden wie hier zu lesen ist:
https://www.digitemp.com/docs/ds1820-report.pdf
Und die auch kein TO92 Packing haben sondern etwa doppelt so lang wie 
TO29 sind.

Das Erklärt zumindest die schwankenden COUNT_PER_C werte (siehe seite 2 
des obigen Dokuments) aber leider nicht das Auftreten von höheren 
COUNT_REMAIN Werten.
Außerdem wurde an dem alten DS1820 eine starke Verfälschung der 
gemessenen Temperaturen bemängelt durch Luftfeuchte und andere äußere 
Einflüsse, dies erklärt die 2°C linearen Fehler, die ich bei anderen 
Sensoren aus der gleichen reihe an meinem Raspberry Pi festgestellt 
habe.

Hat noch jemand anders Erfahrung mit dem alten DS1820?
Wenn ja, ähnelt sie meinen?
Ansonsten wollte ich mal allgemein fragen, wenn ich mir jetzt neue 
Sensoren kaufe, sollte ich eher zu den DS18B20 oder DS18S20 greifen?

Falls ich mit meinen Aussagen oben falsch bin, oder jemand etwas zu 
ergänzen oder berichtigen hat, nur her damit....

LG lifesbest23

von Tom (Gast)


Lesenswert?

lifesbest23 schrieb:
> Ansonsten wollte ich mal allgemein fragen, wenn ich mir jetzt neue
> Sensoren kaufe, sollte ich eher zu den DS18B20 oder DS18S20 greifen?

Im industriellen Umfeld werden zu 50% die DS18B20 im 8-µMAX eingesetzt. 
Es folgen DS18B20 und DS18S20 im TO92 mit 20% bzw. 14%. Die Versionen im 
SOIC liegen mit 10% (DS18B20) bzw. 6% (DS18S20) auf den hinteren 
Plätzen.

von Gerald B. (gerald_b)


Lesenswert?

Zu schnell hintereinander Auslesen führt zu einer merklichen 
Eigenerwärmumng der Sensoren. Vielleicht liegt ja auch dort deine 
Temperaturabweichung begründet?

von 900ss (900ss)


Lesenswert?

Alle 2 Sekunden auslesen verändert die Temperatur so wenig, dass es an 
den gemessenen Werten nicht sichtbar ist. Eigene Erfahrung.....

von lifesbest23 (Gast)


Lesenswert?

Ok, ich werde mir dann mal versuchen einen DS18B20 zu organisieren und 
bei meinem jetzigen DS1820 die Messwerte nur alle 2 s auslesen.

Übrigens meine Beobachtung, dass das COUNT_REMAIN Register höhere Werte 
als das COUNT_PER_C Register hat kann ich nicht mehr bestätigen, es muss 
anscheinend recht spät gester gewesen sein, als ich das ausgelesen 
habe....

Nur falls es jemanden interessiert, der alte DS1820 hat die Temperatur 
über zwei Oszillatoren und deren Frequenzverschiebung in Abhängigkeit 
von der Temperatur gemessen, der DS18S20 hingegen hat wie der DS18B20 
einen 12 Bit ADC integriert gibt aber bei den beiden Temperatur Bytes 
nur 9 Bit aus. Die anderen drei Bits können über die beiden oben 
genannten Register ermittelt werden. Das wurde aus 
Kompatibilitätsgründen so gemacht....

lifesbest23

von F. F. (foldi)


Lesenswert?

lifesbest23 schrieb:
> dass ich gar
> nicht im Besitz von DS18S20 bin sonder von deren Vorgängern DS1820

Ging mir auch mal so. :-) Ich hatte definitiv DS18B20 gekauft und dann 
waren das doch DS18S20.

Aber grundsätzlich ist hier die Diskussion um Temperatur, deren Messung 
und die Genauigkeit nie so ganz richtig. Gerade bei der Genauigkeit kann 
man gewaltige Abstriche machen, wenn man sich das ganze mal vom Weiten 
ansieht.
Weder die Messung noch das Nachregeln ist so exakt, wie viele sich die 
Messung wünschen. Der Faktor Zeit spielt eine große Rolle dabei.

: Bearbeitet durch User
von Tom (Gast)


Lesenswert?

lifesbest23 schrieb:
> Ok, ich werde ... bei meinem jetzigen DS1820 die Messwerte nur alle 2 s
> auslesen.

Bei einem Messwert alle zwei Sekunden, brauchst du noch keine Angst zu 
haben, dass dir irgendetwas entgeht.

von Olaf (Gast)


Lesenswert?

> Nach viel Recherche bin ich jetzt zu dem Schluss gekommen, dass ich gar
> nicht im Besitz von DS18S20 bin sonder von deren Vorgängern DS1820 die
> 2000 überarbeitet wurden wie hier zu lesen ist:

Dann solltest du dankbar sein. Die alten DS1820 in dem langen Gehaeuse 
waren naemlich besser.

> Hat noch jemand anders Erfahrung mit dem alten DS1820?

klar.

> Wenn ja, ähnelt sie meinen?

Nein. Ich hab naemlich das Datenblatt gelesen. :-)

Mit den Registern aus dem alten DS1820 konnte man sich die Temperatur 
auf 1/100Grad genau ausrechnen. Natuerlich waren die dadurch nicht auf 
1/100Grad absolut genau! Aber man konnte auf 1/100Grad genau eine 
Temperatur regeln. Das geht mit den neuen nicht mehr.

Bei richtiger Programmierung sind die neuen und die alten im uebrigen 
softwaremaessig 1:1 austauschbar. Das ist ja der Grund warum ein fester 
Wert im Register steht, damit alte Software weiterlaeuft.

Olaf

von lifesbest23 (Gast)


Lesenswert?

@Olaf, du hast recht, der alte DS1820 hat eine höhere Auflösung, durch 
den höheren COUNT_PER_C wert und nachdem ich dann noch etwas an meinem 
Code verändert habe, konnte ich auch diese Werte genau so erhalten, ich 
weiß jedoch leider nicht, woran das lag, dass die teilweise immer um ein 
paar Grad falsch waren...
Ich habe mir jetzt auch noch mal einen DS18S20 gekauft, und der 
Funktioniert auch, bloß merkt man halt deutlich, dass der nur eine 
Auflösung von 0,06 grad hat...

lfesbest23

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.