CD Spektrometer
#Einleitung
Für meine Optischen Spielereien wollte ich schon gerne mal ein Spektrometer haben. Ein solches Gerät zerlegt das eintreffende Licht in seine Bestandteile, was wiederum Rückschlüsse auf die Quelle des Lichts zulässt.
Nachdem ich mal wieder ein paar CD's aussortierte und die schöne farbliche Reflektionen betrachtet habe, wollte ich versuchen ein Spektrometer damit zu bauen.
#Angesägte CD
Kernbestandteil
eines Spektroskops oder Spektrometers ist ein optisches Teil, das Licht brechen kann. Dafür kann man ein Prisma oder Gitter verwenden.
Je länger die Wellenlänge des Lichts, desto geringer dessen Brechung. Rotes Licht wir deshalb geringer gebrochen, als blaues, was zur Folge hat, dass sich die Lichtmischung in sine Bestandteile zerlegt.
Zuerst sollte man sich eine CD suchen, die die Farben gleichmäßig zerlegt und das Licht möglichst stark spiegelt.
Einige Rohlinge haben einen bläulichen oder grünlichen "Schimmer", welcher das Ergebnis natürlich beeinflussen würde.
Andere wiederrum (meistens originale Treiber oder Software CD oder DVD's) geben zwar ein schönes Spektrum zurück, dämpfen es aber stark. Dadurch ist mehr Licht erforderlich, um eine gute Auswertung erreichen zu können.
Ich habe mit einer Minikreissäge 2 Streifen aus der CD getrennt. Meine CD ist ein 700MB Rohling von "Maxell". Diese CD wirft das Licht schön zerlegt zurück. Eine sehr kleine grünliche Färbung scheint sie auch zu haben, aber scheint nicht weiter aufzufallen.
#Hardware
Für die Aufnahme des Spektrums nehme ich eine Webcam und zwar eine, die in ihrer Qualität nicht gerade berauschend ist.
Diese Webcam hat nur VGA Auflösung (640x480), was aber für das Spektrum ausreicht. Ich habe von der Kameraoptik auch gleich den Standard Infrarotfilter entfernt, da ich das Infrarotspektrum auch gern aufnehmen möchte.
Der Streifen der CD wurde mit Heißkleber an der Kamera (ohne IR Filter) befestigt. Das ist zwar nicht so elegant, wie die Verwendung einer Einstellschraube zur genauen Positionierung, aber für den Privatbereich reicht's locker.
Zuerst von Hand halten und Testen, dann später Heißkleber drauf und richtig Positionieren bis dieser abgekühlt ist. Wenn das System fertig ist, ist es auch nichtmehr nötig, da irgendwas nach zu justieren.
Als Gehäuse habe ich 2 Oberhälften von irgendwelchen Netzteilen genommen, die ich in meinen Tower fest eingebaut hatte. Ein gesägter Lichtspalt soll das zu betrachtende Licht durchlassen.
Es sollte ein möglichst schmaler Spalt sein. Je breiter der Spalt, desto mehr Licht kommt durch und umso besser ist die Auswertung. Aber damit überlagern sich auch mehrere Wellenlängen und das Spektrum hat dann nicht mehr so klare Farben, sondern nur noch einen unscharfen hellen Farbmix.
der untere Streifen ist von der LED, der obere (mit den Unterbrechungen) ist von meiner Zimmerlampe (Energiesparlampe), die vom Notebookdisplay reflektiert wurde.
Zum Testen wurde eine Weiße 5W LED betrachtet, welche über 2 Polfilter gedämpft wurde.
Wenn ich die LED mit wenig Leistung betrieben habe, hatte ich ein schönes RGB Spektrum. Wenn sie dann mit Standardleistung betrieben wurde, entstand zusätzlich IR Licht, aber das Spektrometer wurde zu stark belichtet.
Mit 2 Polfiltern wird das visuelle Farbspektrum gedämpft, diese lassen aber das IR Licht durch. Dadurch hat die LED ein schönes Testbild von ca. 450nm bis ca. 900nm (mal grob geschätzt) erzeugt.
Ich hatte zuerst die Vermutung, dass das IR Licht durch Erwärmung erzeugt wird. Die LED wird zwar von hinten gekühlt, aber auf der obersten Halbleiterbeschichtung (die letztendlich auch leuchtet) könnten ja dennoch viel höhere Temperaturen herrschen.
Bei roten und UV LEDs konnte ich ebenso ein zusätzliches IR Spektrum messen, aber bei grünen und gelben LEDs hingegen nicht. Ich tippe mal darauf, dass das IR Licht ein "Nebeneffekt" des verwendeten LED Material ist.
#Fertiges Gehäuse
Es ist nun eher ein Spektroskop, nachdem ich das Gehäuse fertiggestellt hatte (zusätzliche Halteverstrebung an dem CD Streifen und der Kamera, Betriebs LED nach außen geführt und stabile Folie vor den Lichtspalt).
Um letztendlich ein Spektrometer zu haben, muss das Ergebnisbild eine Scala enthalten, um die genauen Wellenlängen ablesen zu können.
Ich habe übrigens recht vielseitige Definitionen im Internet gefunden.
Bei den einen ist es dann ein Spektrometer, wenn das Ergebnisbild auf ein Sensor oder eine Fototafel trifft... man das Ergebnis also aufnehmen kann. Ob das Gerät eine Skala hat ist dabei unerheblich.
Bei den Anderen liegt der Unterschied darin, dass definitiv eine Skala vorhanden sein muss, um als Spektrometer zu gelten. Gemessen wird dann die Wellenlänge in nm (Nanometer). Mir passt diese Definition eher, mal abgesehen davon, dass es im Privatbereich sowieso sau Latte ist, wie man sein "Farbzerleger" nennt.
Bei dem Ausgabebild kann man ein kleines Problem entdecken, dass ich schon bei dem Zusammenbau bemerkt habe. Aber ich habe keine (Hardware) Möglichkeit entdeckt, diesen Fehler abzustellen.
Ich rede vom Infrarotbereich ab ca. 800nm. Dieser enthält leider nicht nur IR Licht, sondern auch den Anfang des nächsten Spektrums. Deshalb ist es ohne Visuellen Filter auch leicht bläulich und mit eher Grau.
Im Spektrum der Kamera (mit Standard IR Filter) sieht man das Problem auch recht gut. Der IR Bereich wird raus gefiltert, aber dennoch gibt's dahinten ein bläuliches "Schimmern" am Ende.
Mal sehen was sich über die Software korrigieren lässt.
#Software
Die Software wurde in C# geschrieben und basiert auf einem Softwareprojekt, dass bei mir "Image Analyser" heißt.
Bei diesem Programm probiere ich einiges in Sachen Imageprocessing aus und es diente für den "Spektro Analyser" als Vorlage. Ich hab das Programm einfach Kopiert und ein Haufen Funktionen wieder entfernt... ein Objektfinder braucht man hier ja ebenso wenig wie eine Kanten-Hervorhebung.
#Arbeitsweise der Software
Das Eingangsbild wird ab einem gewissen Startpunkt 3 Pixel breit ausgeschnitten. Dies ist dann mein Quellspektrum. Dann wird dieses Bild noch durch diverse Filter gejagt (sofern diese Aktiv sind) wie bzw. Farbfilter, Kontrast, Helligkeit und einige andere Pixelferkelein.
Dann wird durch eine Schleife jeder Pixelwert in der Mitte des Quellspektrums ausgelesen. Je nachdem welche Messung aktiviert ist, werden die Pixeldaten dann als sehr kurze Linien aneinandergereiht. Dadurch entsteht eine Kurve, die sich an der Intensität einzelner Farben der Pixel orientiert.
Im Grunde wird ein Bild erstellt (Bitmap) auf dem die Linien bei jedem Messdurchlauf (10x pro Sek. ist Standardeinstellung) neu gezeichnet werden. Nach jedem Durchlauf ist ein Bild fertig und wird angezeigt. Diese Messkurven lassen sich dann auch leicht als *.jpg speichern.
#Messungsarten
Da gibt es zuerst mal die einfache Anzeige der einzelnen Farbkanäle. Dafür nimmt man einfach die entsprechenden Farbwerte der Pixel und fertig ist das besorgen der Messwerte. Der Messwert wird immer als Byte (0-255) Ausgegeben, wobei 0 = Schwarz und 255 die entsprechende Grundfarbe ist (dies entspricht einer Auflösung von 8bit).
Bei der nächsten Messart, werden alle 3 Farbwerte ausgelesen und der jeweils höchste wird als Messwert genommen. Dadurch erhält man eine relativ saubere Übersicht über den Spektralverlauf. Dann gibt's derzeit noch eine weitere Messart. Hier werden wieder alle Farbwerte aufgenommen und diesmal wird ihr Mittelwert gebildet. Formel: (Rot + Grün + Blau) / 3
#Anpassung der Skala
Da ich glücklicherweise ein paar verschiedene Laser da hatte und diese wiederrum eine relativ klar definierte Wellenlänge haben, wollte ich damit die Skala so abgleichen, dass die Wellenlänge des Spektrometers vernünftig angezeigt wird.
Zum einen wäre da der Standard Rotlichtlaser. Die Wellenlänge liegt bei den verschiedenen Geräten die ich so bei mir habe im Bereich von 650-655 nm.
Dann der Grüne Laserpointer, der genau genommen ein IR Laser ist. Soweit ich weiß, sind grüne DPSS Laser in 3 Stufen aufgebaut. Als Quelle dient eine 808nm IR Laserdiode. Diese Wellenlänge bringt eine gewisse Art von Kristall zum schwingen... sodass dieser in einer Wellenlänge von 1064nm aussendet. Das landet wiederrum auf einem zweiten Kristall, bei dem die Wellenlänge wieder halbiert wird.
Als Resultat werden 532nm ausgesendet.
Klingt zwar erstmal recht komplex, aber das scheint immer noch um einiges günstiger zu sein, als direkt ein Halbleiterlaser mit dieser Ausgangswellenlänge zu entwerfen. Wird schon seinen Grund haben, warum man diese Sorte von Laser recht preisgünstig überall bekommt.
Zu guter letzt noch der Bluray Laser. Diese Laserdioden werden mit 405nm angegeben und sind die teuersten in meinem Sortiment.
#Messungen
Damit hab ich dann erstmal ein paar Versuche gemacht...
Der glühende Draht ist zwar mit der Kamera schön als rotes Leuchten wahrzunehmen, aber im Spektrometer sieht man das rötliche Licht eher weniger, da die Helligkeit des Glühenden Metalls nicht so sehr ausreicht. Aber dennoch kann man gut erkennen, das im Infrarotbereich am meisten ausgestrahlt wird.
Vermutlich ließe sich eine Kamera, die besonders gut im Infrarotbereich empfindlich ist (z.B. Nachtsicht SW Kamera) als Wärmebildkamera für hohe Temperaturen einsetzen.
Des weiteren finde ich auch die Infrarotstrahlung der Weißen Power LED recht interessant.
Die meisten LEDs wurden nicht mit ihrer spezifizierten Leistung gemessen, da sie sonst das Spektrometer zu stark geblendet hätten. Interessant finde ich, dass viele LEDs ein anderes Spektrum haben, wenn sie mit weniger Leistung betrieben werden.
Bei einigen Messungen, wurde das Spektrometer etwas mehr seitlich platziert, damit es nicht geblendet wird. Mehr Leistung und ein anderer Betrachtungswinkel scheinen bei einer LED mehr auszumachen, als es mir bisher bewusst war.
#Version 1.0
Ich hab das Programm nun soweit fertiggestellt, dass ich mit dessen Funktionen zufrieden bin. Für vergleichsmessungen, kann ich beispielsweise eine aktuelle Messkurve mit einer bestimmten Farbe auf dem Bild festhalten und die neue einfach drüber zeichnen lassen.
Im Beispiel links wird ein weißes Feld auf dem Monitor anvisiert (Editorfeld) und dann wird die Kanal Grün Messung aktiviert.
Dadurch kann man nun die grünen Anteile besser und eindeutiger erkennen.
Mal sehen, was ich mit dem Teil noch so anstelle...
#Version 1.1
Ich hab überlegt, wie ich den "Blaustich" aus dem IR Bereich entfernen könnte. Es entsteht (wie erwähnt) dadurch, dass am Ende des dargestellten Spektrums ein weiteres (schwächeres) aufs neue dargestellt wird. Deshalb ist der IR Bereich mit visuellen Filter Grau und ohne eher dunkelblau.
Es gab Überlegungen wie den Anfang des blauen Spektrums aufzunehmen und vom IR Bereich zu subtrahieren. Aber später ist mir eine sehr viel einfachere Variante eingefallen.
Es handelt sich ja schließlich nur um einen Teil des blauen Spektrums, nicht des grünen, dass erst danach folgen würde. Ich habe also einfach ab einem gewissen Punkt (ca. bei 790nm) den blauen Kanal durch den Grünen getauscht.
Dadurch wird der Mittelwert in diesem Bereich auch nicht mehr aus 3 Werten, sondern nur aus 2 gebildet: (Rot + Grün) / 2
Wird Kanal Blau als Messung ausgewählt, erhält man bis 790nm das blaue und danach das grüne Spektrum. Beide Farben haben in diesem Bereich sowieso nix mehr verloren, daher sollten sie ohnehin identisch sein.
Diese Korrektur ist aber nur rein Mathematisch für die Erstellung der Messkurve. Das abgebildete Spektrum unten wird davon nicht beeinflusst. Aber das IR Spektrum ist nun schon mal zutreffender dargestellt...
#Version 1.5
Inzwischen hat sich einiges an dem Program getan.
Genaugenommen ist es so viel, dass ich es als "Softwareprojekt" deklariert und es in einen eigenen Bereich verschoben hab:
C# Programm Spektro Analyser
Zuletzt geändert am: Aug 08 2012 um 4:53 AM