mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik One Wire Bus DS1820


Autor: Jens Gerdes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, eine Sache zum One Wire Bus von Dallas ist mir unklar: Wenn ich
mehrere Temperatursensoren (DS1820) an den Bus hängen will, kann ich
diese mit dem ROM-Search Algorithmus identifizieren. Wie weiss ich
aber, welcher Sensor, topologisch gesehen, sich gemeldet hat? Beispiel:
Ich habe je einen Sensor für die Aussen- und die Innentemperatur. Der
ROM-Search liefert mir zwei IDs. Woher weiss ich, welche ID der Sensor
füp die Aussentemperatur hat? Aus den Dallas Application Notes bin ich
leider nicht schlau geworden.

Viele Grüsse
Jens

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist sogar ziemlich simpel das herauszufinden :

-nur einen sensor anschließen
-ID scannen
-ID merken

;-)

MfG
formtapez

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besser so:

- nur einen sensor anschließen
- in dessen EEPROM (2Bytes) eine Nummer eintragen
- einen anderen sensor anschließen
- in dessen EEPROM (2Bytes) eine andere Nummer eintragen
- usw.

Dann, wenn wieder alle angeschlossen sind, die Temperatur mit dem
EEPROM auslesen und schon weiß man, zu welcher EEPROM-Nummer die
Temperatur gehört.

Auf diese Weise kann man auch bequem die Sensoren nachträglich
umsortieren bzw. einen defekten Sensor ersetzen.


Peter

Autor: Jens Gerdes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnellen Antworten. Dies macht allerdings eine
Serienfertigung eines Gerätes mit mehreren Sensoren etwas teurer.

Jens

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie mußt Du die Sensoren an das Gerät anpassen, da die Adresse ja
nicht aufgedruckt ist.

Für die Serienfertigung könnte ich mir folgendes vorstellen:

Du baust ein Gerät mit einer Transistorfassung, mit dem man den EEPROM
des Sensors programmieren kann. Im einfachsten Fall hat das Ding nur
einen Drehschalter, mit dem man die Nummer einstellt und eine LED, die
anzeigt, daß er programmiert ist. Und ein ATTiny26 macht das 1-wire.

Dann können die in der Produktion z.B. 100 Sensoren nehmen, reinstecken
und als Sensor 1 markieren, die nächsten 100 als Sensor 2 usw.


Peter

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.