LED-Farbspektrum Analyse

  • Hallo,


    und zwar würde ich gerne die LED-Spektren aus den Datenblättern extrahieren damit ich verschiedene Werte berechnen und mehrere LEDs aufeinander abstimmen kann.
    Der größte Teil der Berechnungen wie CRI, CCT, dE, absolutes Spektrum, Farbort, .... habe ich bereits fertig.
    Da ich nun den Teil mit dem Anpassen mehrerer LEDs machen möchte, würde ich vorher gerne mehrere Spektren als xy Werte extrahieren. Bis jetzt hatte ich es etwas
    mühselig über eine Anwendung gemacht, die den Graph digitalisiert.
    Da die Spektren aber als Vektoren gespeichert sind möchte ich dies natürlich auch ausnutzen. Mit Inkscape konnte ich den Graph bereits extrahieren und als .svg speichern.
    Aber wie konvertiere es nun ein x/nm y/% Format mit dem ich später in Excel arbeiten kann?


    Gruß
    Nils

  • Danke für dein Tipp. Den Thread kenne ich schon. :)
    Im Prinzip möchte ich genau das was er mit seinem Lumos gemacht hat auch machen, da es ja leider nicht veröffentlicht wurde.
    Zusätzlich aber noch den Teil, den er am 24.08 erwähnt hat mit den Anpassen von mehreren LEDs. Der Rest, bis auf ein paar Diagramme,
    steht aber soweit. Ich mache das aber alles in Excel. Klappt aber auch gut wie ich finde.


    Wegen der Extrahierung hatte er was mit muPDF erwähnt. Leider bin ich da nicht weiter gekommen und habe es über Inkscape versucht.
    Im Prinzip muss ich ja nur noch die Vektordaten in verwendbare Daten umwandeln. Vielleicht ist es ja auch schlauer es anders zu machen.

  • Einen effzienten Weg an die Daten ranzukommen habe ich bis jetzt leider noch nicht gefunden.
    Aber damit man sich überhaupt was darunter vorstellen kann wofür ich das eigentlich brauche, möchte ich einmal paar Screenshots zeigen. (Sorry für die schlechte Quali)


    Prinzipiell soll es wie gesagt genau das machen wofür Lumos! von Sol gedacht ist. Also die Spektren von LEDs auszuwerten um Simulationen durchführen zu können.
    Damit könnte man dann zB Kombinationen berechnen um einen möglichst hohen Farbwiedergabeindex oder einstellbare Farbtemperatur zu erreichen.


    Das Gröbste ist bereits fertig. Es fehlt halt nur noch der Teil um LEDs zu kombinieren, ist aber auch nicht mehr so aufwendig. Am Layout will ich auch noch paar Sachen ändern. Aber das kommt zum Schluss. Mein Tool sieht zwar nicht so schön aus wie das von Sol, aber ich denke es kommt ja auf die Funktion drauf an.


    Die Daten, die angezeigt werden sind nicht alle, die berechnet werden. Hab es aber erstmal für die wichtigsten gehalten.
    Dass zwischen dem absoluten und dem relativen Spektrum in dem Fall ungefähr der Faktor 500 ist, ist übrigens nur Zufall.

  • Ich hab mal noch ein paar Diagramme hinzugefügt.
    Und zwar die Farben der Test Color Samples, die für die CRI Berechnung benötigt werden, im CIE1960 Farbraum.
    Das Kreuz symbolisiert den Weißpunkt der Testquelle. Die gestrichelte Linie geht zur Referenz.
    Das Plus zeigt die Test Color Samples von der Testquelle bestrahlt und der Strich geht zum Refernzbestrahlten TSC.


    Einmal für die ersten acht:


    Die TCS' bis 15 sind noch in zwei Diagrammen. Will die aber auch noch in einem darstellen.
    Referenzquelle:


    Testquelle:


    Eine kleine Mischfunktion ist auch schon drin.
    Hier am Beispiel einer blauen, roten und CRI 90 WW LED:


    Der berechnete CRI der WW LED stimmt fast genau mit der Herstellerangabe überein, aber bei einem dE von über 4 hat man in diesem Fall einen deutlichen Farbstich ins gelbliche.


    Durch 5 zusätzliche Anteile von rot und blau kann man den CRI 8 zwar auf über 97 und den CRI 15 auf über 95 steigern, aber der Farbstich wird dabei auch größer. Diesmal geht er ins violette.


    Wenn man aber nun einen möglichst keinen Farbstich haben möchte und nicht das komplette Spektrum in Form von farbigen LEDs zur Verfügung hat, muss man einen Kompromiss in der Farbwiedergabe eingehen.


    Bei einer etwas erhöhten Farbtemperatur die WW LED mit 2 Teilen blau. Der Farbwiedergabeindex erhöht sich nur geringfügig, aber dafür wird der Farbabstand praktisch nicht mehr wahrnehmbar:


    Wenn man es etwas wärmer mag, dann kann man zu der WW LED zB 6 Teile rot hinzufügen. Der Farbwiedergabindex erhöht sich hier etwas mehr und der Farbabstand ist auch praktisch nicht mehr wahrnehmbar:



    Die aktuelle Farbmischfunktion stellt natürlich nur einen Ansatz da. Immerhin kann man schon mal ein paar Erkenntnisse daraus gewinnen.
    Später soll es zB noch Funktionen geben wie das Mischungsverhältnis der LEDs bei einer vorgegeben Farbtemperatur zu berechnen oder zB einen möglichst hohen CRI bei möglichst kleinem dE zu erreichen.

  • Hi Nils!


    Das klingt ja schon nach nem recht spannenden Tool. Wäre es möglich das mal von dir zu bekommen, zum rumspielen? Habe vor mir ein paar Einbaustrahler selbst zu bauen und zu bestücken, da könnte ich vllt ein bisschen mit deinem Tool spielen, um eine ausgewogene Zusammenstellung zu bekommen.
    Gruß,
    J

  • Gerne kannst du das Tool testen. Ist aber halt noch nicht fertig, aber vielleicht findest du dabei ja Bugs oder hast Verbesserungsvorschläge. :)
    Allerdings möchte ich vorher noch ne Kleinigkeit bei der Mischfunktion ändern, da ich die relativ schnell gemacht habe und das absolute Spektrum zwar intern für die Berechnung verwendet wird, aber sobald man mehrere LEDs hat wird das absolute Spektrum nicht mehr ganz korrekt angezeigt. Und dann will ich noch was hinzufügen damit man einfacher noch weitere Spektren hinzufügen kann. Aber dann kannst du es auch testen. :)
    Sollte aber nicht lange dauern bis ich das soweit habe.

  • Ich hab jetzt mal mehrere farbige Cree, Osram und Nichia Spektren mit hinzugefügt und die Mischfunktion ein wenig erweitert.
    Dadurch hat man nun noch mehr Möglichkeiten das Spektrum in eine gewisse Richtung zu bringen.


    Die LEDs habe ich intern alle auf 350 mA Bestromung normiert. Die tiefrote auf 400 mA. Das dargestellte Mischungsverhältnis kann man jetzt aber nicht auf jede LED übertragen, da es immer vom Wirkungsgrad, Bestromung, Spektrum,... ankommt. Für andere LEDs müsste man die Spektren einfügen und normieren.


    Mit dieser Mischung hat man bei ca. 3800 K rechnerisch keinen warnehmbaren Farbabstand und der CRI 8 beträgt über 98 und der CRI 15 beträgt über 97!
    Das sind aber halt nur theoretische Werte und es kommt immer drauf an wie genau die LEDs mit den Datenblättern übereinstimmen.


    Hier nochmal der CRI Chart:


    Nur bei Strong Blue ist ein deutliche Einbruch zu erkennen.

  • Hallo, leider kann ich dir nicht helfen, finde es aber ganz toll, dass du so ein Tool programmierst!!! :thumbsup: :thumbsup: :thumbsup:
    Noch toller wird es natürlich, wenn du das auch veröffentlichst :D
    (Und dieser Post dient in zweiter Linie dazu, dass ich über Neuigkeiten informiert werde...*ggg*)

  • Freut mich, dass dir mein Tool gefällt. :)
    Ich möchte mich allerdings an dieser Stelle bei Sol bedanken, da er mit seinem Tool Lumos! die Inspiration dafür war.


    Wenn es fertig ist werde ich es gerne hier im Forum veröffentlichen. (Zum jetztigen Testen steht noch weiter unten was)
    Da ich aber grad in der Prüfungsvorbereitung bin, wird es leider noch ein wenig dauern.
    Wollte die letzten Tage eigentlich schon mehr für die Uni machen. :D


    Ich habe aber eben noch mehrere Spektren hinzugefügt und die Mischfunktion ist auch schon in einem guten Zustand.
    Es fehlen zwar noch Funktionen wie zB die Berechnung der verschiedenen LED-Kombinationen bei einer gewünschten Farbtemperatur
    oder bei einem möglichst hohem CRI, aber man kann immerhin schon einige LEDs per Hand über Schieberegler kombinieren.


    Allerdings kann das Tool von ein paar Usern aus dem Forum jetzt schon gerne getestet werden. Ich denke beim momentan Stand gibt es da schon jede Menge Erkenntnisgewinn.
    Außerdem würde ich mich dabei dann über Feedback oder Bugreport freuen. :)



    Mit den Schiebereglern kann man alle aufgeführten LEDs kombinieren. Die Daten oben in der Mitte werden alle in Echtzeit berechnet und angezeigt.
    Das heißt man sieht immer sofort die Veränderung, wenn man einen Regler zB hochfährt. Das Diagramm wird aber erst aktualisiert, wenn man den Regler losgelassen hat.


    Hier einmal die neue Osram Oslon SSL 80 - min CRI 95 - WW
    Selbst der CRI 15 ist über der Herstellerangabe, aber leider hat sie einen Farbstich.


    Mit etwas zusätzlichem Grün ist er aber praktisch nicht mehr wahrnehmbar:



    Wenn man jetzt zB mit der Citizien CL-L103-HC3N1-C - min CRI 90 - KW und der Citizien CL-L103-HC3L1-C - min CRI 90 - WW eine Lampe mit einstellbarer Farbtemperatur machen möchte ist dies zwar möglich, aber obwohl die LEDs schon von Haus aus sehr gute Werte haben kommt es beim Mischen zu Farbstichen.


    Hier einzeln:


    Und hier bei einem Mischungsverhältnis von 1:1. Der Farbstich geht Richtung Violett.


    Mit einer zusätzlichen Bluish Green LED bekommt man das Problem dann aber in den Griff:


    Bei anderen Mischungsverältnissen der WW und KW LED muss man den Bluish Green Anteil natürlich auch verändern.
    Die Berechnung davon kommt dann als nächstes.

  • Ein Teil der Mischungsverhältnisberechung hab ich nun auch schon fertig.


    Und zwar kann man jetzt über einen Schieberegler die gewünschte Farbtemperatur einstellen und es werden die benötigten Anteile von den vorher definierten LEDs berechnet. Dabei bewegt sich der Weißpunkt auf der Schwarzkörperkurve.


    Auf den folgenden Bildern wird das Mischungsverhältnis zwischen der Citizien CL-L103-HC3N1-C - min CRI 90 - KW, der Citizien CL-L103-HC3L1-C - min CRI 90 - WW und der Nichia NCSE119AT Bluish Green - 500 nm berechnet:


    Wenn man das ganze nun mit einem uC machen möchte benötigt man ja am besten eine Lookup-Tabelle in der das Mischungsverhältnis für die gewünschten Farbtemperaturen abgespeichert ist. Deswegen habe ich noch nen Makro erstellt, das dies auch automatisch erledigt. Unten als Graph dargestellt.
    Die linke Seite sind die WW und KW Anteile und rechte Seite die Bluish Green Anteile in Abhängikeit der Farbtemperatur:


    Wie sich in Abhängkeit der Farbtemperatur nun der Farbwiedergabeindex ändert lässt sich auch darstellen:



    Soweit die Theorie. Interessant wäre es nun natürlich, ob es sich in der Praxis auch so verhält.
    Spätestens im April werde ich das dann mal überprüfen.


    Oder hat jemand zufällig die drei LEDs und könnte es mal testen? Die Lookup-Tabelle kann ich wie gesagt dafür erstellen.
    Wenn einer von euch die LEDs zwar nicht hat, aber es trotzdem gerne mal mit anderen LEDs testen möchte, kann ich die Tabelle auch gerne für die berechnen.

  • Ja genau, die Bilder oben sind mit den LEDs, die Andi zitiert hat. Alle mit 350 mA betrieben.
    Aber wie gesagt, wenn jemand andere LEDs hat und es gerne mal testen möchte kann ich es wie gesagt auch dafür berechnen.
    Die automatische Mischfunktion ist momentan für drei LEDs ausgelegt, könnte man aber relativ leicht auch auf mehrere erweitern.

  • Hehe, ja also mir LEDs physisch kaufen werde ich sowieso noch machen. :)
    Man muss ja nun auch mal testen wie sich die Theorie in der Praxis verhält.


    Aber da ich es aufgrund meiner momentanen Prüfungsvorbereitung leider nicht schaffe es auch in der Praxis auszutesten,
    war mein Gedanke vielleicht hat hier ja jemand ein paar LEDs, Zeit und Lust dazu um es in der Zwischenzeit mal zu testen. :)

  • Hi Nils,


    Das ist absolut spitze, was Du in so kurzer Zeit auf die Beine stellst. Schön das Du den Ansatz von Lumos! fortgeführt hast.
    Vermutlich hätte ich mir die Programmiererei besser gespart und mal geschaut was Execl so alles leistet. Dann hätte ich mehr
    Zeit in die Extraktion der Daten gesteckt.


    Ich staune übrigens, was man mit Excel so alles machen kann! Wurden die Farbräume auch von Excel errechnet ?
    Darf ich fragen was Deine Motivation ist, Dich so tiefgreifend mit der Materie auseinanderzusetzen und wie sehen die
    weiteren Pläne aus, ab wann würdest Du es als fertig betrachten ?


    Solltest Du es im Forum zur Verfügung stellen, so könnte man ja darüber Nachdenken auch die Notwendigen Daten in hoher
    Güte zu extrahieren und zu sammeln, quasi eine LED Bibliothek. Einige hier können wohl auch echte Messdaten beitragen.


    Eventuell ist es auch garnicht so abwegig auf Grundlage vorhandener Spektren einer LED die Spektren für andere Farbtemperaturen
    zu interpolieren, denn nur in den wenigsten Fällen trifft man mit dem Beispielspektrum im Datenblatt die aktuelle LED.


    Bei den farbigen LED ist es vermutlich einfacher, hier hat man es mit Binnings zu tun, die einer bestimmten DWL entsprechen, man
    könnte dann die bestehende Spektralkurve einfach verschieben, bis die entsprechende DWL eingestellt ist.


    Übrigens ist dein Elan in der Sache überaus motivierend. Ich habe mir gerade mal VS 2008 runtergeladen um damit muPDF zu übersetzen und zu analysieren. Vielleicht ist es damit garnicht schwierig ein Interaktives Werkzeug zu basteln, mit dem man auf einfache Weise an
    alle Kurven aus dem Datenblatt kommt. Auf den ersten Blick wirkt der Code jedenfalls sehr strukturiert, schnörkellos und effizient.


    Welche Version von Excel verwendest Du eigentlich ?
    Ein schönes Wochenende
    Sol

    Life results from the non-random survival of randomly varying replicators

    Einmal editiert, zuletzt von sol ()

  • Hi Sol,


    freut mich von dir hier zu lesen.
    Also meine Motivation mich mit dem Thema so tiefgreifend zu beschäftigen beruht eigentlich auf mehreren Punkten.
    Einmal ist da natürlich die Faszination an der LED selbst und der Vorstellung am Ende eine Lampe zu bauen, die einem möglichst viele Einstellmöglichkeiten in Sachen Farbtemperaturverlauf, Farbwiedergabe,... lässt. Also nach eigenem empfinden hochwertiges und vielseitiges Licht auf Basis von LEDs.
    Andererseits befasse ich mich gerne mit der Theorie hinter gewissen Themen was bei mir immer einen großen Lern- und Erkenntnisgewinn hatte.


    Die verwendete Excel Version ist die 2007er. Ansich ist es in der Tat schon enorm was man alles mit Excel anstellen kann. Allerdings gerate ich mittlerweile zum Teil auch schon an die grenzen der "normalen" Funktionen. Die Erstellung des Datensatzes, den man auf den letzten beiden Graphen sehen kann, mit dem Mischungsverhältnis und Farbwiedergabeindex in Abhängikeit der Farbtemperatur habe ich zB mit einem Makro in VBA gemacht. Die Berechnung von den Werten findet aber in der Tabelle statt.
    Die Farbräume sind im Grunde einfache xy-Diagramme in die ich einfach nur ein Hintegrundbild reingesetzt und die Offsets abgelichen habe. Excel aktualisiert automatisch die Position, wenn die Koordinaten neu berechnet wurden.


    Bis zu meiner letzten Prüfung am 25.03 werde ich leider nicht sehr viel Zeit haben. Danach gehts erstmal für knappe drei Wochen in meine Heimat und am 15.04 fangen wieder die Vorlesungen an und ich hab wieder viel mehr Zeit für das Tool. :)
    Das Gröbste steht aber prinzipiell schon. Die Mischfunktion soll noch erweitert werden und ich möchte es noch einfacher gestalten neue Spektren einzufügen und das Interface ganz am Ende noch ein wenig umgestalten. Für weitere Vorschläge von Funktionen, Graphen oder ähnlichem bin ich aber natürlich offen.
    Vielleicht sollte man dann auch noch später andere Funktionen einbauen wie du es in deinem Thread schon erwähnt hast. Also zB das Auswerten von den Graphen wie Relative Luminux Flux / Forward Current oder Relative Luminux Flux / Junction Temperature. Aber die Funktionen könnte man gegebenfalls auch erst in einer späteren Version einfügen. Sonst wird es ja nie fertig wenn immer mehr Funktionen dazu kommen. :D


    An das Problem mit den Binnings habe ich auch schon gedacht. Wenn man sich schon die Mühe macht alles so genau zu berechnen, sollte man meiner Meinung nach auch das Spektrum für die Ist-Werte der LEDs, die man am Ende einsetzen möchte, interpolieren. Die Funktion steht auch noch auf meiner To-Do Liste.


    Wenn es fertig ist möchte ich es gerne hier im Forum zur Verfügung stellen und die Idee mit der LED Bibliothek finde ich super. Mein Weg die Daten zu extrahieren ist leider noch nicht sonderlich effizient. Aber das Thema habe ich erstmal hinten angestellt, da ich erstmal die Berechnungen machen wollte.
    Aber vielleicht ist mein Elan ja so motivierend, dass da am Ende ein kleines Werkzeug bei rauskommt. :D


    Gruß und ebenso ein schönes Wochenende
    Nils

  • Könntest du beschreiben, in welcher Form du die spektralen Daten der LEDs benötigst? Dann könnte man eventuell den Vorgang durch die Forenmitglieder "parallelisieren", bis du sie direkt aus den Datenblättern lesen kannst. Jeder, der Interesse hat, konvertiert mal so ein Spektrum. Dazu müsste es natürlich auch eine Liste geben, welche Spektren schon vorhanden sind, damit nicht jeder die gleichen LEDs abgrast.

  • Die Spektren werden intern von minmal 380 nm bis maximal 830 nm in 1 nm Schritten "verrechnet"
    Das beste wäre dann, wenn die Daten nach folgendem Schema vorliegen:
    n
    y_n
    y_n+1
    y_n+2
    ...
    Wobei n als ganze Zahl die Wellenlänge ist bei der der Datensatz beginnt.
    Es ist aber auch kein Problem wenn die Daten nicht genau nach diesem Schema vorliegen. Schön wäre es nur wenn sie in 1 nm Schritten vorliegen und nicht zB bei 481,2839 beginnen sondern in dem Fall bei 481. So wäre die Verarbeitung zumindest am einfachsten.


    Welche Spektren ich schon alle habe sieht man in MLED.jpg vom 22.02. Allerdings sind die Daten nicht so genau wie sie das Datenblatt hergeben könnte. Ich hatte die als Graph einfach digitalisiert und mir die dann als x:y rausgeben lassen. In den Datenblättern sind sie ja aber schon sehr genau als Vektoren. Die direkt umzuwandeln wäre wohl der optimalste Weg.
    Aber ich denke überhaupt ein Datensatz zu haben ist besser als keiner und da wäre alles gut was sich zusammentragen lässt. Man kann ja zB immer ein Vermerk machen wie die Daten extrahiert worden.
    In dem Fall wäre es wohl echt gut eine Datenbank zu erstellen auf die das ganze Forum Zugriff drauf hat und jeder Datensätze besteuern kann wenn er möchte. Dann sieht man ja auch immer was schon vorhanden ist.
    Was wäre in dem Fall die beste Umsetzung sowas zu machen?


    Es gibt übrigens auch Fortschritte bei der Berechnung des Mischungsverhältnisses mit Berücksichtung des Farbwiedergabeindex.
    Dabei habe ich ich diesmal wieder die folgenden LEDs verwendet:
    Citizien CL-L103-HC3N1-C - min CRI 90 - KW - berechneter Ra8: 94,31 und Ra15: 92,83
    Citizien CL-L103-HC3L1-C - min CRI 90 - WW - berechneter Ra8: 94,23 und Ra15: 92,1
    Nichia NCSE119AT Bluish Green - 500 nm
    Zusätzlich kamen die beiden LEDs noch zum Einsatz:
    Cree XP-E Blue - 470 nm
    Nichia NCSG119T Green - 525 nm


    Die Berechnung funktioniert zwar soweit, sie stellt aber bis jetzt nur ein Ansatz dar, da noch nicht das optimalste Mischungsverhältnis berechnet wird.
    Aber ich denke das Ergebnis muss sich nicht verstecken. :D


    Man beachte das Minimum vom Ra15 ist fast auf der gleichen Höhe wie das Maximum des Ra8 bei der Berechnung von 23.02 (weiter oben im Thread).
    Mit etwas Amber zusätzlich lässt sich das Ergebnis nochmal verbessern. War aber nur irgendwas im Null komma nochwas Bereich.