Universelle Umsetzer-Platine - USB_Ethernet_SPI_Uart_DMX_Artnet

  • Hallo,


    bisher haben wir ja hier unsere Projekte immer dann vorgestellt wenn Sie fertig zum Nachbau auf unserer Projektseite standen.
    Diesmal möchten wir einen anderen Weg gehen und Euch von vornherein in die Entstehung eines Projektes mit einbeziehen. Zumal wir denken, dass folgendes für viele von Euch von Interesse sein könnte.


    Worum geht es?


    Wir sehen immer wieder bei unseren aber auch bei anderen Projekten die Frage nach der passenden Schnittstelle zur Ansteuerung. Das geht los bei einem einfachen DMX-Interface, einem ArtNet-Knoten bis hin zum Senden von seriellen Daten zu WS2801-Pixeln über eine geeignete Schnittstelle. Aber auch eine einfache Umsetzung von USB auf UART / von USB auf SPI / von Ethernet auf UART / von Ethernet auf SPI / usw. ist zumeist nur mit entsprechendem Umsetzer möglich. Klar es gibt für jedes Problem eine fertige Lösung: USB auf USART –> FTDI oder leeres Arduino-Board, USB auf SPI --> Sedu-Board oder Arduino mit entsprechender Firmware, u.s.w.


    Lange Rede kurzer Sinn: Wie wäre es eine universelle Umsetzer-Platine zu entwickeln? :D


    Sie sollte (von unserer Seite aus) folgendes können:


    - Ethernet-Eingang und einen kleinen Webserver, sodass man die Funktionen der Platine bequem über jeden handelsüblichen Webbrowser einstellen kann.
    - Entweder statische IP-Adresse oder DHCP (Auswahl über Dipp-Schalter auf der Platine)
    - USB-Eingang
    - SD-Kartenslot
    - UART-Ausgang
    - SPI-Ausgang
    - DMX-Ausgang
    - Über die Arduino-IDE via USB-Kabel programmierbar + Standard (6pol.) ISP-Schnittstelle
    - Preis unter 100 EUR 8|


    Das Ganze sieht wie folgt aus:



    Geht das? Klar geht das, wo ein Wille ist … :thumbup:


    Bei unserem bisherigen Routing kommen wir auf eine stinknormale zweiseitige Platine die nicht größer als 120x80mm ist! Wenn das Routing fertig ist stellen wir mal ein Bild von dem guten Stück rein!


    Was kann man nun damit alles machen?


    Die Antwort ist recht einfach: So ziemlich alles was man sich so vorstellen kann! Hier nur einige wenige denkbare Fälle:


    1. Man nutzt es als normalen ArtNet-Knoten. --> Dabei würde man einfach auf die Bestückung der anderen Schnittstellen verzichten und Geld sparen!
    2. Man nutzt es als USB-DMX-Interface. --> es gilt gleiches wie oben
    3. Man nimmt es als USB-UART-Wandler um damit unsere16x8-RGB-LED-Matrix-Platinen mit Daten zu füttern.
    4. Man hängt das Teil in sein Heimnetzwerk und hängt dann unsere 16x8-RGB-LED-Matrix-Platinen dran.
    5. Man nimmt 3 von den Teilen schließt sie gemeinsam an einen Switch von dem auch ein Netzwerkkabel zum Rechner geht. Nun schließt man an das erste Board 10 PARs über DMX an, an das zweite eine bunte Lichterkette aus WS2801-Pixeln und an das Dritte eine Matrix aus unseren Platinen. Auf dem Rechner läuft dann irgendein Standard-Programm das über ArtNet die PARs ansteuert, dann eine Instanz GLEDIATOR die sich um die Lichterkette kümmert und eine zweite Instanz GLEDIATOR die sich mit der Matrix beschäftigt.
    6. (Mein Favorit) man verteilt 20 von den Teilen um sein Haus, verbindet alle über Netzwerk und hängt an jedes eine, sagen wir 64x32 Matrix, aus unseren Platinen. Dann wartet man bis wieder Weihnachten ist und strapaziert das Verhältnis zu seinem Nachbarn! :cursing:
    7. (Jetzt wieder realistischer). Man spielt sich vom Rechner ein paar schöne vorgefertigte Animationen auf das Board, dort werden diese auf der SD-Karte gespeichert und anschließend in definierter und/oder zufälliger Reihenfolge autark immer wieder auf eine angeschlossene Matrix ausgegeben.


    Mir würden jetzt spontan noch 20 andere Möglichkeiten einfallen aber ihr seht schon wo die Reise hingeht!


    Die Bestückung der Platine könnte sich jeder selbst aussuchen und damit auch seinen eigenen Preis machen. Wenn jemand nicht die „eierlegende Wollmichsau“ möchte, sondern nur einen Umsetzer von USB auf SPI (z.B.) für eine WS2801-Matrix, dann lässt er eben die Bauteile und entsprechenden Buchsen für DMX, UART, Ethernet einfach weg :P


    Auf die Platine kommt auf alle Fälle ein 8-fach Micro-Dipp-Schalter! Damit kann man dann von all den möglichen denkbaren Funktionen eine auswählen! So gibt es nur EINE Firmware für alles!


    Zum gegenwärtigen Stand:


    In unserem Thema zu GLEDIATOR hatte ich ja schon mal ein Bild einer Vorgängerplatine gezeigt. Diese hat „nur“ einen Ethernet-Eingang und einen SPI / UART Ausgang. Das Teil funktioniert und verrichtet fröhlich seinen Dienst. Es kann DHCP, TCP-IP, UDP und hat einen integrierten Webserver! Ich habe es aber für meinen Arbeitgeber entwickelt und werde es daher nicht hier frei ins Netz stellen und auch nicht weiter darauf eingehen.


    Hier wir ein neues absolut universelles und für Jedermann bezahlbares Board geschaffen. Heut Abend kommt Thomas und da wird direkt weiter dran geroutet! 8o


    So und jetzt kommt ihr!


    Wenn ihr Ideen, Wünsche, Fragen, Kritiken habt nur raus damit! Solange noch nichts in Fertigung ist können wir auf (fast) alle Wünsche eingehen! (Naja, ne Laser-Kanone werden wir nicht drauf tun und auch keinen Küchenmixer!)


    In diesem Sinne beste Grüße,


    Pepe


    PS: Zeitplan: 4-6 Wochen - bis zum Prototypen!

  • ja, klingt super
    was meiner meinung nach noch fehlt ist ein Platz für ein Funkmodul
    also RF12 (bzw. gleich den Hope Chip) oder ein BT Modul.


    Da sich meine C Kentnisse allerdings in Grenzen halten würde ich eher ein RaspberryPi benutzen der wohl in ner ähnlichen Preisklaase liegt.

  • Ist es mit der Platine dann auch möglich, via Glediator über TCP/IP UDP Daten an eure neue Matrix Platine zu schicken? Das wäre super weil eine Netzwerkkarte hat heute eigendlich jeder in seinen Computer und Netzwerkkabel sind fertig bis zu einer länge von 50 Metern erhältlich. Bis zu 100 Meter wären damit über ein Netzwerkkabel möglich ohne das Signal wieder aufbereiten zu müssen. Aber 100 Meter sind schon eine sehr große Strecke die wohl keiner damit überbrücken wird.

  • Ist es mit der Platine dann auch möglich, via Glediator über TCP/IP UDP Daten an eure neue Matrix Platine zu schicken? Das wäre super weil eine Netzwerkkarte hat heute eigendlich jeder in seinen Computer und Netzwerkkabel sind fertig bis zu einer länge von 50 Metern erhältlich. Bis zu 100 Meter wären damit über ein Netzwerkkabel möglich ohne das Signal wieder aufbereiten zu müssen. Aber 100 Meter sind schon eine sehr große Strecke die wohl keiner damit überbrücken wird.

    Jo so würde ich den Punkt 4 verstehen:


    "4.Man hängt das Teil in sein Heimnetzwerk und hängt dann unsere 16x8-RGB-LED-Matrix-Platinen dran."

  • Schoenes Projekt. Dinge dieser Art schwirrten auch schon oft in meinem Kopf.
    Allerdings war/ist meine Priorisierung ein bisschen anders...
    Hier ein paar Features, die ich persoenlich gerne sehen wuerde.


    - Mehrere DMX-Ausgaenge, fuer ArtNet-Knoten-Betrieb. Soweit ich verstanden habe, unterstuetzt das ArtNet Protokoll 4 Universes pro IP-Adresse (mein gekaufter 8fach Knoten hat jedenfalls 2 IP Adressen, keine Ahnung ob sich das mit der Firmware hier vereinbaren liesse). Genuegen Hard-UARTs hat der Mega1280 ja denke ich?


    - Mehrere SPI-Out, ggf. anpassbar an verschiedene ICs (WS28xx und TM18xx sollten ja nativ kompatibel sein, wenn man das timing der DATA-Leitung entsprechend einhaelt. Pesi hat das glaube ich schon getestet). Grund (wie bei DMX): nach ein paar hundert Pixeln ist Schluss mit einer SPI-Leitung, sonst leidet die Wiederholrate. Mehrere dieser ~100 EUR Boards zu nutzen waere meiner Meinung nach Geldverschwendung, da vermutlich genuegend Ressourcen vorhanden sind.


    - DVI oder HDMI-Eingang. Ueberfordert den Mega vermutlich masslos. Hier muss wohl ein FPGA her, am besten mit den entsprechenden softcores, die den HDMI-Krempel decodieren... DVI waere evtl. realistisch? Oder zur Not VGA/etc.analog mit externem ADC?


    Anmerkung Zum Betrieb als USB->DMX: hier brauchts dann auch einen Treiber, der von den gaengigen Softwares unterstuetzt wird... Ich glaube aber, der Pubkt ist durch die ArtNet Funktionalitaet bereits erschlagen...


    ... ein kleiner Spartan3 FPGA hat uebrigens noch richtige TQFP-Beinchen, kostet schlappe ~15 Piepen, und kann dutzendweise UARTs oder SPIs ausgeben... :D Protokolle wandeln ist die Paradedisziplin dieser Dinger.


    Das alles nur in den Raum geworfen/als Denkanstoesse!


    Viele Gruesse und viel Erfolg!
    Andre

  • Was ich cool fände wäre ein Audio Input ...


    Eine sehr gute Idee! Wird auf alle Fälle implementiert! Besten Dank für die Anregung!


    was meiner meinung nach noch fehlt ist ein Platz für ein Funkmodul
    also RF12 (bzw. gleich den Hope Chip) oder ein BT Modul.


    Das werden wir uns mal anschauen. Kommt ein wenig darauf an wie groß die Teile sind und wie sie kontaktiert werden. Ich könnte mir bei entsprechender Kontaktierungssmöglichkeit was "aufsteckbares" vorstellen ...
    Ich muss aber dazu sagen, das ich (vielleicht etwas altmodisch) nicht viel von Funkübertragung halte wenn es um Media-Streams geht, und nix anderes ist es ja wenn man LED-Matrizen und dergleichen mit Daten versorgen will.


    - Mehrere DMX-Ausgaenge, fuer ArtNet-Knoten-Betrieb. ...


    - Mehrere SPI-Out ...


    Der ATMega1280 hat "nur" 4 USART und eine SPI, wobei man die USARTs alternativ als SPI-Master betreiben kann. Für Deinen Vorschlag müsste man also auf Soft-SPI / Soft-USART umschwenken, was aber prinzipiell machbar sein sollte. Neben den oben genannten "projektierten" Ausgängen wird sicher auf dem Board noch ne Standard-Buchsenleiste die ganzen nicht verwendeten PINs rausführen. Da kann man dann wenn man die Platine irgendwann mal in ein Gehäuse baut je nach belieben div. USARTS / SPI dran stöpseln und die Firmware entsprechen auf Soft-SPI/USART trimmen. Für DMX müsste mann bei dieser Lösung allerdings noch nen Peglwandler zwischenschalten.


    Mal schauen wenn am Ende des Routings noch ein wenig Platz sein sollte könnne wir ja wenigsten noch nen zweiten Pegelwandler drauf packen und den für SOFT-UART vormerken.


    - DVI oder HDMI-Eingang. Ueberfordert den Mega vermutlich masslos. Hier muss wohl ein FPGA her, am besten mit den entsprechenden softcores, die den HDMI-Krempel decodieren...


    FPGA ist im Moment noch ne Nummer zu hoch für uns. Wir haben zwar hier schon mal ein SPARTAN 3AN-Evaboard rumliegen aber erste Versuche waren doch sehr steinig. Das aktuelle Projekt soll definitiv mit AVR realisiert werden. Auch wegen der späteren "Nachbaubarkeit"!
    DVI wird also (vorerst) nix :P


    Gestern sind wir schon ein ganzes Stück weiter mit dem Routing gekommen, das Teil nimmt langsam Gestalt an! Bald folgen erste Bilder! :thumbup:


    Beste Wünsche für's WE,


    Pepe

  • ISt ein Nettes Projekt aber ich hätte noch ein paar ideen.


    1. IR Empfänger Für ne unversalfernbedienung
    2. Ein Wlan oder Funkmodul denn die meisten nutzen es zuhause und nen kabel verlegen wollen einige nicht, aber das funkmodul würde ich irgendwie Modular auf die Platine bringen.
    3 Alle Pins des AVR´s würde ich auch Buchsenleisten Herausführen damit man es auch als Plattform zum Experimentieren nutzen kann.
    4. Ein Modular aufsteckbares Touch Display so könnte man ohne den rechner nutzen zu müssen diesen Controler auch Standalone Nutzen zum Beispiel in einer Bar um damit sämtliche DMX Geräte zu steuern oder so. So das Man es in ein Hutschienengehäuse oder ahnliches für die Wandmontage nutzen kann.
    5. Anstelle eines Standars AVRS eien der neueren AVR 32 Bits zu nehmen diese haben Nativ Lan und man kann auch Nativ direkt eine SD Oder MMC Karte anschließen und sind auch weitaus Schneller und kosten meist genausoviel wie die Normalen AVR´s leider ist das Programmieren da etwas anders ich Versuchs auch derzeit mit einen AVR 32bitt zu arbeiten was nur sehr mäßigen erfolg brachte.
    6. Ein RTC Wäre cool damit man wenn man es z.B. in einer Bar oder Sonstwo einsetzt nurnoch Per Netzwerk Programieren muss und sagen wir mal wenn ein Bestimmter zeitpunkt kommt sich die Lampen einschalten ein wenig wie eine zeitschaltuhr.


    ich denke wenn alle diese features intigriert wärden würde ich auch 100 Euro dafür zahlen

  • Ja, es sind in der Tat schon ein paar Wochen ins Land gegangen :huh:


    Die Arbeit an Glediator nimmt doch recht viel Zeit in Anspruch, sodass wir bei diesem Projekt hier immer noch am "Zeichenbrett" (Eagle) stehen.


    Wir haben aber alle Vorschläge die hier bis jetzt so gekommen sind kritische geprüft und wissen jetzt welche übernommen werden und welche nicht. Klar das bei einer begrenzten Board-Größe nicht alle Vorschläge realisiert werden können.


    Aktuell ist der Schaltplan zu 95% fertig und die damit einhergehende Bauteil-Liste auch. Danach wird geroutet, das sollte schneller gehen! In Summe sage ich jetzt mal das wir hier in spätestens 2 Wochen die 3D-gerenderte Platine vorstellen werden und einen Prototyp in Fertigung geben.


    Wir halten euch also auf dem Laufenden! :rolleyes:


    Prost,


    Pepe

  • Hallo,


    heute darf ich euch nun (endlich) ein paar Bilder präsentieren! :P


    Es handelt sich um die erste Variante - wir nennen sie ab sofort die MODULARE Variante - der oben beschriebenen Umsetzer-Platine.


    Der Name "Modular" ist dabei Programm denn das Ganze sieht so aus:



    Auf den ersten Blick nicht sonderlich spektakulär: Eine Platine 12cmx8cm mit zwei RJ-45-Buchsen einem ATmega1280 ein paar BU-Leisten eine Jumper-Leiste, ein BUS-Treiber-IC sowie ein 5V-Spannungsregulator. :huh: Was kann das Teil? Nichts! Denn es kann so (noch) nicht mit einem PC kommunizieren. Dazu bräuchte man entweder USB oder Ethernet. Es wäre aber auch schade wenn man beides hat und nur eines nutzt! Richtig? Wie wäre es also damit:



    Wer USB (virtual COM-Port) will soll USB bekommen! Für schlappe 13 EUR bei den üblichen Arduino-Distributoren einfach einen "USB2Serial Light" kaufen, an das Umsetzerboard stöpseln und gut! Was kann das Teil jetzt? Schon eine ganze Menge mehr:


    - Über eine der beiden RJ-45-Buchsen UART ausgeben und damit unseren RGB-Matrix-Platinen füttern.
    - Über die andere RJ-45-Buchse SPI ausgeben und damit Ketten / Matrizen der gängigen RGB-Pixel (wie WS2801) füttern.
    - Und falls die Anzahl der Pixel so hoch wird, dass man mit einer Leitung nicht mehr hinkommt, dann nehme man die rechte BU-Leiste und stöpsle je nach belieben bis zu 8 weitere Ketten / Matrizen dazu welche dann via Soft-SPI gefüttert werden!
    - Daten als DMX rausschicken (1 Universum).
    - Daten über DMX empfangen.


    Nicht schlecht für den Anfang. 13 EUR für den USB-Port und ca. 35 EUR für die Grundplatine bringen schon einiges an Funktionalität.


    Aber weiter im Text. Für ca. 35 EUR kann man sich bei den gängigen Arduino-Distributoren ein sog. Ethernet-Shield kaufen. Entweder ANSTELLE oder ZUSÄTZLICH zu dem oben genannten USB-Port. Damit sähe die Geschichte nun so aus:



    oder so:



    Nun hat man zu den oben genannten Funktionen noch folgend ZUSÄTZLICH:


    - Daten via Ethernet empafngen und per UART an unsere RGB-Matrix-Boards weitergeben
    - Daten via Ethernet empafngen und per SPI / Soft SPI an die oben beschriebenen bis zu 9 Ketten / Matrizen aus RGB-Pixeln (WS2801 und co) rausschicken.
    - Einen Artnet-Knoten für ein Universum
    - Daten via USB oder Ethernet empfangen, auf der SD-Karte des Ethernet-Shields ablegen, und später OHNE Rechner damit Matrizen / Lichterketten / PARs autark betreiben via UART oder SPI
    - Datensätze / Matrix-Animationen / Szenen auf der SD-Karte über den DMX-Eingang von einem klassischen Licht-Pult aus wählen!
    - Einstellungen der Firmware und / oder der DMX-Adresse über einen normalen Web-Browser vornehmen.


    Damit aber nicht genug: Ein DMX-Universum ist nicht sonderlich viel, gerade wenn man es mit LED-Matrizen zu tun hat. Was tun?



    So, nun hat man schon mal 4 Universen mehr also insgesamt 5! :P


    Die oben aufgesteckte Platine bringt es auf schalppe 15 EUR !! Mann hat nun also zusätzlich:


    - Artnet-Knoten mit 5 Universen


    Ich glaube wenn ich richtig gerechnet habe auf 85 EUR zu kommen (ohne USB). Eine kurze (sicher nicht die umfangreichste) Recherche im Netz zeigt mir das man für weniger Funktionsumfang deutlich mehr zahlen kann:


    http://www.dmx4all.de/DMX4ALL-…DMX-UNIVERSE-41::567.html


    Klar, da ist dann ein Gehäuse drum herum und ein paar Stecker dazu :P aber ich denke es sollte jedem klar sein was wir hier zu welchen Preisen realisieren können ...


    Nun es gibt noch ein paar "Kleinigkeiten" zu erwähnen.


    Das oben gezeigte 4xDMX Schield passt auch auf jeden handelsüblichen Arduino UNO, Arduino Ethernet oder jedes Ethernetschield. Wer also solche Gerätschaften schon sein Eigen nennt, der kann sich für 15 EUR nen 4xArtnet-Node bauen :rolleyes:


    Das hier vorgestellte modulare Design unserer Umsetzer-Platine soll nur EINES von ZWEIEN sein. Wir wollen alternativ nämlich noch eine Lösung erarbeiten wo alles fest verlötet auf einer Platine sitzt, also ohne zu stapeln.


    Für ALLE oben genannten Funktionen soll es nur EINE gemenínsame Firmware geben! Welche Funktion man im einzelnen nutzen möchte soll man über Jumper / serielle Befehle / Web-Interface einstellen können. Die Firmware wird für beide Varianten (modular & Einplatinenlösung) die gleiche sein.


    Das alles wird sicher noch einiges an Zeit in Anspruch nehmen, aber ich denke wir sind auf einerm guten Weg und ein jeder von Euch wird davon profitieren können. Selbstverständlich werden Schemantics, Layouts, Firmware zu gegebener Zeit ihren Weg auf unsere Projektseite finden :D


    In diesem Sinne beste Grüße,


    Pepe

  • wow... bin fast sprachlos!
    schaut noch viel besser aus als erwartet!!! Wird für mich die perfekte Lösung, die Modulare Version ist auch eine klasse Idee.


    Schreib mir doch mal ne Pn wo du/ihr herkommt, vielleicht kann ich eure Arbeit mit Hopfenblütensaft unterstützen ;)

  • Great :thumbup:


    Zitat

    Daten via USB oder Ethernet empfangen, auf der SD-Karte des
    Ethernet-Shields ablegen, und später OHNE Rechner damit Matrizen /
    Lichterketten / PARs autark betreiben via UART oder SPI

    Das hab ich jetzt noch nicht ganz verstanden WO bei dem Ethernet Shield der SD kartenslot sein soll ?(

  • Mitruel


    Das was du da verlinkt hast ist NICHT das offizielle Ethernet-Shield von Arduino! Es ist ein Abkömmling mit ENC-Chip! Das originale Ethernet-Shield nutzt den W5100-Chip von Wizznet unnd sieht so aus:


    http://arduino.cc/en/Main/ArduinoEthernetShield


    Und da gibt es dann auch ne SD-Karte :D


    LG,


    Pepe

  • Guten Abend Leute,




    Ich hätte 2 Fragen zu diesem Board hier.




    Zuerst muss ich aber anmerken dass mir das ganze sehr gut gefällt. Besonders die modularität :D :thumbup: ein Traum!




    Jetzt zu meinen Fragen:


    Gibt es zu diesem Board demnächst auch die Schaltpläne und Layoutdaten?




    Werdet ihr zu diesen Platinen auch eine Sammelbestellung oranisieren?


    Und, wie ist das mit eigenen Erweiterungen?
    Mich würde z.B. ein IR-Empfänger sehr interessieren. Wird es Soft-und Hardware mäßig möglich sein solche Dinge hinzuzufügen?
    Der Audio Input würde in gewisser Weise auch so ein Kanidat sein, den man sich dann selbst "dran basteln" kann.



    Danke schon mal ;)


    Grüße
    Cidrix


    PS: Wenn ich von IR-Empfänger rede, dann denke ich an das hier , ich habe damit ziemlich gute Erfahrungen gemacht.