Nein nein nein ... nicht noch ein weiteres RGB Led Projekt...
Was mich viel mehr interessieren wuerde, die RGB Led leuchten
verschieden hell. Leuchten alle drei Led 100% hell, ergibt es nie die
weisse farbe. Manche LED hersteller geben die Weiss Werte an, andere
nicht.
Macht Ihr bei Euren RGB Led Projekten eine Farb korrektur oder laesst
Ihr es ganz aus ??
Oder hat jemand eine Mathematische Idee ?? Wie macht Ihr es Leute ??
lg roman
Wenn du die Helligkeitswerte für R, G und B nicht über RGB sondern über
einen HSV-Algorithmus berechnest, kannst du die Farbkorrektur recht
einfach in Hardware machen.
In HSV lässt sich "Weiss" recht leicht einstellen. Jetzt brauchst du nur
noch ne Möglichkeit die Ströme der einzelnen Farben so zu justieren,
dass sich Weiss ergibt.
Anschliessend kannst dann passende Vorwiderstände für alle RGB-LEDs
verwenden, oder Softwareseitig einen entsprechenden Korrekturfaktor
einfügen.
Gruß
Fabian
Naja, ich hab immer nur "normale" 5mm RGB benutzt...da ist der Strom
nicht angegeben. Aber die Verhältnisse sind doch schon da.
Demnach musste deine Stromquellen so auslegen, dass von der Ansteuerung
bei Farbe Weiss diese Ströme fliessen.
Wie du die Ansteuerung für Weiss machst ist ja eine andere Sache.
Ich nehm halt immer gern HSV und rechne dann HSV nach RGB für die PWM
der Ansteuerung um...ist halt leichter vorstelbar.
Gruß
Fabian
Weiss ist doch nicht gleich Weiss, es gibt ja verschiedene
Farbtemperaturen. Mit mehr Blau hat man eben ein kälteres weiss als mit
mehr Rot. Und die LEDs haben auch verschiedene Wirkungsgrade, gleicher
Strom bei verschiedenen Farben heisst nicht gleiche Helligkeit. Die RGB
LEDs werden sicher schon so ausgelegt sein das bei den typischen
Betriebsdaten ein Weiss herauskommt, aber wenn man sowieso alle Kanäle
getrennt ansteuert kann man sich auch eine Kalibrierung für das
Lieblingsweiss einbauen.
Um ehrlich zu sein: keine Ahnung ;-)
Bei kleineren Anwendungen stell ich den Strom der LEDs einfach über
Potis als Vorwiderstände ein. Geht bei 350mA natürlich nicht, aber bei
5-20mA schon.
Aber was was du an Strömen gepostet hast, klingt schon ganz realistisch.
Eine Abstimmungsanleitung findest du im Dateianhang der
HSV-to-RGB-Routine von Fly: Beitrag "HSV RGB Led Dimmer, C Code & Video & Doku"
Gruß
Fabian
Ja jojoS,
Dessen bin ich mir bewusst. Es geht ja nur um Ca. werte .. ich meine
soll ich wirklich die Grad Kelvin angeben ???
Was ich mich viel mehr frage... bei dem obigem beispiel von den seoul
LED's, wenn ich den strom einstelle wie es Fabian vorgeschlagen hat,
fliesst durch blau "nur" 120mA Strom. hmm... das ist ja nur 1/3 des
moeglichen ?!
gibt es evtl. andere moeglichkeiten die Fabkorrektur vorzunehmen ??
zB. durch entsprechenden matrix multiplikation oder so ??
lg roman
Der Punkt ist, dass du für "Weiss" weniger Blau- als Rotanteil brauchst.
Jetzt ist das Auge zu allem Überfluss auch noch unterschiedlich
empfindlich bei unterschiedlichen Wellenlängen und schon haste den
Grund.
Kannst es ja einfach mal probieren: Jag duch alle Farben 350mA durch und
schau wie's ausschaut...Weiss wirds aber nicht.
Du kannst natürlich softwareseitig dafür sorgen, dass bei Weiss z.B. Rot
mit 100% Tastverhältnis angesteuert wird, und Blau nur mit 30%. Der
Effekt ist der Gleiche, macht nur die Dimensionierung der Stromquelle
leichter (alle drei gleich).
Vorschlag: nimm dir drei Stromquellen mit max 350mA (im Zweifel einfach
dicke Vorwiderstände) und hänge die jeweils über einen FET an einen PWM
Ausgang eines uCs. Dann noch drei Potis zum einstellen der drei PWMs und
schon kannste mal probieren. Evtl. reichen auch schon 100mA damit du
nicht erblindest ;-).
Gruß
Fabian
Fabian,
Das ist ja alles klar und sicherlich funktioniert es 100%.
Der punkt ist, ich verliere damit den dynamik bereich von Blau.
dh. mit deinem beispiel, ich betreibe blau mit max. 120mA. von max. 350
mA moeglichen. Kann man es soweit korriegieren, ohne das ich auf die
350mA von blau verzichten muss. verstehst du ??
Nur so als beispiel ... wenn ich mit matrixen arbeite und folgenden
matrix verwende :
1.0 0.0 -0.33 <= input R
-.17 1.0 -0.33 <= input G
-.17 0.0 1.0 <= input B
==== ==== ====
o. R o.G o.B
ergibt bei 100% RGB Input, 66% Rot 100% Gruen 34 % Blau anteil.
Was in etwa Weiss ergeben sollte aus dem datenblatt.
jedoch ... 0% Rot, Gruen und 100% Blau ergibt 100% Blau!!
verstehst du ??
lg roman
Ja klar.
Dann über Software-PWM. Du musst deine Farbberechnungs-Routinen dann
"nur" so anpassen, dass bei Weiss das entsprechende Verhältnis
rauskommt.
In RGB ist Weiss halt (100%,100%,100%). Damit du jetzt tatsächlich Weiss
siehst musst du aber die Ströme wie im DB angegeben einstellen.
Du verlierst aber auch nicht wirklich Dynamik, sondern "nur" Helligkeit.
Was du natürlich machen könntest ist, zwei Modi einzusetzen:
- Echtfarbenmodus
- Einzelfarbenmodus
Im ersten rechnest du deine Farbe aus und korrigierst die PWM werte
mittels der o.a. Verhältnisse, im zweiten gibst du die RGB-Werte direkt
ohne Korrektur an.
Hierbei würdest du zwar schon Dynamik verlieren, da du ja mit
Korrekturmodus deine PWM für Blau z.B. nur von 0-30% fährst, aber ob das
ins Gewicht fällt liegt eher an deinem Empfinden und an der Auflösung
deiner PWM ;-). Prinzipell (d.h. mit unendlich aufgelöster PWM :-P)
könntest du ja dennoch alle Farben des Spektrums darstellen.
Gruß
Fabian
Guter Artikel zum Farben berechnen:
http://de.wikipedia.org/wiki/HSV-Farbraum
Fabio,
das ist doch der Trick mit der Matrix. Ich muss keine zwei modis fahren.
Den bei die Matrix von 100% Blau ergibt 100 % Blau wenn alle anderen
werte auf 0% sind, sieh mal :
Input (RGB): 0 0 100
Output (RGB): -17.000000 0.000000 100.000000
Du hast zwar recht was die dynamik angeht (mein fehler). Aber die
maximale Helligkeit verliere ich nicht.
War nur als gedanken spiel gedacht ob dies gruendsaetzlich funzen wuerde
:)
lg roman
Auch nicht schlecht.
Das Einzige ist mal wieder die "Inkompatibilität" der Realität mit der
Mathematik: LEDs können nunmal nicht negativ leuchten ;-)
Kappt man die negativen Zahlen aber einfach zu 0 dürften die
Verhältnisse auch nicht optimal stimmen.
Aber es gilt halt wie immer: Die Realität ist eine Approximation der
zugrunde liegenden Mathematik. (oder wars anders herum ;-) )
Gruß
Fabian
Fabian,
Die Surreale Mathematik kann auch mein Problem sein.
Im notfalls kann ich es immer noch auf die Chaostheorie schieben :)
Nein, Spass bei Seite... Die Konstanten der Matrix, sind auch nur so
...ehh.. so ala mal kucken ... dh. heisst die sind auch nicht 100%
optimal.
lg roman