Forum: Analoge Elektronik und Schaltungstechnik Elektronische Farberkennung wie durchführen?


von M. G. (ixil96)


Lesenswert?

Hallo!

Ich möchte mittels weißer LED + Farbfolie + Fotodiode 7 verschiedene 
Farben detektieren können.

Mein Gedanke:
Die weiße LED befindet sich in einem Röhrchen und durchstrahlt eine 
Farbfolie. Eine Fotodiode hinter der Farbfolie soll dann entsprechend 
eine unterschiedliche Spannung emittieren.

Kann das so funktionieren?
Gibt es bessere (keine teuren) Möglichkeiten?

von tuffy (Gast)


Lesenswert?

Du weißt, dass Deine weiße LED hauptsächlich blaues und gelbes Licht 
abstrahlt und den Rest vom Spektrum kaum?

Ich habe schon ähnliches mit Photodioden gebaut, wollte aber nur drei 
Farben auseinander halten. Entsprechende Photodioden mit Farbfilter gibt 
es fertig zu kaufen. Als "weißes" Licht hatte ich kalt- und warmweiße 
LEDs gemischt.

Das Ganze funktionierte recht gut.

von BT (Gast)


Lesenswert?

Hallo!

Ja, es gibt andere Möglichkeiten. Schau mal nach "Spektroskopie".

Einige Eigenbauten verwenden dafür z.B. eine alte CD um das Licht in 
seine Spektralen Bestandteile aufzuspalten. Ein Prisma oder ein 
spezielles Gitter wären aber besser.
Grob gesagt:
Das zu analysierende Licht fällt dann auf eine CCD-Zeile.

Die "Licht"-Intensität ist dann eine Funktion vom Ort und daraus ergibt 
sich  dein Spektrum.

Für 7 Farben sollte es wohl reichen denke ich

Muss aber alles ("aufwendig") kalibriert werden.


Zur verdeutlichung hier ein Link
http://www.forphys.de/Website/sv/aldispektro.html


Gruß
BT

von Max M. (jens2001)


Lesenswert?

M. G. schrieb:
> 7 verschiedene
> Farben detektieren können.

Was für Farben? Wie sehr unterscheiden die sich! Wie reproduzierbar sind 
die?

M. G. schrieb:
> weiße LED...  ...durchstrahlt eine
> Farbfolie

Warum weiße LED und Farbfolie? Warum keine Farbige LED wenn du doch 
farbiges Licht willst?

M. G. schrieb:
> Eine Fotodiode hinter der Farbfolie

EINE Fotodiode mit EINER Spannung für SIEBEN Farben?
Kriegst du das so genau geeicht?

BtW. Wie schnell muss die erkennung sein?

von Martin O. (ossi-2)


Lesenswert?


von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Ansonsten gibt es passend zu dreifarbigen LEDs auch "dreifarbige" 
Fotodioden, also Fotodioden mit entsprechenden Farbfiltern davor.

Z.B. von Kingbright:

https://www.conrad.de/de/farbsensor-kingbright-kps-5130pd7c-smd-1-st-l-x-b-x-h-512-x-3-x-11-mm-180381.html

Damit haben wir damals sehr gute Ergebnisse erzielt, insbesondere wenn 
man entsprechend kalibriert.

von Martin S. (led_martin)


Lesenswert?

Man könnte statt der weißen LED eine RGB-LED nehmen, die drei Farben 
nacheinander einschalten, und so für jede Grundfarbe einen Messwert 
bekommen. Damit sollte die sichere Unterscheidung wesentlich einfacher 
werden. Eine Farbfilterfolie vor der LED braucht man dann natürlich 
nicht.

Mit freundlichen Grüßen - Martin

von Werner H. (werner45)


Lesenswert?

Das rumbasteln mit Farbfolie wird ein Desaster!
Außer Du hast die exakten spektralen Durchlasskurven davon. Fast alle 
lassen nahes Infrarot durch, genau wo die Fotodioden am empfindlichsten 
sind.

Das Ganze funktioniert nur mit Verwendung von Interferenzfiltern, und da 
braucht man die richtigen und die sind teuer.

Einfacher wird das durch den RGB-Farbsensor Kingbright KPS-5130 
(Conrad), wie oben erwähnt.
Da sind die passsenden Interferenzfilter schon aufgedampft und man hat 
keine Mühe damit. Aus den RGB-Signalen kann man dann die Farbkoordinaten 
errechnen.

Gruß   -   Werner

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Auf eBay 181935598295 gibt's auch so was - noch unbespielt.

MfG

von Stefan F. (Gast)


Lesenswert?

Bei Lego Mindstorms (NXT 2.0) beleuchtet der Sensor das Objekt 
abwechselnd mit den Farben rot, grün und blau mit einer RGB-LED und 
misst, wie viel Licht jeweils vom Objekt reflektiert wird.

