Forum: Mikrocontroller und Digitale Elektronik LED-Farbe messen


von Be W. (bauchspeck)


Lesenswert?

Hallo,

ich möchte eine Schaltung bauen, die messen kann, ob eine externe LED 
rot, grün oder blau leuchtet. Je nachdem welche Farbe gemessen wird, 
soll am Ausgang meiner Schaltung ein anderer Pin high sein.
In welchem Spektrum die LED genau leuchtet ist unbekannt.

Bei Reichelt habe ich den RGB-Sensor HMM S9702 mit 3 Fotodioden in einem 
Gehäuse gefunden:
https://www.reichelt.de/farbsensor-10-v-hmm-s9702-p247641.html

Ich hätte dann jede Fotodiode mit einem hochohmigen Poti (zum Einstellen 
der Schaltschwelle) in Reihe geschaltet und den Mittelabgriff auf einen 
Transistor geführt. Ich Grunde so wie hier:
https://elektro.turanis.de/html/prj199/index.html

Meine Fragen sind nun:
Wird das funktionieren oder habe ich einen Denkfehler?
Falls das so Sinn macht, kann jemand einen besseren/günstigeren Sensor 
empfehlen? Ich will insg. 100 LEDs gleichzeitig messen können, da würde 
der gewählte Sensor schon ins Geld gehen...

von Rainer W. (rawi)


Lesenswert?

Be W. schrieb:
> Ich will insg. 100 LEDs gleichzeitig messen können, da würde
> der gewählte Sensor schon ins Geld gehen...

Wenn du für jede LED einen eigenen Sensor benötigst, wären das bei dem 
von dir verlinkten S9702 ohne den erforderlichen Verstärker/Multiplexer 
bereits 455€. Wäre es da nicht sinnvoller auf ein kommerzielles 
Sensor-Array mit integrierter Signalaufbereitung und eine darauf 
aufsetzende Softwarelösung zu setzen (z.B. 
https://www.reichelt.de/entwicklerboards-esp32-kamera-2mp-25--debo-cam-esp32-p266036.html)?

von Rüdiger B. (rbruns)


Lesenswert?

Eine Kamera und SW?

von Be W. (bauchspeck)


Lesenswert?

Das ist eine interessante Idee. Ich möchte die zu messenden LEDs mit 
Lichtleitern abgreifen. Aber das wäre ja kein Problem, ich könnte dann 
ja die Lichtleiter-Ausgänge in einem Array vor der Kamera anordnen.

Aber ich hatte mich etwas falsch ausgedrückt. Genau genommen sollen 
normalerweise nicht 100 LEDs von einer Schaltung gemessen werden, 
sondern ich brauche mehrere Schaltungen, die dann mal 5 oder mal 10 LEDs 
messen sollen.

Es geht dabei um die qualitätskontrolle ganz unterschiedlicher Platinen. 
Das ganze soll eine günstige Alternative zum Feasa LED-Analyzer werden. 
Der liefert viel mehr, als wir normalerweise brauchen. Darum war die 
Idee, eine ganz simple, analoge Schaltung zu entwerfen, die ganz ohne 
Firmware auskommt.

von Peter (wokinloksar)


Lesenswert?

In welchem Abstand sie die LED?

Sowas hier: https://www.aliexpress.com/item/1005005165870736.html
sollte eine Möglichkeit sein, sofern die Brennweite der Linse die LED in 
passender Detailgenauigkeit auflösen kann.

Oder bewegen sich die LED, verändern sie ihren Abstand untereinander?

Ein paar Angaben mehr wären schon wünschenswert.

von Daniel F. (df311)


Lesenswert?

Be W. schrieb:
> Es geht dabei um die qualitätskontrolle ganz unterschiedlicher Platinen.
> Das ganze soll eine günstige Alternative zum Feasa LED-Analyzer werden.
> Der liefert viel mehr, als wir normalerweise brauchen.

"wir", "unterschiedliche Platinen" und Qualitätskontrolle, also 
gewerblich?

von Michael B. (laberkopp)


Lesenswert?

Be W. schrieb:
> Wird das funktionieren

Ungefähr, ein Transistor schaltet eher ungenau, ein Komparator wäre 
genauer, die Photodioden über einen Transimpedanzverstärker auszuwerten 
statt Vorwiderstand wäre noch genauer.

Wenn die Farben der LED aber nicht ganz passen, kann es sein, dass bei 
blau z.B. blau und grün aktiv sind, während bei grün nur grün erkannt 
wird.

Fremdlicht ist hoffentlich abgeschirmt.

Be W. schrieb:
> Ich will insg. 100 LEDs gleichzeitig messen können,

Wie wäre es mit einer Farbbildkamera per USB ?

von Sebastian W. (wangnick)


Lesenswert?

Mein Tip: Raspberry Pi (z.B. Zero W) mit Raspberry Pi Cam. Für die Pi 
Cam 1.3 und 2 findet man sogar grob die Spektralantworten des 
Bayer-Sensors. Weißbalance ausschalten nicht vergessen.

LG, Sebastian

von Tim  . (cpldcpu)


Lesenswert?


von Sebastian W. (wangnick)


Lesenswert?

Tim  . schrieb:
> ams-as7343-spectral-sensor

Ja, den habe ich hier. Mit seinen Nicklichkeiten. Siehe
Beitrag "AS7343 irgendwer?".

LG, Sebastian

von Tim  . (cpldcpu)


Lesenswert?

Sebastian W. schrieb:
> Ja, den habe ich hier. Mit seinen Nicklichkeiten. Siehe
> Beitrag "AS7343 irgendwer?".

Naja, die Probleme werden mit noch einfacheren Sensoren nicht weniger. 
Für eine genaue Farbmessung wirst du eine Devicekalibrierung und einen 
sauberen optischen Stack benötigen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Also wirklich "messen" kann man Farben nur mit einem Spektralfotometer.

Alles was mit Filtern arbeitet, ist ein "Colorimeter". Wenn es mehr als 
5...6 Kanäle sind, reicht es um z.B. einen Bildschirm auf halbwegs (!) 
auf Farbtreue zu "kalibrieren", alles andere läuft dann wohl eher unter 
dem Label "Rot, Grün und Blau erkennen und zuordnen" ... :-)

