Ankündigung

Einklappen
Keine Ankündigung bisher.

1-wire Erweiterung im Eigenbau

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    1-wire Erweiterung im Eigenbau

    Hallo zusammen,

    mittlerweile schreien bei mir der RPi und smarthome.py nach einer Hardwareerweiterung.
    Gängige, fertige Baugruppen a la wiregate sind Grundsätzlich eine Option, jedoch würde ich gern versuchen auch eine Eigenentwicklung zum Laufen zu bekommen, die Zudem auf der Raspberry-Seite mit bereits integrierten Boardmitteln auskommt (ofws).

    Sicherlich ist dieses Forum nicht für die Hardwareentwicklung gedacht, aber evtl. findet sich hier jemand, der ein ähnliches Projekt schon selber auf die Beine gestellt hat und von seinen Erfahrungen und Problemen berichten kann.

    Zur Zeit bin ich noch dabei das Zusammenspiel von smarthome.py, owfs und den unterstützen 1-wire Bauteilen im Ganzen zu verstehen.

    Ich habe ein Wunschkonzept erarbeitet, das nach meinem bisherigen Wissenstand auch realisierbar sein sollte.

    Jedoch würde ich gerne wissen, ob ich ein K.O. Kriterium übersehen habe:

    Eine Linienstruktur ist wohl in den wenigsten Fällen realisierbar. So auch bei mir. Das 1-wire Netz entspricht eher einem Baum.
    Also verwende ich mehrere (4) Busmaster um aus dem Baum 4 Linien zu machen. Da der 8-Fach Busmaster aufgrund des Multiplexings zeitkritisch sein soll, habe ich mich für den DS2482-100 entschieden, der auf der I2C Ebene adressiert werden kann.

    Für mich ergibt sich daraus die Frage (In Unkenntnis über die genaue Funktionsweise des owfs) ob smarthome.py über den ofws auf verschiedene I2C Teilnehmer zugreifen kann? (in dem Fall 4x Busmaster mit den dahinterliegenden 1-wire Teilnehmern)

    Weiterhin habe ich noch nicht verstanden wie das Pollingintervall verwaltet wird. Pro Teilnehmer, oder Pro Linie?

    Meine Wunsch-Netztopologie habe ich zum besseren Verständnis als Skizze beigefügt.

    Das Ziel der Erweiterung ist:
    2x Umgebungslichtsensoren für den Außenbereich
    2x Temperatursensoren für den Außenbereich
    2x Temperaturerfassung an der Heizung
    1x Raumtemperatur in der Garage
    1x Schaltschranktemperatur
    1x Digitalen Eingang (Stromzählerimpuls)
    1x Digitalen Eingang (Gaszählerimpuls)
    16x Digitale Ausgänge (4x Direkt ULN2803, 4x Reedrelais, 8x Optokoppler)
    8x Digitale Eingänge (Optokoppler)


    Viele Grüße
    Andre
    Angehängte Dateien

    #2
    Schaltplan

    Hallo,

    war mal mutig und habe einfach begonnen einen Schaltplan zu zeichnen.

    Ich habe mich noch nicht um den Strombedarf und eine evtl. benötigte Stromversorgung gekümmert und es fehlen auch noch jegliche Schutzbeschaltungen...

    Aber bis hierher sieht das Ergebnis so aus:


    Andre
    Angehängte Dateien

    Kommentar


      #3
      Zitat von knx75knx Beitrag anzeigen
      Hallo,

      war mal mutig und habe einfach begonnen einen Schaltplan zu zeichnen.
      Warum verwendest du nicht ein ROT-Interface? Wegen der galvanischen Trennung? Dann kannst du auch ein DS9490 und einen USB-Isolator verwenden.
      Dein Ansatz zur galvanischen Trennung wird so m.E. nicht funktionieren, I2C ist bidirektional. Wenn du unbedingt galvanisch trennen willst, schaue dir die ADUM-Serie von Analog an. Sind allerdings nicht ganz billig.

      Zur Spannungsversorgung solltest du dir auch noch etwas einfallen lassen. Separates Steckernetzteil oder über galvanisch getrennten Schaltregler vom RPi aus?

      Max

      Kommentar


        #4
        Hallo Max,

        erst mal Danke für deine Hinweise.

        Das Verwenden fertiger Komponenten ist im Sinne von Plug & Play mit Sicherheit die "bequemere" Wahl, da stimme ich Dir zu.
        Jedoch möchte ich mir nicht mehrere verschiedene Module kaufen um das gewünschte Ziel zu erreichen.

        Eine passgenaue Lösung ist meiner Meinung nach ebenso erstrebenswert.
        Und ein wenig ist auch der Weg das Ziel ;-)

        Wenn ich dann noch sehe, das das ROT Interface allein schon 79,- Euro kostet und ich dabei noch keine E/A Baugruppen habe ... nun das rechtfertigt auch schon mal über einen Eigenbau nachzudenken.

        Eine galvanische Trennung von Raspberry und Erweiterung hatte ich nicht vorgesehen und denke, das die auch in dem ROT Interface so nicht implementiert ist.
        Der I2C Bus muss auch nicht unbedingt auf der Busebene nochmals extra gal. getrennt sein.
        Ich denke da eher an Schutzbeschaltungen an den Ein- und Ausgängen um Überspannungen durch Einkopplungen beherrschbar zu machen.
        Also im einfachsten Fall Varistor, RC & Co.
        Weiterhin ist ein Schutz des 1-wire Busses bei den Leitungsgebundenen Sensoren wünschenswert. An der Stelle schein die ROT Erweiterung ein gutes Vorbild zu sein. Dort ist ein MAX3394 verbaut.

        Thema Stromversorgung
        Muss mir erst mal die Informationen besorgen, wie viel Strom man der Stiftleiste entnehmen darf - ja, es wird nicht nur vom verwendeten Stecknetzteil abhängen ;-)
        Ein zweites Steckernetzteil ist zwar möglich, hat aber in erster Line einen kosmetischen Mangel (noch ein Netzteil).

        Ich halte Euch auf dem laufenden.
        Wenn jemand weitere Vorschläge hat, dann immer her damit.
        Bin für jeden Rat und Kommentar dankbar.

        Gruß
        Andre

        Kommentar


          #5
          Hast du denn schon mal ausprobiert, ob du mit dem DS2482 ohne weiteren Aufwand deine Sensoren über die langen Leitungen überhaupt betreiben kannst? Mit dem ROT z.B. bin ich nicht über ein paar Meter hinausgekommen.
          Der DS2490, der im USB-Busmaster steckt, hat mehr Konfigurationsmöglichkeiten.


          Gruß,

          Dietmar

          Kommentar


            #6
            Was du auch machen kannst: Wirklicher Selbstbau.

            Das 1-Wire-Protokoll ist nicht übermäßig kompliziert. Wenn du den Bus per Bitbanging ansprichst, kannst du Treiberstärke, Timing usw. komplett nach deinem Gusto machen. Allerdings weiß ich nicht, ob der Arduino das hergibt, mein MSP430 hat damit keinerlei Mühe.

            Nach eingehender Recherche habe ich endlich verstanden, wofür du die Armee an Optokopplern brauchst. Das ist der aufwändigste Portextender der Geschichte, aber vielleicht macht die einfachere Ansteuerung das ja wieder wett.

            Zur Stromversorgung: der 1-Wire-Bus braucht nur Strom im µA-Bereich. Das gibt der RPi allemal noch her. Optokoppler dagegen sind ziemliche Säufer.[Werbetrommel] Nimm einen ADUM [/Werbetrommel]

            Gruß,

            Max (kein großer 1-Wire-Fan)

            Kommentar


              #7
              S0-Impulse sollen mit DS2406 gezählt werden? Sicher?

              Kommentar


                #8
                Hallo zusammen,

                Testaufbau erfolgreich abgeschlossen.
                Habe jetzt einen DS2482-100 zusammen mit einem DS18B20 auf eine Lochraster verbannt. Parallel dazu 22m Leitung (einfache Liycy 10x0,25, Schirm nicht aufgelegt, keine TP-Leitung) mit einem weiteren DS18B20

                Klappt einwandfrei. Auch in diesem "dahingerotzten" Aufbau.

                @ Dietmar
                1. Die Frage der Leitungslänge hätte sich damit fürs erste beantwortet.

                2. Ja es sollen Impulse gezählt werden. Die Elektronik zur Erfassung der Impulse fehlt auch noch gänzlich. Die Aufbereitung des Signals kann ich also noch nach belieben selber gestalten.... Aber wenn Du darauf anspielst, das zeitbasierte Auswertungen mit dem 1-wire Grundsätzlich keine Gute Idee sind, verzeihe mir bitte meine Unkenntnis. Ich hoffe so etwas mit einem Impuls/Pause Verhältnis im Sekundenbereich in den Griff zu bekommen und den DS2406 als iButton im 0,5s Takt abzufragen).
                Das ganze sind bisher nur Spinnereien die noch auf keinen Fakten beruhen, und mein Wunschdenken widerspiegeln.

                @ Max
                1. Ja, der Stromverbrauch der Optokoppler ist in der Tat nicht zu unterschätzen...

                2. Bitbanging ist interessant. Möchte halt nur so wenig Arbeit wie möglich in die Software stecken und die vorhandene Anbindung von owfs und smarthome.py nutzen.
                Ich traue es mir nicht zu ein komplett eigenes Plugin zu schreiben das am smarthome.py ein 1-wire Bitbanging realisiert.

                3. Ob ich ein 1-wire Fan werde oder nicht, muss ich mal schauen ;-).
                Zumindest scheint es damit möglich zu sein, auf einfache Weise Portextender zu realisieren, die auch noch im smarthome.py unterstützt werden.

                4. Adum hab ich mir angeschaut... Ja, auch interessant! Aber warum "Werbetrommel?" ;-)


                Viele Grüße
                Andre

                Kommentar


                  #9
                  Hier noch ein paar Bilder
                  Angehängte Dateien

                  Kommentar

                  Lädt...
                  X