RGB-LED-Panel für Ambilight - geeignete LEDs/Dimensionierung?

  • Hallo!
    Die Farben kannst Du aber "per Hand" herstellen, oder? Sie sind also prinzipiell herzustellen? Vor so einem Problem standen wir mit den CCFLs auch schon, haben allerdings keine Lösung.
    Hatte damals auch schon versucht, eine Diskussion zu eröffnen, leider kam kein Feedback...
    Aber ich schätze mal, logarithmisch oder exponentiell wirds sein. Wie man das ohne externes Meßequipment rausbekommen will, ist mir leider auch nicht klar.


    Gruß,
    Daniel

  • Hallo,


    also herstellen von Hand kann ich fast alle Farben, "braun" zB. bekomm ich auch so nicht richtig hin. Ob da die Abstufungen nicht passen oder obs am Farbraum liegt (sollte es ja nicht) weiss ich nicht.


    Generell hab ich das da gefunden, leider auch nur überflögen bis jetzt:
    http://kb-bmts.rz.tu-ilmenau.d…rafik/V1_und_V2a_2005.pdf


    Da ist erklärt wies bei einer Bildröhre funktioniert.


    Vielleicht kommen wir so weiter...


    Grüße, Simon

  • Hallo,


    so habs mir jetzt durchgelesen und gleich alles ausprobiert.
    Folgende Erkenntnisse:


    1) Hab meine LEDs mit einfachem Luxmeter in weißem Kasten gemessen:
    Lux-Werte sind proportional zum DMX (Eingabe) Wert, also findet im PWM Controller keine Anpassung an das menschliche Hellempfinden statt.


    2) Hab mir die Formel zur Gamma-Korrektur im Dokument genauer angeschaut:
    das hat offenbar die ganze Zeit gefehlt:


    COLOR_leds = (255* pow( color/255, gamma) );


    gamma hab ich experimentell bei mir auf 3 gesetzt, klappt ganz gut, die schwierigen Farben wie dunkelblassgrün :hat2 oder das selbe in blau kommen so richtig, sogar sowas wie blasshellbraun kann man noch erkennen.


    Werde jetzt ein bischen Testfernsehen, denke aber das wars was mir die ganze Zeit gefehlt hat. Hab ein paar Fotos gemacht: Fotos


    Jetzt hat sich natürlich ein neues Problem ergeben:
    Meine PWM kann im "unteren" bereich viel zu wenig Abstufungen. zB bei Gamma = 3 sind die RGB Werte unter 31 immernoch 0. Also: Ansteuerung der LEDs (wohl auch CCFL) entweder im Mikrocontroller schon quadratisch oder eben höhere Auflösung (12 bit ?)
    Hab mir derweil so beholfen, dass ich den SatOffset Parameter missbraucht habe und daraus ein Offset für die Helligkeit gemacht habe. Hellere Farben werden ordentlich dargestellt.


    Der Algoritmus hat noch ein Problem mit Bildern die sehr dunkel sind, da ist die gefundene Farbe manchmal nicht auf den ersten Blick nachvollziebar, aber das bekommt man mit einer ausgeklügelteren Histogrammanalyse bestimmt hin.
    Meine aktuellen Sourcen liegen auch bei den Bildern, eins drunter.


    Ach ja und das Problem mit der langen Durchlaufzeit bleibt natürlich, da denke ich gibt es 2 Lösungen:
    1) optimieren Thema VSYNC
    2) extra Thread bauen, der den Filter alle 20ms oder so ausführt und dann auf die erielle schreibt


    So und jetzt probier ich weiter!


    Grüße,
    Simon

  • Hallo!
    Wow, die Fotos machen echt Mut, schaut sehr gut aus!
    Daraus ergeben sich für die Hardware allerdings ein paar Änderungen:
    Die PWM ist mit 8 Bit einfach viel zu grob aufgelöst, so daß eine vernünftige Ansteuerung damit nicht möglich ist.
    Ist aber kein Beinbruch, man muß sich dann nur nen anderen Controller ausgucken...
    Um den Aufwand in der Firmware klein zu halten (und nicht auf einem 8-Bitter potenzieren zu müssen) würde ich vorschlagen,
    die Übertragung in die Firmware entsprechend zu ändern (12Bit..16Bit pro Farbe).
    Die Idee mit dem getrennten Filter alle 20 ms oder so finde ich klasse, läßt sich wahrscheinlich auch problemlos realisieren.
    Die Geschichte mit dem VSYNC habe ich leider immer noch nicht getestet, jemand anderes vielleicht schon?


    Gruß,
    Daniel


    P.S. Die Sache mit der Folie finde ich interessant, gibts die eventuell auch in anderen Abmessungen?

  • Hallo,


    ja dass das nicht ganz einfach im µC zu lösen ist weiss ich schon.
    Kann sogar sein, dass die Frequenz der PWM in Abhängigkeit von der Helligkeit geändert werden muss um Flackern zu vermeiden...
    Kenn mich leider nicht recht aus mit den µC, gibts da irgendwo eine Übersicht wo steht was die können? Was brauch ich alles um mir selber einen Versuchsaufbau zu machen?
    Kann man so einen PWM nicht per Software mit einem schnellen Timer oder sowas lösen?
    Hat jemand Erfahrung welchen MOSFET man nehmen müsste um die 48V vom µC aus zu takten?


    PS: hab dann gestern noch ein bischen Ferngesehen, die Farben haben schon recht gut gepasst, außer wie gesagt wenns zu dunkel was. Ein bischen die Histogrammanalyse optimieren muss man schon noch, aber das wird bestimmt


    Grüße,
    Simon

  • Hallo!

    Zitat

    Kann sogar sein, dass die Frequenz der PWM in Abhängigkeit von der Helligkeit geändert werden muss um Flackern zu vermeiden...


    Nein, das denke ich ist nicht notwendig. Da die PWM vom µC in Hardware erzeugt wird, ist sie auf jeden Fall schnell genug.


    Zitat

    Kenn mich leider nicht recht aus mit den µC, gibts da irgendwo eine Übersicht wo steht was die können?


    Bei Atmel findest Du eine Übersicht, bei den PWMs muß man allerdings aufpassen, die unterscheiden da in der Übersicht leider nicht zwischen 8Bit und 16Bit, also besser nach der Anzahl der 16bit-Timer schauen. Ich würde im Moment nen ATMega 162 vorschlagen.


    Zitat

    Was brauch ich alles um mir selber einen Versuchsaufbau zu machen?


    Am besten so ein Steckbrett, wie ich habe. Da gehen dann auch die Änderungen recht schnell. Dazu die entsprechenden Bauteile + einen Programmer für den Controller. Wenn Du wie viele hier mit den Atmels arbeiten magst, besteht der einfachste Programmer aus 4 Widerständen an der parallelen Schnittstelle.


    Zitat

    Kann man so einen PWM nicht per Software mit einem schnellen Timer oder sowas lösen?


    Kann man bestimmt auch, allerdings bevorzuge ich immer die Hardware-Lösung, wenn eine verfügbar ist.


    Zitat

    Hat jemand Erfahrung welchen MOSFET man nehmen müsste um die 48V vom µC aus zu takten?


    Ich habe hier im Moment IRL540N am laufen, ich meine, die müßten auch 48V abkönnen... Allerdings bin ich nicht so der echte Hardware-Crack, aber hier treiben sich sicherlich welche rum ;)


    Gruß,
    Daniel

  • Hallo,


    hast recht, wenn ein hardware PWM funktioniert dann ist das eine gute Lösung!


    Soweit ich was davon verstehe schaut der ATMega 162 wirklich gut aus. Bringt man so ein Programm in 512 Bytes? Oder braucht der ein externes EEPROM? Die Übersicht schau ich mir heute Nacht mal in Ruhe an.


    Löten oder Steckbrett, das ist nicht das Problem, was ich eher bräuchte wäre eine Seite wo die Grundlagen dieser Prozessoren ein bischen erklärt werden, also Programmiersprache, Programmiersoftware, eben der einfache Programmer ect. .. klar was ich mein? Wenns sowas nicht gibt muss ich eben ein bischen rumsuchen ,macht auch nix.


    So vielen Dank soweit, denke so kommen wir schon weiter...
    daniel : du hast doch so ccfls, oder? probier doch mal die Gamma-Korrektur damit, vielleicht kommt auch was sinnvolles raus...meinen aktuellen sourcecode incl. setup.* lege ich heute abend mal auf den serve...


    Grüße,
    Simon

  • Hallo!

    Zitat

    Bringt man so ein Programm in 512 Bytes? Oder braucht der ein externes EEPROM? Die Übersicht schau ich mir heute Nacht mal in Ruhe an.


    Der Controller hat 16K Flash und 512Bytes EEPROM, bitte nicht verwechseln! Im Moment verbrauche ich auf dem Mega8 (8K Flash) ca. 20%.


    Zitat

    Löten oder Steckbrett, das ist nicht das Problem, was ich eher bräuchte wäre eine Seite wo die Grundlagen dieser Prozessoren ein bischen erklärt werden, also Programmiersprache, Programmiersoftware, eben der einfache Programmer ect. .. klar was ich mein? Wenns sowas nicht gibt muss ich eben ein bischen rumsuchen ,macht auch nix.


    Schau Dich mal hier um. Sind ein paar Grundlagen recht gut beschrieben. Weitere Links kann ich Dir bei Interesse gerne mal per PN zuschicken.


    Zitat

    daniel : du hast doch so ccfls, oder? probier doch mal die Gamma-Korrektur damit, vielleicht kommt auch was sinnvolles raus...


    Ja, habe ich. Allerdings kriege ich damit wahrscheinlich keine Gamma-Korrektur hin, die Dinger kann ich nämlich nur 0-31 pro Kanal ansteuern. Ich schätze, das reicht nie und nimmer.


    Gruß,
    Daniel

  • Hallo,


    danke für die Info, die Seite schau ich heut Nacht mal an!


    16K Flash klingt schon ganz anders....dann versteh ich das ganze.


    Wieso kannst du denn eigentlich nur 32 Helligkeiten steuern bei den CCFLs? Wo liegt da denn genau das Problem...(hab mir schon die anderen Threads durchgelesen aber das ist schon 2 Wochen her und du hast es ja programmiert, oder?)


    Ich frage deshalb, weil die CCFLs ja eigentlich, wenn man das mit dem Gamma da in den Griff kriegt, ja auch keine schlechte Lösung wären.


    Vielen Dank,
    Simon

  • Hallo!

    Zitat

    Wieso kannst du denn eigentlich nur 32 Helligkeiten steuern bei den CCFLs? Wo liegt da denn genau das Problem...


    Das Problem sind die Inverter: Die sind leider alles andere als linear, d.h. z.B. 1% mehr PWM bedeutet mit nichten 1% mehr Helligkeit, manchmal sogar weniger! Außerdem gehen ca. die ersten 120 Schritte PWM schon für das Zünden drauf, danach habe ich dann nur noch 135 PWM Schritte über und die sind halt auch noch nichtlinear. Der Regelbereich bei 8bit-PWM ist einfach viel zu klein X(


    Gruß,
    Daniel

  • Hallo zusammen. Ich habe mich noch einmal an meine Applikation gesetzt, die vom Bildschirminhalt die geeignete Farbe des Ambilights generieren soll. In der alten Version habe ich ziemlich viel mit HLS Farbräumen rumgespielt, aber im Endeffekt ist eine einfache Mittelwertbestimmung über die RGB Werte weitaus effektiver. Ich habe hier zig JPEGS mit Screenshots rumfliegen, auf denen auch die resultierende Farbe angezeigt wird. Ausserdem wird bereits über die serielle Schnittstelle der RGB-Wert ausgegeben.


    Ich habe die Screenshots auf


    http://toad-de.spaces.msn.com/


    in das Photoalbum MCELite gepackt, falls jemand Interesse hat.

  • Hallo


    maltic :
    hab mir gerade deine Screenshots angeschaut, aber so ganz klug werd ich daraus nicht...was zeigen die Histogramme auf den Bildern? Hue und Sat?
    Und wo ist da der RGB Mittelwert?
    Habs damit auch schon versucht, aber (soweit ich das damals schon beurteilen konnte) klappt das nur bei relativ homogenen Bildern, sonst gibts eine komische Mischung...


    daniel_k :
    also müsste man eigentlich direkt im Inverter eingreifen? Hat sich aber noch keiner getraut, oder :) ?


    Mal schaun, vielleicht bestell ich mir demnächst mal so eine Röhre!


    Grüße,
    Simon

  • samc : die Histogramme zeigen die Helligkeit (oben) und den Farbton (unten), sind aber nur also Info zu sehen. Die Werte werden nicht (mehr) ausgewertet. Der farbige Rand ist im Endeffekt das Ergebnis der RGB Mittelwert-Berechnung.

  • Hallo,

    Zitat

    also müsste man eigentlich direkt im Inverter eingreifen? Hat sich aber noch keiner getraut, oder smile ?


    Wahrscheinlich müßte man das. Irgendwie die Zündspannung dauerhaft anlegen und den Rest pulsen oder so. Die 600V sind gar nicht so schlimm, wenn man sich erst einmal dran gewöhnt hat ;)
    Hab aber leider davon zu wenig Ahnung, um sowas zu machen.


    Gruß,
    Daniel

  • Hallo,
    ich lese schon seit einiger Zeit diesen Thread, besonders über die Alternativen zu den Röhren.
    Ich habe mir dabei überlegt, ob ein günstiges 15 Zoll TFT Bildschirm als Beleuchtung nicht eine Alternative sein könnte.
    Man kann damit alle Farben produzieren die Helligkeit, kann geregelt werden und die Ansteuerung wäre auch einfach ?


    Gruß

  • Hallo,


    1) die lange Durchlaufzeit des Plugins kam wirklich von dem VIDCAP, hab jetzt das ganze mit 2 abwechselnden Frames aufgebaut, hab danach Zeiten zwischen 1 und 40 ms bekommen, also liegt die reale Durchlaufzeit wohl bei 1ms.
    Mittlerweile hab ich den Wait-Befehl ganz rausgenommen und das Plugin sychronisiert sich auf jetzt auf die ankommenden Vollbilder, also alle 40ms ein Durchlauf, und das konstant.


    2) daniel_k : hab mir jetzt den mega162, Programmieradapter und ein bischen Bauteile drumrum bestellt.
    Hast du in C oder ASM programmiert?
    16bit PWM bei 12MHz Takt gibt ja nur 183Hz, oder? Also sollten wir doch lieber 12bit probieren, das müsste der Proz. ja auch können, oder?
    CCFLs hab ich mir jetzt auch mitbestellt, nur so zum Spass. Hab mal nachgeschaut, gibt schon kleine ICs, die können CCFL 1..100% dimmen, aber ob das überhaupt reicht weiss ich auch ned. Und das Problem ist: wo bekommt man sowas und woher die nötigen Trafos.


    3) Hab noch ein bischen an der Histogrammanalyse rumprobiert. Probleme die jetzt noch bestehen:
    a) bei einem S/W-Film wird oft statt weiss ein leichtes grün ausgegeben, bin mir zwar sicher dass das auch so im Film ist, aber trotzdem nicht schön.
    b) manchmal liegt die Farbe eben daneben, genauer kann ichs im Moment noch nicht sagen, muss ein paar Schreenshots machen dazu. Es wird eine Farbe ausgesucht, die zwar vorkommt, aber subjektiv nicht als die dominante wahrgenommen wird.


    Also: Wenn jemand sich ein bischen damit auskennt, wie man solche Histogramme sinnvoll auswertet, dh.nicht einfach nur das Maximum suchen, dann soll er bitte was dazu sagen.


    Grüße,
    Simon