von Rüdiger B. (rbruns)


Lesenswert?

Kann es sein das du nur die korrekte Bestückung kontrollieren willst ?

von Tim  . (cpldcpu)


Lesenswert?

Frank E. schrieb:
> Also wirklich "messen" kann man Farben nur mit einem Spektralfotometer.
>
> Alles was mit Filtern arbeitet, ist ein "Colorimeter". Wenn es mehr als
> 5...6 Kanäle sind, reicht es um z.B. einen Bildschirm auf halbwegs (!)
> auf Farbtreue zu "kalibrieren", alles andere läuft dann wohl eher unter
> dem Label "Rot, Grün und Blau erkennen und zuordnen" ... :-)

Das menschliche Auge hat auch nur "Filter" und das ist bei einer 
Farbmessung die Referenz. Natürlich benötigt man für eine gute Messunge 
genaue filter.

von Michi S. (mista_s)


Lesenswert?

Be W. schrieb:
> ob eine externe LED rot, grün oder blau leuchtet.

Ist sichergestellt, daß die LED nur in einer dieser 3 Farben leuchten 
wird?

> Je nachdem welche Farbe gemessen wird,
> soll am Ausgang meiner Schaltung ein anderer Pin high sein.

Wenn nur eine der drei Farben möglich ist, dann kann das klappen, falls 
die LED-Farben und die Photo-Dioden-Farben ähnlich genug sind.

> In welchem Spektrum die LED genau leuchtet ist unbekannt.

