Tag zusammen! Ich plane im Moment eine RGB-Zimmerbeleuchtung. Sie soll vorwiegend als Effektbeleuchtung eingesetzt werden - eine gute Farbwiedergabe ist also nicht so tragisch. Ich habe dafür die "Seoul Z-Power LED P5-II, RGB" ins Auge gefasst, da sie mit knapp 40 lm/W immer noch halbwegs ökonomisch daherkommt und mit ihren 6 Anschlüssen recht flexibel beschaltet werden kann. http://www.seoulsemicon.com/en/product/prd/zpowerLEDp5-II.asp Der Raum wird im Moment mit ca 4000 lm bestrahlt (4 x 50 W Hochvolthalogen-Spots), was in etwa 50 RGB-LEDs entspricht. Um auf die empfohlenen 500 lx zu kommen bräuchte es ca. 80 LEDs. Wenn ich schon so viele davon an die Decke hänge, möchte ich die natürlich auch getrennt ansteuern/dimmen können - Spaß muss sein =) Ein Matrixverschaltung/-ansteuerung kommt wegen der gewünschten Helligkeit nicht in Frage. Um einen brauchbaren Weißpunkt zu erhalten sollte die LED laut Datenblatt mit 220 mA, 350 mA und 200 mA betrieben werden. Ausgehend von diesem Weiß, möchte die die LED per PWM dimmen (bei einem Duty Cycle von 3 mal 100% soll also in etwa weiß rauskommen). Exemplarstreuung ist nicht so tragisch, da die LEDs mehr als 3 m über dem Boden hängen und man beim direkten Blick in die LED eh keine großartigen Helligkeitsunterschiede feststellen dürfte. Bei der Suche nach einem geeigneten Treiber bin ich auch den TLC5940 gestoßen. Dieser liefert als Konstantstromsenke 16 x 120 mA bei 64 Analogstufen und 4096 PWM-Stufen. Bis auf den Maximalstrom passt der Treiber meiner Meinung nach perfekt. http://focus.ti.com/docs/prod/folders/print/tlc5940.html Jetzt hatte ich die Idee einfach mehrere Kanäle zusammenzuschalten um die höheren Ströme zu erreichen: - Rot : 2 x 120 mA = 240 mA (statt 220 mA) - Grün: 3 x 120 mA = 360 mA (statt 350 mA) - Blau: 1 x 120 mA = 120 mA (statt 100 mA) Ich treffe also ziemlich gut den Weißpunkt - den Rest kann ich mit der PWM justieren. Die Treiber werden vermutlich alle von einem AVR-µC angesteuert. - Würde das mit dem Zusammenschalten so einfach funktionieren? Auch in Zusammenhang mit der PWM (identische Duty-Cycles bei zusammengeschalteten Kanälen vorausgesetzt)? - Kennt ihr einen Treiber, der besser geeignet wäre (ungerne unter 10 Bits bei der PWM-Auflösung)? - Wäre ein diskreter Aufbau sinnvoller (vom Aufwand mal abgesehen)? - Kennt ihr RGB-LEDs, die einen besseren oder ähnlich guten optischen Wirkungsgrad haben und sich einfach auf einen brauchbaren Weißpunkt einstellen lassen? - Kennt ihr eine gute/günstige Bezugsquelle für den Treiber oder die LEDs? - Welche Versorgung würdet ihr wählen? Ein ATX-Netzteil wird die rund 50 A nicht über die 6 V-Schiene liefern können... Eher 12 V mit DC/DC-Wandler... werde mal ein wenig in den Datenblättern stöbern. - Was habe ich sonst noch übersehen? ;) Danke für eure Vorschläge! Kai
Kaum schickt man den Beitrag ab: "Möchtest du den Ausgangsstrom für die LEDs vergrößeren so solltest du mehrere Ausgänge der TLC parallel schalten und dann da nur 1 LED dranhängen. Laut AppNote zum TLC soll das gehen." Beitrag "Re: Hilfe LUXEON LED Array über TLC5940 und ULN2803" Ich suche jetzt mal die Appnote...
hallo, habe zwar bisher nur mit dem TLC5922 und dem TLC5940 was mit "normalen" RGBs angestellt, allerdings hört das sich schonmal ganz vernünftig an, allerdings auch sehr kostenintensiv. Was du auch noch bedenken solltest ist die Kühlung, die jeder Treiber braucht, vor allem wenn du ihn im Dauerbetrieb auf voller Auslastung laufen hast. Da würde ich zur Sicherheit nochmal gegenrechnen ob das mit der Verlustleistung hinhaut. Wenn du das weiß als Maximum einstellst, nimmst du dir die Möglichkeit dein ganzes Zimmer in sehr hellem blau leuchten zu lassen, vielleicht wäre es geschickter jede Farbe bis zu seinem Maximum leuchten zu lassen und den Rest über die Software zu machen, genug Stufen hast du ja schließlich. Theoretisch sind 1,8 * 10^16 Farben möglich, das sollte locker ausreichen, wobei du auch mal schauen solltest, dass du das ganze nicht linear regelst, sondern mal bei LED Fading reinschaust, damit das ganze auch noch übersichtlicher wird. Bei der Terminierung wirst du auch noch viel Spaß haben, da kann ich dir aber auch ein paar Tips geben wenn es so weit ist. Ich habe zwar wie gesagt nur mit den TLC5946 was gemacht, allerdings ist der ja recht ähnlich und du kannst vielleicht ein paar Codeschnipsel gebrauchen Die AppNote hab ich mir auch schonmal angeschaut, ist eigentlich so wie man es sich vorstellt Gruß Kai
Wie willst du die Vernetzung und die Ansteuerung, also die Helligkeitsvorgaben machen?
Hi Kai, danke für's Feedback. >habe zwar bisher nur mit dem TLC5922 und dem TLC5940 was mit "normalen" >RGBs angestellt, allerdings hört das sich schonmal ganz vernünftig an, >allerdings auch sehr kostenintensiv. Wird vermutlich auch nicht billig - wenn ich mir vorher nicht sicher bin, ob das klappt, werd' ich auch die Finger davon lassen. Ist ja auch nicht gerade wenig Arbeit die Dinger an die Decke zu pappen. >Was du auch noch bedenken solltest ist die Kühlung, die jeder Treiber >braucht, vor allem wenn du ihn im Dauerbetrieb auf voller Auslastung >laufen hast. Da würde ich zur Sicherheit nochmal gegenrechnen ob das mit >der Verlustleistung hinhaut. Mach ich. Meine derzeitige Deckenbeleuchtung verheizt 200 W - solange ich da nicht drüber komme ist alles im grünen Bereich. Fällt dir eine effektivere Lösung ein? >Wenn du das weiß als Maximum einstellst, nimmst du dir die Möglichkeit >dein ganzes Zimmer in sehr hellem blau leuchten zu lassen, Das ist schon ok. Wenn ich mir das helle Blau offenhalten würde, wirken andere Farben dagegen mickrig. Es sollten insgesamt genug LEDs sein um auch das Blau hell genug wiedergeben zu können. Ich werde wahrscheinlich die Dot-Correction für die Feinabstimmung am Weißpunkt verwenden - wenn die nicht zu viel verheizt. Die Ansteuerung wird dadurch vereinfacht. >vielleicht >wäre es geschickter jede Farbe bis zu seinem Maximum leuchten zu lassen >und den Rest über die Software zu machen, genug Stufen hast du ja >schließlich. Mir wäre am liebsten eine RGB-LED, bei denen der Weißpunkt bei identischen Strömen erreicht würde - konnte aber leider keine (mit entsprechend gutem Wirkungsgrad) finden. >wobei du auch mal schauen solltest, dass du das ganze >nicht linear regelst, sondern mal bei LED Fading reinschaust, damit >das ganze auch noch übersichtlicher wird. LED Fading sieht im Moment noch recht übershaubar aus ;) Für die korrekte Farbwiedergabe halte ich mich an die Stevenssche Potenzfunktion mit einem Gamma-Wert von 0,33 - das sollte ganz gut passen. http://de.wikipedia.org/wiki/Stevenssche_Potenzfunktion >Bei der Terminierung wirst du auch noch viel Spaß haben, da kann ich dir >aber auch ein paar Tips geben wenn es so weit ist. Was genau meinst du? Die Kommunikation mit den Treiberbausteinen? >Ich habe zwar wie gesagt nur mit den TLC5946 was gemacht, allerdings ist >der ja recht ähnlich und du kannst vielleicht ein paar Codeschnipsel >gebrauchen Ich komme wahrscheinlich darauf zurück, sobald alle Unklarheiten beseitigt sind, danke! >Die AppNote hab ich mir auch schonmal angeschaut, ist eigentlich so wie >man es sich vorstellt Die Appnote ist zwar für andere Bausteine gedacht, aber ich vermute mal, dass die auch auf den TLC5940 überrtagbar ist. http://focus.ti.com/lit/an/slva253/slva253.pdf schöne Grüße, Kai
Hallo nochmal, Mit Verlustleistung meinte ich nicht, dass du vielleicht zu viel Strom verbrauchen könntest, sondern, dass der Treiber zu viel Leistung "verbraten" muss, sodass die im Datenblatt angegebene maximale Verlustleistung überschritten wird. Wenn du 6V einspeißt, die LED aber nur 3V braucht, musst du 3V verheizen, was bei 16*120mA auf fast 6 Watt hinauslaufen würde und wahrscheinlich zu viel wäre (Diese Treiber werden ganz schön heiß) Mit einem DCDC Wandler für jeden Treiber würdest du die Spannung natürlich viel besser regeln können und damit auch den TLC entlasten. Für die Ansteuerung nimmst du am besten die daisy-chaining Methode (SOUT an SIN vom folgenden) und schiebst die Daten durch alle Treiber durch. Das Problem daran ist nur, dass die Datenleitung sehr lang wird , sodass es zu Reflektionen kommt siehe Wellenwiderstand Hier steht wie ich es gelöst habe [[Beitrag "SPI Parallelterminierung"]] Funktionieren wird das alles schon, muss nur eben gut durchdacht sein, eine bessere Möglichkeit zur Ansteuerung fällt mir auch nicht ein Gruß der andere Kai
>Wie willst du die Vernetzung und die Ansteuerung, also die >Helligkeitsvorgaben machen? Die Vernetzung hatte ich mir (soweit das schon durchdacht ist) wie folgt vorgestellt:
1 | ___ |
2 | |AVR|___ PC per RS232 |
3 | |___| |
4 | | |
5 | ,____,____,____,__ _|_ __,____,____,____, |
6 | \_|TLC|_/ |
7 | ,____,____,____,__/ |___| \__,____,____,____, |
8 | | |
9 | ,____,____,____,__ _|_ __,____,____,____, |
10 | \_|TLC|_/ |
11 | ,____,____,____,__/ |___| \__,____,____,____, |
12 | | |
13 | | |
14 | oder: |
15 | | |
16 | * * * * _|_ * * * * |
17 | \____\____\____\__|TLC|__/____/____/____/ |
18 | / / / / |___| \ \ \ \ |
19 | * * * * | * * * * |
20 | | |
21 | | |
22 | * * * * _|_ * * * * |
23 | \____\____\____\__|TLC|__/____/____/____/ |
24 | / / / / |___| \ \ \ \ |
25 | * * * * | * * * * |
26 | | |
(TLC steht für den Treiber oder Treiberverbund, der für den Betrieb von je 16 RGB-LEDs notwendig ist - z.B. 3 x TLC5940) Vom AVR aus wird ein Flachbandkabel (und die Spannungsversorgung) zu den TLCs geführt, welche entweder per Daisy-Chain, Bus oder Stern angeschlossen werden. Jede LED ist mit seinem TLC-Modul über ein 6-adriges Flachbandkabel verbunden (3xAnode, 3xKathode) um ein Übersprechen zu vermeiden (Sternverkabelung). (Muss mal schauen, ob eine Ader 350 mA mitmacht - sonst halt ein anderes Kabel) Der AVR erhält vom PC (oder berechnet selbst) für jeden Kanal einen 8-Bit-Helligkeitswert. Dieser wird per LUT (oder Umrechnung) in einen gammakorrigierten 10-Bit-Wert umgesetzt und als Duty-Cycle an das zuständige TLC-Modul gesendet, welches den neuen Wert übernimmt und hält. Die genaue Topologie und das Protokoll werde ich erarbeiten, sobald ich mich für einen Treiber fest entschieden habe. Der AVR dürfte sich auch dann noch langweilen, wenn er die maximal geschätzten 15 Treiber parallel per Software-Implementation füttert. Das ist zumindest im Moment meine bevorzugte Variante. Jetzt zu Kais Posting... ;)
> Mit Verlustleistung meinte ich nicht, dass du vielleicht zu viel Strom > verbrauchen könntest, sondern, dass der Treiber zu viel Leistung > "verbraten" muss, sodass die im Datenblatt angegebene maximale > Verlustleistung überschritten wird. Ach so - hatte dich falsch verstanden. > Wenn du 6V einspeißt, die LED aber > nur 3V braucht, musst du 3V verheizen, was bei 16*120mA auf fast 6 Watt > hinauslaufen würde und wahrscheinlich zu viel wäre (Diese Treiber werden > ganz schön heiß) Hmm... ist auf jeden Fall nicht mein Ziel. > Mit einem DCDC Wandler für jeden Treiber würdest du die Spannung > natürlich viel besser regeln können und damit auch den TLC entlasten. Das macht definitiv Sinn - dafür habe ich auf jeden Fall noch ein paar Cents übrig. > Für die Ansteuerung nimmst du am besten die daisy-chaining Methode (SOUT > an SIN vom folgenden) und schiebst die Daten durch alle Treiber durch. > Das Problem daran ist nur, dass die Datenleitung sehr lang wird , sodass > es zu Reflektionen kommt siehe Wellenwiderstand > Hier steht wie ich es gelöst habe > [[Beitrag "SPI Parallelterminierung"]] Danke, werde ich mir ansehen. Ich bevorzuge die parallele Übertragung (siehe Posting oben). Was ich überlegt hatte ist das Daisy-Chaining auf je drei Treiber zu beschränken, die alle auf demselben Modul sitzen und die bis zu 4-5 Module parallel zu füttern. Maximale Leitungslänge 5 m. Ich kann durch die Parallelisierung deutlich im Takt runtergehen, was die Kommunikation verbessern sollte. Auch ist die Platzierung des AVR in der Mitte der Gesamtanordnung denkbar - das würde die Leitungslänge halbieren (max. 2,5 m) > Funktionieren wird das alles schon, muss nur eben gut durchdacht sein, Ich habe Zeit und scheinbar viel Unterstützung :)
Ich fragte, weil vielleicht folgende Möglichkeit zumindest mal diskutiert werden sollte: pro LED ein tiny mir 3x hardware-PWM und nem kleinen schaltregler von zB 24V auf 5V. die Ansteuerung über rs485 zB und das protokoll sieht dann zB so aus: <adresse><helligkeit> 0..80 0..1023 Die verdrahtung würde aus 4(verschiedenen) leitungen bestehen: plus,minus,daten+,daten-. Was spricht dagegen?
du solltest dir auch überlegen ob du wirklich jede LED einzeln ansteuern willst oder ob er dir vielleicht reicht immer 2er oder 3er Gruppen anzusteuern. Da deine LEDs 6 Pins haben, spricht von der Hardware nichts dagegen, du könntest dir eventuell den Spannungsregler sparen, brauchst weniger Treiber und der Verdrahtungsaufwand wird geringer
>Was spricht dagegen? Nichts :) Aufwand ist erstmal egal - bin ja noch jung ;) - und die Kosten sind auch überschaubar. Ich muss die LEDs eh irgendwie befestigen, und das kann von mir aus auch eine kleine Platine mit 'nem Tiny sein. Die Option habe ich im Hinterkopf, aber mir ist für den Konstantstrom nichts Sinnvolles eingefallen, was nicht zu viel Energie verballert. >du solltest dir auch überlegen ob du wirklich jede LED einzeln ansteuern >willst oder ob er dir vielleicht reicht immer 2er oder 3er Gruppen >anzusteuern. Halte ich mir als Notlösung offen, falss die Einzelansteuerung zu ineffizient wird. Ich muss die erstmal durchrechnen. Das ließe sich auch mit Matthias Vorschlag kombinieren - ggf. mit Mega statt Tiny.
Nope - habe im Moment aber zu viele Baustellen in der Wohnung offen, dass es im Moment an Zeit, Motivation und Geld gleichermaßen mangelt (Altbau lässt grüßen) :( Der Rest meiner Freizeit geht im Moment in dieses verwandte Projekt: Beitrag "Sinnvolle Spannungsversorgung mehrerer LED-Module" Viele dort gelöste Probleme kommen auch der Deckenbeleuchtung zugute.
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.