Infrarot Thermometer GY-906 MLX90614: Unterschied zwischen den Versionen
Zeile 197: | Zeile 197: | ||
4. Buzzer: Wenn die Temperaturwerte über einen bestimmten Zeitraum stabil bleiben, wird der Buzzer aktiviert und gibt einen Ton aus. | 4. Buzzer: Wenn die Temperaturwerte über einen bestimmten Zeitraum stabil bleiben, wird der Buzzer aktiviert und gibt einen Ton aus. | ||
=== Implementierung in Simulink === | |||
=== Versuchsdurchführung === | === Versuchsdurchführung === |
Version vom 28. Juli 2024, 22:19 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. GY-906 MLX90614 Sensor:
- VCC: Verbinde den VCC-Pin des Sensors mit dem **5V**-Pin des Arduino.
- GND: Verbinde den GND-Pin des Sensors mit dem **GND**-Pin des Arduino.
- SDA: Verbinde den SDA-Pin des Sensors mit dem **A4**-Pin des Arduino.
- SCL: Verbinde den SCL-Pin des Sensors mit dem **A5**-Pin des Arduino.
2. LCD-Display:
- VCC: Verbinde den VCC-Pin des LCDs mit dem **5V**-Pin des Arduino.
- GND: Verbinde den GND-Pin des LCDs mit dem **GND**-Pin des Arduino.
- SDA: Verbinde den SDA-Pin des LCDs mit dem **A4**-Pin des Arduino (I2C SDA).
- SCL: Verbinde den SCL-Pin des LCDs mit dem **A5**-Pin des Arduino (I2C SCL).
3. Buzzer:
- Positiver Anschluss: Verbinde den positiven Anschluss des Buzzers mit dem digitalen Pin **D13** des Arduino.
- Negativer Anschluss: Verbinde den negativen Anschluss des Buzzers mit dem **GND**-Pin des Arduino.
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.
Implementierung in Simulink
Versuchsdurchführung
Das Modell zur Datenverarbeitung wurde gemäß Abb. 5 in Simulink aufgebaut. Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.
Modelleinstellungen: Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,01 s
Versuchsbeobachtung
Das Signal des Sensors weist alle 40 ms systematische Ausreisser auf (vgl. Abb. 6, rote Kurve).
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