Dann kanns Dir bei Deiner einfachen Variante passieren, daß ein zu 
gelbes oder blaues grün, beide Pins Hi werden läßt.
Um das auszuschließen könntest Du mit drei Komparatoren jeweils die 
Signale von 2 Photodioden paarweise vergleichen und den Ausgangspin mit 
schwächerem Signal direkt auf Low ziehen; dann ist auf jeden Fall 
sichergestellt, daß max. ein Ausgang mit Hi-Pegel überbleibt, eben der 
der das stärkste Signal liefert. Bei einer weiß, gelb, türkis oder 
magentafarbenen LED, wird es aber u.U. Zufall sein, welcher Pin.


Be W. schrieb:
> kann jemand einen besseren/günstigeren Sensor
> empfehlen?

Nur mal so als Hinweis: auch eine LED kann als Photodiode betrieben 
werden und in einer RGB-LED hätte man damit drei Photodioden, die auf 
unterschiedliche Farben ansprechen.



Be W. schrieb:
> Es geht dabei um die qualitätskontrolle
> ganz unterschiedlicher Platinen.

In dem Fall sollte man überlegen, ob nicht eine Digitalisierung der 3 
Eingangsignale und ein kleiner µC zur Auswertung sinnvoller ist; bei dem 
könnte man die Farb-Schwellwerte sehr einfach an die auf der getesteten 
Platine verbauten LEDs anpassen.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Es ist auch möglich mit LED als Photodiode unterschiedliche Farben zu 
messen.

Siehe dort:
https://www.elektronik-labor.de/Lernpakete/Kalender17/Kalender17Contest1.html

So etwas könntest Du aufbauen und einen Messversuch unternehmen. Wenn 
sich damit bereits Unterschiede erkennen lassen, dann macht es erst Sinn 
sich nach was besserem umzuschauen.

von A. F. (chefdesigner)


Lesenswert?

Das wird nichts. Für eine Vermessung von Lichtquellen braucht es sehr 
eng tolerierte und schmalbandige Empfänger. Entweder eine Reihe von 
Laserdioden mit Interferenzmessung oder sehr schmale optische Filter und 
einen Breitbandsensor.

von Mark B. (markbrandis)


Lesenswert?

Be W. schrieb:
> Ich will insg. 100 LEDs gleichzeitig messen können, da würde
> der gewählte Sensor schon ins Geld gehen...

> Es geht dabei um die qualitätskontrolle ganz unterschiedlicher Platinen.

Eine Aufnahme per Kamera und Auswertung per Software wäre hier 
vorstellbar. Ist wahrscheinlich auch einfacher, als spezielle Hardware 
dafür zu kaufen.

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

A. F. schrieb:
> Das wird nichts. Für eine Vermessung von Lichtquellen braucht es sehr
> eng tolerierte und schmalbandige Empfänger. Entweder eine Reihe von
> Laserdioden mit Interferenzmessung oder sehr schmale optische Filter und
> einen Breitbandsensor.

So wie ich die Aufgabenstellung verstehe, reicht die Unterscheidung 
zwischen z.B. roter, grüner und blauer LED aus. Die exakte Wellenlänge 
des ausgstrahlten Lichts einer LED braucht nicht gemessen zu werden.

von A. F. (chefdesigner)


Lesenswert?

Mark B. schrieb:
> So wie ich die Aufgabenstellung verstehe, reicht die Unterscheidung
> zwischen z.B. roter, grüner und blauer LED aus.

Hm, da war ich wohl von dem anderen Beitrag beeinflusst, bei dem es um 
die optischen Vermessungen des Spektrums ging.

Eine RGB Erkennung (nicht "Messung") wäre einfach zu machen. Da reicht 
ein 3-Farben-Sensor.

von Mark B. (markbrandis)


Lesenswert?

A. F. schrieb:
> Eine RGB Erkennung (nicht "Messung") wäre einfach zu machen. Da reicht
> ein 3-Farben-Sensor.

Ergo --> Kamera :-)

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> Also wirklich "messen" kann man Farben nur mit einem Spektralfotometer.
>
> Alles was mit Filtern arbeitet, ist ein "Colorimeter". Wenn es mehr als
> 5...6 Kanäle sind, reicht es um z.B. einen Bildschirm auf halbwegs (!)
> auf Farbtreue zu "kalibrieren", alles andere läuft dann wohl eher unter
> dem Label "Rot, Grün und Blau erkennen und zuordnen" ... :-)

