Infrarot Thermometer GY-906 MLX90614: Unterschied zwischen den Versionen
Zeile 316: | Zeile 316: | ||
'''Dynamische Messung''' | '''Dynamische Messung''' | ||
Die dynamische Messung konnte leider nicht durchgeführt werden, da beim ausführen des Programms sehr häufig eine Fehlermeldung erschienen ist (siehe Abbildung 9), weshalb der Sensor nicht ausgelesen werden konnte. Die genaue Ursache konnte nicht ermittelt werden, wobei die Vermutung jedoch darauf liegt, dass die I2C-Kommunikation nicht korrekt eingestellt ist. Auch nach ausgiebiger Recherche konnte der Fehler nicht behoben werden. Daher wird im Folgenden nur mit der statischen Messung fortgeführt. | Die dynamische Messung konnte leider nicht durchgeführt werden, da beim ausführen des Programms sehr häufig eine Fehlermeldung erschienen ist (siehe Abbildung 9), weshalb der Sensor nicht ausgelesen werden konnte. Die genaue Ursache konnte nicht ermittelt werden, wobei die Vermutung jedoch darauf liegt, dass die I2C-Kommunikation nicht korrekt eingestellt ist. Auch nach ausgiebiger Recherche konnte der Fehler nicht behoben werden. Daher wird im Folgenden nur mit der statischen Messung fortgeführt. | ||
Version vom 29. Juli 2024, 21:53 Uhr
Autor: | Johann Kismann |
Studiengang: | Business and Systems Engineering |
Modul: | BSE-M-2-1.03, Hausarbeit in Angewandte Informatik gehalten von Prof. Dr.-Ing. Schneider |
Semester: | Sommersemester 2024 |
Abgabetermin: | 28.07.2024 |
Einführung
Das Infrarot-Thermometer GY-906 MLX90614 ist ein fortschrittlicher Sensor, der zur präzisen und berührungslosen Temperaturmessung entwickelt wurde. Es nutzt die Infrarotstrahlung, die von Objekten emittiert wird, um deren Temperatur genau zu bestimmen. Diese Eigenschaft macht es besonders nützlich in Anwendungen, bei denen herkömmliche Thermometer aufgrund von Kontaminationsrisiken, Zugangsproblemen oder der Notwendigkeit einer schnellen Messung nicht geeignet sind.
In der Industrie wird der Sensor häufig zur Überwachung von Produktionsprozessen eingesetzt, um sicherzustellen, dass Maschinen und Materialien die richtigen Temperaturen haben. Im Automobilbereich kann er zur Überwachung von Motor- und Abgastemperaturen verwendet werden, was zur Verbesserung der Effizienz und Sicherheit beiträgt. In der Medizintechnik ermöglicht der Sensor die berührungslose Messung der Körpertemperatur, was besonders in Zeiten von Infektionskrankheiten von Vorteil ist.
Dieser Artikel bietet einen detaillierten Überblick über die Funktionsweise und die technischen Spezifikationen des GY-906 MLX90614. Darüber hinaus werden praktische Beispiele und Anwendungsfälle vorgestellt, um den Leserinnen und Lesern eine fundierte Grundlage für die Integration dieses Sensors in ihre eigenen Projekte zu bieten. Das Ziel ist es, die vielfältigen Einsatzmöglichkeiten und die einfache Implementierung des GY-906 MLX90614 zu veranschaulichen und so dessen Potenzial voll auszuschöpfen.
Aufgabenstellung
Messen Sie die Temperatur mit dem Infrarot Thermometer (Pyrometer).
Anforderungen | ||||||||||||||||||||||||
|
- Thema/Fragestellung: Messung der Entfernung mit dem Sensor Sharp GP2-0430K
- Hypothese: Die Entfernung lässt sich im Bereich von 4 cm bis 50 cm fehlerfrei messen.
- Einordnung in den Lehrplan Der Infrarot-Sensor GY-906 MLX90614 spielt eine wichtige Rolle bei der berührungslosen Temperaturmessung in der Informatik und Technik. Diese Technologie findet breite Anwendung in industriellen Prozessen, der Automobiltechnik und der Medizintechnik. In der Lehrveranstaltung "Angewandte Informatik" werden anhand dieses Beispiels verschiedene Lernziele verfolgt. Die Studierenden lernen, nachhaltige Quelltextverwaltung mit SVN durchzuführen, Programmierstandards einzuhalten und Konflikte zu lösen. Zusätzlich wird die mathematisch orientierte Programmierung in MATLAB® vermittelt, einschließlich der Arbeit mit Vektoren, Matrizen und Funktionen. Darüber hinaus erwerben sie Kenntnisse in der modellbasierten Programmierung mit der Arduino-Plattform und Simulink, um den Sensor auszulesen, Daten zu visualisieren und Aktoren zu steuern.
Projektbeschreibung
# | Anzahl | Material |
---|---|---|
1 | 1 | Arduino Uno R3 |
2 | 1 | Infrarot-Thermometer GY-906 MLX90614 |
3 | 1 | LCD Modul 16x02 I2C |
4 | 1 | PC mit MATLAB/Simulink R2023b |
5 | 1 | Streckbrett |
6 | 5 | Jumper Kabel, männlich/männlich, 20 cm |
7 | 1 | Buzzer |
Beschreibung Funktionsweise der verwendeten Hard- und Software
- Arduino Uno R3: Der Arduino Uno R3 ist eine vielseitige Mikrocontroller-Platine, die auf dem ATmega328P-Prozessor basiert. Sie verfügt über 14 digitale Ein- und Ausgänge sowie 6 analoge Eingänge, was sie ideal für die Steuerung einer Vielzahl von Sensoren und Aktoren macht. Die Platine ist mit einem 16 MHz Quarzoszillator, einer USB-Schnittstelle zur Programmierung und Stromversorgung, einer Strombuchse für externe Stromquellen, einem ICSP-Header für die Programmierung des Mikrocontrollers und einem Reset-Button ausgestattet. Die Programmierung erfolgt über die benutzerfreundliche Arduino IDE, die eine breite Palette von Bibliotheken und Beispielen bietet, um den Einstieg zu erleichtern.
- Infrarot-Thermometer GY-906 MLX90614: Das GY-906 MLX90614 ist ein hochpräziser Infrarot-Sensor, der zur berührungslosen Temperaturmessung verwendet wird. Er misst die von einem Objekt emittierte Infrarotstrahlung und wandelt diese in Temperaturwerte um. Der Sensor kann Temperaturen im Bereich von -70°C bis +380°C mit einer Genauigkeit von ±0,5°C messen. Er kommuniziert über die I2C-Schnittstelle, wodurch er leicht in bestehende Mikrocontroller-Systeme wie den Arduino integriert werden kann. Dank seiner schnellen Reaktionszeit und hohen Empfindlichkeit ist er ideal für Anwendungen in der Medizin, Industrie und Automobiltechnik.
- LCD Modul 16x02 I2C: Das LCD Modul 16x02 I2C ist ein alphanumerisches Display, das 16 Zeichen pro Zeile und zwei Zeilen anzeigen kann. Es verwendet die I2C-Kommunikationsschnittstelle, was die Anzahl der benötigten Verbindungsleitungen reduziert und die Integration mit Mikrocontrollern vereinfacht. Dieses Display eignet sich hervorragend für die Darstellung von Textinformationen wie Temperaturmessungen, Statusmeldungen und anderen wichtigen Daten in Echtzeit. Die Hintergrundbeleuchtung und Kontraststeuerung sind anpassbar, um die Lesbarkeit in verschiedenen Lichtverhältnissen zu verbessern
- PC mit MATLAB/Simulink R2023b: Ein Computer, auf dem MATLAB/Simulink R2023b installiert ist, bietet eine leistungsstarke Umgebung für die grafische Modellierung, Simulation und Analyse dynamischer Systeme. MATLAB ist eine Programmiersprache und Umgebung, die speziell für numerische Berechnungen und Datenanalyse entwickelt wurde, während Simulink eine grafische Oberfläche für die Erstellung von Modellen und die Simulation von Systemen bietet. Diese Kombination ermöglicht es, komplexe Algorithmen zu entwickeln, zu testen und zu optimieren, was insbesondere in der Forschung und Entwicklung von Vorteil ist.
- Steckbrett: Ein Steckbrett, auch Breadboard genannt, ist ein unverzichtbares Werkzeug für das Prototyping elektronischer Schaltungen. Es besteht aus einer Vielzahl von Löchern, in die elektronische Bauteile und Verbindungsdrähte gesteckt werden können, ohne dass Löten erforderlich ist. Dies erleichtert das schnelle und flexible Zusammenstellen und Ändern von Schaltungen. Das Steckbrett ermöglicht es Entwicklern, verschiedene Konfigurationen zu testen und Fehler schnell zu beheben, bevor sie eine dauerhafte Platine erstellen.
- Jumper Kabel, männlich/männlich, 20 cm: Diese Jumper-Kabel sind 20 cm lange, flexible Verbindungsdrähte mit Stiftsteckern an beiden Enden. Sie werden verwendet, um elektrische Verbindungen zwischen Komponenten auf einem Steckbrett oder zwischen verschiedenen Modulen herzustellen. Die männlich/männlich-Konfiguration bedeutet, dass beide Enden des Kabels in Buchsen gesteckt werden können, was die Verdrahtung und Umverdrahtung in Prototypen und Experimenten vereinfacht.
- Buzzer: Ein Buzzer ist ein kleines elektromechanisches Bauteil, das zur Erzeugung von Tönen verwendet wird. Er kann über einen digitalen Ausgang eines Mikrocontrollers angesteuert werden, um akustische Signale zu erzeugen. Buzzers werden häufig in Projekten eingesetzt, um Alarme, Benachrichtigungen oder Bestätigungstöne auszugeben. Sie sind in der Lage, eine Vielzahl von Tönen zu erzeugen, die in Frequenz und Lautstärke variieren können, je nach den Anforderungen der Anwendung.
Technische Daten
Im Folgenden sind die technischen Daten des Infrarot-Thermometers aufgelistet:
Modell | MLX90614 |
Messbereich Temperatur (Objekt) | -70 °C .. +380 °C |
Messbereich Temperatur (Umgebung) | -40 °C .. +125 °C |
Genauigkeit | ±0,5 °C (0 °C .. +50 °C) |
Auflösung | 0,02 °C |
Reaktionszeit | 0,5 s |
Kommunikationsschnittstelle | I2C |
Betriebsspannung | 3,6 V .. 5 V DC |
Stromverbrauch | 1,5 mA |
Emissionsgrad | 0,1 .. 1,0 (einstellbar) |
Sichtfeld | 35 ° (Standard) |
Gehäuse | TO-39 |
Kalibrierung | Kalibriert für weite Temperaturbereiche |
Abmessungen | 7,2 mm Durchmesser, 5,6 mm Höhe (exklusive Pins) |
Pinbelegung
In diesem Kapitel wird die Pinbelegung des GY-906 MLX90614 anhand Tabelle 4 genauer beschrieben:
Pin | Beschreibung |
VDD | Versorgungsspannung (3,6 V .. 5 V DC) |
VSS | Masse (GND) |
SCL | I2C-Taktleitung (Clock) |
SDA | I2C-Datenleitung (Data) |
Funktionsweise Primärsensor
Abbildung 2 zeigt die Funktionsweise des Primärsensors in Form eines Blockschaltbildes.
Der MLX90614 nutzt eine Kombination aus Thermopile-Detektor, Operationsverstärker, ADC und DSP, gesteuert von einer State Machine, um präzise und zuverlässige Temperaturmessungen durchzuführen und diese Daten über eine PWM-Ausgabe zur Verfügung zu stellen. Ein interner Spannungsregler stellt die notwendige Stabilität für den Betrieb sicher. Diese strukturierte Verarbeitungskette ermöglicht es dem Sensor, genaue Temperaturmessungen ohne direkten Kontakt durchzuführen.
- Thermopile Detektor (81101): Der Sensor beginnt mit einem Thermopile-Detektor, der die einfallende Infrarotstrahlung in eine elektrische Spannung umwandelt. Diese Strahlung stammt von der Wärme des zu messenden Objekts.
- Operationsverstärker (OPA): Diese Spannung wird dann durch einen Operationsverstärker verstärkt, um das Signal für die weitere Verarbeitung vorzubereiten.
- Analog-Digital-Wandler (ADC): Nach der Verstärkung wird das analoge Signal vom ADC in digitale Daten umgewandelt. Dieser Schritt ist entscheidend, um die Daten für die digitale Verarbeitung nutzbar zu machen.
- Digitaler Signalprozessor (DSP): Die digitalisierten Daten werden an einen digitalen Signalprozessor weitergeleitet, der die Rohdaten analysiert und die tatsächliche Temperatur berechnet. Der DSP nutzt spezifische Algorithmen, um die Genauigkeit der Messung zu gewährleisten.
- PWM-Ausgabe: Die verarbeiteten Temperaturdaten können als PWM-Signal (Pulsweitenmodulation) ausgegeben werden, das als Schnittstelle zur Übertragung der Temperaturdaten an andere Systeme dient.
- State Machine: Eine interne State Machine steuert den gesamten Prozess, vom Einlesen der Infrarotstrahlung über die Signalverstärkung und -wandlung bis zur Ausgabe der Temperaturdaten. Sie koordiniert die verschiedenen Schritte und stellt sicher, dass der Sensor korrekt funktioniert.
- Spannungsregler: Schließlich sorgt ein interner Spannungsregler dafür, dass alle Komponenten des Sensors mit einer stabilen Betriebsspannung versorgt werden, was für die zuverlässige Funktion des Sensors unerlässlich ist.
Versuchsaufbau und Durchführung
Versuchsaufbau
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 3), Anschlussplan (Abb. 4) und Foto des Aufbaus (Abb. 5) dokumentiert.
Verkabelung des GY-906 MLX90614 mit Arduino und LCD
1. LCD-Display:
- VCC und GND: Sind mit 5V und GND des Arduino verbunden.
- SDA und SCL: Sind mit den Pins A4 und A5 des Arduino verbunden (I2C-Kommunikation).
2. GY-906 MLX90614 Sensor:
- VCC und GND: Sind mit 5V und GND des Arduino verbunden.
- SDA und SCL: Sind mit den Pins A4 und A5 des Arduino verbunden.
3. Buzzer:
- Positiver Anschluss: Ist mit dem digitalen Pin D13 des Arduino verbunden.
- Negativer Anschluss: Ist mit GND verbunden.
Funktionsweise
1. Temperaturmessung:
- Der GY-906 MLX90614 misst die Temperatur des Objekts berührungslos und gibt die Daten über I2C an den Arduino weiter.
2. Datenverarbeitung mit Simulink:
- Die vom Sensor erfassten Temperaturdaten werden vom Arduino an Simulink übertragen. Simulink filtert die Daten und überprüft ihre Stabilität.
3. Anzeige auf dem LCD:
- Die berechnete Temperatur wird vom Arduino an das LCD-Display gesendet und angezeigt.
4. Buzzer:
- Wenn die Temperaturwerte über einen bestimmten Zeitraum stabil bleiben, wird der Buzzer aktiviert und gibt einen Ton aus.
Detaillierter Anschlussplan
1. GY-906 MLX90614:
- VCC (Sensor) → 5V (Arduino)
- GND (Sensor) → GND (Arduino)
- SDA (Sensor) → A4 (Arduino)
- SCL (Sensor) → A5 (Arduino)
2. LCD Display:
- VCC (LCD) → 5V (Arduino)
- GND (LCD) → GND (Arduino)
- SDA (LCD) → A4 (Arduino)
- SCL (LCD) → A5 (Arduino)
3. Buzzer:
- Positiver Anschluss (Buzzer) → D13 (Arduino)
- Negativer Anschluss (Buzzer) → GND (Arduino)
Implementierung in Simulink
In der Abbildung ist das Simulink-Modell dargestellt, welches die Temperaturmessung mithilfe des GY-906_MLX90614 Sensors über ein Arduino-Board beschreibt. Der Prozess beginnt mit dem Einlesen der Temperaturdaten über die I2C-Schnittstelle, wandelt die Daten in lesbare Temperaturwerte um, filtert und speichert die Daten und gibt sie schließlich aus. Nachfolgend wird der Aufbau und die Funktionsweise des Modells detailliert erläutert.
Einlesen der Temperatur über die I2C-Schnittstelle
Das Modell liest die Temperaturdaten von einem Arduino-Board ein, das über die I2C-Schnittstelle mit dem GY-906_MLX90614 Sensor verbunden ist. Hierfür wird der `I2C Controller Read` Block verwendet, der speziell für die Kommunikation mit I2C-Geräten konzipiert ist. Die Peripherieadresse des Sensors ist auf 0x5A festgelegt. Die eingelesenen Daten werden als `double`-Werte weitergegeben und stellen die Rohwerte dar, die noch umgerechnet werden müssen.
Umrechnung der Sensorwerte in die Temperatur in °C
Der MLX90614-Sensor von Melexis liefert Temperaturmessungen in Form von Rohdatenwerten, die in einem speziellen Format kodiert sind. Laut den Datenblatt-Spezifikationen:
- Die Rohdaten werden als 16-Bit-Wert übertragen.
- Diese Rohdaten repräsentieren die Temperatur in Kelvin multipliziert mit einem Faktor von 50.
Formel aus dem Datenblatt:
Die Formel zur Umrechnung der Rohdaten in Kelvin lautet:
Die Temperatur in Kelvin wird dann in Celsius umgerechnet, indem man den absoluten Nullpunkt (273.15 K) subtrahiert:
Zusammengesetzte Formel:
Kombiniert ergibt sich die direkte Formel zur Umrechnung der Rohdaten in Grad Celsius:
Zusammenfassung:
Die Verwendung der Zahl 50 in der Umrechnungsformel für den MLX90614-Sensor basiert auf den Spezifikationen des Sensors und dient dazu, die Genauigkeit und Auflösung der Temperaturmessungen zu erhöhen. Dies ist eine designbedingte Entscheidung des Sensorherstellers, die in den technischen Dokumentationen und Datenblättern des Sensors beschrieben wird. Durch diese Umrechnung wird sichergestellt, dass die Sensorwerte in eine physikalisch sinnvolle Einheit überführt werden, die für die weitere Verarbeitung genutzt werden kann.
Filterung der Messwerte durch einen Median-Filter
Um die Messwerte zu glätten und potenzielle Ausreißer zu minimieren, wird ein Median-Filter verwendet. Der Median-Filter berechnet für jedes Datenfenster den Medianwert, der weniger empfindlich auf extreme Werte reagiert. Dadurch entsteht ein stabileres und verlässlicheres Signal. Im Modell wird der gefilterte Wert als „gefiltertes Signal“ bezeichnet und für nachfolgende Berechnungen sowie die Speicherung genutzt.
Mittelwert der letzten 5 Werte
Um eine zusätzliche Glättung und Stabilisierung der Daten zu erreichen, wird der Mittelwert der letzten fünf gemessenen Werte berechnet. Dies geschieht, indem die letzten fünf Werte summiert und anschließend durch fünf geteilt werden. Diese Mittelwertbildung trägt dazu bei, kurzfristige Schwankungen zu reduzieren und eine genauere Repräsentation der Temperatur über einen kleinen Zeitraum zu geben.
Buzzer-Steuerung
Eine wichtige Komponente des Modells ist die Buzzer-Steuerung. Diese Funktion wird aktiviert, wenn die Differenz zwischen dem gefilterten Signal und dem Mittelwert der letzten fünf Werte einen bestimmten Schwellwert überschreitet. Die genaue Logik ist wie folgt: 1. Differenzbildung: Die Differenz zwischen dem gefilterten Signal und dem Mittelwert wird berechnet. 2. Absolutwert und Vergleich: Der Absolutwert dieser Differenz wird mit dem Schwellwert (0.5) verglichen. 3. Aktivierung des Buzzers: Wenn der Absolutwert der Differenz größer als 0.5 ist, wird ein Signal an den Pin 13 des Arduino-Boards gesendet, wodurch der Buzzer aktiviert wird. Andernfalls bleibt der Buzzer inaktiv.
Diese Funktion dient als akustische Benachrichtigung, wenn erhebliche Temperaturabweichungen festgestellt werden, und kann als Alarm- oder Warnsystem genutzt werden.
Speicherung der Messdaten
Das Modell sieht ebenfalls die Speicherung der relevanten Messdaten vor. Es werden drei Hauptkategorien von Daten gespeichert: 1. Mittelwert der letzten fünf Werte: Diese Daten geben einen geglätteten Überblick über die Temperaturentwicklung. 2. Gefiltertes Signal: Die durch den Median-Filter geglätteten Daten werden gespeichert, um stabile Temperaturverläufe zu dokumentieren. 3. Rohes Signal: Die ungefilterten Rohdaten werden gespeichert, um eine detaillierte Analyse der originalen Messwerte zu ermöglichen.
Die Speicherung dieser Daten ermöglicht eine nachträgliche Auswertung und Analyse der Temperaturmessungen und hilft dabei, Trends oder Anomalien zu identifizieren.
Zusammenfassung
Das Simulink-Modell für den GY-906_MLX90614 Sensor bietet eine umfassende Lösung zur Temperaturmessung und -überwachung. Es kombiniert die Datenaufnahme, Umrechnung, Filterung, Mittelwertbildung und eine Buzzer-Steuerung, um präzise und zuverlässige Temperaturwerte zu liefern. Durch die Speicherung der Daten können diese für eine detaillierte Analyse und Weiterverarbeitung genutzt werden. Das Modell ist somit ein leistungsfähiges Werkzeug für Anwendungen, bei denen eine genaue und kontinuierliche Temperaturüberwachung erforderlich ist.
Versuchsdurchführung
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 3), Anschlussplan (Abb. 4) und ein Foto des Aufbaus (Abb. 5) dokumentiert.
Die Durchführung des Experiments beginnt mit dem Flashen des Arduino Uno R3 mit der entsprechenden Firmware. Nachdem alle relevanten Einstellungen vorgenommen wurden, wird die erste Messung gestartet. Der Temperatursensor wird statisch in einem Raum platziert, um die Raumtemperatur zu ermitteln. Der Sensor bleibt dabei über mehrere Minuten unbewegt, um stabile und zuverlässige Messdaten zu gewährleisten. Diese Messung dient dazu, die Genauigkeit des Temperatursensors unter statischen Bedingungen zu überprüfen und sicherzustellen, dass der Sensor konsistente Werte liefert.
Im Anschluss wird eine dynamische Messung zur Einstellung des Medianfilters durchgeführt. Hierzu wird der Temperatursensor in einem Backofen aufgehängt. Der Backofen wird von Raumtemperatur auf 50°C aufgeheizt. Während dieses Vorgangs werden kontinuierlich Temperaturdaten erfasst, um die Reaktion des Sensors auf Temperaturänderungen zu analysieren. Das Ziel dieser Messung ist es, die Parameter des Medianfilters zu optimieren, um ein verwertbares und stabiles Signal zu erhalten. Es soll überprüft werden, ob das aktuelle Fenster des Medianfilters groß genug gewählt ist oder ob Anpassungen erforderlich sind, um die Qualität der dynamischen Messungen zu verbessern.
Referenzwerte der jeweiligen Versuche
Für die statische Messung, bei der der Temperatursensor in einem Raum platziert wird, dient die Raumtemperatur als Referenzwert. Dieser Referenzwert wird mithilfe eines präzisen digitalen Thermometers parallel gemessen (28 °C, Dachgeschosswohnung). Dadurch können die vom Sensor erfassten Temperaturwerte mit den tatsächlichen Raumtemperaturen verglichen werden, um die Genauigkeit und Konsistenz des Sensors unter statischen Bedingungen zu überprüfen.
Bei der dynamischen Messung, bei der der Temperatursensor in einem Backofen aufgehängt und der Backofen von Raumtemperatur auf 50°C aufgeheizt wird, dient die Temperatur des Backofens als Referenzwert. Der Vergleich der Sensorablesungen mit den tatsächlichen Temperaturwert des Backofens ermöglicht die Analyse und Optimierung des Medianfilters, um sicherzustellen, dass der Sensor auch unter dynamischen Bedingungen verlässliche und stabile Temperaturdaten liefert.
Modelleinstellungen: Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,1 s
Versuchsbeobachtung
Statische Messung
Die statische Messung hat gezeigt, dass die Referenztemperatur von 29 °C nahezu erreicht wird, wie in Abbildung 7 (gelbe Kurve) dargestellt. Es sind keine großen Schwankungen oder Ausreißer zu erkennen, die das Messergebnis signifikant verfälschen könnten. Dies deutet darauf hin, dass der Temperatursensor unter statischen Bedingungen sehr genau arbeitet und konsistente Messwerte liefert. Das Medianfilter, dessen Einfluss in Abbildung 7 durch die blaue Kurve veranschaulicht wird, zeigt, dass es keinen erheblichen Einfluss auf das bereits gut geglättete Messergebnis hat. Dennoch trägt das Medianfilter zu einer zusätzlichen Glättung der Daten bei, indem es kleinere Schwankungen weiter reduziert. Dies sorgt für eine noch gleichmäßigere Datenkurve und kann helfen, gelegentliche Störsignale zu eliminieren. Zusätzlich wurde der Buzzer passend ausgelöst, wie in Abbildung 8 (blaue Kurve) zu sehen ist. Der Buzzer aktiviert sich, wenn die Differenz zwischen dem Mittelwert der letzten fünf Messwerte und dem aktuellen Wert kleiner als 0,5 °C ist. Dieses Kriterium gewährleistet, dass der Buzzer nur bei stabilen Temperaturveränderungen anspringt, wodurch Fehlalarme minimiert werden. Diese Funktionsweise ist auch in einem begleitenden Video dargestellt, das den Auslösemechanismus des Buzzers demonstriert.
Dynamische Messung
Die dynamische Messung konnte leider nicht durchgeführt werden, da beim ausführen des Programms sehr häufig eine Fehlermeldung erschienen ist (siehe Abbildung 9), weshalb der Sensor nicht ausgelesen werden konnte. Die genaue Ursache konnte nicht ermittelt werden, wobei die Vermutung jedoch darauf liegt, dass die I2C-Kommunikation nicht korrekt eingestellt ist. Auch nach ausgiebiger Recherche konnte der Fehler nicht behoben werden. Daher wird im Folgenden nur mit der statischen Messung fortgeführt.
Auswertung
Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.
Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z. B. Median-Filter). Das Filter wird hierzu auf eine Fensterbreite von 30 Werten eingestellt. Das zufriedenstellende Filterergebnis für statische Werte zeigt Abb. 6 als blaue Kurve. Es konnte mit dynamische Werten verifiziert werden (vgl. Abb. 7). Das Datenblatt ([2, S. 6]) belegt die Messungen und bezeichnet die Messausreisser als "instabile Ausgabe" für maximal 5 ms alle 40 ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10 ms. Mit 10 Werten ist die Filterwirkung zu gering.
Zusammenfassung und Ausblick
- Zusammenfassung der Kapitel 1-4
- Diskussion der Ergebnisse
- Ausblick
- Selbstreflexion/Lessons learned
Ergebnisvideo
Binden Sie hier Ihr Ergebnisvideo ein.
Anleitung: Videos im Wiki einbinden
Lernzielkrontrolle
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Lernzielkontrollfragen |
|
Literatur
Zitieren Sie nach DIN ISO 690:2013-10.
Anhang
- Datenblätter
- Simulink-Modell
- Originaldateien (PAP, Schaltplan,... )
→ zurück zum Hauptartikel: BSE Angewandte Informatik SoSe24 | Hausarbeit SoSe24
- ↑ Eigenes Dokument