Forum: Mikrocontroller und Digitale Elektronik Frage zum Auslesen eines DS18S20


von Wired (Gast)


Lesenswert?

Moin,

Ich möchte gerne einen 1-Wire Temperatursensor auslesen. Es handelt sich 
um den nicht gerade Unbekannten DS18S20.

Ich bin soweit, das ich beim Ausleseversuch eine Antwort des(r) 
Sensor(en) bekomme. Und zwar:

crc=87 YES (Datenübertragung vollständig gelaufen)
t=85000 (Die Temperatur)

Nun ist das mein erster Sensor den ich auslesen möchte, und ich weiß 
einfach nicht wie ich die Temperatur (t) jetzt noch umwandeln muss um 
eine Lesliche °C-Zahl zu erhalten. Im Datenblatt finde ich leider auch 
ncht die passende Stelle.

von NonWired (Gast)


Lesenswert?

Wired schrieb:
> Im Datenblatt finde ich leider auch ncht die passende Stelle.

Dann empfehle ich dir die Seite 4, i.e. Figure 2 (Temperature Register 
Format) und Table 1 (Temperature/Data Relationship)

von Pete K. (pete77)


Lesenswert?

Die Temperatur sieht nach 85°C aus, nicht gut. Halte Dich genau an das 
Datenblatt, inbesondere mit den Timings (750ms).

von Timmo H. (masterfx)


Lesenswert?

Wired schrieb:
> t=85000 (Die Temperatur)
Die Temperatur hat nur 16 Bit, deine 85000 passen nicht zu einen 
int16_t. Zeig mal Code.

von Wolfgang (Gast)


Lesenswert?

Wired schrieb:
> t=85000 (Die Temperatur)

Und wie kommst du von einem 16bit Temperaturregister auf 85000?

von Wired (Gast)


Lesenswert?

Das Problem ist,
ich bin nach diesem Tutorial hier vorgegangen:
http://www.raspiprojekt.de/anleitungen/schaltungen/9-1wire-mit-temperatursensor-ds18b20.html

Alles neue Komponenten, nach Plan ausgeführt.

Und wenn man auch beim DS18S20 einfach das Ergebnis durch 1000 teilt, 
dann erhalte ich ja 85°C, und das bei verschiedenen Sensoren. Da kann ja 
was nicht stimmen..

von Torsten S. (tse)


Lesenswert?

Die Beiträge zu den DS18x20 kann man kaum noch zählen und werden nur 
noch durch "mein LCD geht nicht" getoppt. Keiner hat noch Lust zu 
verstehen wie das Zeug funktioniert.

Obwohl das traurig ist mußte ich hier schmunzeln:

"eine Lesliche °C-Zahl"

"Dieser Bus hat nichts mit dem Bus auf der Straße zu tun."

von Kevin (Gast)


Lesenswert?

>Keiner hat noch Lust zu verstehen wie das Zeug funktioniert.

Eigentlich könnte das einem ja egal sein wenn diese Ignoranten das 
Niveau des Forums nicht hinunterdrücken würden. Das ist das Traurige und 
Bedenkliche an der Sache.

von Wired (Gast)


Lesenswert?

Danke für eure Hilfe. Daran sieht man wiedervdas es euch nur um eure 
Statistik geht.

"Ohh der Beitrag ist Mist, darauf Antworten wie nicht. Der drückt unser 
Niveau runter weil er keine Ahnung hat "

von J.-u. G. (juwe)


Lesenswert?

Wired schrieb:
> Danke für eure Hilfe. Daran sieht man wiedervdas es euch nur um eure
> Statistik geht.
>
> "Ohh der Beitrag ist Mist, darauf Antworten wie nicht. Der drückt unser
> Niveau runter weil er keine Ahnung hat "

Es gibt keinen Grund die eingeschnappte Leberwurst zu spielen. Liefere 
einfach die angefragten Informationen nach. Dann besteht auch die Chance 
Dir zu helfen.

von Martin K. (maart)


Lesenswert?

Sollten wirklich 85 Grad als Temperatur ausgelesen werden: Entweder der 
Sensor ist wirklich so warm, ich tippe aber eher auf eine noch nicht 
durchgeführte Wandlung. (85 ist der "Standardwert")
Das Timing ist bei diesen Dingern hochgradig wichtig. Beim Auslesen der 
einzelnen Bits sollte auch kein Interrupt dazwischen funken.

von Cyblord -. (cyblord)


Lesenswert?