Das kommt drauf an, ob es um die Farbe von Gegenstände oder um 
Lichtquellen geht. Das Auge besitzt 3 Farbkanäle und solange die Filter 
zusammen mit dem Sensor die spektrale Empfindlichkeit der Sensoren 
sauber nachbilden, sieht der Sensor genau die Farbzusammensetzung der 
Lichtquelle, wie das Auge sie erfasst. Nur so funktioniert z.B. 
Farbfernsehen.
Mehr Kanäle brauchst du, wenn es um die Bestimmung der Farbe von 
Gegenständen (=Reflektionsverhalten), unabhängig von der aktuellen 
Beleuchtung geht.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Tim  . schrieb:
> Frank E. schrieb:
>> Also wirklich "messen" kann man Farben nur mit einem Spektralfotometer.
>>
>> Alles was mit Filtern arbeitet, ist ein "Colorimeter". Wenn es mehr als
>> 5...6 Kanäle sind, reicht es um z.B. einen Bildschirm auf halbwegs (!)
>> auf Farbtreue zu "kalibrieren", alles andere läuft dann wohl eher unter
>> dem Label "Rot, Grün und Blau erkennen und zuordnen" ... :-)
>
> Das menschliche Auge hat auch nur "Filter" und das ist bei einer
> Farbmessung die Referenz. Natürlich benötigt man für eine gute Messunge
> genaue filter.

Aha.

Deshalb kannst du wohl auch ganz zielsicher unterscheiden, ob du ein 
"echtes" Gelb siehst (ca. 590nm) oder Rot (ca. 700nm) und Grün (ca. 
530nm) gleichzeitig? :-)

von Michael B. (laberkopp)


Lesenswert?

A. F. schrieb:
> Das wird nichts. Für eine Vermessung von Lichtquellen braucht es sehr
> eng tolerierte und schmalbandige Empfänger

Er scheint aber nur wissen zu wollen ob die richtigfarbige LED bestückt 
wurde, und das geht viel einfacher.

Aber nichts genaues weiss man NATÜRLICH nicht, das regt die Phantasie 
an.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rainer W. schrieb:
> Frank E. schrieb:
>> Also wirklich "messen" kann man Farben nur mit einem Spektralfotometer.
>>
>> Alles was mit Filtern arbeitet, ist ein "Colorimeter". Wenn es mehr als
>> 5...6 Kanäle sind, reicht es um z.B. einen Bildschirm auf halbwegs (!)
>> auf Farbtreue zu "kalibrieren", alles andere läuft dann wohl eher unter
>> dem Label "Rot, Grün und Blau erkennen und zuordnen" ... :-)
>
> Das kommt drauf an, ob es um die Farbe von Gegenstände oder um
> Lichtquellen geht. Das Auge besitzt 3 Farbkanäle und solange die Filter
> zusammen mit dem Sensor die spektrale Empfindlichkeit der Sensoren
> sauber nachbilden, sieht der Sensor genau die Farbzusammensetzung der
> Lichtquelle, wie das Auge sie erfasst. Nur so funktioniert z.B.
> Farbfernsehen.
> Mehr Kanäle brauchst du, wenn es um die Bestimmung der Farbe von
> Gegenständen (=Reflektionsverhalten), unabhängig von der aktuellen
> Beleuchtung geht.

Ob das Licht, dessen spektrale Zusammensetzung du feststellen möchtest, 
direkt aus einer Lichtquelle kommt oder "über Bande" von einem 
Gegenstand/Oberfläche, ändert nichts am Messverfahren. Der einzige 
Unterschide besteht darin, dass in letzterem Fall noch zusätzlich (meist 
subtraktiv) die optischen Eigenschaften der Oberfläche in das 
Messergebnis eingegehn.

