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


von Izzarshah K. (izzarshah_k)


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

von Timmo H. (masterfx)


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

von Stefan R. (kroko)


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

von Izzarshah K. (izzarshah_k)


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!!

von Izzarshah K. (izzarshah_k)


Lesenswert?

Habe ich Recht, wenn ich so schreiben

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

von Stefan R. (kroko)


Lesenswert?

Bitte!

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

Mfg Kroko

von Harry (Gast)


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 :)

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.