Benutzer-Werkzeuge

Webseiten-Werkzeuge


led:vermessen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
led:vermessen [2023/02/17 17:06] mb339led:vermessen [2023/02/17 19:49] (aktuell) bh067
Zeile 9: Zeile 9:
   * Spektrometer SpectraScan PR670   * Spektrometer SpectraScan PR670
  
-Belichtungsmesser sind am bekanntesten und werden wahrscheinlich am häufigsten benutzt. Diese können jedoch nur Lichtintensitäten messen (Einfallende und reflektierende.) +Belichtungsmesser sind am bekanntesten und werden wahrscheinlich am häufigsten benutzt. Diese können jedoch nur Lichtintensitäten messen (einfallende und reflektierende)Spektrometer hingegen können, wie der Name schon sagt, die spektrale Energieverteilung des Lichtes in bestimmten Wellenlängenbereichen messen, zusätzlich mit vielen anderen hilfreichen Parametern.  Die beiden Geräte von Seconic sind kleiner, günstiger und nicht 100% akkurat, da sie für den täglichen und einfachen Gebrauch am Set gedacht sind. Der SpectraScan PR670 hingegen ist um einiges größer und unhandlicher, teurer und sehr präzise, was die Messungen angeht. Daher macht es Sinn diesen für akkurate Messungen zu benutzen.
-\\ Spektrometer hingegen können (normalerweise zusätzlich), wie der Name schon sagt, auch die spektrale Verteilung des Lichtes messen, also die „Farbe“, zusätzlich mit vielen anderen hilfreichen Parametern. +
-\\ Die beiden Geräte von Seconic sind kleiner, billiger und nicht 100% akkurat, da sie für den täglichen und einfachen Gebrauch am Set gedacht sind. Der SpectraScan PR670 hingegen ist um einiges größer und unhandlicher, teurer und sehr präzise, was die Messungen angeht. Daher macht es Sinn diesen für akkurate Messungen zu benutzen.+
  
  
 +===== SpectraScan PR670 =====
 +Das SpectraScan PR670 Spektrometer befindet sich in der HdM normalerweise im Besitz von technischem Mitarbeiter Peter Ruhrmann und wird nur mit Einverständnis oder Absprache herausgegeben. Verstaut wird es in einer Box mit Ladekabel und all seinem Zubehör. Das PR670 misst in einem Wellenlängenbereich von 380-780nm in 2nm Schritten. 
  
-===== Das Spektrometer ===== +{{ :led:spectrometer_koffer.jpg?400|}}
-Das Spektrometer befindet sich in der HdM normalerweise im Besitz von technischem Mitarbeiter Peter Ruhrmann und wird nur mit Einverständnis oder Absprache herausgegeben. Verstaut wird es in einer Box mit Ladekabel mit all seinem Zubehör.+
  
-Gemessen wird, indem man durch die Optik des Gerätes auf das gewünschte Ziel schaut, die Linse scharf stellt und auf den „Measure“-Knopf auf der oberen Seite des Geräts drückt. Das Spektrometer braucht dann einen kurzen Zeitraum, um die Messung abzuschließen und kommuniziert, dass mit zwei hörbaren Pieps-Tönen. Die Messungen werden dann entweder intern gespeichert, auf einer SD- Karte oder können direkt über ein USB-Kabel in ein Gerät eingespeist werden. Über dieses können auch Signale an das Spektrometer gesendet werden, sodass man es auch über seinen PC remote steuern kann.+Gemessen wird, indem man durch die Optik des Gerätes auf das gewünschte Ziel schaut, die Linse scharf stellt und auf den „Measure“-Knopf auf der oberen Seite des Geräts drückt. Das Spektrometer braucht dann einen kurzen Zeitraum, um die Messung abzuschließen und kommuniziert das mit zwei hörbaren Pieps-Tönen. Die Messungen werden dann entweder intern auf einer SD-Karte gespeichert oder direkt über eine serielle Verbindung an einen PC mit einem USB-Kabel übertragen. Über diese können auch Signale an das Spektrometer gesendet werden, sodass man es über einen PC remote steuern kann.
  
 Im Menü können noch mehrere Einstellungen zum Verhalten oder den Messungen eingestellt werden. Darunter auch wo etwas gespeichert werden oder welche Werte überhaupt gemessen werden sollen. Im Menü können noch mehrere Einstellungen zum Verhalten oder den Messungen eingestellt werden. Darunter auch wo etwas gespeichert werden oder welche Werte überhaupt gemessen werden sollen.
  
