Forum: Mikrocontroller und Digitale Elektronik mehrere DS81S20 - 1wire-Bus


von Ronny Schulz (Gast)


Lesenswert?

Ich möchte mehrere DS18S20 verwenden und stehe jetzt natürlich vor der
Entscheidung, wie ich diese anschließe. So wie ich das gesehen habe,
ist es ja eigentlich fast unmöglich, diese Dinger vernünftig zu
addressieren. Das heißt ich kann die Sensoren nie positionell richtig
zuordnen. Was natürlich für eine vernünftige Temperaturüberwachung
völlig sinnlos ist. Ich kann mir zwar später die Positionen anhand der
Seriennummer merken, aber von vornherein bei einem neuen Sensor ist die
Positionserkennung nicht möglich.

Also macht es wohl wirklich Sinn, immer nur einen Sensor an einem
Port-Pin zu haben.

Wie seht ihr das? Bzw. wie habt ihr das gelöst?

von Peter D. (peda)


Lesenswert?

So schlimm ist das nicht.

Man darf eben immer nur einen neuen Sensor anschließen.
Und die Software erkennt dann, daß ein neuer Sensor angeschlossen wurde
und fragt dann, welcher Meßstelle er zugeordnet werden soll. Dann
schließt man den nächsten an usw.

Die Zuordnung der Meßstelle zum Sensor speichert man dann einfach im
EEPROM des Sensors ab.


Peter

von Ronny Schulz (Gast)


Lesenswert?

Aber so einfach ist das auch nicht. Spätestens wenn ich alle Sensoren
abgehangen habe und die wieder ranhänge, weiß ich wieder nicht, welcher
welcher ist. Vor allem ist das dann ja noch schlimmer, da die ja schon
zugeordnet sind. Gibte s da nicht ein vernünftige Lösung. Ich hab
esozusagen 4 Anschlüsse auf meine Leiterplatte und jenachdem wo der
Sensor sitzt, wird auch dieser die richtige Zuordnung finden?

von Peter D. (peda)


Lesenswert?

Ich sehe jetzt absolut keinen Sinn darin, wenn Du sie einmal an den
entsprechenden Meßstellen plaziert, angeschlossen und zugeordnet hast,
dann wieder alles durcheinander zu bringen.

Aber wenns Dir denn Spaß macht, baust Du eben in die Software eine
Funktion ein um die Zuordnung wieder zu löschen.


Peter

von Tobi (Gast)


Lesenswert?

du nimmst einfach einen edding und schreibst jedem eine dicke nummer
aufs gehäuse! problem gelöst, kostenpunkt 1,59€ :)
programmeirtechnischer aufwand = 0

warum einfach wenn es auch kompliziert geht :)

von Benny K. (do4bmw)


Lesenswert?

Hy

hat einer von euch ein programm beispiel in BASCOM
wie ich mehrere DS18s20 ansprechen kann ?? ich mache das im moment so

ist ein teil eines programm, nur würde ich nun gerne noch zwei weitere
hinzufügen.

wie mache ich das am besten ?! habe da kein plan.

gruss Benny

---



Sub Messungen
Startmessung:
  1wreset                                                   'reset the
device
  1wwrite &HCC                                              'read ROM
command
  1wwrite &H44
  Waitms 100                                                'read ROM
command
  1wreset                                                   'reset the
device
  1wwrite &HCC                                              'read ROM
command
  1wwrite &HBE                                              'read ROM
command
  For I = 1 To 2
    Ar(i) = 1wread()                                        'place
into array
  Next
  Temperatur = Ar(1)
  If Ar(2) > 0 Then Temperatur = 0 Else Shift Temperatur , Right

Getrc5(address , Command)
 If Flag = 1 Then
     ' Lcd "  "
   Flag = 0
 End If
 If Address <> 255 Then
   Reset Command.7
   'Lcd Command ; "   "
   Lastcommand = Command
   Flag = 1
 End If

If Flag_c = 0 Then
   Flag_c = 1
   Wait 1
   Cls
  Goto Startmessung
End If
End Sub Messungen

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.