Ankündigung

Einklappen
Keine Ankündigung bisher.

One-Wire instabil

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] One-Wire instabil

    Hallo,

    langsam, aber sicher treiben mich meine Multisensoren in den Wahnsinn.
    Ich habe im Haus gesamt neun Stück verbaut, alle im parasitic mode. Diese hängen an zwei DS9490 (an einem drei, am anderen sechs). Verdrahtet ist über ws/ge in der KNX-Busleitung. KNX läuft einwandfrei.
    Die beiden DS9490 sind über einen aktiven USB-Hub (mit eigenem Netzteil) an einen Beaglebone angeschlossen. Auf dem Beaglebone läuft sh.py mit owfs 2.8p15. Die DS9490 und die Multisensoren stammen alle von Wiregate.

    Zum Problem: bei jedem Auslesen (sei es über die Schnittstelle sh.py->owfs, sei es über owfuse uncached) sind immer nur einige Sensoren, manchmal auch gar keine sichtbar.
    Meine Vermutung, dass der Busmaster die Parasitic power nicht treiben kann, hat sich nicht so recht bestätigt. Die Busspannung (an einem der Sensoren gemessen) liegt knapp über 4V. Laut Datenblatt DS18B20 genügen ihm 3V, das sollte also kein Problem sein.
    Einen Sensor habe ich versuchsweise mal an 5V externe Versorgung gehängt. Einzige Änderung: meine Frau war irritiert, als ich im Arbeitszimmer mit dem Netzteil und dem Oszi auftauchte. Ansonsten alles wie gehabt.

    Zwei direkt aufeinanderfolgende Messungen liefern diese Ergebnisse:
    Code:
    root@hausmeister:~# ls /mnt/1wire/uncached
    81.06C931000000  bus.0  bus.1  settings  statistics  structure  system
    root@hausmeister:~# ls /mnt/1wire/uncached
    28.19F6AA030000  28.313CDE030000  28.62B7AA030000  28.D1EFAA030000  81.06C931000000  simultaneous
    28.1DE21B030000  28.519E1B030000  28.62B7AA030000  28.D1EFAA030000  alarm            statistics
    28.1DE21B030000  28.52E7AA030000  28.8EDAAA030000  28.D1EFAA030000  bus.0            structure
    28.1DE21B030000  28.62B7AA030000  28.D1EFAA030000  28.D1EFAA030000  bus.1            system
    28.1DE21B030000  28.62B7AA030000  28.D1EFAA030000  28.E5EFAA030000  settings
    Die beiden Leseversuche sehen auf dem Oszi dann so wie im Anhang aus (erste zwei Bilder). Der initiale Syncpuls kommt immer, aber die Antworten schwanken stark.
    Sie anderen zwei Bilder zeigen den Syncpuls und einen (willkürlich gewählten) Ausschnitt aus dem Signalverlauf, Zeitbasis 50µs.

    Hat jemand eine Vorstellung, wo das Problem liegt? Ich bin inzwischen ziemlich genervt.

    Gruß,

    Max
    Angehängte Dateien

    #2
    Hi,
    wenn du nur einen ohne HUB betreiben würdes hast du dann auch das Problem?

    Wieviel m kabel hat den deine KNX/1Wire verkabelung?

    Viele Grüsse
    Jürgen

    Kommentar


      #3
      Anfänglich hatte ich nur einen Busmaster, damit war´s nicht besser. Verbaute Leitungslänge dürften so um die 150m sein, verdrahtet als Baum.

      Am ersten Busmaster hängt das EG: drei Sensoren, davon zwei an einem Strang, einer an einem anderen.
      Am zweiten Busmaster hängen OG und DG: sechs Sensoren im Stern, je Strang ein bis zwei Sensoren. Vom Sternpunkt geht es noch mal ca. 7m zum Busmaster.

      Beide funktionieren ungefähr gleich schlecht.

      Max

      Kommentar


        #4
        Hi Max,

        ich habe nicht wahnsinnig Ahnung von Onewire im Speziellen, aber:
        - kannst du nicht mal den ersten (erfolglosen) Vorgang genauer mit dem zweiten Vorgang vergleichen? Ab wo bricht der Vorgang ab? Kollision, Timingfehler etc.?
        - mit was für Startparametern betreibst du owfs? Strong-Pullup enabled? Evtl. Fast-mode an?

        Allgemein:
        - knapp über 4V finde ich erstaunlich für die paar Temperatursensoren. Mit meinen DS2483 bin ich selbst mit Feuchtesensoren bei 4,7V. Könnte auch Symptom und nicht Ursache sein, so dass eben der nicht-parasitäre Betrieb nichts half.

        Grüße
        Robert

        Kommentar


          #5
          Hallo Robert,

          danke. Der DS9490R ist mit den Konfigurationsoptionen sehr sparsam, anders gesagt: es scheint keine zu geben. Strong Pullup ist im Datenblatt nirgends erwähnt, auch Google und owfs brachten mich nicht weiter.
          [EDIT: Strong pullup ist doch erwähnt, und zwar im Datenblatt zum DS2490, der im DS9490 verbaut ist.]

          Das Timing initial scheint zu passen, auch die Flanken sind zwar kein Traum, aber einigermaßen ok. Ich mache heute abend noch mal ein paar Osziaufnahmen.

          Die effektivste Maßnahme eben war:
          OWFS-Serverprozesse stoppen
          USB-Hub abstecken (USB und Stromversorgung)
          10s warten
          Alles wieder anstecken
          OWFS-Serverprozesse starten

          Jetzt funktionieren die Temperatursensoren alle, und von den Feuchtesensoren wenigstens die Hälfte. Strange.

          Ich muss den Selbstbau-KNX-Multisensor doch noch weiterverfolgen.

          Max

          Kommentar


            #6
            AW: One-Wire instabil

            Hallo Max,

            Wir haben das OWFS speziell gepacht, insbesondere im Bereich Reset und Strong Pullup.

            Ich weiß nicht, ob diese in Deinem OWFS schon alle drin sind.

            Darum : Wir leihen Dir gerne ein WG für zwei Wochen kostenlos. Bitte an unseren Support wenden (bin im Urlaub)

            Stefan

            Kommentar


              #7
              Hallo Stefan,

              vielen Dank für das Angebot. Ich habe auf der Basis der Stichworte mal etwas herumgegoogelt und bin (nicht ganz unerwartet) auf einen gewissen Michael Markstaller gestoßen:
              Gmane -- Re: Problems in owserver with USB and longer cables
              und
              OWFS Developers - Problems in owserver with USB and longer cables | Page 2

              Ich muss mal meditieren, wie ich weitermache. Ein Wiregate zum Test, ob die Installation prinzipiell funktioniert, wäre sicher ein guter Anfang.

              Ansonsten sehe ich folgende Optionen:
              • WG kaufen und als reinen Onewire->KNX-Hub betreiben - hässlich
              • OWFS so patchen, dass Strong pullup und slew rate in der owfs.conf einstellbar werden - aufwendig
              • Temperatur- und Feuchtemessung auf KNX umstellen - sehr aufwendig
              • Auf den angekündigten Hub warten (ich würde auch gerne Betatester spielen, Hardware wird natürlich bezahlt und Testbericht geliefert) - [da kann ich nur mal gen Bayern freundlich fragend rüberschauen]

              Gibt es den Patch gegen den OWFS eigentlich als Sourcecode? Es gab mal hier im Forum eine Diskussion zum Thema, die ist dann aber wieder anderswohin abgebogen.
              Sonst muss ich mich eben selber durchwühlen.



              Max

              Kommentar


                #8
                Zitat von l0wside Beitrag anzeigen
                • OWFS so patchen, dass Strong pullup und slew rate in der owfs.conf einstellbar werden - aufwendig
                Wäre es da nicht einfacher das auch makkis Sourcen zu machen bzw. seine fertigen Pakete zu nehmen - oder hab ich da jetzt nen Denkfehler?
                Index of /wiregate/pool/main/o

                Grüße
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #9
                  Danke, das hatte ich gesucht und nicht gefunden.
                  Muss ich heute abend mal einbauen.

                  Noch'n Nachtrag: die Option altUSB in der owfs.conf sollte eigentlich für langsamere Slewrates sorgen. Bei mir sorgt sie leider nur dafür, dass gar nichts mehr geht. Ich habe sie wieder rausgeworfen.

                  Max

                  Kommentar


                    #10
                    One-Wire instabil

                    Zitat von l0wside Beitrag anzeigen
                    • WG kaufen und als reinen Onewire->KNX-Hub betreiben - hässlich
                    Mag sein, dass ich mich täusche, aber ist nicht gerade diese vermeintlich hässliche Option einer der, wenn nicht sogar genau DER, Gedanke hinter dem WGMFGW???

                    Logiken, die CV usw sind nach meinem Verständnis doch "nur" die zusätzlichen Benefits und nicht die Hauptidee hinter dem Produkt?!
                    Gruß
                    Thorsten

                    Nach bestem Wissen, ohne Gewähr

                    Kommentar


                      #11
                      Zitat von JuMi2006 Beitrag anzeigen
                      Wäre es da nicht einfacher das auch makkis Sourcen zu machen bzw. seine fertigen Pakete zu nehmen - oder hab ich da jetzt nen Denkfehler?
                      Index of /wiregate/pool/main/o
                      Äh ja, du hast recht. Bloß ist das auch nicht wirklich einfach:
                      • Aktuell ist (bei Debian) die 2.8-15, die läuft jedenfalls auf meiner Kiste
                      • Ein fertiges Paket (2.7) gibt es nur für armel, ich habe aber armhf. Also ist Selbercompilieren angesagt.
                      • Makki hat die 2.7 gepatcht. Der naive Versuch, einfach die ow_ds9480.c von Makki über die 2.8er drüberzubügeln, scheiterte - ein Diff zeigt, dass die Unterschiede ziemlich erheblich sind. Nicht nur in der betreffenden Datei, sondern die gesamte Verzeichnisstruktur hat sich wohl geändert.
                      • owfs 2.7 habe ich anschließend erfolgreich übersetzt
                        Code:
                        EPREFIX=/usr PREFIX=/ ./configure --enable-usb --enable-i2c --disable-debug --disable-owcapi --disable-swig --disable-owphp --disable-owtcl --disable-parport --enable-owfs --enable-ownet --disable-owtap --disable-zero
                      • Der so erzeugte owserver allerdings führt (beim Aufruf mit dem gleichen Configfile wie bei 2.8) dazu, dass nur der Busmaster selbst (81.x) und sonst gar nichts gefunden wird.
                      • Zum Oszi anhängen ist es mir jetzt zu spät.

                      Ich werde wohl beim 2.8 bleiben und auf I2C-Busmaster umsteigen. Hat wer noch einen 2482-800 rumliegen? Meinen habe ich vor längerer Zeit teilgegrillt.



                      Max

                      Kommentar


                        #12
                        Vl. hat Makki irgendwo nen Patch hinterlassen... Das wäre der zweitmühsamste Weg.
                        Derzeit zwischen Kistenauspacken und Garten anlegen.
                        Baublog im Profil.

                        Kommentar


                          #13
                          Mag sein (wo ist Makki eigentlich für sein Sabbatical? In der Südsee?).

                          Der Diff zwischen 2.7 à la Makki und 2.8 ist 2200 Zeilen lang, das bedeutet also rund 1000 Zeilen, die zwischen beiden unterschiedlich sind. Gegen die 2.7 habe ich den Diff nicht geprüft (wäre vermutlich ganz sinnvoll gewesen, aber nicht mehr um diese Uhrzeit).

                          Im Moment kommt das System mit dem Chaos einigermaßen zurecht, ich konzentriere mich also wieder erst mal auf andere Themen (Tablet an der Wand).
                          Ich hoffe außerdem, dass ich meine KNX-Multisensoren irgendwann zum Laufen kriege. Leiterplatte ist jedenfalls fertig.

                          Max

                          Kommentar


                            #14
                            Ich meinte schon den 2.7 Diff...
                            I2C ist natürlich - gerade mit dem RPi - auch eine Lösung.

                            KNX Multisensoren... erzähl mal...
                            Derzeit zwischen Kistenauspacken und Garten anlegen.
                            Baublog im Profil.

                            Kommentar


                              #15
                              Den Diff zu 2.7 kann ich heute abend mal versuchen, wenn ich nicht Rosen einpflanzen muss...

                              Zum KNX-Multisensor sage ich hier nichts, Stefan würde uns wohl zu Recht hochkant aus dem Wiregate-Forum rauswerfen. Bei näherem Interesse deswegen bitte PM.

                              Max

                              Kommentar

                              Lädt...
                              X