-         
Ergebnis 1 bis 5 von 5

Thema: DS1820 Reihenfolge festlegen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.06.2007
    Beiträge
    63

    DS1820 Reihenfolge festlegen

    Anzeige

    Hallo,

    wenn man mehrere DS an einem "Bus" also alle an einem Port hat, wie kann ich dann die Reihenfolge bestimmen?

    In den Beispielprogrammen wird meistens der erste gesucht und dann der nächste und dann der nächste usw.

    Aber welcher ist das denn nun genau???
    Was passiert, wenn ein DS sich beim ersten Aufrufen nicht meldet?

    Kann man 5 oder 6 DS jeweils einzeln an einem eigenem Port per Atmega betreiben?

    Danke für die Hilfe von Euch

    MfG CAS

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    Du musst die IDs aller DSen kennen, dann weiss man auch welcher wo welche Temperatur misst. Das Heisst, wenn man die IDs der DS1820 kennt, kann man die auch gezielt am Bus ansprechen.

    Jeden einzeln an einem Port geht natürlich auch, ist aber eher Verschwendung.

  3. #3
    Das schöne an dem 1-wire (sind ja eigtl. 2 bzw 3, wenn man sie nicht parasitär nutzt) ist ja grade, dass man nur _ein_ Kabel benötigt. Bei mehreren Ports wären es auch mehrere Kabel. Das macht ja nicht viel Sinn, oder?
    Ich mache es so, dass ich die einzelnen DS18S20 zuerst identifiziere (ID) und mir dann merke, welcher DS die entsprechende ID hat. Dann kann man sie per Software nachher einfach zuordnen.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    24.06.2007
    Beiträge
    63
    ist schn richtig, aber man hat immer die dreifache Arbeit.
    Erstmal die ID lesen (jeden einzeln), dann als gesamtes aufrufen und dann im Programm oder sonstwie (Dipschalter oder so) im Programm zuordnen.

    Muß man eigentlich einen Pin am C-Port benutzen oder geht auch ein anderer?

    Wie funktionert das, wenn die Daten/praktisch auf der Betriebsspannung mitlaufen sollen (also insgesamt nur 2 Adern?) ?

    MfG CAS

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    12.12.2004
    Ort
    Trier
    Beiträge
    38

    Re: DS1820 Reihenfolge festlegen

    Die Frage von cas bezieht sich vermutlich auf die in den Bascom-Beispielprogrammen benutzten Funktionen 1WIRESEARCHFIRST() und 1WIRESEARCHNEXT().

    Zitat Zitat von cas
    wenn man mehrere DS an einem "Bus" also alle an einem Port hat, wie kann ich dann die Reihenfolge bestimmen?
    Die Reihenfolge ist durch die Seriennummern der 1Wire-Chips festgelegt und beginnt mit der niedrigsten gefundenen Seriennummer.

    Zitat Zitat von cas
    Was passiert, wenn ein DS sich beim ersten Aufrufen nicht meldet?
    Der taucht dann in der Liste nicht auf und die nachfolgenden rücken auf.

    Zitat Zitat von cas
    wenn man mehrere DS an einem "Bus" also alle an einem Port hat, wie kann ich dann die Reihenfolge bestimmen?
    In den Beispielprogrammen wird meistens der erste gesucht und dann der nächste und dann der nächste usw.
    Fazit: Wie cas eigentlich schon richtig vermutet, ist diese Methode nicht geeignet einen Bus von Temperatursensoren abzufragen, bei dem jedem Sensor eine feste Meßstelle zugeordnet ist. Das muß wie meine Vorredner schon schrieben über die vorher erfasste Seriennummer (ID) geschehen.

    Die Bascom-Funktionen 1WIRESEARCHFIRST() und 1WIRESEARCHNEXT() nutzen den ROM SEARCH COMMAND der 1Wire-Chips. Diese Funktion macht nur Sinn, wenn ich einen Bus mit ständig wechselnden Teilnehmern zyklisch durchsuche, wie es z.B. bei Objekterkennungen oder Anwesenheitskontrollen der Fall ist.

    Siehe www.ibutton.com/ibuttons/standard.pdf (C.3. Seite 51)

    screwdriver

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •