www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS18S20


Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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°

Autor: Bob (Gast)
Datum:

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

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in der Formelsammlung ist sowas dabei.

Gruß

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: JoachimB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.