Forum: Mikrocontroller und Digitale Elektronik DS18S20 Problem


von Thomas (Gast)


Lesenswert?

Hi Leute,

bin gerade dabei einen DS18S20 Temperatursensor anzusteuern.
die 64bit lange Nummer inklusive Family Code lässt sich zuverlässig
auslesen. Allerdings ist der Family Code nicht 0x10, wie bei 1820
üblich sondern wird als 0x28 ausgelesen.
da ich noch einen ds2430 an der 1-wire Leitung hägen habe, dessen
Family Code (0x14) korrekt angzeigt wird, weiss ich, dass ich die
Zahlen richtig darstelle.

Weiterhin lässt sich der 1820 mit dem erhaltenen ROM_Code ansteuern und
ich bekomme dynamische Temperaturwerte zurückgegeben. Die Codevision
Library-Funktion 'ds1820_temperature_10()' liefert allerdings bei
normaler Raumtemperatur Werte von etwa 2000. Geteilt durch 10 wären das
also 200.0°C. Komisch ich koche noch gar nicht!

Hat jemand ne Idee dazu?

von Aleksej (Gast)


Lesenswert?

Versuch mal die Versorgung komplett anzuschliessen - 5V und GND. Ich
hatte schon einige DS1820, die ohne 5V nicht vernünftig arbeiten
wollten. Woran es liegen kann - verstehe ich leider nicht.

von Peter D. (peda)


Lesenswert?

Wenn Du 0x28 ausliest, ist es mit Sicherheit kein DS18S20.
Es könnte ein DS18B20 sein und der liefert 12 Bit Werte.

In der Codesammlung findest Du meinen Code (AVR-GCC), der 0x10 und 0x28
Sensoren richtig ausliest.


Peter

von bluemole (Gast)


Lesenswert?

Ich hab' zwar nur Erfahrung mit dem DS1821. Aber das Problem ist doch
bleibt das selbe.
Für den One-Wire-Bus braucht der Temp.Sensor den GND, weil er den High
Pegel am Bus auf GND ziehen muss für die Übertragung. Wie soll der
Temp.Sensor ohne GND den Bus auf GND ziehen???

MfG bluemole

von Thomas (Gast)


Lesenswert?

Vielen Dank Peter!
Es handelt sich tatsächlich um einen DS18B20!
Jetzt klappt das Auslesen richtig.

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.