Forum: Mikrocontroller und Digitale Elektronik DS18S20


von Bob (Gast)


Lesenswert?

Hallo,
ich rechne die Temperatur mit den zwei zusätzlichen Registern auf zwei
Kommastellen genau aus. Die Formel dafür steht ja im Datenblatt.
Aber wie siehts bei negativen Werten aus? Zuerst Zweierkomlement dann
letztes Bit wegsschneiden und dann mit der Formel berechnen oder liege
ich da falsch?
BtW: Mir kommen die Temperaturen zu hoch vor(habe zwei Stück getestet),
hat schonmal jemand so ein Teil mit nem guten Thermometer verglichen?
Gruesse
Bob

von Benedikt (Gast)


Lesenswert?

Mess doch mal Eiswasser. Bei mir waren es 0,1°C (es sollte 0,0° sein)
Auf zwei Kommastellen brauchst du nicht zu rechnen, die Auflösung liegt
bei 1/16°

von Bob (Gast)


Lesenswert?

Eiswasser könnt ich mal testen.
Und wie siehts mit der Rechnung für negative Werte aus, stimmt das so?

von Bob (Gast)


Lesenswert?

Die Eiswassermethode liefert bei beiden 0,12 Grad. Sollten also richtig
messen. Komisch ist nur mich friert hier in meinem Zimmer und die
zeigen 20 Grad an ;-)

von Benedikt (Gast)


Lesenswert?

Mich friert es nicht, meine Thermometer zeigen:
Funkuhr mit Temperaturanzeige: 15,7° auf der Fensterbank
Innen/Außen Thermometer: 16,8° auf dem Schreibtisch, 19,7° Ansaugluft
des PCs auf dem Boden
DS1820 mit LED Anzeige: 26,1° Sensor hängt am Lüftergitter des PC
Netzteils
DS1820 mit LC-Display: 1,2° Sensor hängt draußen vorm Fenster

Wie alt ist dein DS1820 ?
Ich habe vor kurzem einen bei Reichelt verkauft und diesen mit einem
verglichen, den ich schon ein paar Jahre rumliegen habe: 2,5°
unterschied. Der alte hat anscheinend Feuchtigkeit gezogen und ist
ungenau geworden.

von Bob (Gast)


Lesenswert?

also die sind ganz neu gekauft. Ich weiss natürlich nicht wie lange die
schon rumliegen. Einen habe ich mich Plastikspray versiegelt um der
Feuchtigkeit entgegenzuwirken.
Mal was anderes bezüglich der DS18. Ich habe gerade das SearchROM aus
der ApplikationNote von Maxim in meinen Code eingebaut funktioniert
auch soweit. Aber es gibt doch das prinzipielle Problem das ich die
Sensoren nicht unterscheiden kann oder? Woher weiss ich welcher Sensor
1 2 3 usw. ist?

von Benedikt (Gast)


Lesenswert?

Nein, das geht leider nicht. Daher verwende ich den SearchROM Befehl
nie, sondern immer den SkipROM, falls nur 1 Sensor verwendet wird, oder
ich gebe die Codes fest ein.

Ich habe ein kleiens Programm, das mir den Code des angeschlossenen
Sensors über RS232 an den PC sendet. So lese ich bei allen neu
gekauften Sensoren den Code aus und beschrifte die Tütchen mit dem
Code.

von mthomas (Gast)


Lesenswert?

Ganz brauchbare Methode:
1. einen DS18x20 anschliessen
2. alle ROM-Codes auslesen (soweit nur einer)
3. Sensornummer abfrage (UART-Terminal/Tastatur/LCD)
4. ROM-Code ins eeprom ablegen
5. weiteren Sensor anschliessen
6. nochmal Search-ROM, der Code des ersten ist schon im eeprom und
bekannt, fuer den neuen weiter mit 3 usw.
Ergebnis ist eine Tabelle Sensornummer<->ROM-Code im EEPROM.
Methode ist auch ganz praktisch, wenn "im Einsatz" mal ein Sensor
ausgetauscht werden muss. Ein neuer ROM-Code wird dann erkannt und
dieser dann wieder einer Sensor-Nummer zugewiesen.

von Peter D. (peda)


Lesenswert?

Andere Methode:

Es wird immer nur ein Sensor gliechzeitig angeschlossen und dem wird
dann eine Meßstellennummer zugeordnet, die im EEPROM des Sensors
gespeichert wird.
Dann der nächste Senosr usw..
Um nun eine bestimmte Meßstelle auszulesen wird solange ROM-Search
gemacht, bis die richtige Nummer im EEPROM erkannt wurde.

Vorteil: man kann beliebig viele Sensoren anschließen, da ja kein SRAM
oder EEPROM des µC belegt wird.

Da der EEPROM 2 Byte groß ist, enthält das erste Byte die Meßstelle und
das 2. Byte ist ein Prüfwert, ob der Sensor neu ist oder schon
zugewiesen wurde.



Peter

von Volker (Gast)


Lesenswert?

Hallo,

da ich etwas ähnliches wie du vor habe, wollte ich fragen ob du mir den
quellcode für die ansteuerung des temperaturs sensors geben könntest.
wäre echt nett. weil ich das ding bis morgen zum laufen bringen muss!
Danke schon jetzt

von Chris (Gast)


Lesenswert?

Hallo,

in der Formelsammlung ist sowas dabei.

Gruß

von Patrick (Gast)


Lesenswert?

Hallo Leute,
ich weis, der Thread ist alt!

Aber die eigentliche Frage interessiert mich auch und ist nocht nicht 
geklärt:
>Aber wie siehts bei negativen Werten aus? Zuerst Zweierkomlement dann
>letztes Bit wegsschneiden und dann mit der Formel berechnen oder liege
>ich da falsch?

Grüße,

Patrick

von JoachimB (Gast)


Lesenswert?

Hallo Patrick,

aus dem Kopf kann ich Dir die Frage nicht beantworten.
Ich würde das Rechenverfahren mit allen Beispieldarstellungen im 
Datenblatt durchrechnen. Damit kannst Du auf einfache Weise deinen 
Algorithmus auf Funktion testen.

Gruß
Joachim

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.