mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS18S20 vs. DS18B20


Autor: kolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Ich hab mir eine Temperaturanzeige mit einem Atmega8 und DS18s20 
gebastelt.
Soweit alles gut.
Jetzt hab ich neuerdings DS18B20 im Einsatz und mit denen stimmt die 
Routine zum Auslesen nicht mehr.

DS18S20
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &H44
Waitms 800
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &HBE
Ar1(2) = 1wread()
1wreset

T = Ar1(2) / 2

das geht mit den DS18B20 nicht so. Ich hab schon einiges beim suchen im 
Inet gefunden aber wirklich hilfreich war das alles nicht.
Was geholfen hat war die Tmp / 16 zu teilen, aber jetzt bekomm ich 
teilweise 21,812° angezeigt.
Gibts irgendwas einfaches um die B Sensoren auszulesen, 0,5Grad reichen 
mir auch völlig zu !!
Ich progge in Bascom.

DANKE für eure Mühe

Autor: Hans Josef (hjm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo koll,

der 18B20 hat eine höhere Auflösung (insgesamt 3 Bit).

Um den S-typen nun mit der gleichen Routine auszuwerten muß Du nach dem 
Einlesen, dessen Wert um drei Stellen nach links schieben und kannst 
dann wieder die Routine vom B-typen für die Umrechung nutzen.

z.B. 85°C
B-Typ 0101 0101 0000
S-Typ 0000 1010 1010

oder 0,5°
B-Typ 0000 0000 1000
S-Typ 0000 0000 0001

Grüße
Hans-Josef

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das geht mit den DS18B20 nicht so. Ich hab schon einiges beim suchen im
> Inet gefunden aber wirklich hilfreich war das alles nicht.

Nein? Auch nicht das Datenblatt? Da steht alles drin. Oder verstehst Du 
es nur nicht?

Oder kannst Du G**gle nicht bedienen? Die suchworte ds18b20 bascom 
finden eine ganze Menge, auch was auf Deutsch:
http://www.roboternetz.de/wissen/index.php/Bascom_und_1-Wire

Was genau ist Dir nicht klar?

Tom

Autor: kolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Links die zu Suchbegriffen "Bascom" und "DS18B20" in Google 
erscheinen sind bei mir "lila", was soviel heißen soll das ich die alle 
durchgeklickt habe.
Was mir nicht Klar ist?
Wie ich die Tmp des B-Typen ausgeben soll.

Das geht nur beim S-Typ aber nicht beim B-Typ.
Ar1(2) = 1wread()
T = Ar1(2) / 2

ich will einfach wissen was mus beim B-Typ hier her
T = ???????????????

@Hans-Josef
Leider hab ich garnix verstanden, sorry bin noch Anfänger.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kolli wrote:

> Was geholfen hat war die Tmp / 16 zu teilen, aber jetzt bekomm ich
> teilweise 21,812° angezeigt.

Ja, das ist korrekt.
Anders gehts nicht.


> Gibts irgendwas einfaches um die B Sensoren auszulesen, 0,5Grad reichen
> mir auch völlig zu !!

Du kannst die untersten 3 Bits ausmaskieren.


Peter

Autor: kolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
----> "Du kannst die untersten 3 Bits ausmaskieren."

und bitte wie? So klingt das nach dem was ich suche.
Danke

Autor: kolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke ich bin 1 Schritt weiter.
Jetzt zeigt er 220 oder 225 oder 231 das soll wohl 22,0 oder 22,5 oder 
32,1 heißen. Wo bekomm ich jetzt das Komma her?

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.