www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS18B20: Scratchpad Konfigurationsregister nach 9-bit Auflösung einstellen (0,5 Grad Inkrement)


Autor: Izzarshah K. (izzarshah_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Wie kann ich das Konfigurationsregister des DS18B20 einstellen, sodass 
nur 0,5 grad Inkrement geschieht. (9-bit Auflösung).

Ich weiss, muss man mit Write Scratchpad (4Eh) etwas manipulieren. Kann 
jemand mir bitte programmweise C erklären?

Danke im Voraus

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso? Der DS18B20 spuckt die Temp doch als 16 Bit-Wert aus, wobei die 
Bits 15-4 eben die ganzzahligen Temperaturen sind und die untersten 4 
Bit eben die 0,5° genauigkeit

Autor: Stefan R. (kroko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 12 Bit Auflösung sind die Bits 11 - 15 das Vorzeichen un die 
Auflösung beträgt 0.0625°.

Im Datenblatt auf Seite 7, siehst die Memory Map. Du musst im 
Configuration Register, welches auf der nächsten Seite beschrieben ist, 
R0 und R1 verändern.
Genau mit write scratchpad 4Eh das Register ändern und wenn du die 
Auflösung dauerhaft (also auch nach dem Ausschalten) haben möchtest 
musst du mit copy scratchpad 48h die Einstellungen ins Eeprom kopiern.

Mfg Kroko

Autor: Izzarshah K. (izzarshah_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan R. schrieb:
> Bei 12 Bit Auflösung sind die Bits 11 - 15 das Vorzeichen un die
> Auflösung beträgt 0.0625°.
>
> Im Datenblatt auf Seite 7, siehst die Memory Map. Du musst im
> Configuration Register, welches auf der nächsten Seite beschrieben ist,
> R0 und R1 verändern.
> Genau mit write scratchpad 4Eh das Register ändern und wenn du die
> Auflösung dauerhaft (also auch nach dem Ausschalten) haben möchtest
> musst du mit copy scratchpad 48h die Einstellungen ins Eeprom kopiern.
>
> Mfg Kroko

Danke für den Tipps!!

Autor: Izzarshah K. (izzarshah_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich Recht, wenn ich so schreiben

ow_write_byte(0x4E) //send command to write scratchpad 
ow_write_byte(0xFF) //buffer TH 
ow_write_byte(0xFF) //buffer TL 
ow_write_byte(0x00) //send 0 to config register

Autor: Stefan R. (kroko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte!

Ja, sollte so funktionieren.
Nur Reset Pulse und Rom Command davor nicht vergessen.

Mfg Kroko

Autor: Harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich möchte auch gerne die Auflösung meiner DS18B20 auf 9 Bit (dauerhaft) 
einstellen. Mit der Anleitung oben kenne ich mich aber leider nicht aus, 
ich bin nur Anfänger. Wäre toll wenn mir jemand Tipps geben kann, wie 
ich da genau vorgehen muss, also eine Step by Step Anleitung :)
Braucht man dazu einen Programmer ??

Danke

Ja, ich weiss, der Beitrag ist uralt :)

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.