Das trifft übrigens auch für das Medium zu, durch das das Licht das 
Messgerät bzw. dein Auge erreicht, z.B. Glas, Folie oder auch sehr viel 
Luft und Dunst, weshalb die Sonne in Horizont-Nähe deutlicher rötlich 
aussieht, als sie im Original ist ...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael B. schrieb:
> A. F. schrieb:
>> Das wird nichts. Für eine Vermessung von Lichtquellen braucht es sehr
>> eng tolerierte und schmalbandige Empfänger
>
> Er scheint aber nur wissen zu wollen ob die richtigfarbige LED bestückt
> wurde, und das geht viel einfacher.
>
> Aber nichts genaues weiss man NATÜRLICH nicht, das regt die Phantasie
> an.

Naja, der TO schrieb von Farben "messen". Das impliziert natürlich 
andere Ansprüche als ein einfaches Zuordnen. Könnte aber auch eine 
Unüberlegtheit gewesen sein ...

von Tim  . (cpldcpu)


Lesenswert?

Wenn es wirklich nur um die Farbe geht, könnte man das evtl. auch über 
eine Vf-Messung machen.

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> Ob das Licht, dessen spektrale Zusammensetzung du feststellen möchtest,
> direkt aus einer Lichtquelle kommt oder "über Bande" von einem
> Gegenstand/Oberfläche, ändert nichts am Messverfahren.

Wer sagt, dass es um die spektrale Zusammensetzung geht?
Die Ausgangssignale sollen den (wahrgenommenen) LED-Farben entsprechen.

Wenn du wissen möchtest, wie das für das menschliche Auge aussieht, ist 
das ein riesiger Unterschied.

Fall 1: Lichtquelle Gelb -> Auge bekommt Reiz auf Rot- und Grün-Rezeptor 
und nimmt gelb wahr.

Fall 2: Lichtquelle Mischlicht Rot+Grün -> Auge bekommt Reiz auf Rot- 
und Grün-Rezeptor und nimmt gelb wahr (additive Farbmischung).

Jetzt das gleiche mit einem Gegenstand, der schmalbandig gelbes Licht 
reflektiert (subtraktive Farbmischung).

Fall 3: Lichtquelle Gelb, Gegenstand reflektiert gelb -> Auge bekommt 
Reiz auf Rot- und Grün-Rezeptor und nimmt gelb wahr.

Fall 4: Lichtquelle Mischlicht Rot+Grün, Gegenstand reflektiert gelb 
(rotes und grünes Licht werden NICHT reflektiert) -> Auge bekommt kein 
Licht.

Oder die Fälle, dass ein Gegenstand Rot und Grün reflektiert, einmal mit 
gelbem und einmal mit rot-grünem Mischlicht ...

Finde den Unterschied (die Farbrezeptoren des Auges darfst du jeweils 
auch durch einen Sensor + Farbfilter mit identischer spektraler 
Empfindlichkeit ersetzen).

Was meinst du, warum es für die Bewertung von weißem LEDs den 
Farbwiedergabeindex mit etlichen (je nach Standard bis zu 24) Farbkarten 
gibt, obwohl das Auge nur 3 verschiedene Farbrezeptoren besitzt?

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rainer W. schrieb:

> Wer sagt, dass es um die spektrale Zusammensetzung geht?
> Die Ausgangssignale sollen den (wahrgenommenen) LED-Farben entsprechen.
> Wenn du wissen möchtest, wie das für das menschliche Auge aussieht, ist
> das ein riesiger Unterschied ...
> Oder die Fälle, dass ein Gegenstand Rot und Grün reflektiert, einmal mit
> gelbem und einmal mit rot-grünem Mischlicht ...
> Finde den Unterschied (die Farbrezeptoren des Auges darfst du jeweils
> auch durch einen Sensor + Farbfilter mit identischer spektraler
> Empfindlichkeit ersetzen).
> Was meinst du, warum es für die Bewertung von weißem LEDs den
> Farbwiedergabeindex mit etlichen (je nach Standard bis zu 24) Farbkarten
> gibt, obwohl das Auge nur 3 verschiedene Farbrezeptoren besitzt?

