Forum: Mikrocontroller und Digitale Elektronik DS18B20 - ich krieg nen Fön!


von Uwe H. (uwe1981)


Lesenswert?

Hallo mal wieder,

meine Tempsensoren spielen mal wieder bescheuert. Problem sieht so aus: 
Ich habe zwei verschiedene Berechnungen, die beide die Temperatur vom 
DS18B20 ausrechnen. Der Witz ist, das seit HEUTE MORGEN die EINE 
BERECHNUNG nicht mehr auf EINEM!!! bestimmten Sensor funktioniert... Als 
Ausgabe bekomme ich +85 Grad und nichts geht. Der Witz an der Sache: 
Nehme ich einen anderen Sensor, so laufen beide Berechnungen tadelos und 
die Temp-Ausgabe ist ok.
 Das is doch völliger Schwachsinn und unlogisch, wie kann das sein? Hier 
mal ein Auszug aus beiden Berechnungen:


Erster Code, der funktioniert auf allen Sensoren

Do
 1wreset
 1wwrite &HCC
 1wwrite &H44

Wait 1

 1wreset
 1wwrite &HCC
 1wwrite &HBE
 For I = 1 To 9
 Sp1(i) = 1wread()
 Next



    Tmp1 = Sp1(1) And 1
       If Tmp1 = 1 Then Decr Sp1(1)
       T1 = Makeint(sp1(1) , Sp1(2))
       Temp1 = T1 / 16


Zweiter Code, den EIN Sensor nicht mehr will und 85 Grad anzeigt:

Do
  1wreset
  1wwrite Read_rom
  Family_code = 1wread()
  For I = 1 To 6
    Serial_number(i) = 1wread()
  Next
  Crc = 1wread()
  1wwrite Convertt
  Do
    Temp = 1wread()
  Loop Until Temp = &HFF

  1wreset
  1wwrite Skiprom
  1wwrite Read_ram

  For I = 1 To 9
    Scratch(i) = 1wread()
  Next


 Temp = Scratch(2)
  Shift Temp , Left , 8
  Temp = Temp + Scratch(1)
  Stemp = Temp
  Stemp = Stemp / 16

von (prx) A. K. (prx)


Lesenswert?

85°C gibts bei den Dingern, wenn man sie ausliest, ohne seit dem letzten 
Power-Up irgendwann mal eine Messung durchgeführt und lange genug 
gewartet zu haben. Das ist einfach nur der Wert, den in den 
Messregistern nach dem Power-Up drinsteht.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

EIN Sensor funktioniert plötzlich mit dieser Berechung nicht mehr?
Hast du eienen Gegentest mit einer anderen Berechnung gemacht? (Mit 
einem anderen Sensor ist ja klar)

Denn diese Beschreibung schreit geradezu nach einem DEFEKT des 
Sensors...

Gruß
Carsten

von edgar S. (hbl333)


Lesenswert?

Carsten Sch. schrieb:
> Hi,
>
> EIN Sensor funktioniert plötzlich mit dieser Berechung nicht mehr?
> Hast du eienen Gegentest mit einer anderen Berechnung gemacht? (Mit
> einem anderen Sensor ist ja klar)
>
> Denn diese Beschreibung schreit geradezu nach einem DEFEKT des
> Sensors...
>
> Gruß
> Carsten

Den Effekt kenne ich, da ist irgendwas mit dem Timing unsauber da kommt 
dieser 85Grad Fehler. Tipp von MAX gibt es I2C auf OneWire Umsetzter.
Seit dem ich das Einsetzte gibt es keine Probleme mehr.

von Lutz (Gast)


Lesenswert?

Er braucht gar nicht deket zu sein bzw. ganz defekt zu sein. 85 Grad 
heißt ja, daß die Register auf jeden Fall noch auslebar sind und er 
antwortet.

Durch irgendwelche Einflüsse hat sich das Timing vielleicht ganz wenig 
verändert und paßt nicht mehr. Delays lieber etwas länger als im 
Datenblatt. Deshalb kann es auch passieren, daß ein Sensor mal 
funktioniert und mal nicht. Besonders auch noch dann, wenn man keine 
konstante Quelle für das Timing hat und µC nebenbei noch andere Sachen 
macht (oder lhalt manchmal nicht und deshalb schneller fertig ist mit 
irgendwas). Also Softwareproblem möglich.

von sBronco (Gast)


Lesenswert?

bei mir funktioniert ein Delay von 500ms, meistens.
Deshalb nehm ich 800ms, da klappts sicher

von (prx) A. K. (prx)


Lesenswert?

sBronco schrieb:

> bei mir funktioniert ein Delay von 500ms, meistens.
> Deshalb nehm ich 800ms, da klappts sicher

Laut Datasheet sind es in Standardeinstellung 12 Bits ja auch max. 
750ms.

von sBronco (Gast)


Lesenswert?

ja, ich weiss

von mr. mo (Gast)


Lesenswert?

edgar schachler schrieb:
> Den Effekt kenne ich, da ist irgendwas mit dem Timing unsauber da kommt
> dieser 85Grad Fehler. Tipp von MAX gibt es I2C auf OneWire Umsetzter.
> Seit dem ich das Einsetzte gibt es keine Probleme mehr.

Kannst mal sagen wie das Teil heisst? Evtl. sogar wo du die her 
bekommst?

von edgar S. (hbl333)


Lesenswert?

Hallo!
Das it der DS2482, den gibt es bei Reichelt, als Einer oder Achter.
Wobei der Achter ziemlich teuer ist. Tipp: Bei Maxim konnte man 
kostenlose Muster bestellen, einfach mal checken ob das noch geht.

MfG

von mr. mo (Gast)


Lesenswert?

edgar schachler schrieb:
> Hallo!
> Das it der DS2482, den gibt es bei Reichelt, als Einer oder Achter.
> Wobei der Achter ziemlich teuer ist. Tipp: Bei Maxim konnte man
> kostenlose Muster bestellen, einfach mal checken ob das noch geht.
>
> MfG

Ha! Korrekt danke :):)

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.