Günstige (und bessere) alternative zur DMX Extension

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

  • pmayer
    antwortet
    Zitat von hismastersvoice
    Ich verstehe dich voll und ganz, aber ich würde erst mal eine funktionierende Version auf bestehender Basis schaffen.
    Wenn es so einfach ist sage ich machen, aber es scheint so als hätte pmayer ja bedenken, sonst würde er es ja schon gemacht haben.
    Bedenken hatte ich diesbezüglich keine, ich habe mich an das gehalten was bzgl. DMXSimple in diesem Thread gepostet wurde um eine erste funktionierende Version zu bauen.

    Ich finde die Diskussion super! Vielleicht kann ich sie aber ein wenig relativieren:
    Ich bestelle die Platinen aktuell bei OSHPark, 3 Stück ca. 25€ (V0.1). Wenn ich bei der nächsten Bestellung ein anderes Design nehme, weil ich dort den MAX485 direkt an den UART des ATMega gepackt habe, ist das kein Problem. Es muss nur jemand mit der vorhanden Software testen.

    Wenn allles funktioniert würde ich je nach Nachfrage ca. 20 Boards bestellen (V0.2) und diese dann bestücken/verkaufen. In der Zwischenzeit kann sich daran dann natürlich wieder etwas ändern und dann produziert OSHPark bei der nächsten Bestellung eben V0.3.
    Auf einen anderen Platinenhersteller würde ich erst gehen wenn es höhere Stückzahlen gibt.


    Einen Kommentar schreiben:


  • hismastersvoice
    antwortet
    Zitat von Labmaster
    Mir geht es bei dem Boarddesign von pmayer einfach darum keine Chance zu verpassen, vor allem wenn es sonst keinen Aufwand (eher im Gegenteil, man spart sich einne Widerstand :-) ) darstellt.
    Ob dann jemals überhaupt und wie dann eine Software dafür (für was anderes als DMX) gemacht wird, ist erst mal gar nicht die Frage.
    Aber man könnte wenn man es mal bräucht, ohne eben wieder eine eigene Hardwareversion dafür machen zu müssen.
    Ich verstehe dich voll und ganz, aber ich würde erst mal eine funktionierende Version auf bestehender Basis schaffen.
    Wenn es so einfach ist sage ich machen, aber es scheint so als hätte pmayer ja bedenken, sonst würde er es ja schon gemacht haben.

    Mir kann es theoretisch egal sein meine beiden DMX/UDP Module funktionieren tadellos.
    Sollte ich einmal eine RS485/232 umsetzen wird es eh ein neues Projekt.

    Allerdings stellt sich mir die Frage der Ansteuerung? Das Protokoll für DMX von @Robert.L ist ja an die Ausgabedaten der Loxone angelehnt, wenn auch allgemein gehalten. Nur wie sollen UDP/TCP Messages für Modbus aussehehn? Wie sieht es mit bidirektionaler Kommunikation aus?
    Gleichermaßen müsste dafür ja auch z.B. ein Modbus-Master im ATMega implementiert werden der die Daten auf Netzwerk übersetzt und im 328p sind nur 2kb RAM. Dort einen 644 (o.ä.) einzubauen wäre natürlich kein Problem.
    Das ist schon möglich aber bei ModBus nicht ganz trivial.
    Bei RS485 sollte es einfacher möglich sein zB von UDP an RS485 direkt die Befehle zu senden.
    Bei Modbus geht es ja darum Coils/Register/Formate usw. umzusetzen, also hier um einiges aufwendiger.

    Einen Kommentar schreiben:


  • Robert L.
    antwortet
    das fertige Board, ist so "verdrahtet" dass rs485 auf den UART (Pin 0 / Pin 1) Rx/TX verdrahtet ist..

    (DMXSImple Library für die fertigen DMXShields verwenden Pin 3)

    ich hatte mehrere Gründe das erst überhaupt nicht so zu probieren


    damit gehts aber vielleicht doch: http://www.mathertel.de/Arduino/DMXSerial.aspx

    Einen Kommentar schreiben:


  • Labmaster
    antwortet
    @Labmaster
    Ethernet zu DMX als fertiges geht nicht, die DMX Lib wurde von Robert angepasst das es mit Loxone sauber funktioniert.
    Einfach ein fertiges Board nehmen würde da wohl nicht gehen, ausser man kann es nachträglich noch proggen ala Arduino.
    Ich meine z.B. das Board welches z.B. oben von Robert verlinkt wurde (https://www.kmpelectronics.eu/en-us/...oethernet.aspx (W5200 Ethernet) ) dort wird eben explizit mit Arduino geworden.

    ***************************************

    Mir geht es bei dem Boarddesign von pmayer einfach darum keine Chance zu verpassen, vor allem wenn es sonst keinen Aufwand (eher im Gegenteil, man spart sich einne Widerstand :-) ) darstellt.
    Ob dann jemals überhaupt und wie dann eine Software dafür (für was anderes als DMX) gemacht wird, ist erst mal gar nicht die Frage.
    Aber man könnte wenn man es mal bräucht, ohne eben wieder eine eigene Hardwareversion dafür machen zu müssen.
    Zuletzt geändert von Labmaster; 20.11.2017, 01:32.

    Einen Kommentar schreiben:


  • pmayer
    kommentierte 's Antwort
    Direkt an Lox ginge ja sowieso nicht, weil man ja sonst den LogxBus (CAN) erst mal verstehen müsste. Wir haben mit CAN in der Firma recht viel gemacht, aber da hätte sicher Loxone was gegen und der Aufwand steht denke in keinem Verhältnis. Deswegen ja auch der Weg über Ethernet.

    Wenn man in einer späteren Version, die Beschaltung entweder durch Software (Pin vom ATMega) oder evtl. sogar durch einen Jumper für RS485/Modbus/DMX schalten könnte, fände ich das schon sinnig.

    Allerdings stellt sich mir die Frage der Ansteuerung? Das Protokoll für DMX von @Robert.L ist ja an die Ausgabedaten der Loxone angelehnt, wenn auch allgemein gehalten. Nur wie sollen UDP/TCP Messages für Modbus aussehehn? Wie sieht es mit bidirektionaler Kommunikation aus?
    Gleichermaßen müsste dafür ja auch z.B. ein Modbus-Master im ATMega implementiert werden der die Daten auf Netzwerk übersetzt und im 328p sind nur 2kb RAM. Dort einen 644 (o.ä.) einzubauen wäre natürlich kein Problem.

    Wir haben für einen Kunden bereits eine Modbus-MQTT Bridge gebaut, da mussten wir aber z.B. explizit die Coils im Modbus-Slave ansprechen um die gewünschten Daten zu bekommen.
    Mir fehlt da gerade einfach der gedankliche Ansatz wie das ohne viele Eigenprogrammierung möglich sein soll.

    Die Hardwareanpassungen für diejenigen, die die Software selbst drauf packen wollen baue ich natürlich sehr gerne ein - soweit sinnig und gewünscht.

  • hismastersvoice
    kommentierte 's Antwort
    @Labmaster
    Ethernet zu DMX als fertiges geht nicht, die DMX Lib wurde von Robert angepasst das es mit Loxone sauber funktioniert.
    Einfach ein fertiges Board nehmen würde da wohl nicht gehen, ausser man kann es nachträglich noch proggen ala Arduino.

    Ich verstehe deinen Einwand, aber ich denke eben auch wir jetzt erst mal ein funktionsfähiges Board haben sollen.
    Es wäre ja wohl besser ein eigenes Board Modbus/RS485/RS232 zu bauen das die Lox-Ext ersetzt und das sauber umsetzten anstatt eine Eierlegendewollmichsau zu bauen.

  • pmayer
    kommentierte 's Antwort
    Finde ich einen absolut validen Punkt, aber welches Board für Ethernet zu DMX meinst du? Habe überall nur ArtNET-Nodes gefunden Hast du ein Beispiel?

    Ich bin sicher schaltungstechnisch nicht der Oberguru aber wenn es möglich ist, macht es natürlich Sinn mehrere Optionen zu ermöglichen.
    Würde der Speicher vom ATMega328p dafür reichen? Mit welchem Protokoll könnte man sowas ansprechen, damit es ordentlich einbindbar ist? Gibt es eventuell schon fertige Software dafür?

    Gast, wie ist deine Meinung dazu?
    Zuletzt geändert von pmayer; 18.11.2017, 18:51.

  • Labmaster
    kommentierte 's Antwort
    Wenn man das so sieht, hätte man aber das Board für Ethernet zu DMX nehmen können und sich das design einer eigenen Platine komplett sparen können.


    Ich finde es echt schade, denn ganzen Aufwand zu machen und dann wegen einer zusätzlichen RX Leiterbahn und einer Leiterbahn für ein Schaltsignals das ganze RS485 Interface erheblich einzuschränken. :-(
    Das ist doch Unfug !
    Die Lib wuid trotzdem funktionieren, weil die von der externen Beschaltung gar nix mit bekommt, man müsste nur beim Programmstart das Richtungssignal entsprechend anlegen.

    Die Beschaltung wäre wirklich trivial, siehe z.B.


    Mit P1.0 kann man die Richtung bestimmen, im DMX Fall würde die halt per Software die ganze Zeit fix high geschaltet bleiben. Die Leitung also einfach auf einen freien Pin am Prozessor legen, diesen am Anfang auf Ausgang konfigurieren und auf High schalten, sicherheitshalber den Pin auf welchem RX am prozessor liegt auf Eingang konfigurieren.
    Fertig, mehr Zusatzaufwand ist es nicht aber man könnte mit geeigneter Software halt alles was RS 485 ist anfahren, wer weis für was man das mal brauchen kann.
    Zuletzt geändert von Labmaster; 18.11.2017, 12:37.

  • Robert L.
    antwortet
    für RS485 gibts schon fertige Lösungen:
    https://www.kmpelectronics.eu/en-us/...oethernet.aspx (W5200 Ethernet)
    oder der "originale"
    http://sigma-shop.com/product/73/web...ount-rail.html (ENC28J60 Ethernet)

    RS485 Terminierung vorhanden, kann ausgelötet werde (bei ProDino auf der Platinen unterseite,..)

    (oder einfach mint den 2 Shields zusammenstecken, wenns nicht hutschiene sein muss, aber das ist bei DMX ja auch so..)

    Einen Kommentar schreiben:


  • hismastersvoice
    antwortet
    Die Idee ist zwar berechtigt, aber dann muss auch RX TX verdrahtet werden.

    Ich denke wir sollten das ganze jetzt nicht komplizierter neben als es schon ist.
    Mach die Platine fertig und dann kann man immer noch eine für modbus machen. Die Frage ob modbus überhaupt Sinn macht? Modbus > UDP? Modbus TCP mit 5 Sekunden Beschränkung?

    Ich hab mich damit beschäftigt als ich das Plugin für die SDM Smart Meter für den Loxberry gemacht habe. Ein reines ModBus Gateway macht mit den 5 Sek. wenig Sinn.
    Das RS485 jedoch schon eher.

    Einen Kommentar schreiben:


  • pmayer
    antwortet
    Ich habe mich an den Aufbau der von Robert verwendeten DMXSimple Bilbiothek gehalten. Für Modbus muss der Max ja auch an den UART des ATMega, oder? Ich weiß halt nicht, ob dann der hier gezeigte Code noch funktionieren würde... oder könnte man den umschreiben?

    Gebe aber zu, dass ich vielleicht nicht gut genug in der Materie drin bin und mit "Portpin" auf die Schnelle nichts anfangen kann.

    Die Idee einer programmierbaren DMX/RS485/MODBus Bridge finde ich aber absolut überlegenswert ^^ Ist dann halt ne Ethernet-Protokoll Frage...

    Einen Kommentar schreiben:


  • Labmaster
    antwortet
    Warum wird der RS485 Tranceiver nicht eh per Portpin schaltbar gemacht, dann könnte man alternativ statt DMX auch einfach normales RS485 Bidir oder Modbus verwenden ?

    Einen Kommentar schreiben:


  • pmayer
    antwortet
    Ach sorry, ich dachte ich müsste die Pull-Up/Downs auf 1440Ω (1k5) herab setzen...ich habe sie jetzt in Version 0.3 entfernt und auch nRE wieder auf 5V gelegt. Lustigerweise habe ich hier im Breadboard-Aufbau nRE unbeschaltet und es funktioniert alles... aber du hast natürlich recht, dass da ein definierter Zustand sein sollte.

    Wenn ich richtig liege, läuft der ATMega328p bei 3,3V nur auf 8MHz, ich glaube das könnte etwas knapp werden, könnte man aber sicher mal testen. Dan würde er sogar ohne Crystal laufen auf internem Taktgeber. Der Oki für 3,3V liegt preislich auch gleich und man könnte den AP2210k LDO sparen...

    Im Anhang mal die aktuelle (!) Version des Schaltplans.

    Vielen Dank für dein Input/Feedback!!!

    @all: Hat irgendwer die Software schon mal auf einem 3,3V/8MHz Arduino laufen gehabt?
    Angehängte Dateien
    Zuletzt geändert von pmayer; 15.11.2017, 22:47.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    habe mir das Schema und den Print auf deinem Blog angesehen. Wahrscheinlich zeigen sie nicht den gleichen Stand. Ich gehe aber davon aus, dass du nur den Sender des RS485 Treibers angeschossen hast. Du müsstest den Empfänger über nRE abschalten, indem du nRE auf 5V legst. Die Anschlüsse DE und nRE liegen nebeneinander, du kannst von Hand eine Lötbrücke machen. Wie gesagt, den Pull-up und Pull-down Widerstand kannst weglassen / nicht bestücken, braucht ansonsten alles nur unnötig Strom.

    Man könnte die ganze Schaltung auch nur mit 3.3V speisen, inkl. Controller und RS485 Treiber.

    Einen Kommentar schreiben:


  • Robert L.
    kommentierte 's Antwort
    boa, du haust dich ja ganz schön rein,
    ich komm nicht mal dazu deinen Code anzuschauen..
    hab jetzt dann auch noch Urlaub, und Weihnachten usw.
    von mir deshalb leider aktuell wenig Unterstützung..
Lädt...