Ist ja alles richtig, wenn auch stark vereinfacht. Sorry, ich betreibe 
und unterrichte Colomanagement. Den Effekt mit den Farbkarten nennt man 
übrigens "Metamerie" und rate mal, was die Ursache dafür ist: Die 
spektrale Zusammensetzung bzw. Absorption. Eben weil das menschliche (!) 
Auge nur 3 "Sensortypen" (Zapfen) besitzt, gibt es solche zwar visuell 
wahrnehmbaren, aber nur messtechnisch erklärbare Effekte.

Aber wir streiten uns um des Kaisers Bart: Der TO hat sich nie wieder 
gemeldet und nicht präzisiert, was er denn eigentlich erreichen will.

von Tim  . (cpldcpu)


Lesenswert?

Photometrie ist schon ein lustiges Gebiet. Bei genauer Betrachtung macht 
nicht einmal das Referenzmodell sinn:

https://en.wikipedia.org/wiki/CIE_1931_color_space#Meaning_of_X,_Y_and_Z

Außerdem gibt es noch alle möglichen Effekte, die über den lokalen 
kontrast oder temporäre modulation die Farbwahrnehmung verändern.

: Bearbeitet durch User
von Peter (pittyj)


Lesenswert?

Wir benutzen einen TCS 3400 für ähnliche Zwecke.
Die Genauigkeit der Farberkennung reicht aus.
https://ams.com/tcs3400

Für 100 LEDs gleichzeitig wird eine normale RGB-Kamera reichen.
Die 5 MPixel für den Raspi gibt es schon für 7€.

von Be W. (bauchspeck)


Lesenswert?

Vielen Dank für die vielen qualifizierten Antworten!
Wie einige schon richtig interpretiert haben, geht es darum, die 
richtige Bestückung zu ermitteln. Wenn möglich würde ich das über die 
Forward-Spannung messen, aber es gibt immer wieder Fälle, in denen es 
schwierig ist, an die entsprechenden Sigale heranzukommen.

Nach dem ganzen Input bin ich aktuell noch unentschlossen. Eigentlich 
wollte ich ja eine ganz einfache Lösung entwerfen, die mich höchstens 
ein paar Tage kostet, die aber einen Großteil der Prüffälle abdeckt. 
Aber eigentlich gefällt mir der Kamera-Ansatz sehr gut. Da müsste ich 
mich aber in einige Themen einarbeiten und müsste eher mit ein paar 
Wochen bis Monaten rechnen. Vielleicht starte ich mal mit der einfachen 
Lösung und gehe die Kamera-Lösung an, wenn ich mal mehr Zeit dafür habe.

von Tim  . (cpldcpu)


Lesenswert?

Be W. schrieb:
> aber es gibt immer wieder Fälle, in denen es
> schwierig ist, an die entsprechenden Sigale heranzukommen.

DFT ist ein Schlagwort, welches mir dazu einfällt 🙃

von Rainer W. (rawi)


Lesenswert?

A. F. schrieb:
> Für eine Vermessung von Lichtquellen braucht es sehr
> eng tolerierte und schmalbandige Empfänger.

Es ist noch gar nicht klar, was genau gemessen werden soll. Vielleicht 
reicht schon die wahrgenommene Farbe.

Das Auge bekommt es doch auch hin - ohne schmalbandige, sehr eng 
tolerierte Filter. Das Geheimnis bei der Farbdifferenzierung durch das 
Auge sind breitbandige Filter mit relativ flachen, sich überlappenden 
Flanken.

Be W. schrieb:
> Wie einige schon richtig interpretiert haben, geht es darum, die
> richtige Bestückung zu ermitteln.

Sitzt da ein Horde Affen und greift sich irgendwelche LEDs aus einem 
bunt gemischten Haufen?

Was ist genau das Problem, wie sind die Genauigkeitsanforderungen und 
wie sieht die Geometrie aus?

