AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LED Lichtmischung?

Ein Thema von Mavarik · begonnen am 1. Nov 2014 · letzter Beitrag vom 3. Nov 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#11

AW: LED Lichtmischung?

  Alt 2. Nov 2014, 06:11
Wenn man von allen 4 LEDs das Leistungsspektrum hätte dann könnte man diese doch addieren.
Jedes Einzelspektrum nehmen und mit einem Faktor zwischen 0% bis 100% multiplizieren.
Die Einzelspektren sehen ungefähr so aus:
http://www.leds-com.de/Media/Shop/Sh...ngen_led_2.gif
Man nimmt ein array[350..780] of double um das Gesamtspektrum zwischenzuspeichern.

Dann braucht man das Empfindlichkeitsspektrum des menschlichen Auge:
http://de.wikipedia.org/wiki/Datei:Cone-response.svg
Für jedes der 3 Zäpfchenarten berechnet man die wahrgenommene Intensität.
Diese 3 Intensitäten entsprechen dem Farb- und Helligkeitseindruck den das Auge bekommt.

Dann nimmt man das Emissionsspektrum eines schwarzen Körper bei verschiedenen (Farb-)Temperaturen.
Das kann man auch über eine Formel erzeugen:
http://de.wikipedia.org/wiki/Plancks...rahlungsgesetz

Für jede Temperatur berechnet man die Intensität der 3 Zäpfchenarten und speichert diese als Referenzwerte.
Um mit den 4 LEDs eine Farbtemperatur von z.B. 4000K zu mischen muss man nur so lange an den 4 Leistungsparametern rumspielen und berechnen was die Zäpfchen sehen würden bis die abgespeicherten Referenzwerte getroffen werden.

Viel Spass beim Programmieren.
fork me on Github