Wenn zum Beispiel nur rot und grün stark reflektiert werden, dann war 
das Objekt gelb.

Die Erkennung scheitert allerdings an Grundfarben, deren Farbton von der 
LED abweicht. Zum Beispiel konnte der Sensor nicht zwischen orange und 
rot bei meinem Zauberwürfel unterscheiden.

von Stefan (Gast)


Lesenswert?

M. G. schrieb:
> Die weiße LED befindet sich in einem Röhrchen und durchstrahlt eine
> Farbfolie. Eine Fotodiode hinter der Farbfolie soll dann entsprechend
> eine unterschiedliche Spannung emittieren.

Wobei LED Licht emittieren und Photodioden Strom liefern ;-)

Ich glaube er will mit einer weißen LED und einer Photodiode die Farbe 
der Folie erkennen. Das geht nicht!
Mit zwei Photodioden mit jeweils einer fixen farbigen Folie davor bzw. 
einer Photodiode und wechselweise 2 Folien , oder zwei farbigen LED 
könnte es gehen. Abhängig vom Abstand der Farben der zu erkennenden 
Folien und deren Varianz.
Mit drei gehts sicher auch wenn die Farben der zu erkennenden Folien 
sehr dicht zusammenliegen allerdings wäre dann der Knightbright Sensor 
mit einer LED die nicht zwangsweise weiß sein muss, oder noch besser 
eine RGB LED und eine Photodiode evtl. auch hier eine Folie davor 
deutlich besser geeignet.

Man müsste halt wissen was er wirklich vorhat ... und welche farben ...

Stefan

von Stefan (Gast)


Lesenswert?

Stefan U. schrieb:
> Die Erkennung scheitert allerdings an Grundfarben, deren Farbton von der
> LED abweicht. Zum Beispiel konnte der Sensor nicht zwischen orange und
> rot bei meinem Zauberwürfel unterscheiden.

Mach den Verstärker mal logarithmisch LOG(10) und Du kannst verschiedene 
Orangetöne unterscheiden.

Stefan

von Kai (Gast)


Lesenswert?

Mal ne ganz dämliche Frage am Rande:

Dieses RGB ist doch eigentlich nur darauf zurückzuführen, dass unser 
Auge es nur so darstellt und man so glücklicherweise alle Farben auf 
diese drei abbilden kann.

Also möchte unser Auge für zB gelb dann entweder tatsächlich gelbes 
Licht haben oder aber eben grün und rot.

Was passiert denn nun bei so einen Farbsensor, wenn man zB mit einem 
gelben Laser mit wirklich nur einer Wellenlänge (nämlich gelb) auf den 
Sensor leuchtet? Sind die Filter dann so, dass der grüne und der rote 
beide etwas gelb durchlassen?

von Dieter F. (Gast)


Lesenswert?


von Stefan (Gast)


Lesenswert?

Kai schrieb:
> Was passiert denn nun bei so einen Farbsensor, wenn man zB mit einem
> gelben Laser mit wirklich nur einer Wellenlänge (nämlich gelb) auf den
> Sensor leuchtet? Sind die Filter dann so, dass der grüne und der rote
> beide etwas gelb durchlassen?

Ja, schau Dir mal die Filterkurven an die überschneiden sich deutlich!
Jede Wellenlänge ist auf zwei Filtern zu sehen.

Stefan

von Stefan (Gast)


Lesenswert?

Stefan schrieb:
> ....

Oder mann nimmt Farbige LED als Photodioden und beleuchtet mit einer 
kleinen Halogenlampe, wegen des schönen breiten Spektrum.
Bevor hier wieder einer schreit gibts ab 1W!

Stefan

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Die Erkennung scheitert allerdings an Grundfarben, deren Farbton von der
> LED abweicht. Zum Beispiel konnte der Sensor nicht zwischen orange und
> rot bei meinem Zauberwürfel unterscheiden.

Mit einer zusätzlichen gelben LED wäre das wohl nicht schief gegangen.

von Lurchi (Gast)


Lesenswert?

Weisse LED und Farbfilter funktioniert nicht gut, und ist aufwändig. RGB 
LED und modulieren kann im Prinzip funktionieren, kann aber auch daneben 
liegen: die LEDs geben nur relativ schmale Wellenlängenbereiche ab. 
Damit wird also nur das Verhalten bei den 3 relativ schmalen 
Bändern(rot, gelb und blau) geprüft. Wie die Farbe auch z.B. grünes 
Licht reagiert geht gar nicht ein. Einige Farben können für so einen 
Sensor gleich aussehen auch wenn das Auge sie deutlich unterscheiden 
kann.