: Bearbeitet durch User
von Lu (oszi45)


Lesenswert?

Rainer W. schrieb:
> wie sieht die Geometrie aus?

Schöne Frage. Wenn ich dann z.B. noch eine RAL-Farbtabelle zum Vergleich 
nehme, fängt der Spaß schon an. Das wird keine Aufgabe, die 5 Minuten 
erfolgreich erledigt ist.

von Rainer W. (rawi)


Lesenswert?

Lu schrieb:
> Das wird keine Aufgabe, die 5 Minuten erfolgreich erledigt ist.

Seit dem Eröffnungspost sind inzwischen fast 6000 Minuten vergangen. Da 
wäre also massig Zeit gewesen, etwas in die Details zu gehen, zumal 
einfarbige LEDs sich wesentlich einfacher als RAL-Farben abhandeln 
lassen ;-)

von Frank K. (fchk)


Lesenswert?

Be W. schrieb:

> Nach dem ganzen Input bin ich aktuell noch unentschlossen. Eigentlich
> wollte ich ja eine ganz einfache Lösung entwerfen, die mich höchstens
> ein paar Tage kostet, die aber einen Großteil der Prüffälle abdeckt.
> Aber eigentlich gefällt mir der Kamera-Ansatz sehr gut. Da müsste ich
> mich aber in einige Themen einarbeiten und müsste eher mit ein paar
> Wochen bis Monaten rechnen. Vielleicht starte ich mal mit der einfachen
> Lösung und gehe die Kamera-Lösung an, wenn ich mal mehr Zeit dafür habe.

Das muss nicht kompliziert sein. Nimm einen Raspberry Pi 4 oder 5 und 
eine der originalen Kameras dafür. Lies diese Seite.

https://www.raspberrypi.com/documentation/computers/camera_software.html

Da steht alles drin. Wenn Du eine der originalen Kameras von der 
Raspberry Pi Foundation hast, sollte diese automatisch erkannt werden. 
Von der Kommandozeile kannst Du dann hiermit z.B. ein unkomprimiertes 
BMP erzeugen:

rpicam-still -e bmp -o test.bmp

Bis zu diesem Schritt solltest Du nicht mehr als ein paar Stunden 
brauchen, wenn überhaupt. Wenn Du Python magst und kannst, gibts auch 
dafür Lösungen.

Damit reduziert sich dann die Aufgabe auf das Einlesen des BMP und das 
Ermitteln der Farbwerte an vordefinierten Positionen. Das sollte eine 
lösbare Aufgabe darstellen.

fchk

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Um Farben zu kommunizieren benutzt der Profi die AB-Werte aus dem 
LAB-Farbraum oder Hue aus HSB bzw. HSV. Sensoren liefern zwar RGB-Werte, 
die man aber schleunigst umrechnen sollte. Ziel dieser OP ist es, Farbe 
mit möglichst wenig Parametern (im Idealfall einer) darzustellen, 
unabhängig von der Helligkeit.

Sich mit RGB in der Auswertung herumzuquälen ist Kinderkacke ...

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> Farbe mit möglichst wenig Parametern (im Idealfall einer) darzustellen,
> unabhängig von der Helligkeit.

Da bin ich gespannt, wie du die drei (unabhängigen) Farbkanäle der 
menschlichen Wahrnehmung auf einen Parameter reduzieren willst. Wenn man 
die Helligkeit raus zieht, bleibt für die Farbwahrnehmung immer noch die 
zweidimensionale CIE Normtafel über.
Mit einem Parameter kannst du z.B. die Spektralfarben darstellen, aber 
bei Mischungen hast du dann verloren.

von Peter (pittyj)


Lesenswert?

Frank E. schrieb:
> Um Farben zu kommunizieren benutzt der Profi die AB-Werte aus dem
> LAB-Farbraum oder Hue aus HSB bzw. HSV. Sensoren liefern zwar RGB-Werte,
> die man aber schleunigst umrechnen sollte. Ziel dieser OP ist es, Farbe
> mit möglichst wenig Parametern (im Idealfall einer) darzustellen,
> unabhängig von der Helligkeit.
>
> Sich mit RGB in der Auswertung herumzuquälen ist Kinderkacke ...