Torsten S. schrieb:
> Die Beiträge zu den DS18x20 kann man kaum noch zählen und werden nur
> noch durch "mein LCD geht nicht" getoppt. Keiner hat noch Lust zu
> verstehen wie das Zeug funktioniert.

Ja genau das ist das Problem. Niemand will verstehen wie 1-Wire 
funktioniert. Ok gibt ja libs dazu. Dann liest niemand das Datenblatt 
des Sensors, warum auch? Gibt ja libs. Ist ja völlig ok libs zu 
benutzen, aber wenn das komplette Verständnis für das Ding fehlt, dann 
können die Leute noch nicht mal das.
Libs ersetzen eben einfach nicht das Verständnis für die Arbeitsweise 
des Sensors. Versteht nur irgendwie keiner.

gruß cyblord

von John (Gast)


Lesenswert?


von wired (Gast)


Lesenswert?

Ich habe mir jetzt mehrere Beiträge durchgelesen, andere Tutorials 
genutzt und alles Probiert. Der Sensor gibt immer wieder diese 85000 
aus, und ich weiß definitiv nicht wie oder was ich ändern muss damit die 
Timings und alles passen und ich eine Temperatur bekomme.

Ich lese den Sensor nur aus, in dem ich auf dem Raspi die Für den 
jeweiligen Sensor zuständige Datei auslese.

Zu mehr bin ich leider noch nicht gekommen.

von Wolfgang (Gast)


Lesenswert?

wired schrieb:
> Der Sensor gibt immer wieder diese 85000 aus

Dann erzähl doch endlich mal, wie du von den 16Bit im Temperaturregister 
auf 85000 kommst.

von John (Gast)


Lesenswert?

Wolfgang schrieb:
> wired schrieb:
>> Der Sensor gibt immer wieder diese 85000 aus
>
> Dann erzähl doch endlich mal, wie du von den 16Bit im Temperaturregister
> auf 85000 kommst.

Das steht doch auf der verlinkten Seite:
"Wir sehen, dass uns der Sensor etwas meldet. Und zwar eimal, dass die 
Datenübertragung vernünftig gelaufen ist mit dem Eintrag crc = 5e YES 
und zum zweiten die Temperatur  t=24375. Das sind natürlich nicht 24375 
°C sondern 24,375 °C. Wie man auf den richtigen Wert kommt steht im 
Datenblatt des Sensors. In unserem Fall einfach den Wert durch 1000 
teilen."

Die Software wandelt den Wert um.

von eProfi (Gast)


Lesenswert?

Er ist lernresistent, da muss er jetzt selber durch.

von boka loka (Gast)


Angehängte Dateien:

Lesenswert?

Wenns dann funktiniert, dann sieht es so aus. 0.1° Auflösung mit DS1820.

von Oliver (Gast)


Lesenswert?

Hi,

ich hatte das gleiche Problem. Das Problem ist in

http://forum.fhem.de/index.php?t=rview&goto=62724&th=10892

beschrieben. Und auch die Lösung

modprobe w1_gpio pullup=1

Grüße
Oliver

von Peter D. (peda)


Lesenswert?

wired schrieb:
> Ich lese den Sensor nur aus, in dem ich auf dem Raspi die Für den
> jeweiligen Sensor zuständige Datei auslese.

Wenn es zu den Libs des Raspi keine ordentliche Doku gibt, dann schmeiß 
den Raspi weg.

Ich programmiere den DS1820 einfach nach Datenblatt mit einem GPIO auf 
einem beliebigen MC und der läuft wie dumm.

von Joachim .. (joachim_01)


Lesenswert?

>Ich programmiere den DS1820 einfach nach Datenblatt mit einem GPIO auf
>einem beliebigen MC und der läuft wie dumm.
Der DS1820 ist easy, aber hast du mal den DS2430, 32Byte x 8 EEPROM 
ausprobiert? Ich habe den nach Datenblatt angesteuert und bekomme immer 
einen Offset des Adresszählers um 2, d.h. ich beschreibe die Zelle 5 und 
muß aus Zelle 5+2 lesen. Das geht bis zum letzen Byte 0x1F, dannach 
kommt ein korrekter Rollover und es geht mit den zwei verbliebenen 
Adressen 0 und 1 genauso weiter. Sehr seltsam dit janze. Außerdem läßt 
sich Adresse 0 nicht beschreiben. Ich hab dieser Abnormität mehrere 
Stunden gewidmet und finde trotzdem nicht die Ursache.

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.