Man kann es besser machen mit mehr als 3 LEDs - für eine halbwegs 
Abdeckung des Spektrums dürfte es schon etwa 6-8 LEDs brauchen (z.B. 
dunkelrot, hellrot, ggf. orange, gelb, ggf. gelbgrün, grün, blaugrün, 
blau und ggf. tiefblau/violett). Damit sollte es schon besser gehen und 
man kann ggf. auch mehr Farben unterscheiden als das menschliche Auge. 
Die Umrechnung ist aber nicht so einfach, aber möglich.

Der Weg andersherum mit einem weißen Spektrum und dann Fotodioden mit 
Filtern geht auch. Es bleibt aber das Problem mit der Lichtquelle. Eine 
einfache Weisse LED hat auch nicht alle Wellenlängen, gute LEDs Lampen 
können besser sein, sonst halt Halogenlampe und ggf. ein mechanischer 
Chopper, wenn es viel Fremdlicht gibt.

von Stefan (Gast)


Lesenswert?

Wolfgang schrieb:
> Mit einer zusätzlichen gelben LED wäre das wohl nicht schief gegangen.

Doch. Da er ja wohl auf Rot und Grün nichts bzw das Gleiche gesehen hat 
kann er dann immer noch keine Farbe berechnen. Ausserdem wird das 
berechnen einer Farbe mit 4 Primärvalenzen schwieriger. Klar man könnte 
mit zwei Farbräumen mit den Primärvalenzen BGG und GGR arbeiten aber 
nützen würde es nichts wenn er keinen Unterschied zwischen Rot und Grün 
viel Gelb und kein Blau sieht kann er nur sagen irgendwie Gelb. Sieht er 
einen Unterschied zwischen Rot und Grün reicht das um die Farbe zu 
bestimmen. Er braucht kein Gelb.

Stefan

von Stefan (Gast)


Lesenswert?

Lurchi schrieb:
> Weisse LED und Farbfilter funktioniert nicht gut, und ist aufwändig. RGB
> LED und modulieren kann im Prinzip funktionieren, kann aber auch daneben
> liegen: die LEDs geben nur relativ schmale Wellenlängenbereiche ab.
> Damit wird also nur das Verhalten bei den 3 relativ schmalen
> Bändern(rot, gelb und blau) geprüft. Wie die Farbe auch z.B. grünes
> Licht reagiert geht gar nicht ein. Einige Farben können für so einen
> Sensor gleich aussehen auch wenn das Auge sie deutlich unterscheiden
> kann.

Du hast schonmal das Spektrum einer LED gesehen?
Bei einer RGB LED überschneiden sich die Farben!
Halte einfach mal ein paar verschiedenfarbige LED schräg auf die 
Datenfläche einer CD und staune.

> Man kann es besser machen mit mehr als 3 LEDs - für eine halbwegs
> Abdeckung des Spektrums dürfte es schon etwa 6-8 LEDs brauchen (z.B.
> dunkelrot, hellrot, ggf. orange, gelb, ggf. gelbgrün, grün, blaugrün,
> blau und ggf. tiefblau/violett). Damit sollte es schon besser gehen und
> man kann ggf. auch mehr Farben unterscheiden als das menschliche Auge.
> Die Umrechnung ist aber nicht so einfach, aber möglich.

Er will 7 (sieben)  Farben unterscheiden!
Mit etwas Glück reichen da zwei LED. Man müsste halt die Farben kennen.

Stefan

von Martin S. (led_martin)


Lesenswert?

Stefan schrieb:
> Bei einer RGB LED überschneiden sich die Farben!

Ja, aber nur geringfügig:

https://www.ecse.rpi.edu/~schubert/Light-Emitting-Diodes-dot-org/chap12/F12-16%20RGB%20emission%20spectrum.jpg

Gerade für Körperfarben zwischen Grün und Rot wird's da mit einer 
sicheren Auswertung eng. (Siehe auch die Erfahrungen von Stefan Us 
(stefanus) mit dem Orange das Zauberwürfels) Aufgrund der Lücken im 
Spektrum eignet sich eine, auf Weiß gestellte RGB LED auch nicht 
wirklich als Beleuchtung, das Licht ist einfach ekelig. (Sehr schlechter 
CRI) Deshalb sollte man, wenn man Beleuchtung und Farbeffekte 
kombinieren will, immer mit 4 Kanälen arbeiten, also RGBW, oder 
zumindest noch Gelb, als 4. Kanal, zu RGB dazunehemen.

Mit freundlichen Grüßen - Martin

von Stefan (Gast)


Lesenswert?

Martin S. schrieb:
> Ja, aber nur geringfügig:
>
> 
https://www.ecse.rpi.edu/~schubert/Light-Emitting-Diodes-dot-org/chap12/F12-16%20RGB%20emission%20spectrum.jpg

Wie schon geschrieben ein logarithmischer Vertärker hilft hier ungemein.
Stell Dir das Diagramm mal mit logarithmischer Y Achse vor. Entscheidend 
ist hier ja nur der Unterschied Zwischen Rot und Grün um den Orangeton 
zu bestimmen.

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.