Forum: Mikrocontroller und Digitale Elektronik 2 x DS18B20 am 1-wire Bus betreiben


von Wolfgang-G (Gast)


Lesenswert?

Mit einem MSP430 lese ich über einen DS2482-100 einen DS18B20PAR aus. Am 
1-wire Bus hängt z.Zt. nur ein einziger Fühler. Um mehr als einen Fühler 
am 1-wire Bus  auslesen zu können, ist eine in jedem Fühler vorhandene 
Seriennummer einzugeben.
Das Lesen der Temperatur und das Lesen der 64 Bit Nummer funktioniert 
bereits.
Gebe ich nach der Wandlung [44h] die Seriennummer ein, lese ich nach der 
vorgegebenen Wartezeit immer konstant 25,93°C aus.
Hat jemand ein funktionierendes Beispiel, wo mit der Seriennummer 
gearbeitet wird?
MfG
Wolfgang

von Gast (Gast)


Lesenswert?

schau mal in die Codesammlung. Soweit ich mich erinnere gibts ein 
ASM-Beispiel für mehrere DS18B20 (Forensuche halt ;-) )
Dort ist auch das mit ROM-Search drinnen...

von Gast (Gast)


Lesenswert?


von Wolfgang-G (Gast)


Lesenswert?

Nach dem Durchlesen sind einige Fragen offen:
a)Muss man immer über search ROM [F0h] gehen, um mehrere Fühler zu 
betreiben?
b)Ich hätte gedacht, dass man nach dem Befehl match ROM [55h] die 
Seriennummer eingeben kann. Nur der Fühler, dessen Seriennummer 
übereinstimmt, antwortet. Oder habe ich diesen Absatz des Datenblattes 
zu match ROM falsch übersetzt?
Die Serienummer habe ich mit read ROM[33h] im Einzelbetrieb ausgelesen.

MfG
Wolfgang

von Peter D. (peda)


Lesenswert?

Wolfgang-G wrote:

> a)Muss man immer über search ROM [F0h] gehen, um mehrere Fühler zu
> betreiben?

Nö, aber ich fand diese Methode am einfachsten.


> b)Ich hätte gedacht, dass man nach dem Befehl match ROM [55h] die
> Seriennummer eingeben kann. Nur der Fühler, dessen Seriennummer
> übereinstimmt, antwortet. Oder habe ich diesen Absatz des Datenblattes
> zu match ROM falsch übersetzt?

So gehts auch.

Bloß muß man dazu eben erst vorher alle Seriennummern auslesen und z.B. 
im EEPROM speichern. Diesen ganzen Aufwand spart man sich mit dem 
ROM-Search.


Peter

von Wolfgang-G (Gast)


Lesenswert?

dann kann ich ja weitermachen, obwohl mein Ausgangsproblem noch nicht 
gelöst ist.
Das Auslesen der Seriennummer sehe ich nicht als Problem an. Im 
Gegenteil, damit weiß ich genau, welchen Fühler ich anspreche und kann 
den ermittelten Messwert dem jeweiligen Messort zuordnen. (nach Lösung 
meines Problems)
Wozu ein EEPROM? Kann die Nummer doch gleich in das Programm 
einarbeiten.
MfG
Wolfgang

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.