Ich bin Peter und ich brauche für ein Projekt ein einfaches PCB. Ich habe allgemeine Grundkenntnisse in Elektronik und kann through-hole löten, habe aber noch nie PCB-Entwurf gemacht oder SMD gelötet. Könnte mir jemand, natürlich gegen Entlohnung, ein PCB entwerfen? Hier die Eckdaten:
Simples PCB (1 Layer, einseitig). Es handelt sich um einen i2c-DMX-Controller mit 2 aktiven und 9 passiven Bauteilen.
Ich könnte mit der CAD-Datei selber zu einem Fertiger gehen (hab ich noch nie gemacht). Noch lieber wäre mir, wenn du 3 Boards erstellst (Fertiger oder selbst bestücken), kurz testest (schauen, ob es raucht und ob 250 kBaud seriell rauskommt) und mir zuschickst. Den exotischen IC IS3715 (https://inacks.com/product/i2c-dmx-controller-is3715/) könnte ich besorgen oder direkt du, die restlichen Teile sind Standard.
Hat jemand Lust, sowas zu machen und mir ein Angebot dafür zu machen? Darüber würde ich ich sehr freuen.
Was hier die Leute gerne haben möchten, wirst du nicht bezahlen wollen. Also lerne selber, Platinen zu entwerfen (hab ich auch geschafft). Dann hast du was für's Leben. Und fertigen lässt man ab Besten in China bei JLCPCB. Die bestücken auch zu kleinem Preis, sodass du nicht selbst mit der Plörre rumpanschen willst.
Kommerziell willst du das sicher nicht bezahlen, falls es privat ist. Falls es kommerziell ist, dann wärst du wohl eher mit einem (kostenpflichtigen) Jobangebot für einen Elektroniker dabei, dann wirst du die Person auch mit dabei haben wollen, bis dein komplettes Gerät durch die nötigen Prüfungen durch ist.
Das Forum kann dir aber gut helfen, dass du sowas selbst lernen kannst, falls das für dich in Frage kommt. Als erstes müsstest du dich für irgendein EDA-Tool entscheiden, Kicad wäre eine Möglichkeit, aber sicher nicht die Einzige. Dann malst du den Schaltplan ab, lässt die Teile auf eine Platine werfen und wir helfen dir beim Layout.
Es kann sich sicher auch mal jemand für eine Videokonferenz mit „Händchenhalten“ finden.
Und fertigen lässt man ab Besten in China bei JLCPCB.
Gibt auch europäische Optionen, ohne dass man zu tief in die Tasche greifen muss, so isses nicht. Steht aber letzten Endes alles im Wiki, und erstmal muss er natürlich bis dahin kommen.
Irgendein x-beliebiges Eval-Board nehmen welches einen Mikrocontroller und einen RS485-Transceiver enthält? Entsprechende Buchsen dran basteln und den Controller als I²C -> DMX Adapter programmieren.
Wo kommen die I²C-Daten überhaupt her? Wahrscheinlich von einem Mikrocontroller? Der hat doch sehr wahrscheinlich auch einen UART, der ebenso das DMX-Signal generieren könnte. Braucht nur noch nen RS485 dran...
Danke für die hilfreichen Antworten. Ich wollte zwar nicht noch ein weiteres Hobby in meinem stressigen Leben, aber dann muss ich es wohl so versuchen.
Wo kommen die I²C-Daten überhaupt her? Wahrscheinlich von einem
Mikrocontroller? Der hat doch sehr wahrscheinlich auch einen UART, der
ebenso das DMX-Signal generieren könnte. Braucht nur noch nen RS485
dran...
Die Signale kommen aus einem ESP32 (KinCony A16), auf dem ESPHome läuft. Ich habe DMX da auch schon ans Laufen bekommen (an einem UART), aber da ich damit meine gesamte Wohnungsbeleuchtung mache, möchte ich mich nicht darauf verlassen, dass das Timing da immer stimmt.
Irgendein x-beliebiges Eval-Board nehmen welches einen
Mikrocontroller und einen RS485-Transceiver enthält? Entsprechende
Buchsen dran basteln und den Controller als I²C -> DMX Adapter
programmieren.
Auch eine gute Idee. Man müsste nur ein Board finden, das wirklich unidirektional funktioniert. Die meisten RS485-Chips kommen mit automatischer RX/TX-Umschaltung und versauen gerne das seltsame Timing von DMX mit mindestens 90us langen Breaks. Manche haben auch irgendwo einen Kondensator und Probleme, sauber 250kBaud zu senden.
Was ist das eigentliche Problem, was du mit dem IS3715 zu lösen versuchst? Kommen im bisherigen setup Datenpakete nicht richtig an? Hast du schon mal über so etwas https://www.mathertel.de/Arduino/DMXShield nachgedacht? Gibts bestimmt auch fertig. Oder wie bereits empfohlen ein getestetes kommerzielles Wifi-DMX interface verwenden, die können mit ArtNet standardisiert bespielt werden.
Die Signale kommen aus einem ESP32 (KinCony A16), auf dem ESPHome läuft.
Ich habe DMX da auch schon ans Laufen bekommen (an einem UART), aber da
ich damit meine gesamte Wohnungsbeleuchtung mache, möchte ich mich nicht
darauf verlassen, dass das Timing da immer stimmt.
Dein ESP32 kann doch sicherlich WS2812 LED(Stripes) LEDs ansteuern, oder? Das ist schon die halbe Miete. Ich habe auf Basis des WS2814 (RGBW) Powerpixel entworfen. Diese arbeiten Ebenfalls auf RS485, aber nicht auf DMX, sondern nativ auf dem seriellen Protokoll der WS2814. Nur ist jede Data Leitung vorne und hinten auf RS485 umgesetzt. So kannst du das ganze Haus "daisy chain" von Aktor zu Aktor verkabeln und jeden der 4 Kanäle des WS2814 einzeln ansteuern. Die einzelnen Bussegmente von Lampe zu Lampe können theoretisch bis zu 500m lang sein. Das sollte auch vom Haus zur Garage ausreichen :-)
Hier habe ich das Projekt vorgestellt:
https://www.ledstyles.de/index.php?thread/28731-ws2814-basierter-power-led-treiber-via-rs485/&postID=377221#post377221
Dort habe ich auch meine Controllerplatine auf Basis eines ESP8266 vorgestellt. https://www.ledstyles.de/index.php?thread/28750-universalplatine-f%C3%BCr-esp8266-vorzugsweise-f%C3%BCr-wled/
Die Powerpixel kannst du so theoretisch übernehmen und die Anbindung den RS485 ICs machst du halt an deinem ESP32.
aber da ich damit meine gesamte Wohnungsbeleuchtung mache, möchte ich
mich nicht darauf verlassen, dass das Timing da immer stimmt.
Nimm die Dual-Core Version? Die ESP32 haben doch auch DMA, die können den ganzen Datenblock per Hardware abschicken. Oder nimm einfach einen zweiten ESP32, ist auf jeden Fall um viele Größenordnungen billiger als ein Custom PCB.
Die meisten RS485-Chips kommen mit automatischer RX/TX-Umschaltung
Dann würg die ab durch Setzen der Richtungsleitung, oder bau dir die Schaltung mit einem einzelnen IC selbst auf; z.B. mit dem LTC485 im DIP-Gehäuse kannst du das auf dem Breadboard zusammenbraten. DE fix auf High setzen und fertig.
I2C->DMX klingt nach ner ziemlichen Krücke, und du hast Einbußen bei Flexibilität und eventuell Geschwindigkeit, und zudem bist du von diesem exotischen IC abhängig.
Btw vermute ich stark dass der IS3715 einfach nur ein Mikrocontroller mit vorprogrammierter Firmware ist. Das kannst du auch selber bauen mit ESP32 oder whatever.
Ich bin Peter und ich brauche für ein Projekt ein einfaches PCB. Ich
habe allgemeine Grundkenntnisse in Elektronik und kann through-hole
löten, habe aber noch nie PCB-Entwurf gemacht oder SMD gelötet. Könnte
mir jemand, natürlich gegen Entlohnung, ein PCB entwerfen?
Hallo Peter,
schreib mir mal eine PN mit deiner Mailadresse. Ich werde nächste Woche eh noch ein paar Platinen bestellen, da kann ich dir welche mitbestellen, so ein Adapter-PCB ist ja schnell erstellt.
Wenn es hauptsächlich darum geht, das DMX-Timing von ESPHome zu entkoppeln, würde ich auch eher einen zweiten ESP32 + normalen RS485-Transceiver nehmen als den IS3715.
UART macht die 250 kBaud problemlos, DE fest setzen und der zweite Controller kümmert sich nur um DMX. Dann bist du später auch nicht von so einem exotischen IC abhängig.
Was ist das eigentliche Problem, was du mit dem IS3715 zu lösen
versuchst?
Hier ein wenig Kontext. Ich mache eine Smart-Home-Steuerung, bei der in jedem Lichtschalter 5 Taster sind (1 große Wippe als An/Aus-Taster, zwei kleine Wippen für Helligkeit +/- und Farbtemperatur +/-. Die laufen in die Eingänge von einem KinCony KC868-A16. Das ist ein ESP32-basiertes Board mit 16 digitalen Inputs (Optokoppler, "dry inputs"), einem Ethernet-Anschluss, einer RS485-Schnittstelle und noch ein paar anderen Sachen. Darauf flashe ich ESPHome mit der custom component "dmx512", so dass ich per Automationen in Home Assistant Schalter-Aktionen mit DMX-Signalen verknüpfen kann.
Leider ist der verbaute RS485-Chip ein MAX13487E, der keinen Gegentakt-Treiber hat sondern sich für HIGH auf den Pull-Up-Widerstand verlässt. Das klappt aber bei großen Leitungslängen mit dem vorgeschriebenen 120-Ohm-Terminator nicht. KI sagt, dass das mit einem "echten" RS485-Chip wie dem MAX3485 als plug-in-replacement funktionieren müsste, aber dafür müsste ich den Chip auf dem Board tauschen. Ich habe sowas noch nie gemacht, würde mir das aber zutrauen. Ich weiß nur nicht, ob danach DMX dann klappt.
Ja, ich denke sowas hier https://www.velleman.eu/products/view/?id=460570 müsste gehen. Ich fand aber eine Anbindung mit I2C schöner, weil ich den einzigen freien UART evtl. noch anderweitig nutzen möchte. Außerdem traue ich einem fertigen DMX-Chip eher zu, das Timing zuverlässig aufrechtzuerhalten als dem ESP32, der nebenher noch viele andere Dinge tut.
Oder wie bereits empfohlen ein getestetes kommerzielles
Wifi-DMX interface verwenden, die können mit ArtNet standardisiert
bespielt werden.
Wifi ist raus, ich möchte alles kabelgebunden machen.
Ich habe auf Basis des WS2814
(RGBW) Powerpixel entworfen. Diese arbeiten Ebenfalls auf RS485, aber
nicht auf DMX, sondern nativ auf dem seriellen Protokoll der WS2814. Nur
ist jede Data Leitung vorne und hinten auf RS485 umgesetzt. So kannst
Kreative Lösung :-). Dabei ist mir aber der "Bus-Faktor" zu hoch. Ich hätte lieber Standard-DMX-Komponenten überall als eine Lösung, mit der niemand außer mir klarkommt.
Nach euren Antworten würde ich jetzt einen der Wege gehen:
Entweder RS485 auf dem Kincony tauschen
oder einen ESP32 (C6 oder so) mit einem MAX465 an den UART hängen
Ich bei der ersten Lösung ist der Erfolg zwar ungewiss aber bei der zweiten Lösung hätte ich mehr "Kram" und müsste mich noch mit der Software-Seite beschäftigen.
Leider ist der verbaute RS485-Chip ein MAX13487E, der keinen
Gegentakt-Treiber hat sondern sich für HIGH auf den Pull-Up-Widerstand
verlässt.
Wer behauptet sowas?
Durch die Automatik, die in Sendepausen abschaltet, brauchst Du natürlich Bias-Widerstände, damit es dann keine undefinierten Pegel gibt. Mit einem permanent aktiven Treiber könntest Du die weglassen.