Chamäleonlampe mit Helligkeitsregelung
Autoren: Christabelle Feunang & Christian Schwinne
Betreuer: TBD
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)
Einleitung
Bei dem vorliegenden Artikel handelt es sich um ein Projekt aus dem Praktikum Angewandte Elektrotechnik des Studiengangs Business and Systems Engineering (BSE). Ziel des Projektes ist es, eine Lampe zu erstellen, die mittels eines Farbsensors die Farbe eines Objekts misst und die Helligkeit und Farbe der Lampe regelt, um der gemessenen Farbe zu entsprechen. Als Erweiterung ist eine Messung des Tageslichts denkbar, um in Kombination mit hellen kalt- und warmweißen LEDs ein "simuliertes Fenster" zu ermöglichen, um realistisch wirkendes Tageslicht in fensterlosen Räumen zu erhalten.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1.0 | Die Lampe muss verschiedene Farben im RGB-Farbraum darstellen können. | Christian Schwinne | 04.10.2022 | Christabelle Feunang | 04.10.2022 |
1.1 | Die Farbe muss mittels Mikrocontroller änderbar sein. | Christabelle Feunang | 04.10.2022 | Christian Schwinne | 04.10.2022 |
2.0 | Die Farbe einer Oberfläche muss ermittelt werden. | Christabelle Feunang | 04.10.2022 | Christian Schwinne | 04.10.2022 |
2.1 | Eine neutral weiße Lichtquelle muss vorhanden sein, um eine Farbmessung von nicht emittierenden Gegenständen durchzuführen. | Christabelle Feunang | 04.10.2022 | Christian Schwinne | 04.10.2022 |
3.0 | Eine Regelung muss vorhanden sein, sodass der Einfluss von kurzen Störungen und Messunsicherheiten minimiert wird (langsamer Farbwechsel) | Christabelle Feunang | 04.10.2022 | Christian Schwinne | 04.10.2022 |
3.1 | Die Regelung muss mittels eines Mikrocontroller mit der Arduino-Entwicklungsumgebung implementiert werden. | Christian Schwinne | 04.10.2022 | Christabelle Feunang | 04.10.2022 |
3.2 | Die Regelung muss mittels eines Mikrocontroller modellbasiert mit Simulink implementiert werden (ersetzt Anforderung 3.1). | Christian Schwinne | 06.12.2022 | Christabelle Feunang | 06.12.2022 |
O.1.0 | Optionale Erweiterung: Zusätzlich zur Messung der Farbe von Oberflächen kann die Helligkeit einer Lichtquelle (Lampe/Sonne) gemessen werden (u. U. mithilfe eines zweiten Sensors). | Christian Schwinne | 04.10.2022 | Christabelle Feunang | 04.10.2022 |
O.2.0 | Optionale Erweiterung: Die Lampe soll optisch ansprechend gestaltet sein. | Christian Schwinne | 04.10.2022 | Christabelle Feunang | 04.10.2022 |
O.3.0 | Optionale Erweiterung: Die Lampe ist zusätzlich zum Sensor mittels Smartphone steuerbar (ESP32 statt Arduino Uno, WLED-Software) | Christian Schwinne | 05.10.2022 | - | - |
Funktionaler Systementwurf/Technischer Systementwurf
Die folgende Abbildung stellt den technischen Systementwurf der Lampe nach dem EVA-Modell (Eingabe, Verarbeitung, und Ausgabe) dar. Das System besteht aus einem Farbsensor TCS34725, einem Arduino-Mikrocontroller, und Neopixel (WS2812B) LEDs.
Komponentenspezifikation
Verdrahtungsplan
Der TCS34725-Sensor wird wie in Tabelle 2 aufgelistet mit dem Arduino UNO verbunden. Für die Ansteuerung der LED wird der PWM-fähige Pin 3 des Arduino verwendet, sodass diese dimmbar ist. Die Interrupt-Funktionalität des Sensors wird für dieses Projekt nicht benötigt.
Pin Farbsensor | Pin Arduino |
---|---|
3V3 | 3.3V |
GND | GND |
LED | 3 |
SCL | SCL (A5) |
SDA | SDA (A4) |
In Tabelle 3 ist die Verdrahtung des Arduino UNO mit den WS2812B-LEDs aufgeführt.
Pin Arduino | Pin Farb-LEDs |
---|---|
5V | 5V |
GND | GND |
4 | DIN |
Die vollständige Verkabelung ist in Abbildung 2 dargestellt. Die Stromversorgung erfolgt über den USB-Port des Arduino.
Funktionsweise des Farbsensors
Der TCS34725 ist ein Sensor, mit dem RGB-Farbwerte gemessen werden. Auf dem Modul ist auch ein LED verbaut, damit die Farben von nicht selbst leuchtenden Gegenständen ermittelt werden können. Mit dem Sensor lassen sich Gegenstände nach Farbe sortieren. Das Modul verfügt über einen IR-Sperrfilter, der die IR-Spektralkomponente des einfallenden Lichts minimimiert und somit eine genaue Farbmessung ermöglicht. Der Sensor kann zwischen 3.3V bis 5V betrieben werden und ist dementsprechend auch für Raspberry Pi und ESP8266 oder ESP32 geeignet. Die Kommunikation erfolgt über den I2C-Bus und erspart mühsames Verdrahten. Technisch besteht der Sensor im Wesentlichen aus vier Fotodioden. Davon besitzen drei einen Farbfilter, sodass die Diode jeweils nur auf rote, grüne, oder blaue Wellenlängen empfindlich ist. Die vierte Diode hat keinen Filter ("clear"), reagiert somit auf alle Wellenlängen und lässt sich etwa zur Messung der Helligkeit verwenden.
Umsetzung (HW/SW)
Komponententest
Ergebnis
Die folgende Tabelle fasst die Ergebnisse des Projekts zusammen.
ID (Anforderung) | Test | Testergebnis | Anmerkungen |
---|---|---|---|
1.0 | Die Lampe muss verschiedene Farben im RGB-Farbraum darstellen können. | Erfolgreich | |
1.1 | Die Farbe muss mittels Mikrocontroller änderbar sein. | Erfolgreich | |
2.0 | Die Farbe einer Oberfläche muss ermittelt werden. | Erfolgreich | |
2.1 | Eine neutral weiße Lichtquelle muss vorhanden sein, um eine Farbmessung von nicht emittierenden Gegenständen durchzuführen. | Erfolgreich | |
3.0 | Eine Regelung muss vorhanden sein, sodass der Einfluss von kurzen Störungen und Messunsicherheiten minimiert wird (langsamer Farbwechsel) | Erfolgreich | Es wurde ein PT1-Filter gewählt. Die Zeitkonstante wurde empirisch auf 0.1 ermittelt, was eine gute Abwägung zwischen Rauschunterdrückung und schneller Reaktion auf Änderungen gewährleistet. |
3.1 | Die Regelung muss mittels eines Mikrocontroller mit der Arduino-Entwicklungsumgebung implementiert werden. | Anforderung ist entfallen. | |
3.2 | Die Regelung muss mittels eines Mikrocontroller modellbasiert mit Simulink implementiert werden. | Erfolgreich | |
O.1.0 | Optionale Erweiterung: Zusätzlich zur Messung der Farbe von Oberflächen kann die Helligkeit einer Lichtquelle (Lampe/Sonne) gemessen werden (u. U. mithilfe eines zweiten Sensors). | Nicht bearbeitet | |
O.2.0 | Optionale Erweiterung: Die Lampe soll optisch ansprechend gestaltet sein. | Erfolgreich | |
O.3.0 | Optionale Erweiterung: Die Lampe ist zusätzlich zum Sensor mittels Smartphone steuerbar (ESP32 statt Arduino Uno, WLED-Software) | Erfolgreich | Das Einlesen des Sensors wurde in diesem Fall mithilfe eines sogenannten "Usermods" für WLED in C++ programmiert. Der verwendete ESP8266-Mikrocontroller ist nicht mit dem Simulink Support Package for Arduino Hardware kompatiblel. |
Zusammenfassung
Das Projekt Chamäleonlampe mit Helligkeitsregelung wurde großteils erfolgreich umgesetzt. Ziel des Projekts war eine Lampe zu entwickeln, welche die Farbe einer Oberfläche erkennt ,entsprechend dieser Farbe leuchtet und eventuell die Helligkeit regelt. Aus zeitlichen Gründen konnten alle optionalen Erweiterungen nicht integriert werden.
Lessons Learned
Im Rahmen dieses Projekts konnten verschiedene Kompetenzen erworben und Studieninhalte in Praxis umgesetzt werden. Unter anderen konnte der Workflow von Simulink in Verbindung mit Arduino erlernt werden. Dies war am Anfang des Projekts eine der größte Herausforderung aber durch fleißige Recherche und Testproben wurde dieses Lernziel erreicht. Desweiteren konnten wir uns mit den Eigenschaften und Programmierung eines TCS34725 Farbsensor vertraut machen.
Außer dem technischen Inhalt wurden wichtige Faktoren und Prozesse der Projektentwicklung wiederholt und vertieft. Zu den wichtigsten Punkten zählen die Projektplanung, das Zeitmanagement, die Projektdokumentation und eine kollaborative Teamarbeit.
Projektunterlagen
Die vollständigen Unterlagen zu der Durchführung befinden sich im SVN.
Projektplan
Das nachfolgende Gantt-Diagramm stellt die Planung des Projekts dar.
Projektdurchführung
Zunächst wurde ein Projekt sowie die Anforderungen festgelegt. Diese wurde in einem Wiki-Artikel, welcher im Laufe des Projekts stetig erweitert wurde dokumentiert. Im nächsten Schritt wurden alle Teile des Aufbaus bestellt. Anschließend wurden die Komponenten gemäß dem obigen Verdrahtungsplan zusammengebaut. Dann erfolgte die Programmierung in Simulink und die Software wurde auf die Hardare übertragen. Durch Testen wurden einige Fehler erkannt, die Software angepasst und die Fehler behoben.
YouTube Video
Literatur
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)