Ankündigung

Einklappen

INFORMATION

Dieser Bereich ist für fertige Lösungen gedacht. Nutze bitte für Diskussionen die anderen Bereiche.
Mehr anzeigen
Weniger anzeigen

Günstige (und bessere) alternative zur DMX Extension

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

  • #76
    Ich habe jetzt die letzten Tage damit verbracht Klemmen zu suchen, die neben die Netzwerkbuchse in einem 2TE-Gehäuse ohne Barbeitung passen. Alles was ich gefunden habe würde die Kosten nur unnötig erhöhen. Es wird daher das 3TE Gehäuse werden mit üblichen Schraubklemmen, zwei für die Spannungsversorung, 3 für DMX - auch weil ich dann eine übliche Netzwerkbuchse nehmen kann und nicht die extra für das Gehäuse gefertigte von Phönix Contact.
    Zuletzt geändert von pmayer; 26.Okt.2017, 22:19.
    https://allgeek.de/

    https://twitter.com/pregopm, https://github.com/codmpm/
    https://github.com/codmpm/node-red-contrib-loxone

    Kommentar


    • #77
      Nochmal kurz zurück zur Auflösung von Dimmern.
      Die Auflösung auf dem Übetragungsweg sind mit 8bit eigentlich wirklich völlig ausreichend , daß Problem ist das zeitliche Verhalten beim Dimmen.
      Intern verwenden die meisten Dimmer eh eine höhere PWM Auflösung, gerade wenn Sie eine entsprechende Kurve (Anpassung an die Helligkeitswahrnehmung des menschlichen Auges) verfügbar haben.
      Hier ist es nun eben auch entscheident wie zeitlich verfahren wird, also wie oft z.B. die PWM upgedatet wird und ob somit entsprechende Zwischenschritte interpoliert werden.
      Genau das ist ja das Problem der original DMX Extension, die zeitliche Schrittweite des Updates ist wegen des Loxbuses zur groß, somit muß am Ende der Kette der einzelne Dimmer für die Interpolation sorgen. Das machen aber bisher fast nur die original Loxone DMX Dimmer. Normale "fremde" DMX Dimmer stellen immer so schnell wie möglich die per DMX gestellte Helligkeit ein,

      Das ist auch eben der Grund warum ich eine eigene Firmware für den China Dimmer machen möchte, dieser soll auch einstellbare Parameter für Interpolation, bzw. Dynamikbegrenzung sowie Dimmkurven usw. zu bekommen. ( https://www.loxforum.com/forum/hardw...chienen-dimmer )

      Eventuell noch etwas interessantes von genau diesen Dimmern. Das könnte vor allem (wie gerade oben gelesen habe) hismastersvoice interessieren :-)
      Der China Dimmer hat den RS485 Chip so beschaltet, daß man damit bidirektional halbduplex kommunizieren kann, der Bus ist über einen Prozessorpin in der Richtung umschaltbar, RX wie auch TX wurden belegt. Somit könnte man aus diesem Dimmer rein per Software auch einen RS485 Dimmer machen.

      @pmayer
      Was soll der Vorteil eines direkt netzwerkfähigen Dimmers ( UDP/MQTT ) sein ?
      Wenn man nicht gerade so "mistiges" WLlan verwenden möchte muss man für jeden Dimmer man dann einen eigenen Netzwerkport vorsehen, der Overhead auf dem Netzwerk durch noch mehr Geräte mit kleinen Paketen steigt ebenso.

      Ich denke die Lösung eine Netzwerkfähige DMX Extension zu haben ist der richtigere Weg. Aber auch hier wir dman aufpassen müssen, daß das zeitliche Verhalten intelligent behandelt wird.
      Da ein klassiche Netzwerk ja zeitlich nicht wirklich deterministisch ist, stelle ich mir diese Aufgaben nicht gerade einfach vor.
      Stelle mir grade das Szenario vor wo eine schöner Fade von einer Farbe zur anderen durch Videostreams und zig anderen Teilnehmen auf dem Netzwerk zerstückelt wird.


      Zuletzt geändert von Labmaster; 27.Okt.2017, 08:59.

      Kommentar


      • Robert L.
        Robert L. kommentierte
        Kommentar bearbeiten
        daumen hoch

        >Stelle mir grade das Szenario vor wo eine schöner Fade von einer Farbe zur anderen durch Videostreams und zig anderen Teilnehmen auf dem Netzwerk
        >zerstückelt wird.

        DAS passiert allerdings nicht: weil man einen Switch hat,und der eben den trafic vom Miniserver zur DMX-extension "vollkommen" unabhängig vom rest macht (aber grundsätzlich hast natürlich recht..)

      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        Ich finde die Diskussion gerade sehr wichtig!!

        Mein Ansatz war, dass ich keine "neue" Infrastruktur (DMX, RS485) aufbauen muss, wenn ich Netzwerk habe. In meiner Denke segmentiere ich das Netz sowieso und würde im Schaltschrank einen Schwitch mit FTP Patchkabeln nutzen, da ja keine Gigabit Bandbreiten benötigt werden.
        Dass ab einem gewissen Punkt die Kosten für Netzwerk eine Rolle spielen, ist mir klar. Dann kann es Sinn machen doch eine neue Infrastruktur aufzubauen.

        Meiner Meindung nach sollte Facility- und Bewohnernetz sowie Gastnetz in jedem Fall getrennt voneinander (VLAN) laufen. Ich gebe aber zu, dass das bei den meisten maximal mit dem Gastnetz getan wird.

        Den Netzwerkdimmer baue ich sowieso mit einem ESP8266 + W5500 um die nötige Performance zu haben. Damit hat man dann auch die Option ihn als WLAN Dimmer einzusetzen, was im Schaltschrank ja wenig Sinn macht.

        Plan ist, nicht jeden gewünschten Dimmwert per Netzwerk zu übertragen (nur als Option analog zu Robert L's UDP2DMX) sondern den Kanal, die gewünschte Helligkeit und die gewünschte Dimmzeit als einzelne Kommando, dann evtl sogar per http, zu übergeben.

        Quasi MQTT/TCP/UDP mit mehreren Eingabeoptionen und Webinterface zur Konfiguration - Version 1 mit Netzwerk. Zukünftig könnte man zum Beispiel darüber nachdenken von einem Masterdimmer mehrere Slavedimmer per z.B. RS485 oder CAN anzubinden. Ich wollte aber die Kirche fürs erste im Dorf lassen - spricht ja auch gegen meine ursprüngliche Idee keine neue Infrstruktur aufzubauen.

        Die UDP2DMX-Platine wollte ich vor allem bauen um allen hier eine fertige Platine zu ermöglichen aber auch um für mich zu lernen, was ich alles für Netzwerk mit W5500 tun muss.
        Zuletzt geändert von pmayer; 28.Okt.2017, 14:53.

    • #78
      Eventuell noch etwas interessantes von genau diesen Dimmern. Das könnte vor allem (wie gerade oben gelesen habe) hismastersvoice interessieren :-)
      Der China Dimmer hat den RS485 Chip so beschaltet, daß man damit bidirektional halbduplex kommunizieren kann, der Bus ist über einen Prozessorpin in der Richtung umschaltbar, RX wie auch TX wurden belegt. Somit könnte man aus diesem Dimmer rein per Software auch einen RS485 Dimmer machen.
      Das wäre der Hammer wenn man einen RS485 Dimmer bauen würde.
      Für 170€ eine RS485 Extension und dazu die Dimmer für billiges Geld.
      Ich muss mir die Dimmer mal genauer anschauen.

      Im Augenblick brauche ich ja noch nichts zu ändern da alle sehr gut funktioniert und ich mit der Lösung zufrieden bin.
      Aber wenn wir vielen anderen damit helfen können das nicht nur die "teuren" und Leistungsschwachen Loxone DMX Dimmer funktionieren richtig funktionieren würde das vielen helfen.

      Code:
      Ich habe jetzt die letzten Tage damit verbracht Klemmen zu suchen, die neben die Netzwerkbuchse in einem 2TE-Gehäuse ohne Bearbeitung passen. Alles was ich gefunden habe würde die Kosten nur unnötig erhöhen. Es wird daher das 3TE Gehäuse werden mit üblichen Schraubklemmen, zwei für die Spannungsversorgung, 3 für DMX - auch weil ich dann eine übliche Netzwerkbuchse nehmen kann und nicht die extra für das Gehäuse gefertigte von Phönix Contact.
      Das Thema ist hier zB das ich dann die DMX-Ext ausbaue und die Neue wie bei mir mit 3TE nicht mehr an der Stelle rein passt.
      Das würde nun heißen die Verdrahtung neu zu machen, machbar aber eben nicht schön.

      Ich denke das die Bearbeitung des Gehäuse kein Problem ist, wir machen ein PDF mit eine Schablone und jeder hat eine kleine Säge und einen Bohrer um das zu bearbeiten.
      In dem Fall opferst du die Kompatibilität nur wegen dem bearbeiten des Gehäuse.
      Es geht ja nur um eine Öffnung für den Ethernet-Port.
      Kein Suppport per PN!
      >>Schreibt Eure Probleme hier ins Forum>>
      Dann können alle zur Lösung beitragen, und andere es auch nachlesen.

      Kommentar


      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        @challo: https://www.loxforum.com/forum/faqs-...100#post124100

        @hismastersvoice: Für den geneigten Selbstbauer bin ich völlig bei dir. Da würde eventuell sogar eine Platine reichen auf die man die fertigen Module (Arduino Nano, Wiz550io, RS485) aufsteckt und sich dann das Gehäuse selbst passend feilt.
        Meine Idee war ja die Platine nachher zum Verkauf fertig bestückt anzubieten und da würde ich ungerne jedes mal an dem Gehäuse rumfeilen müssen. Natürlich ist das Gehäuse nur optional, dann sollte es aber genau passend sein.
        Problem ist eben, dass ich bearbeitete Gehäuse oder speziell gefertigte Gehäuse erst ab einer gewissen Stückzahl bestellen kann. Wir haben das bei einer kompletten Eigenentwicklung auf der Arbeit durch...

        Das 2-TE Gehäuse (Bilder oben) kann ich nehmen wenn ich beide Seiten bestücke. Dann ist auf einer Seite sehr viel Platine zu sehen. Ich wollte das 3TE nehmen, weil ich damit eine Seite mit einem Blinddeckel verschließen kann und die Platine dann nur minimal zu sehen ist.

        Ich bin aber für jede Anregung und Diskussion offen.
        Zuletzt geändert von pmayer; 28.Okt.2017, 14:56.

      • hismastersvoice
        hismastersvoice kommentierte
        Kommentar bearbeiten
        Wenn du etwas fertig zum Verkauf anbietest musst du dich auch um CE usw. kümmern bei einem Bausatz nicht. Deswegen muss das sein Bausatz bleiben und kein Fertigerät.

      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        Hast du recht. Aktueller Plan wäre die bestückte Platine (CC-BY-SA) zu verkaufen und das Gehäuse optional zu machen. So wie es auch bei den Dimmern von DMX4ALL gemacht wird.

        Auf lange Sicht würde ich mich aber CE und (z.B.) WEEE-Registrierung über die Firma kümmern wollen. Muss ich sowieso, weil wir mittlerweile selbstgebaute Hardware verkaufen.

    • #79
      Eine Frage: Welche Belegung für den FTDI-Adapter ist gewünscht? Soll ich die offizielle Belegung des FTDI Kabels nehmen oder reicht TXD, RXD, GND, DTR?
      https://allgeek.de/

      https://twitter.com/pregopm, https://github.com/codmpm/
      https://github.com/codmpm/node-red-contrib-loxone

      Kommentar


      • #80
        So, hab mich für die FOCA Belegung entschieden. Es kann ja jeder mit Jumper-Kabeln einen beliebigen USB-Seriell-Adapter anschließen.

        Hab auch die Zeit gefunden ein bisschen weiter zu machen. Die Maße der Platine passen jetzt genau in das 2TE Gegäuse.

        kei : Ich hab jetzt die Schutzbeschaltung für den RS485 noch nicht übernommen. Die Dioden und die 4,7Ω Widerstände machen aber sicher Sinn - sind sie zwingend nötig oder reichen die Pull-Up/Pull-Downs?
        Danke übrigens auch noch mal für das Fachwissen von dir.

        Hier mal der aktuelle Stand in Bildern.
        Zuletzt geändert von pmayer; 10.Nov.2017, 00:25.
        https://allgeek.de/

        https://twitter.com/pregopm, https://github.com/codmpm/
        https://github.com/codmpm/node-red-contrib-loxone

        Kommentar


        • #81
          Sag mal Robert L. , hättest du etwas dagegen die Entwicklung deiner Software auf github zu verlagern? Weil müsste den code ja sowieso forken um die Sache mit der MAC aus dem EEPROM einzubauen.


          Paul Stoffregens Ethernet Lib nutze ich ja durch meine lokalen libraries, damit der W5500 ohne gehacke in den .h-files funktioniert: https://github.com/PaulStoffregen/Ethernet
          Zuletzt geändert von pmayer; 10.Nov.2017, 15:49.
          https://allgeek.de/

          https://twitter.com/pregopm, https://github.com/codmpm/
          https://github.com/codmpm/node-red-contrib-loxone

          Kommentar


          • Robert L.
            Robert L. kommentierte
            Kommentar bearbeiten
            weiß nicht was du genau meinst, aber du darfst mit meinem Code machen was du willst, auch auf GitHub..
            ich werd meine Code eher nicht dort hin verschieben, arbeite überall mit SVN..

          • pmayer
            pmayer kommentierte
            Kommentar bearbeiten
            Ich schau mal ob sourceforge sowas auch wie Pull-/Merge-Requests zulässt. Macht ja Sinn, dass wenn ich es wegen dem EEPROM erweiter, die Änderungen auch zurück in deinen Code fließen.

        • #82
          Hallo Zusammen,

          ich würde gerne auch eine Satz bei euch bestellen, geht das noch? Oder ist die Platine noch in der Entwicklung?

          gruss

          Kommentar


          • pmayer
            pmayer kommentierte
            Kommentar bearbeiten
            Befindet sich noch in der Entwicklung :-)

        • #83
          Robert L. Sag mal, welche DMX-Lib muss denn nehmen? Weder DMXSimple aus der Library noch die hier https://github.com/PaulStoffregen/DmxSimple haben die Methode "getValue"...
          https://allgeek.de/

          https://twitter.com/pregopm, https://github.com/codmpm/
          https://github.com/codmpm/node-red-contrib-loxone

          Kommentar


        • #84
          Ausgangsbeschaltung:

          Auf die Schutzbeschaltung würde ich nicht verzichten, auch wenn je nach Treiber dieser schon einiges mitbringt. Diskret mit 3 Widerständen (2x4.7 und 1x100Ohm) sowie zwei 6V Suppressor-Dioden. Der Bus wird ja mit +/- 5V betrieben. Oder eben ein SM712, wobei diese für -7V und +12V ausgelegt sind, was alle RS485 Treiber ab haben können.

          Die Terminierung mit 120Ohm und einem Jumper passt. Somit kann man schon 1-2 lange Kabel anschliessen. (2, wenn der der Master in der Mitte sitzt, ohne Terminierungswiderstand).

          Bei den Pull-up und Pull-down Widerständen geht es um das "Fail Save Biasing".
          http://www.analog.com/media/en/techn...tes/AN-960.pdf
          Der Idle-Fall (alle Node auf Empfang, kein Bus-Treiber ist aktiv) ist für die Empfänger kein gültiger Buszustand. Mit den zwei Widerständen verhindert man also ein Floating. Den Idle-Zustand wiederum gibt es nur, wenn verschiedene Slaves an einem RS485-Bus senden können (Multipoint Kommunikation). Bei DMX gibt es die Zweiwegkommunikation zwischen dem DMX-Master und DMX-Slave, wenn das Protokoll RDM (Remote Device Management) von den zwei beteiligten Geräten unterstützt wird. Du must also entscheiden ob du RDM unterstützen möchtest. Ich selber finde es übertrieben und zudem sind nicht alle DMX-RDM Geräte untereinander kompatibel. Auch sind DMX RDM Geräte viel teurer und von den Loxonianern kaum im Einsatz. Würde mich auch nicht überraschen, wenn sich Loxone bei ihren Geräten (haben ja RDM) sich nicht an den Standard gehalten hätte. In der oben verlinkten Application Note findest du auch die Berechnung für die Pull-up und Pull-down Widerständen. Bei 5V wären es 1440 Ohm und nicht 10k.

          Eingangsbeschaltung:
          DE und nRE sind die Enable-Eingänge für den Driver und den Receiver, welche auf eine definiertes Potential müssen. Soll nur gesendet werden (kein RDM Unterstützung) , kommen beide fest auf +5V. Damit wird der Empfänger-Ausgang RO, welcher nie gebraucht wird, in den hochohmigen Zustand versetzt. Du brauchst also keinen 100Ohm Widerstand. RO einfach leer lassen.

          Kommentar


          • #85
            Vielen vielen Dank für die Infos. Ich habe die Dioden und die 4,7Ω Widerstände eingabaut sowie den 100Ω ausgebaut. Außerdem habe ich die Werte der Pull-Up/Pull-Down-Widerstände auf 1k5Ω gesenkt.

            Hier übrigens mal mein Testaufbau:



            Und hier noch ein Video von der Breadboardversion in Betrieb: https://cloud.codm.de/nextcloud/s/hqkr49xL1liZRcE
            Ich bin völlig begeistert wie verzögerungfrei das läuft. Geht übrigens auch mit node-red ohne Probleme.

            kei : Im Anhang übrigens der aktuelle Schaltplan.
            Angehängte Dateien
            Zuletzt geändert von pmayer; 13.Nov.2017, 22:38.
            https://allgeek.de/

            https://twitter.com/pregopm, https://github.com/codmpm/
            https://github.com/codmpm/node-red-contrib-loxone

            Kommentar


            • #86
              Mist, wenn ich das EEPROM für die MAC Adresse lese, raucht der komplette ATMega ab. Auf dem DMX kommt nur noch wirres Zeug und der angeschlossene Stripe blinkt abwechselnd in allen Farben...

              Robert L. Habe static bei der MAC weg genommen... aber sowie ich aus den Registern des EEPROMS lese ist es vorbei... ich habe in Vermutung, dass sich DMXSimple mit I2C nicht verträgt. Hast du vielleicht eine Idee dazu?
              Zuletzt geändert von pmayer; 11.Nov.2017, 15:56.
              https://allgeek.de/

              https://twitter.com/pregopm, https://github.com/codmpm/
              https://github.com/codmpm/node-red-contrib-loxone

              Kommentar


              • Robert L.
                Robert L. kommentierte
                Kommentar bearbeiten
                weiß ich nicht

                aber die DMXSimple Library "arbeitet" erst nachdem man maxChannel(..) aufruft, also wenn du die EEPROMS vorher ausließt müsste es doch funktionieren?!

              • pmayer
                pmayer kommentierte
                Kommentar bearbeiten
                Ich mach es vor Ethernet.begin(), weil dort brauch ich ja die MAC.

                Aber ich schau mir das noch mal an, hab mal einen Kumpel mit guten C und Microcontroller Kentnissen dazu gebeten...
                Zuletzt geändert von pmayer; 11.Nov.2017, 21:04.

            • #87
              HEUREKA!!! Funktioniert... wenn man den I2C richtig verkabelt geht es meistens besser :-D

              Robert L. Ich habe UDP_TX_PACKET_MAX_SIZE (300) auskommentiert, da EthernetUDP es selbst auf 24 definiert. Paull Stoffregens Ethernet Bibliothek macht intern viele Sachen mit dem Buffer besser als die offizielle Lib UND der W5500 hat größere Buffer als der W5100.
              Und habe "static myip" in "const myip" geändert... ;-)
              Zuletzt geändert von pmayer; 12.Nov.2017, 13:33.
              https://allgeek.de/

              https://twitter.com/pregopm, https://github.com/codmpm/
              https://github.com/codmpm/node-red-contrib-loxone

              Kommentar


              • #88
                Ich hab den Code um die Funktion für MAC-aus-EEPROM erweitert und und für Ethernet DHCP eingebaut (schaltbar). Außerdem habe ich ein wenig aufgeräumt und die Konfiguration in einen Block oben in der Datei verschoben. SPI wird jetzt auch nur noch bei Ethernet inkludiert, auch wenn das der Compiler natürlich wegoptimiert hat.
                Die paar Strings zur Debug-Ausgabe habe ich mit dem F()-Makro in den Flash verschoben um ein paar Byte Speicher zu sparen.

                Der Code kompiliert bei mir als Arduino Uno/Nano mit der offiziellen Ethernet Bilbiothek (W5100) sowie auch mit Paul Storffregens Ethernet Lib: https://github.com/PaulStoffregen/Ethernet und Robert L.'s Version von DMXSimple.
                Als ESP8266 kompiliert er (nur DHCP, keine MAC) mit https://github.com/Rickgg/ESP-Dmx.

                Kann das vielleicht mal jemand auf der ESP/Arduino Hardware testen?

                Robert L.: Bin natürlich auf dein Feedback gespannt.
                Angehängte Dateien
                Zuletzt geändert von pmayer; 12.Nov.2017, 13:57.
                https://allgeek.de/

                https://twitter.com/pregopm, https://github.com/codmpm/
                https://github.com/codmpm/node-red-contrib-loxone

                Kommentar


                • #89
                  Übers Wochenende hab ich mich mal durch das Platinenlayout gekämpft und soeben bei OSHPark die Prototypen bestellt.
                  Als Neuerung gibt es noch eine Power-LED :-D

                  Die Woche werde ich dann die Bauteile ordern nachdem ich mich durch die BOM gewühlt habe.

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 
Ansichten: 0
Größe: 33,0 KB
ID: 127188Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 
Ansichten: 0
Größe: 14,6 KB
ID: 127187
                  Zuletzt geändert von pmayer; 12.Nov.2017, 22:47.
                  https://allgeek.de/

                  https://twitter.com/pregopm, https://github.com/codmpm/
                  https://github.com/codmpm/node-red-contrib-loxone

                  Kommentar


                  • #90
                    Sitze übrigens schon seit ein paar Stunden an der Bauteilliste. Da ich die Sachen über die Firma kaufe, habei ich auf Chinaware verzichtet. Das heißt allerdings auch, dass ich ein paar Prozent Gewinn drauf schlagen muss, da sich das Finanzamt sonst beschwert.

                    Ich bin die kompletten Bauteile bei digikey, reichelt und rs-components durchgegangen Bis auf die Netzwerkbuchse war rs-components immer teurer als einer der beiden anderen. Die Versandkosten würden den Preisvorteil sogar wieder auffressen.
                    Die Kondensatoren und Widerstände (Murata, Panasonic, Kemet) nehme ich komplett von digikey, da dort bessere Mengenrabatte ab 10 Stück zu holen sind. Reichelt ist in manchen anderen Dingen (Dioden, Crystal, SN75176, LED's, Pin-Header) günstiger als digikey. Es werden also diese beiden werden.
                    Zuletzt geändert von pmayer; 14.Nov.2017, 01:02.
                    https://allgeek.de/

                    https://twitter.com/pregopm, https://github.com/codmpm/
                    https://github.com/codmpm/node-red-contrib-loxone

                    Kommentar

                    Lädt...
                    X