-Spektrometer Gebrauchsanleitung:[[https://www.jadaktech.com/product/spectrascan-pr-670/]] +Spektrometer Gebrauchsanleitung: [[https://www.jadaktech.com/product/spectrascan-pr-670/]]
- +
  
 ===== Einsatzmöglichkeiten ===== ===== Einsatzmöglichkeiten =====
Zeile 31: Zeile 28:
 Oft geben Hersteller leicht verbesserte oder irreführende Werte an, um ihre Produkte besser vermarkten zu können. Deshalb lohnt es sich die Geräte in realen Szenarien zu testen und eigene Werte sammeln. Manchmal weiß man auch nicht mehr genau, was ein Gerät alles kann bzw. wie weit es geht, bis man es vermessen hat. Oft geben Hersteller leicht verbesserte oder irreführende Werte an, um ihre Produkte besser vermarkten zu können. Deshalb lohnt es sich die Geräte in realen Szenarien zu testen und eigene Werte sammeln. Manchmal weiß man auch nicht mehr genau, was ein Gerät alles kann bzw. wie weit es geht, bis man es vermessen hat.
  
-=== Checken auf technische Fehler: === +=== Überprüfen auf technische Fehler: === 
-Elektronische Bauteile können sehr empfindlich sein und somit auch schnell kaputt gehen oder nicht mehr richtig funktionieren. Vor allem nach langjähriger Benutzung lassen sich oft schon Leistungseinbuße nachweisen. Daher lohnt es sich Geräte regelmäßig zu überprüfen, um schwerere Ausfälle und womöglich Gefahrensituationen zu vermeiden.+Elektronische Bauteile können sehr empfindlich sein und somit auch schnell kaputt gehen oder nicht mehr richtig funktionieren. Vor allem nach langjähriger Benutzung lassen sich oft schon Leistungseinbuße nachweisen, weswegen es sich lohnt Geräte regelmäßig zu überprüfen, um mögliche Fehler zu erkennen.
  
 === Messwerte für Kalibrierung sammeln: === === Messwerte für Kalibrierung sammeln: ===
Zeile 39: Zeile 36:
 === Für Forschungszwecke: === === Für Forschungszwecke: ===
 Oft will man einfach nur verschiedene Szenarien testen oder vergleichen um eine Vermutung aufzustellen oder zu bestätigen. Um dies auf einer neutralen und faktischen Ebene durchzuführen müssen Messwerte erstellt werden. Oft will man einfach nur verschiedene Szenarien testen oder vergleichen um eine Vermutung aufzustellen oder zu bestätigen. Um dies auf einer neutralen und faktischen Ebene durchzuführen müssen Messwerte erstellt werden.
- 
  
  
 ===== Ziel: ===== ===== Ziel: =====
-Da es sehr langwierig und mühsam werden kann, viele Messungen selbständig per Hand zu machen und vor allem dann später die wichtigen Daten herauszusuchen und auszuwerten, macht es Sinn das Spektrometer mit einem Laptop zu verbinden und die gesamte Messung darüber zu steuern. +Da es sehr langwierig und mühsam werden kann, viele Messungen selbständig per Hand zu machen und vor allem dann später die wichtigen Daten herauszusuchen und auszuwerten, macht es Sinn das Spektrometer mit einem Laptop zu verbinden und die gesamte Messung darüber zu steuern. Glücklicherweise unterstützt das Spektrometer mit dem „Remote Mode“ die Verbindung zu einem Computer, sodass sich alle wichtigen Funktionen über diesen steuern lassen. Dies geschieht, wie bereits erwähnt über ein USB-Kabel. Um das Spektrometer zu steuern kann es in viele Programme eingebunden werden, in diesem Fall ist es Matlab.
-\\ Glücklicherweise unterstützt das Spektrometer mit dem „Remote Mode“ die Verbindung zu einem Computer, sodass sich alle wichtigen Funktionen über diesen steuern lassen. Dies geschieht, wie bereits erwähnt über ein USB-Kabel. Um das Spektrometer zu steuern kann es in viele Programme eingebunden werden, in diesem Fall ist es Matlab.+
  
  
Zeile 56: Zeile 51:
 Github-Link: [[https://github.com/benjaminherb/SpectrometerControl|SpectrometerControl]] Github-Link: [[https://github.com/benjaminherb/SpectrometerControl|SpectrometerControl]]
  
-Falls das Ziel ist, nur jeweils einzelne Messungen auf Kommando zu machen, öffne das Skrip „measure“. +Falls das Ziel ist, nur jeweils einzelne Messungen auf Kommando zu machen, öffne das Skrip „measure.m“. Für das Skript zur automatischen Messung öffne „auto_measure.m“. Beide Skripte sind in mehrere Abschnitte unterteilt: 
-\\ Für das Skript zur automatischen Messung öffne „auto_measure“. Beide Skripte sind in mehrere Abschnitte unterteilt: +
  
-  * User-config+{{ :led:auto_measure_input.png?400|}} 
 + 
 +  * User-Config
   * Setup   * Setup
   * Measurement   * Measurement
Zeile 65: Zeile 61:
  
 ===== Einstellungen:===== ===== Einstellungen:=====
-Alle Einstellungen für die Messungen werden im ersten Abschnitt unter „User Config“ eingegeben und sind für beide Skripte identisch. Schalte dafür das Spektrometer an und verbinde es per USB-Kabel mit deinem Rechner. Konfiguriere dann die verschiedenen Einstellungen für deine Messung: +Alle Einstellungen für die Messungen werden im ersten Abschnitt unter „User Config“ eingegeben und sind für beide Skripte weitgehend identisch. Schalte dafür das Spektrometer an und verbinde es per USB-Kabel mit deinem Rechner. Konfiguriere dann die verschiedenen Einstellungen für deine Messung:
- +
- +
  
  
 **conf.port** **conf.port**
-\\ Gibt den Port vom Spektrometer am Laptop an. Dieser variiert von Gerät zu Gerät und muss deshalb selbst herausgefunden werden. Dafür einfach alle anderen Geräte vom Laptop abstecken und „serialportlist“ in die Matlab Konsole eingeben. Den ausgegebenen String dann bei „conf.port“ eintragen+\\ Gibt den Port vom Spektrometer am Laptop an. Dieser variiert von Gerät zu Gerät und muss deshalb selbst herausgefunden werden. Dafür einfach alle anderen Geräte vom Laptop abstecken und „serialportlist“ in die Matlab Konsole eingeben. Den ausgegebenen String dann bei „conf.port“ eintragen. Je nach Betriebssystem heißen die Werte beispielsweise "COM8" (Windows), "/dev/cu.usbmodem11301" (MacOS) oder "/dev/ttyACM0" (Linux), die genauen Ausgaben variieren aber. Falls es unter Linux bei der Verbindung zu Problemen kommt liegt das häufig daran, das Matlab bestimmte Rechte fehlen. Um das zu beheben kann man einfach Matlab als superuser (sudo) ausführen.
  
 **conf.command** **conf.command**
-\\ Gibt den Messmodus an, also welche daten überhaupt gemessen werden sollen. Zur Auswahl stehen hier +\\ Gibt den Messmodus an, also welche Daten überhaupt ausgegeben werden sollen. Zur Auswahl stehen hier 
-\\ XYZ: Misst XYZ + zusätzliche Werte* +\\ 'XYZ': Misst CIE 1931 XYZ Werte 
-\\ Yxy:  Misst Yxy + zusätzliche Werte* +\\ 'Yxy': Misst CIE 1931 Yxy Werte 
-\\ Yuv:  Misst Yuv + zusätzliche Werte* +\\ 'Yuv': Misst CIE 1976 Yu'v' Werte 
-\\ Spectral Misst jegliche verfügbare Farbwerte +\\ 'spectral': Misst von 380-780nm in 2nm Schritten 
-\\ All Misst alle messbaren Werte+\\ 'all'Liefert alle genannten Werte zurück
  
 **conf.file_name** **conf.file_name**
-\\ Hier kann man den Namen eingeben, unter welchem das Programm die Messung abspeichert. Zusätzlich dazu wird noch die Uhrzeit und das Datum miteingefügt.+\\ Hier kann man den Namen eingeben, unter welchem das Programm die Messung abspeichert. Zusätzlich dazu wird noch die Uhrzeit und das Datum miteingefügt. Die Messungen werden als Liste in einer .json Datei abgespeichert und sind damit leicht weiterverarbeitbar
  
-**Conf.output_dir** +**conf.output_dir** 
-\\ Bestimmt den Ordner, in welchem die Messungen gespeichert werden (Standardmäßig „./out“)+\\ Bestimmt den Ordner, in welchem die Messungen gespeichert werden (standardmäßig „./out“).
  
-**conf.show_images** +**conf.show_images** (nur bei auto_measure) 
-\\ Bestimmt das Testpattern für das zumessende Display. Falls kein Medium bespielt wird, diesen Wert auf „false“ setzten und ggf. unter „values“ den Messungen Namen geben.+\\ Bestimmt ob auf die Werte auf einem angeschlossenen Display angezeigt werden sollen oder nicht. Falls kein Medium direkt bespielt wird, diesen Wert auf „false“ setzten und ggf. unter „values“ den Messungen Namen geben. Bei "true" werden die Messungen automatisch durchgegangen, bei "false" muss man jede Messung manuell starten.
  
-**conf.width/-height** +**conf.width/-height** (nur bei auto_measure) 
-\\ Ist die Anzeigegröße des zumessenden Displays (Bei beiden LED Wänden muss hier 1920x1080 eingetragen werden+\\ Ist die Anzeigegröße des zumessenden Displays (bei beiden LED Wänden muss hier idR. 1920x1080 eingetragen werden).
  
 +**values** (nur bei auto_measure)
 +\\ Wenn „conf.show_images“ auf „true“ gestellt ist können hier eigene Bildsequenzen konfiguriert werden, wie z.B. ein Verlauf von Schwarz bis Weiß oder verschiedene Farbverläufe. Dabei können Farbwerte als n:3 Matrix und Grauwerte als Vektor angegeben werden. Die angegebenen Werte werden nacheinander angezeigt und gemessen. Die get_values(type, step) Funktion bietet hierbei die Möglichkeit verschiedene typische Werte zu generieren. step bezeichnet dabei, wieviele Werte zwischen 0 und 1 liegen sollen (zB. 256 für eine volle 8 Bit Abstufung, häufig reichen aber auch deutlich niedrigere Werte). Bei type können folgende Optionen gewählt werden: "grey", "primary-borders", "borders", "mesh" (hover über den Bildern um die genauen Kommandos zu sehen).
  
-**values** +{{:led:get_values_grey_32.jpg?200| get_values("grey"32)}} 
-\\ Wenn „conf.show_images“ auf „true“ gestellt ist können hier eigene Bildsequenzen konfiguriert werdenwie z.B. ein Verlauf von Schwarz bis Weiß oder verschiedene Farbpatches wie z.B. die Primaries.  +{{:led:get_values_primary_borders_32.jpg?200| get_values("primary-borders"32)}} 
-\\ Außerdem können die Messungen in einem 3D-Koordinatensystem visualisiert werdenDafür einfach Zeile 23 (values = get_Values(…)) auskommentieren. Hier kann man ebenfalls unter mehreren Darstellungsmöglichkeiten wählen (grey, primary-borders, borders, mesh). +{{:led:get_values_borders_32.jpg?200| get_values("borders"32)}} 
-\\ Wenn „conf.show_images“ auf „false“ gestellt ist können hier die einzelnen geplanten Messungen benannt werden+{{:led:get_values_mesh_8.jpg?200| get_values("mesh", 8)}}
  
 +Einige Beispiele hierfür sind auch bereits im Skript und können einfach auskommentiert werden. Wenn „conf.show_images“ auf „false“ gestellt ist können die "values" alternativ auch eine Liste von strings sein, die gemessen werden sollen. Die Farbwerte bzw. Namen werden für jede Messung mit abgespeichert.
  
  
Zeile 105: Zeile 101:
  
  
-Wenn man alle Werte für seine Messung richtig eingestellt hat, kann man nun das Spektrometer ausrichten, fokussieren und das Skript starten. +Wenn man alle Werte für seine Messung richtig eingestellt hat, kann man nun das Spektrometer ausrichten, fokussieren und das Skript starten. Das die Verbindung geklappt hat sieht man in der Matlab Konsole und daran, dass das Spektrometer "Remote Mode" auf dem Display anzeigt. 
 + 
 +Bei einer automatischen Messung, bei dem auch ein Display bespielt wird, bittet das Programm einen dann noch dazu, das Fenster auf Vollbildmodus zu stellen, falls dies noch nicht geschehen ist. Mit einem Druck auf „ENTER“ startet nun das Programm nach einem kurzen Timer automatisch.
  
  
-Bei einer automatischen Messung, bei dem auch eine Art Display bespielt wird, bittet das Programm einen dann noch dazudas Fenster auf Vollbildmodus zu stellenfalls dies noch nicht geschehen ist. Mit einem Druck auf „ENTER“ startet nun das Programm nach einem kurzen Timer automatisch.+Manuelle Messungen über das Skript „measure“ kann man jeweils einzelne Messungen durchführen. Das Programm frägt einen dabei über die Konsolewie man die Messung nennen will (optionalohne Namen werden die Messungen einfach durchnumeriert). Mit der „ENTER“-Taste startet man die Messung. Nachdem die jeweilige Messung erfolgt ist, werden einem die Werte in der Konsole ausgegeben. Daraufhin frägt einen das Programm, ob man die nächste Messung durchführen will (ENTER-Taste), die vorherige Messung wiederholen bzw. überschreiben („REDO“) oder die gesamte Messung beenden („SAVE“) und in einer Datei abspeichern möchte.
  
 +===== Eigene Implementierung: ===== 
  
-Manuelle Messungen über das Skript „measure“ kann man jeweils einzelne Messungen durchführen. Das Programm frägt einen dabei über die Konsolewie man die Messung nennen willMit der „ENTER“-Taste startet man die MessungNachdem die jeweilige Messung erfolgt ist, werden einem die Werte in der KonsoleDaraufhin frägt einen das Programm, ob man die Messung wiederholen („REDO“), die gesamte Messung beenden („SAVE“und die Datei abspeichern oder eine neue Messung durchführen will (ENTER-Taste).+Für die Verwendung in eigenen Skripts kann auch einfach nur die "Spectrometer" Klasse eingesetzt werden, die dann die Kommunikation mit dem Spektrometer und Verarbeitung der Rückgabewerte übernimmtIn der Spectrometer.m sind alle Funktionen für die Verwendung des Spektrometers implementiert. Hier der grundlegende Ablauf: 
 +<code> 
 +spectro = Spectrometer(port); 
 +disp(spectro.is_connected()); 
 +measurement = spectro.measure("all") 
 +spectro.quit_remote_mode(); 
 +</code> 
 +Alternativ können auch Kommandos direkt gesendet werden über: 
 +<code> 
 +output = spectro.command("M10")
 +</code> 
 +Eine Liste von mögliche Kommandos finden sich im Manual auf Seite 141.
  
 ===== Tipps und Verbesserungen:===== ===== Tipps und Verbesserungen:=====
  
   * Für möglichst unverfälschte Messungen am besten jegliches andere Licht ausschalten und Tageslicht vermeiden, ein dunkler Raum ist ideal. Außerdem kann man am Spektrometer mit einem Drehknopf an der linken Seite eine Klappe im Spektrometer umlegen, damit kein Licht durch den Sucher die Messung verfälschen kann.   * Für möglichst unverfälschte Messungen am besten jegliches andere Licht ausschalten und Tageslicht vermeiden, ein dunkler Raum ist ideal. Außerdem kann man am Spektrometer mit einem Drehknopf an der linken Seite eine Klappe im Spektrometer umlegen, damit kein Licht durch den Sucher die Messung verfälschen kann.
-  * - Es lohnt sich seine Messungen sinnvoll und durchgehend zu benennen, sonst hat man beim Auswerten der Daten später ein riesiges Chaos. +  * Es lohnt sich seine Messungen sinnvoll und durchgehend zu benennen, sonst hat man beim Auswerten der Daten später ein riesiges Chaos. 
-  * - Manche Messungen können bis zu 20 Minuten dauern, daher am besten die Zeit grob hochrechnen und die Zeit währenddessen sinnvoll nutzen oder die Messungen irgendwo im Hintergrund laufen lassen+  * Manche Messungen können bis zu 20 Minuten dauern, daher am besten die Zeit grob hochrechnen und die Zeit währenddessen sinnvoll nutzen oder die Messungen irgendwo im Hintergrund laufen lassen
  
  
led/vermessen.1676649988.txt.gz · Zuletzt geändert: 2023/02/17 17:06 von mb339