Geändert von sx2008 ( 2. Nov 2014 um 06:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: LED Lichtmischung?

  Alt 2. Nov 2014, 11:11
hab das was gefunden...

Code:
void hsi2rgbw(float H, float S, float I, int* rgbw) {
  int r, g, b, w;
  float cos_h, cos_1047_h;
  H = fmod(H,360); // cycle H around to 0-360 degrees
  H = 3.14159*H/(float)180; // Convert to radians.
  S = S>0?(S<1?S:1):0; // clamp S and I to interval [0,1]
  I = I>0?(I<1?I:1):0;
 
  if(H < 2.09439) {
    cos_h = cos(H);
    cos_1047_h = cos(1.047196667-H);
    r = S*255*I/3*(1+cos_h/cos_1047_h);
    g = S*255*I/3*(1+(1-cos_h/cos_1047_h));
    b = 0;
    w = 255*(1-S)*I;
  } else if(H < 4.188787) {
    H = H - 2.09439;
    cos_h = cos(H);
    cos_1047_h = cos(1.047196667-H);
    g = S*255*I/3*(1+cos_h/cos_1047_h);
    b = S*255*I/3*(1+(1-cos_h/cos_1047_h));
    r = 0;
    w = 255*(1-S)*I;
  } else {
    H = H - 4.188787;
    cos_h = cos(H);
    cos_1047_h = cos(1.047196667-H);
    b = S*255*I/3*(1+cos_h/cos_1047_h);
    r = S*255*I/3*(1+(1-cos_h/cos_1047_h));
    g = 0;
    w = 255*(1-S)*I;
  }
 
  rgbw[0]=r;
  rgbw[1]=g;
  rgbw[2]=b;
  rgbw[3]=w;
Muss ich mal testen...
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#13

AW: LED Lichtmischung?

  Alt 2. Nov 2014, 13:28
mathematisch, also in der Theorie habt ihr alle Recht... wenn man eine Großbildleinwand zur Bilddarstellung realisieren will, kann und sollte man auch so herangehen.

Ich vermute allerdings, das es um eine "simple" Beleuchtungslösung geht.
Da muss man nicht "jede" Farbe realisieren können, denn das menschliche Auge erkennt Farbunterschiede nur relativ grob, nicht lineare Helligkeitsunterschiede fallen den meisten Leuten aber sofort auf.

Ich kenne viele Beleuchtungssysteme die nur mit 16*16*16 = 4096 möglichen Farben arbeiten und diese jeweils auch nur in 16 Helligkeiten realisieren. "Zufällig" ist 16(R)*16(G)*16(B)*16 = 65536 = 2^16 = 16Bit (Hardware) PWM.

Die "Trimmung" solcher Systeme erfolgt simpel über die Stromstärke, denn LED's ind "Rot" & "Blau" leuchten nun mal gefühlt intensiver als grüne LED's. Per Stromreduzierung werden also Rot&Blau soweit zurückgenommen das man zusammen mit Grün ein brauchbares Weiß hat. Der Rest ist dann PWM&Software.

Wenn man es schnell genug macht, reichen 16Helligkeitsstufen völlig um dem Anwender noch ein gutes SoftDimmErlebnis vorzugaukeln, solange die Farbe gefühlt konstant bleibt und sich nur die Helligkeit merklich ändert.

Einfach und simpel funktioniert da wirklich besser wie 24Bit/16Mio Farben, wenn's dann mit dem purem Dimmen der Helligkeit nicht klappt.
Wer's nicht glaubt, der frage mal bei Innenarchitekten und Lichtdesignern: Die legen oft pro "Szene" nur die Farben der Leuchtmittel fest, der Nutzer/Anwender kann/will/darf dann aber "nur" noch die Helligkeit nach seinen Bedürfnissen selbst anpassen.
Eigene "freie Farbwahl im RGB Würfel" ist praktisch bei Beleuchtungslösungen nach der Inbetriebnahme völlig irrelevant.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: LED Lichtmischung?

  Alt 3. Nov 2014, 09:51
Da hast Du sicherlich Recht.

Bei mir geht es wie gesagt um RGBWW Spotts. Die sind per DALI pro Kanal 0..255 zu steuern.

Es gibt da so eine "Wohlfühltheorie"... Das die Farbtemperatur im Tagesverlauf dem Sonnenlicht nachgebildet werden sollte...

Zum Duschen nehme ich sowieso 100% ROT/BLAU.

Mavarik

Geändert von Mavarik ( 3. Nov 2014 um 10:14 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#15

AW: LED Lichtmischung?

  Alt 3. Nov 2014, 11:03
Es gibt da so eine "Wohlfühltheorie"... Das die Farbtemperatur im Tagesverlauf dem Sonnenlicht nachgebildet werden sollte...
Mavarik
Software gibt es fast nur für C# und C++:
http://developer.mbed.org/users/fran.../HSI2RGBW_PWM/

Hast Du eine Tabelle Farbtemperatur im Tagesverlauf des Sonnenlichtes?

Ausserdem:
http://de.wikipedia.org/wiki/Chronotyp
http://www.lumedo.de/balance-light-t...led-steuerung/
Miniaturansicht angehängter Grafiken
tagesverlauf.jpg  

Geändert von hathor ( 3. Nov 2014 um 11:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: LED Lichtmischung?

  Alt 3. Nov 2014, 12:22
Aus unser Elektronikentwicklung / Messtechnik:

Zitat:
Hallo Micha,

wenn du ein nettes Mitglied sein möchtest, poste ihm einfach,
er solle zur Warmweißen LED einfach eine 6500K Kaltweiße LED gleicher Stärke dazu nehmen, dann gibt’s immer einen schönen WW-KW Verlauf…
Die Mischung von RGBW ist immer aufwendiger und komplizierter, zumal die rote LED deutliche Helligkeitsverluste bei Temperaturerhöhung hat… damit würde seine Farbe dann mit zunehmender Eigenerwärmung weglaufen….

Da kann man mal sehen, wie man es umständlich macht, wenn es auch einfach geht

Grüße
Tom
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: LED Lichtmischung?

  Alt 3. Nov 2014, 14:03
Da kann man mal sehen, wie man es umständlich macht, wenn es auch einfach geht
Grüße
Mikhal
Danke, aber ich habe RGBW Spots, also stellst sich die Frage nicht!

Das ist die Routine die ich oben gepostet habe, trotzdem Danke...


Die Ansteuerung ist super simpel...

Einfach per UDP ein Kommando an den Gira-Server senden. ("LICH1R 55%") und schon leitet die rote LED mit 55%.
Oder "LICH1RGBW 55%,66%,10%,80%" schaltet alle Werte...
(Ist auch deutlich einfacher als ein KNX-Telegramm ab zu setzen)

Hast Du eine Tabelle Farbtemperatur im Tagesverlauf des Sonnenlichtes?
Bisher nicht.

Genau das ist die Theorie...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz