5 Spektralmessung
Einführung
Ziel dieser Übung ist es den AS7262 Spektralsensor kennen zu lernen und die Sensordaten auszulesen. Der AS7262 ist ein Spektralsensor, der über eine I2C Schnittstelle mit dem Raspberry Pi verbunden wird und einer Python Library angesteuert werden kann.
Unterlagen: E02_Spektralmessung.zip
Vorbereitung
- Schaut das Video von AMS zum AS7262 Spektralsensor (bis Minute 2:20)
- Lest das White Paper von Jensen (2020) über Spektralsensoren
- Konzentriere Dich da auf die Beschreibung der Multi-channel spectral sensors und in welchen Gebieten diese Sensoren eingesetzt werden.
- Studiert das Datenblatt zum AS7262 Spektralsensor AMS OSRAM Group (2022)
- In welchen Temperaturbereichen kann der Sensor eingesetzt werden?
Unterlagen | |
---|---|
Produkt | AS7262 Breakout |
Datenblatt | AS7262 |
GitHub | as7262-python |
Video | ams Spectral ID iSPI Eval Kit |
Spektrometer
Spektrometer, sind Sensoren, die das Licht auf einzelne Bänder der Wellenlänge (in Nanometer nm) messen. Für das menschliche Auge wird das sichtbare Spektrum zwischen 360nm bis 830nm angegeben, wobei sich der Bereich unter optimalen Bedingungen in UV und NIR erstrecken kann (Sliney, 2016).
Auf kleinen Chip verbaute Spektralsensoren ermöglichen zahlreiche neue Anwendungen, die früher mit grossen Spektroskopen durchgeführt wurden. Die Spektralsensorsysteme finden Anwendung wie Farbbestimmung, Authentifizierung und Spektralanalyse von Substanzen, Materialien, Lebensmitteln und Flüssigkeiten und werden in den Bereichen von Konsumgütern, Industrie und Medizin eingesetzt.
Ein Multispektralsensor liefert die Antwort auf die Frage, ob eine orangefarbene Probe eine Mischung aus Rot und Gelb oder ein reines Orange ist. Multispektralsensoren teilen das gewählte Spektrum in Spektralkanäle auf (siehe Abb. 5.1) und sind so angeordnet, dass die Spektralkanäle kontinuierlich gut abgedeckt sind. Die Messung erfolgt im sichtbaren Bereich radiometrisch (Jensen, 2020). Das heißt, der Sensor misst die spektrale Leistungsverteilung der Messung.
AS7262 Multispektralsensor
Der AS7262 ist ein sehr kompakter Multispektralsensor, der über 6 Spektralkanäle im sichtbaren Bereich misst. Der Sensor eignet sich für spektroskopische Messungen wie Farbmessung, Absorption, Bestrahlungsstärke, Reflexion und Transmission. Der Sensor ist auf einem Breakout Board verbaut und kann über die I2C Schnittstelle mit dem Raspberry Pi verbunden werden, zusätzlich sind zwei LEDs verbaut, die den Messbereich für Messungen beleuchten können.
AS7262 - 6-Kanal Spektral Sensor (Abb. 5.1)
- 6 Spektralkanäle (450, 500, 550, 570, 600, 650nm)
- 2 on-board Beleuchtungs-LEDs
- I2C interface (address: 0x49)
- Python Library
- werkseitig kalibriert
Übungsaufbau
- Schliesse den Raspberry Pi an Monitor, Keyboard und Maus an oder verbinde Dich mit diesem über SSH (und SFTP).
- Erstelle auf dem Raspberry Pi im
Documents
Ordner einen neuen OrdnerAS7262
, in welchem Du Änderungen und neue Dateien für diese Übung speichern kannst. - Schliesse den Sensor AS7262 an den Raspberry Pi über die Breakout Garden I2C Schnittstelle korrekt an (siehe E01 Luftqualität), so dass die Beschriftung der Anschlüsse am Sensor und bei der Schnittstelle übereinstimmen.
- Kontrolliere mit dem Befehl
i2cdetect -y 1
ob der Raspberry Pi mit dem Sensor verbunden ist. Der Sensor sollte auf der Adresse0x49
erkannt werden. - Aktiviere die virtuelle Environment von Python mit
source ~/.env/bin/activate
und kontrolliere, ob die Libraryas7262
installiert ist mitpython -c "import as7262"
. Bei einer Fehlermeldung muss die Library in der aktivierten virtuellen Environment mitpip install as7262
installiert werden.
Wechsle in den Ordner Documents und kopiere mit folgenden Befehlen die Library auf Deinen Raspberry Pi.
cd Documents
git clone https://github.com/pimoroni/as7262-python
cd as7262-python/examples
Aufgabe 1: Spektralmessungen durchführen
Teste das Beispiel spectrum.py
im Ordner examples. Dieses Beispiel gibt die Messungen der einzelnen Spektralkänale aus.
Startet das Script mit python spectrum.py
1. Mit Ctrl+c
kann das Script wieder gestopppt werden. Die Ausgabe sollte in etwa so aussehen (gekürzt):
python spectrum.py
Orange: 30.22943878173828
Red: 14.262250900268555
Orange: 22.67207908630371
Yellow: 14.271308898925781
Green: 13.56598949432373
Blue: 6.527451515197754
Violet: 7.2663960456848145
Folgendes Code Snippet zeigt eine gekürzte Version des spectrum.py
Python Beispiels für die Ausgabe der Spektralmessungen der 6 Kanäle:
#!/usr/bin/env python
from as7262 import AS7262
= AS7262()
as7262 164)
as7262.set_gain(17.857)
as7262.set_integration_time(2)
as7262.set_measurement_mode(1)
as7262.set_illumination_led(
try:
while True:
2= as7262.get_calibrated_values()
values print("""
Red: {}
Orange: {}
Yellow: {}
Green: {}
Blue: {}
Violet: {}""".format(*values))
except KeyboardInterrupt:
3)
as7262.set_measurement_mode(0) as7262.set_illumination_led(
- 1
- Sensor konfigurieren, setzen des Gains, der Integrationszeit, des Messmodus und der Beleuchtungs LED
- 2
- Kalibrierte Messwerte auslesen und darstellen
Übung 5.1 AS7262 Messwerte interpretieren
Führt einige Messungen mit unterschiedlichen Lichtquellen und Materialien durch und notiert Euch die Messwerte. Was beobachtet Ihr?
- Messung mit Tageslicht
- Messung mit LED-Taschenlampe des Smartphones
- Messung mit LED-Taschenlampe und Farbfilter (Mäppli)
- Messung mit weissem Papier
Aufgabe 2: Spektralmessungen mit Visualisierung in der Konsole
Das Beispiel bargraph.py
zeigt die Messwerte der Spektralkanäle in einem Balkendiagramm an. Die Messwerte werden in der Konsole ausgegeben, nach einem Weissabgleich. Der Weissabgleich wird benötigt damit der Sensoren die Messwerte korrekt in Referenz zu Weiss interpretiert.
Für diese Aufgabe benötigt Ihr ein weisse Blatt Papier, mit welchem der Sensor den Weissabgleich durchführt. Dafür hält ihr dieses circa 5cm vor den Sensor, drückt eine Taste und der Sensor führt den Weissabgleich durch. Danach könnt Ihr das Papier wieder wegnehmen und die Messungen durchführen.
Übung 5.2 Verteilung der Spektralkanäle untersuchen
- Führt verschiedene Messungen durch mit unterschiedlichen Lichtquellen und Materialien und interpretiert die Ausgabe des
bargraph.py
. - Studiert den Code und versucht die Funktionsweise zu verstehen.
python bargraph.py
Setting white point baseline.
Hold a white sheet of paper ~5cm in front of the sensor and press a key...
Baseline set. Press a key to continue...
Nicht vergessen zuerst die korrekte virtuelle Environment mit den installierten Libraries über
source ~/.env/bin/activate
zu starten↩︎