Hallo Leute, Ich stehe vor einem Problem der Datenübertragung über längere Strecken und hoffe hier auf Hilfe. Mein Problem ist - denke ich - etwas untypisch. Kurze Beschreibung: Ich Bilde eine Kette aus TLC5940-Chips, das sind PWM-Generator/-Treiber (für LED-Beleuchtung). Meine Herausforderung ist die Anzahl: Ich will 14m LED-Kette ansteuern und brauche dazu 56 TLC-Chips. Ich will die TLC auf die 14m verteilen, um nicht einen riesigen Kabelstrang führen zu müssen. Gesteuert wird das ganze von einem ATmega32 (andere auch möglich). Auf geringe Strecken läuft die Kommunikation schon, ich überlege mir jetzt, wie ich das ganze auf 14m legen kann ohne dass die Datenübertragung fehlschlägt. Alle 25cm werde ich einen TLC hinsetzen der eben eine 25cm-Einheit von LEDs steuert. Die Kommunikation funktioniert folgendermaßen: 6 Steuerleitungen (davon zwei mit 8 MHz und zwei mit 2 KHz) sollen parallel an die TLC-Chips übertragen werden, und 2 Datenleitungen verlaufen in einer Daisy-Chain durch die Chips durch (in Wirklichkeit verlaufen diese im Kreis zurück zum ATmega) -> siehe Anhang. Das heißt, die 6 Steuerleitungen will ich an und für sich parallel übertragen, habe aber alle 25cm die Möglichkeit, das Signal zu verstärken oder sonstwie anzupassen. Die 2 Datenleitungen werden alle 25cm sowieso aufgegriffen und vom TLC generiert, da gibt es - glaub ich - keine Probleme. Was kann ich mit den Steuerleitungen machen? Wenn ich sie einfach nur so verbinde, werden sie wohl im hinteren Teil der Kette nicht mehr richtig ankommen (es würden also nur einige LEDs richtig leuchten). Ich hätte einfach alle 25cm (da das ganze auf Holz verläuft sind auch andere Abstände möglich) irgendeine Art von Repeater eingebaut - intuitiv etwas mit einem Transistor/MOSFET und einem Flankendetektor (Schmitt-Trigger?). Oder eventuell eine differentielle Übertragung über die ganze Strecke und alle 25cm ein Abgreifen und umwandeln in CMOS-Logik? Die Stromversorgung läuft so sowieso parallel (und stark genug) mit. Ich hoffe auf Kritik zu meiner Idee. Danke wiedereinmal im Vorhinein! Liebe Grüße, Michi
Ich würde erstmal mit ganz normalen CMOS-Signalen rangehen und ausprobieren, ob das funktioniert (in einem Versuchsaufbau). Ggf. mit einer Serienterminierung arbeiten am Leitungstreiber, um die Überschwinger zu dämpfen. Sinnvoll ist es, wenn die Leitung geometrisch einigermaßen uniform ist, damit sie mit einem annähernd konstanten Wellenwiderstand arbeitet. Wenn das nicht reicht, würde ich über RS-485 nachdenken. Dafür gibt's fertige Bustransceiver-ICs.
Danke, werd das mal so ausprobieren. Danke auch für das Stichwort "Wellenwiderstand", jetzt hab ich endlich den Artikel darüber hier gefunden wo alles schön erklärt ist. Manchmal braucht man nur so einen kleinen Anstoß ;-) Werd am Ende berichten wie ich es gelöst habe. Liebe Grüße, Michi
Michael Borkowski schrieb: ...Meine Herausforderung ist die Anzahl: Ich will > 14m LED-Kette ansteuern und brauche dazu 56 TLC-Chips. Ich will die TLC > auf die 14m verteilen... > ... 6 Steuerleitungen (davon zwei mit 8 MHz und zwei mit 2 KHz) sollen... Also da wird es ohne angepasste Leitungen nicht mehr sauber gehen, mal abgesehen, dass die Kabel dann ev. als Atenne zu strahlen anfangen. Bei 14m bist du mit 8MHz und ein wenig Verkürzungsfaktor schon im Bereich Lambdaviertel, d.h. du bekommst eine Signalveränderung durch Reflexionen, die massiv sein dürfte. --> Entweder geringere Frequenz nutzen oder angepasste Leitungstreiber, Kabel und Abschlusswiderstände nutzen.
@ Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite >Ich würde erstmal mit ganz normalen CMOS-Signalen rangehen und >ausprobieren, ob das funktioniert (in einem Versuchsaufbau). Naja, bei 14m! und 56 Abgriffen würde ich das nicht mehr machen. Die Chance, dass es funktioniert ist eher gering. Allein das Thema Masseverschiebung ist hier nicht ohne. Wenigstens den Takt würde ich ala RS422 differentiell führen und per MAX485 & Co an jedem TLC abgreifen. GGF. kann man mit einem MAX485 eine handvoll TLCs takten, viel mehr aber nicht. > Ggf. >mit einer Serienterminierung arbeiten am Leitungstreiber, Bei Multidrop und DEN Leitungslängen? Nicht wirklich. Das schreit nach Problemen. >Überschwinger zu dämpfen. Sinnvoll ist es, wenn die Leitung >geometrisch einigermaßen uniform ist, damit sie mit einem annähernd >konstanten Wellenwiderstand arbeitet. Jo. MfG Falk
Ach so. 56 TLCs sind 896 LEDs. Das kann man mit zwei DMX512 Strängen (= Universen) erschlagen. Hat auch den Vorteil, bereits etablierte Technik zu sein. Modularisierung ist auch gut. Also eine handvoll TLCs zu einem Modul kombinieren und an einen AVR als DMX-Empfänger klemmen. Dann braucht es gerade mal zwei Signaladern + Masse + VCC, um die Daten an die LEDs zu kriegen. Und das ist dann solide. Allerdings muss man auch bei 1m Kabellänge das Thema Wellenwiderstand beachten. Aber hier kommt man noch mit CMOS-Pegeln hin. MFG Falk
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.