So mache ich das auch. Aus RGB wird HLS berechet. Dann wird einfach der 
Farbwinkel genommen, falls die Helligkeit eine Mindesthelligkeit 
übersteigt.

Wird so bei Kunden eingesetzt.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rainer W. schrieb:
> Frank E. schrieb:
>> Farbe mit möglichst wenig Parametern (im Idealfall einer) darzustellen,
>> unabhängig von der Helligkeit.
>
> Da bin ich gespannt, wie du die drei (unabhängigen) Farbkanäle der
> menschlichen Wahrnehmung auf einen Parameter reduzieren willst. Wenn man
> die Helligkeit raus zieht, bleibt für die Farbwahrnehmung immer noch die
> zweidimensionale CIE Normtafel über.
> Mit einem Parameter kannst du z.B. die Spektralfarben darstellen, aber
> bei Mischungen hast du dann verloren.

Es geht ja auch garnicht um Mischungen beim detektieren von LEDs. Die 
sind sowieso monochromatisch (ausser Weisse). Der Hue-Anteil wird als 
Winkel im Bereich von 0-360 Grad angegeben. Das sollte ausreichen, 
verschiedenfarbige LEDs zu sortieren bzw. zu erkennen.

Du nimmst einen RGB-Sensor und rechnest dessen Werte nach HSV um. 
Sättigung und Value sind in diesem Fall uninteressant. Als H erhältst du 
z.B. irgendwas zwischen 350 und 10 Grad (geht durch Nullpunkt) und du 
weisst sofort: Rot. 30 Grad Orange, Gelb bei 60, Grün 120 ... usw.

https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/HueScale.svg/440px-HueScale.svg.png

von Sebastian W. (wangnick)


Lesenswert?

Frank E. schrieb:
> Du nimmst einen RGB-Sensor und rechnest dessen Werte nach HSV um.
> Sättigung und Value sind in diesem Fall uninteressant.

Achtung, da kann bei Bayer-Kameras noch der automatische Weißabgleich 
reingrätschen (ich wiederhole mich).

LG, Sebastian

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Sebastian W. schrieb:
> Frank E. schrieb:
>> Du nimmst einen RGB-Sensor und rechnest dessen Werte nach HSV um.
>> Sättigung und Value sind in diesem Fall uninteressant.
>
> Achtung, da kann bei Bayer-Kameras noch der automatische Weißabgleich
> reingrätschen (ich wiederhole mich).
>
> LG, Sebastian

DAS ist ein Argument, selber schon erlebt. Bei manchen Kamera-Chips bzw. 
USB-Kameras kann man solche Marotten nicht mal abschalten ...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Frank E. schrieb:
> DAS ist ein Argument, selber schon erlebt. Bei manchen Kamera-Chips bzw.
> USB-Kameras kann man solche Marotten nicht mal abschalten ...
Also ich würde dann, wenn ich die aufgabe mit einer Kamera lösen müsste 
oder wollte, einfach einen definierten Weißen Fleck mit ins Bild 
bringen. Dann kann man den bei der Weiterverarbeitung und vor der 
Auswertung als "Weißreferenz" hernehmen.

Frank K. schrieb:
> Damit reduziert sich dann die Aufgabe auf das Einlesen des BMP und das
> Ermitteln der Farbwerte an vordefinierten Positionen.
Und dann muss man ja im Grunde nicht mal feststellen, welche Farbe da 
wie oder womit **falsch bestückt** wurde, sondern lediglich ob sie 
**richtig bestückt** ist. Das ist dann also letztlich nur ein 
punktueller Vergleich gegen eine Referenz.

Ich bin mir ziemlich sicher, dass man da mit Kreuzkorrelation einen 
numerischen Wert erhalten könnte.

: Bearbeitet durch Moderator
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
Noch kein Account? Hier anmelden.