ARD VIB 01 - Piezo Vibrationssensor: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(89 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]
[[Datei:SEN-VIB01-1.jpg|thumb|rigth|900px|Abb. 1: Piezo Vibrationssensor ARD VIB 01 <ref name = "Reichelt">https://www.reichelt.de/arduino-piezo-vibrationssensor-ard-vib-01-p316345.html?&nbc=1, abgerufen am 26.07.2024</ref>]]
[[Datei:SEN-VIB01-1.jpg|thumb|rigth|1000px|Abb. 1: Piezo Vibrationssensor ARD VIB 01 <ref name = "Reichelt">https://www.reichelt.de/arduino-piezo-vibrationssensor-ard-vib-01-p316345.html?&nbc=1, abgerufen am 26.07.2024</ref>]]
{|class="wikitable"
{|class="wikitable"
|-
|-
Zeile 59: Zeile 59:


== Projektbeschreibung ==
== Projektbeschreibung ==
Ein Piezo-Vibrationssensor besteht aus einem piezoelektrischen Element, das mechanische Vibrationen in elektrische Signale umwandelt. Diese Signale können zur Überwachung von Maschinen, zur Strukturüberwachung oder zur Erkennung von Erdbeben verwendet werden. Der ARD_VIB_01 Sensor nutzt diese Technologie, um eine präzise und wartungsfreie Vibrationsüberwachung zu ermöglichen. <ref name="VibrationSensor" /> <br>
Ein Piezo-Vibrationssensor besteht aus einem piezoelektrischen Element, das mechanische Vibrationen in elektrische Signale umwandelt. Diese Signale können zur Überwachung von Maschinen, zur Strukturüberwachung oder zur Erkennung von Erdbeben verwendet werden. Der ARD_VIB_01 Sensor nutzt diese Technologie, um eine präzise und wartungsfreie Vibrationsüberwachung zu ermöglichen. <ref name="Reichelt" /> <br>


Im Folgenden ist eine Liste mit den zum Aufbau der Schaltung benötigten Komponenten dargestellt:
Im Folgenden ist eine Liste mit den zum Aufbau der Schaltung benötigten Komponenten dargestellt:
Zeile 78: Zeile 78:
| 5  || 1 || Steckbrett
| 5  || 1 || Steckbrett
|-
|-
| 6  || 5 || Jumper Kabel, männlich/männlich, 20 cm
| 6  || 5 || Jumper Kabel, männlich/männlich, 20&thinsp;cm
|}
|}


Zeile 84: Zeile 84:
In diesem Abschnitt werden die in Tabelle 2 aufgelisteten Hard- und Softwarekomponenten näher erläutert.
In diesem Abschnitt werden die in Tabelle 2 aufgelisteten Hard- und Softwarekomponenten näher erläutert.


[[Datei:Arduino Uno R3.jpg|rechts|mini|150px| Abb. 2: Arduino Uno R3 <ref name = "ard">https://wiki.hshl.de/wiki/index.php/Arduino:_Bibliothek_einbinden, abgerufen am 13.07.2024</ref>]]
[[Datei:Arduino Uno R3.jpg|rechts|mini|150px| Abb. 2: Arduino Uno R3 <ref name = "ard">https://wiki.hshl.de/wiki/index.php/Arduino:_Bibliothek_einbinden, abgerufen am 26.07.2024</ref>]]
'''Arduino Uno R3'''<br>
'''Arduino Uno R3'''<br>
Der Arduino Uno R3 ist ein Mikrocontroller-Board, das auf dem ATmega328P basiert. Es verfügt über 14 digitale Ein-/Ausgangspins, 6 analoge Eingänge, einen 16 MHz Quarzoszillator, eine USB-Schnittstelle, eine Strombuchse, eine ICSP-Stiftleiste und einen Reset-Button. Der Arduino wird über die Arduino IDE oder Matlab Simulink in Verbindung mit dem Arduino Hardware Support Package programmiert und ist in der Lage, verschiedene Sensoren und Module anzusteuern und Daten zu verarbeiten. <ref name = "AHW">https://ch.mathworks.com/de/hardware-support/arduino.html, abgerufen am 13.07.2024</ref> <ref name = "Arduino">https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf, abgerufen am 13.07.2024</ref>
Der Arduino Uno R3 ist ein Mikrocontroller-Board, das auf dem ATmega328P basiert. Es verfügt über 14 digitale Ein-/Ausgangspins, 6 analoge Eingänge, einen 16&thinsp;MHz Quarzoszillator, eine USB-Schnittstelle, eine Strombuchse, eine ICSP-Stiftleiste und einen Reset-Button. Der Arduino wird über die Arduino IDE oder Matlab Simulink in Verbindung mit dem Arduino Hardware Support Package programmiert und ist in der Lage, verschiedene Sensoren und Module anzusteuern und Daten zu verarbeiten. <ref name = "AHW">https://ch.mathworks.com/de/hardware-support/arduino.html, abgerufen am 13.07.2024</ref> <ref name = "Arduino">https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf, abgerufen am 26.07.2024</ref>


[[Datei:Piezo Vibration Sensor.jpg|rechts|mini|250px| Abb. 3: ARD_VIB_01 Piezo-Vibrationssensor <ref name="VibrationSensor" />]]
[[Datei:SEN-VIB01-1.jpg|rechts|mini|150px| Abb. 3: ARD_VIB_01 Piezo-Vibrationssensor <ref name="Reichelt" />]]
'''ARD_VIB_01 Piezo-Vibrationssensor'''<br>
'''ARD_VIB_01 Piezo-Vibrationssensor'''<br>
Der ARD_VIB_01 ist ein Piezo-Vibrationssensor, der mechanische Vibrationen in elektrische Signale umwandelt. Der Sensor besteht aus einem piezoelektrischen Material, das bei mechanischer Belastung elektrische Spannung erzeugt. Diese Spannung kann vom Arduino erfasst und zur Analyse von Vibrationsmustern verwendet werden. Der Sensor eignet sich für Anwendungen wie die Überwachung von Maschinenzuständen oder die Erdbebendetektion. <ref name="VibrationSensor">https://wiki.hshl.de/wiki/index.php/ARD_VIB_01_-_Piezo_Vibrationssensor, abgerufen am 26.07.2024</ref>
Der ARD_VIB_01 ist ein Piezo-Vibrationssensor, der mechanische Vibrationen in elektrische Signale umwandelt. Der Sensor besteht aus einem piezoelektrischen Material, das bei mechanischer Belastung elektrische Spannung erzeugt. Diese Spannung kann vom Arduino erfasst und zur Analyse von Vibrationsmustern verwendet werden. Der Sensor eignet sich für Anwendungen wie die Überwachung von Maschinenzuständen oder die Erdbebendetektion. <ref name="Reichelt" />


[[Datei:LCD HD44780.jpg|rechts|mini|200px| Abb. 4: LCD Modul 16x02 I2C <ref name = "LCD">https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 13.07.2024</ref>]]
[[Datei:LCD HD44780.jpg|rechts|mini|150px| Abb. 4: LCD Modul 16x02 I2C <ref name = "LCD">https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 26.07.2024</ref>]]
'''LCD Modul 16x02 I2C'''<br>
'''LCD Modul 16x02 I2C'''<br>
Das [[LCD_Modul_16x02_I2C|LCD Modul 16x02 I2C]] ist ein Display-Modul mit 16 Spalten und 2 Zeilen. Es verwendet die I2C-Schnittstelle, die nur zwei Datenleitungen benötigt, wodurch die Anzahl der benötigten Pins am Arduino reduziert wird. Das Modul ermöglicht die Darstellung von Textinformationen, wie z.B. Benutzername und RFID-Tag-ID. Durch die Integration mit dem Arduino lassen sich die auf dem LCD angezeigten Informationen einfach programmieren und anpassen. <ref name = "Display">https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 13.07.2024</ref>
Das [[LCD_Modul_16x02_I2C|LCD Modul 16x02 I2C]] ist ein Display-Modul mit 16 Spalten und 2 Zeilen. Es verwendet die I2C-Schnittstelle, die nur zwei Datenleitungen benötigt, wodurch die Anzahl der benötigten Pins am Arduino reduziert wird. Das Modul ermöglicht die Darstellung von Textinformationen, wie z.B. Benutzername und RFID-Tag-ID. Durch die Integration mit dem Arduino lassen sich die auf dem LCD angezeigten Informationen einfach programmieren und anpassen. <ref name = "Display">https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 26.07.2024</ref>


'''Simulink R2023b'''
'''Simulink R2023b'''
Zeile 100: Zeile 100:


'''Steckbrett'''<br>
'''Steckbrett'''<br>
Ein Steckbrett (Breadboard) ist ein wiederverwendbares Prototyping-Tool, das es ermöglicht, elektronische Schaltungen ohne Löten aufzubauen. Es besteht aus einer Vielzahl von Löchern, in die Komponenten und Verbindungsdrähte gesteckt werden können, um elektrische Verbindungen herzustellen. Das Steckbrett erleichtert das Experimentieren mit verschiedenen Schaltungen und das schnelle Anpassen von Verbindungen, ohne dass dauerhafte Änderungen vorgenommen werden müssen.  <ref name = "Steckbrett">https://www.az-delivery.de/products/breadboard, abgerufen am 13.07.2024</ref>
Ein Steckbrett (Breadboard) ist ein wiederverwendbares Prototyping-Tool, das es ermöglicht, elektronische Schaltungen ohne Löten aufzubauen. Es besteht aus einer Vielzahl von Löchern, in die Komponenten und Verbindungsdrähte gesteckt werden können, um elektrische Verbindungen herzustellen. Das Steckbrett erleichtert das Experimentieren mit verschiedenen Schaltungen und das schnelle Anpassen von Verbindungen, ohne dass dauerhafte Änderungen vorgenommen werden müssen.  <ref name = "Steckbrett">https://www.az-delivery.de/products/breadboard, abgerufen am 26.07.2024</ref>


=== Technische Daten ===
=== Technische Daten ===
Nachfolgend sind die Technischen Daten des Primärsensors aufgetragen:
Nachfolgend sind die Technischen Daten des Primärsensors aufgetragen:
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 3: Technische Daten des Primärsensors <ref name = "FunduinoShop">https://funduinoshop.com/elektronische-module/wireless-iot/rfid-nfc/rfid-kit-mit-mifare-rc522-empfaenger, abgerufen am 13.07.2024</ref>
|+ style = "text-align: left"|Tabelle 3: Technische Daten des Primärsensors <ref name = "Data1">https://www.pollin.de/media/52/d1/51/1701729549/D811421-D.pdf, abgerufen am 26.07.2024</ref>
|-
|-
| Messbereich || 2,5&thinsp;cm bis 10&thinsp;cm
| Modell || Piezoelektronischer keramischer Chip
|-
| Messbereich || 0,1&thinsp;mm/s bis xx&thinsp;mm/s
|-
| Messwerte || Analog
|-
| Betriebsspannung || Keine
|-
| Größe || 36 x 20 x 14&thinsp;mm
|-  
|-  
| RFID Set für Arduino || 90° Stiftleiste bereits angelötet
| Betriebstemperatur || -10 bis 70°C
|-
| Chipsatz || MFRC522
|-
| Norm || ISO, IEC 14443A, Mifare
|-
| Protokoll || SPI
|-
| Betriebsspannung || 3.3V
|-
| Frequenz || 13,56 MHz
|-
| Stromaufnahme || 13-26mA
|-  
| Stromaufnahme Standby || 10-13mA
|-
| Betriebstemperatur || -20 bis 80°C
|}
|}


=== Pinbelegung ===
Im Folgenden wird die Pinbelegung des ARD_VIB_01 Piezo-Vibrationssensors und dessen Verbindung zum Arduino Uno R3 dargestellt. Diese Tabelle zeigt, welche Pins des Vibrationssensors mit welchen Pins des Arduino verbunden werden müssen, um eine korrekte Funktion zu gewährleisten.
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 4: Pinbelegung
|+ style = "text-align: left"|Tabelle 4: Pinbelegung des ARD_VIB_01 <ref name = "Data2">https://cdn-reichelt.de/documents/datenblatt/A300/SEN-VIB01_ANLEITUNG_2022-01-07.pdf, abgerufen am 26.07.2024</ref>
! style="font-weight: bold;" | Pin
! style="font-weight: bold;" | Pin
! style="font-weight: bold;" | Belegung
! style="font-weight: bold;" | Belegung
! style="font-weight: bold;" | Signal
! style="font-weight: bold;" | Signal
|-
|-
| 1 || Versorgungsspannung VCC  || 5&thinsp;V
| 1 || GND || GND
|-
|-
| 2 || Triggereingang || TTL-Pegel
| 2 || - || NC
|-
|-
| 3 || Echo, Ausgang Messergebnis  || TTL-Pegel
| 3 || A0 || Analog Pin A0
|-
|}
| 4 || Masse (GND)  || 0&thinsp;V
 
Diese Belegung stellt sicher, dass der Vibrationssensor korrekt mit dem Arduino verbunden ist, sodass die Kommunikation und Datenerfassung zwischen den beiden Geräten reibungslos funktioniert.
|}
|}
== Funktionsweise Primärsensor und Messschaltung ==
[[Datei:Piezoelektrisches Material im Ruhezustand.png|rechts|mini|250px| Abb. 5: Piezoelektrisches Material im Ruhezustand <ref name = "vid">https://www.youtube.com/watch?v=Z0wZv8aDwlY, abgerufen am 26.07.2024</ref>]]
[[Datei:Piezoelektrisches Material bei Verformung.png|rechts|mini|250px| Abb. 6: Piezoelektrisches Material bei Verformung <ref name="vid" />]]
In diesem Kapitel werden der Primärsensor und die Messschaltung beschrieben. Dabei wird unter anderem auf den Aufbau und die Funktionsweise des Sensors eingegangen.<br>
'''Primärsensor: ARD_VIB_01 Piezo-Vibrationssensor'''<br>
Der ARD_VIB_01 Piezo-Vibrationssensor besteht aus einem piezoelektrischen Material, typischerweise Quarz oder eine polykristalline Keramik, die bei mechanischer Verformung elektrische Ladung erzeugt. Abbildung 5 zeigt die Struktur des Sensors im Ruhezustand. Die roten und schwarzen Kreise repräsentieren die positiven und negativen Ionen, die in einem Gleichgewichtszustand angeordnet sind.<br>
Wenn der Sensor Vibrationen oder mechanische Belastungen ausgesetzt ist (siehe Abbildung 6), verschieben sich die Ionen, wodurch eine elektrische Spannung entsteht. Diese Spannung ist proportional zur Stärke und Frequenz der Vibrationen. Der Sensor erfasst diese Spannung und wandelt sie in ein analoges Signal um, das vom Arduino zur weiteren Verarbeitung gelesen werden kann. <ref name = "piezo">https://vetsuisse.com/vet-iml/lernmodule/htmls/slide.html?radiosurfvet|radgeneral|sonography|sonobasics|2, abgerufen am 26.07.2024</ref> <ref name = "piezo2">https://vetsuisse.com/vet-iml/lernmodule/htmls/slide.html?radiosurfvet|radgeneral|sonography|sonobasics|2, abgerufen am 26.07.2024</ref>
'''Messschaltung'''<br>
Die Messschaltung umfasst die Kontakte des ARD_VIB_01, sowie die Bauteile auf der Adapterplatine welche direkt mit dem Arduino verbunden sind. <ref name="piezo2" />
<gallery widths="500" heights="200">
Datei:Messschaltung ARD VIB 01 .png|800px|mini|Abb. 7: Piezoelektrisches Material bei Verformung <ref name="piezo2" />
</gallery>


== Versuchsaufbau und Durchführung ==
== Versuchsaufbau und Durchführung ==
In diesem Kapitel wird der Versuchsaufbau , die Implementierung in Simulink und die Versuchsbeobachtung beschrieben. Relevante Themen wie Messunsicherheit, Filterung und Referenzenwerte werden ebenfalls behandelt.
=== Versuchsaufbau ===
=== Versuchsaufbau ===
[[Datei:Schaltplan Sharp.jpg|thumb|rigth|450px|Abb. 2: Schaltplan]]
{| class="mw-datatable"
[[Datei:Anschlussplan Sharp.png|thumb|rigth|450px|Abb. 3: Anschlussplan]]
! style="font-weight: bold;" |
[[Datei:Foto Sharp.png|thumb|rigth|450px|Abb. 4: Foto des Versuchsaufbaus]]
! style="font-weight: bold;" |
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.
|+ style = "text-align: left"|
|-
|[[Datei:Schaltplan ARD VIB 01 - Piezo Vibrationssensor.png|thumb|rigth|500px|Abb. 8: Schaltplan<ref> Eigenes Dokument </ref>]]
|[[Datei:Verdratungsplan ARD VIB 01 - Piezo Vibrationssensor.png|thumb|rigth|600px|Abb. 9: Anschlussplan<ref> Eigenes Dokument </ref>]]
|}
Der Versuchsaufbau zeigt ein Arduino Uno, ein LCD-Display, einen ARD VIB 01 (Piezo Vibrationssensor) und einen Buzzer, die miteinander verbunden sind.
 
'''Verkabelung'''
 
1.LCD-Display:
 
*VCC und GND des Displays sind mit 5V und GND des Arduino verbunden.
*SDA und SCL des Displays sind mit den entsprechenden Pins am Arduino verbunden (A4 und A5 für I2C-Kommunikation)(aus Datenblatt entnommen).
2.ARD_VIB_01 Piezo-Vibrationssensor:
 
*GND des Sensors ist mit GND des Arduino verbunden.
*Der Ausgangspin des Sensors (A0) ist mit einem analogen Pin des Arduino (A0) verbunden.
3.Buzzer:
 
*Der positive Anschluss des Buzzers ist mit einem digitalen Pin des Arduino (D13) verbunden.
*Der negative Anschluss des Buzzers ist mit GND verbunden.
 
'''Funktionsweise'''
 
1. ''Vibrationsmessung:''
Der ARD_VIB_01 Piezo-Vibrationssensor misst die Vibrationen und gibt eine entsprechende Spannung aus, die am analogen Pin des Arduino eingelesen wird.
 
2. ''Datenverarbeitung mit Simulink:''
Die eingelesenen Spannungswerte werden an Simulink übergeben, wo sie in Schwingungsstärken umgewandelt werden.
 
3. ''Anzeige auf dem LCD:''
Die berechneten Schwingungsstärken werden über den Arduino an das LCD-Display gesendet und angezeigt.
 
4. ''Buzzer:''
Wenn die Vibrationswerte über einen bestimmten Zeitraum einen Schwellenwert überschreiten, wird der Buzzer aktiviert, um einen Ton zu erzeugen.
 
===Implementierung in Simulink===
[[Datei:Vibrationsberechnung.png|rechts|mini|850px| Abb. 10: Simulink-Modell zur Sensorverarbeitung <ref> Eigenes Dokument </ref>]]
In Abbildung 10 ist das Simulink-Modell dargestellt. Der Prozess beginnt mit dem Einlesen des analogen Eingangs A0. Das empfangene Digitalwort wird daraufhin umgewandelt und gefiltert. Das gefilterte Signal wird anschließend in einem Diagramm dargestellt. Anschließend wird der Mittelwert des Signals über fünf Messwerte errechnet.
====Umwandlung des Digitalwortes in V====
Im Simulink-Modell wird das vom Vibrationssensor gelesene Digitalwort in Volt (V) umgewandelt. Der Sensorwert (ein 10-Bit-Digitalwert von 0 bis 1023 mit einer Referenzspannung von 5&thinsp;V) wird durch den Analog-Digital-Wandler (ADC) des Arduino erfasst. Um diesen Wert in Volt umzurechnen, wird der folgende Schritt mit einem Gain durchgeführt:
 
<math>Signal in V = \frac{Signal in Digitalwort \cdot 5V}{1023} </math> <br>
 
Dieser umgerechnete Spannungswert wird dann gefiltert und zur weiteren Verarbeitung im Modell verwendet.
 
====Filterung des Signals====
[[Datei:Subwoofer mit ARD VIB 01 - Piezo Vibrationssensor.jpg|rechts|mini|200px| Abb. 11: Subwoofer mit ARD VIB 01 - Piezo Vibrationssensor <ref> Eigenes Dokument </ref>]]
Im Simulink-Modell wird ein Medianfilter verwendet, um die Spannungssignale des Vibrationssensors zu glätten. Der Filter hat eine Größe von 30 Werten. Dies bedeutet, dass der Median der letzten 30 gemessenen Werte berechnet wird, um Ausreißer zu minimieren und ein stabileres Signal zu erzeugen. Dieses gefilterte Signal wird dann für die weitere Verarbeitung und zur Steuerung des Buzzers verwendet. Es werden 30 Werte gefiltert um auch bei niedrigen Frequenzen ein konstantes Signal zu erhalten.
 
====Kalibrierung der Spannungswerte====
Eine Umrechnung von Spannungs- in Vibrationswerte konnte nicht erfolgen, da es keine Datenblätter gibt, die eine solche Umrechnung ermöglichen. Zudem reagiert der Sensor eher auf härtere Schläge als auf Bewegungen und Frequenzen. Selbst mit einem kleinen Subwoofer war es nicht möglich, die Werte zum Ausschlagen zu bringen, selbst bei verschiedenen Frequenzen und voller Lautstärke (vgl. Abb. 11). Daher konnte die Messkurve auch nicht händisch erstellt werden. In nachfolgenden werden daher immer die Spannungswerte betrachtet. Eine beispielhafte Umrechnung befindet sich in dem Modell gibt die werte allerdings nur weiter.
 
====Summeransteuerung bei starker Vibration====
Bei einer starken Vibration wird ein Buzzer aktiviert. Das Modell ermöglicht somit eine Überwachung und eine akustische Benachrichtigung basierend auf den gemessenen Werten. Steigt der Mittelwert auf über 2&thinsp;V so wird der Buzzer aktiviert. Liegt der Wert darunter bleibt dieser abgeschaltet.
 
====Bildschirmausgabe====
[[Datei:Display Initialisierungsablauf.png|rechts|mini|200px| Abb. 12:  Display Initialisierungsablauf <ref name = "display">https://wiki.ei.htwg-konstanz.de/_media/professoren_webseiten/rebholz/ansteuerung_eines_lcd-displays_mit_matlab_konstantin_lutz_2021.pdf, abgerufen am 26.07.2024</ref>]]
Eine funktionierende Bildschirmausgabe konnte nicht erreicht werden. Dazu muss der Bildschirm über den gezeigten SPI-Block gesteuert und zunächst initialisiert werden. Das Schreiben der Register zur Initialisierung über eine S-Funktion hat nicht funktioniert, da die Wire.h-Bibliothek nicht eingebunden werden konnte. Ein zweiter Versuch, die Werte im richtigen Timing mithilfe einer Clock selbst zu schreiben, blieb auch erfolglos. Allerdings konnte eine Kommunikation mit dem Bildschirm aufgebaut werden, welche die Bildschirmbeleuchtung zum Blinken gebracht hat. In Abbildung 11 ist die Reihenfolge der zu setzenden Register und das Timing zu sehen, um den Bildschirm anschließend zu nutzen. Anschließend könnten werte auf den Display ausgegeben werden. <ref name="display" />
 
'''Verwendete Toolbox:''' DSP System Toolbox, Simulink Support Package für Arduino Hardware


=== Versuchsdurchführung ===
=== Versuchsdurchführung ===
[[Datei:Simulink Sharp.png|thumb|rigth|450px|Abb. 5: Simulink-Modell]]
[[Datei:Versuchsaufbau ARD VIB 01 - Piezo Vibrationssensor.jpg|rechts|mini|200px| Abb. 13: Display Initialisierungsablauf <ref> Eigenes Dokument </ref>]]
Das Modell zur Datenverarbeitung wurde gemäß Abb. 5 in Simulink aufgebaut. Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 8), Anschlussplan (Abb. 9) und Foto des Aufbaus (Abb. 13) dokumentiert.
 
Die Durchführung des Experiments beginnt mit dem Flashen des Arduino Uno R3. Nachdem alle relevanten Daten eingestellt wurden, wird die Messung gestartet. Dazu wird der Versuchsaufbau auf einer stabilen Oberfläche platziert und für mehrere Sekunden nicht bewegt, um statische Parameter zu gewährleisten. Nach der initialen statischen Messung wird die Dynamik des Vibrationssensors untersucht. Zunächst wird der Sensor leicht angetippt, um kleinere Vibrationen zu erzeugen. Anschließend wird der Sensor kräftiger angetippt, um einen deutlicheren Ausschlag zu beobachten. Zu guter Letzt wird der Sensor mit einer hohen Frequenz angestoßen, um maximale Spannungswerte zu erzeugen und den Buzzer zu testen. Diese Schritte helfen dabei, die Funktion des Sensors und die Einstellungen des Medianfilters zu überprüfen und sicherzustellen, dass verwertbare Signale erfasst werden.
 
====Referenzwert====
Ein Referenzwert konnte weder ermittelt noch gefunden werden, da keine geeignete Literatur oder ähnliche Versuche gefunden werden konnten.
 
====Messunsicherheit====
Die Messunsicherheit konnte nicht bestimmt werden, da die Messwerte immer null sind und lediglich bei einem stärkeren Stoß der Sensor ausgeschlagen hat. Dieser Stoß konnte nicht hinreichend genau mehrfach durchgeführt werden, sodass eine berechnung der Messunsicherheit nicht möglich war.


'''Modelleinstellungen:''' Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001 s
'''Modelleinstellungen:''' Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001&thinsp;s


=== Versuchsbeobachtung ===
=== Versuchsbeobachtung ===
[[Datei:Sharp Ergebnis 1.png|thumb|rigth|450px|Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)]]
Während des Experiments wurde festgestellt, dass der ARD_VIB_01 Piezo-Vibrationssensor auf kräftige Stöße mit deutlichen Spannungsausschlägen reagiert, während leichte Antippbewegungen keine nennenswerten Spannungsänderungen verursachten. Dies ist in den Ergebnissen klar zu erkennen, wie in Abbildung 14 gezeigt.  
[[Datei:Sharp Ergebnis 2.png |thumb|rigth|450px|Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors]]
 
Das Signal des Sensors weist alle 40&thinsp;ms systematische Ausreisser auf (vgl. Abb. 6, rote Kurve).
<gallery widths="1000" heights="500">
Datei:Versuchsbeobachtung ARD VIB 01 - Piezo Vibrationssensor.png|800px|mini|Abb. 14: Signal-Zeit-Diagramm des ARD_VIB_01 Piezo-Vibrationssensors <ref> Eigenes Dokument </ref>
</gallery>
 
In den durchgeführten Messungen wurde beobachtet, dass die meisten Ausschläge bei kräftigen Stößen als einzelne, schmale Peaks bis zu 3&thinsp;V auftraten. In weiteren Messungen konnten sogar Spitzenwerte bis zu 5&thinsp;V erreicht werden. Ein leichtes Antippen des Sensors führte hingegen zu keinen signifikanten Spannungsänderungen, was darauf hinweist, dass der Sensor hauptsächlich auf starke mechanische Impulse reagiert.


== Auswertung==
== Auswertung==
Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.
In der Auswertung der Messdaten des ARD_VIB_01 Piezo-Vibrationssensors zeigt sich, dass der Sensor nur auf starke mechanische Stöße reagiert und leichte Vibrationen nicht erfasst. Abbildung 14 illustriert deutlich, dass lediglich kräftige Schläge signifikante Spannungsausschläge erzeugen, während normale Vibrationen selbst bei verschiedenen Frequenzen eines Subwoofers nicht erkannt wurden.
 
Die Fähigkeit des Sensors, Vibrationen zu messen, ist daher stark eingeschränkt. Während einzelne Peaks bis zu 3&thinsp;V und in einigen Fällen bis zu 5&thinsp;V verzeichnet wurden, führten kontinuierliche Schwingungen nicht zu messbaren Ergebnissen. Dies stellt die Eignung des ARD_VIB_01 zur Erkennung von Vibrationen in Frage, insbesondere für Anwendungen, die eine kontinuierliche Überwachung erfordern.
 
Auch die Filterung der Daten zeigt nur bedingt Sinn, da keine dauerhaften Schwingungen aufgezeichnet werden konnten. Die Umrechnung der Spannungswerte in eine messbare Größe wie mm/s war ebenfalls nicht möglich, da keine kontinuierlichen Vibrationen erfasst wurden. Zudem stand kein anderes Gerät zur Verfügung, um stärkere Schwingungen zu erzeugen.
 
Insgesamt ist festzustellen, dass der ARD_VIB_01 Piezo-Vibrationssensor nicht empfindlich genug ist, um feine Vibrationen zu erkennen. Dies schränkt seine Anwendungsmöglichkeiten erheblich ein und macht ihn für bestimmte Messungen ungeeignet. Zukünftige Untersuchungen sollten daher entweder empfindlichere Sensoren verwenden oder Methoden zur Verstärkung der Vibrationen implementieren, um genauere Ergebnisse zu erzielen.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Testbericht gegen die Anforderungen&thinsp;</strong>
|-
| Der Test der Anforderungen wurden nicht explizit und nachvollziehbar dokumentiert. Anhand des Wiki-Artikels konnte nachfolgender Erfüllungsgrad abgelesen werden.
{| class="wikitable"
|-
! Req. !! Beschreibung !! Testergebnis
|-
| 1 || Die Stärke von Vibrationen müssen mittels ARD VIB 01, Arduino und Simulink eingelesen werden.|| <span style="color:green">☑</span>
|-
| 2 || Der Messbereich muss bestimmt werden. || <span style="color:red">☒</span>
|-
| 3 || Die Messunsicherheit (1σ) muss für den Messbereich ermittelt und als Vertrauensbereich angezeigt werden. || <span style="color:red">☒</span>
|-
| 4 || Stärke von Vibrationen müssen geeignet referenziert werden (z.&thinsp;B. Frequenzgenerator & Lautsprecher). || <span style="color:red">☒</span>
|-
| 5 || Der Messwert muss in eine passende physikalische Größe umgerechnet werden. || <span style="color:red">☒</span>
|-
| 6 || Die Messwerte müssen über der Zeit geeignet gefiltert werden. || <span style="color:green">☑</span>
|-
| 7 || Ein Piepton muss signalisieren, dass ein Vibrationsschwellwert überschritten wurde. || <span style="color:green">☑</span>
|-
| 8 || Die Stärke der Vibration muss als Ausschlag und Zahl auf einem [[LCD_Modul_16x02_I2C|LCD-Display]] korrekt angezeigt werden. || <span style="color:red">☒</span>
|}
|}


Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z.&thinsp;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&thinsp;ms alle 40&thinsp;ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10&thinsp;ms. Mit 10 Werten ist die Filterwirkung zu gering.
== Zusammenfassung und Ausblick ==
== Zusammenfassung und Ausblick ==
* Zusammenfassung der Kapitel 1-4
'''Zusammenfassung der Kapitel 1-4:'''<br>
* Diskussion der Ergebnisse
Das Projekt untersuchte den ARD_VIB_01 Piezo-Vibrationssensor, beginnend mit der theoretischen Basis und dem detaillierten Versuchsaufbau, gefolgt von der Durchführung der Experimente. Die Experimente zeigten, dass der Sensor hauptsächlich auf kräftige mechanische Stöße reagiert und feine Vibrationen nicht erfasst werden konnten. Diese Beobachtungen stellen die Eignung des Sensors für kontinuierliche Vibrationsüberwachung in Frage, da keine konsistenten Schwingungen erfasst wurden und die Umrechnung in messbare Größen wie mm/s nicht möglich war.
* Ausblick
 
* Selbstreflexion/Lessons learned
'''Diskussion der Ergebnisse:'''<br>
Die Experimente zeigten, dass der ARD_VIB_01 Sensor nur auf kräftige mechanische Stöße reagiert und feine Vibrationen nicht erfasst. Dies schränkt die Anwendbarkeit des Sensors erheblich ein, insbesondere für kontinuierliche Überwachungen. Die Filterung der Daten erbrachte nur bedingt Sinn, da keine dauerhaften Schwingungen erfasst wurden. Die Umrechnung in messbare Größen wie mm/s war nicht möglich, da keine kontinuierlichen Vibrationen erkannt wurden.
 
'''Ausblick:'''<br>
Für zukünftige Experimente sollte der Sensor in einer Messumgebung getestet werden, die stärkere Vibrationen erzeugt. Zudem wäre es sinnvoll, empfindlichere Sensoren zu verwenden, um auch feinere Vibrationen erfassen zu können. Eine umfassendere Dokumentation des Sensors wäre ebenfalls hilfreich, um die Durchführung der Experimente zu erleichtern und die Genauigkeit der Ergebnisse zu verbessern.
 
'''Selbstreflexion/Lessons learned:'''<br>
Eine wichtige Erkenntnis war, dass der Sensor korrekt angeschlossen werden muss. In einem frühen Stadium des Experiments wurden keine Daten aufgezeichnet, weil die Kabel zu kurz abisoliert waren und keine Verbindung bestand. Es stellte sich auch heraus, dass der Sensor stark rauscht, wenn er direkt am kleinen Steckbrett festgehalten wird, da er die Ladung aus dem eigenen Körper misst. Diese Probleme wurden gelöst, indem das Board nur an den Rändern angefasst wurde. Außerdem war die Wahl des Sensors problematisch, da es nahezu keine Dokumentation gab, was die Aufgaben unnötig erschwerte und zu unvollständigen Ergebnissen führte. Für zukünftige Projekte ist eine gründlichere Recherche bei der Sensorwahl erforderlich, um solche Schwierigkeiten zu vermeiden.


== Ergebnisvideo ==
== Ergebnisvideo ==
Binden Sie hier Ihr Ergebnisvideo ein.
Das Ergebnisvideo zeigt den Versuch der Auswertung, bei dem der ARD_VIB_01 Sensor auf kräftige Stöße mit deutlichen Spannungsausschlägen reagiert. Feine Vibrationen wurden jedoch nicht erkannt. Nur starke mechanische Stöße führten zu signifikanten Spannungsspitzen, die meist als schmale Peaks bis zu 3&thinsp;V verzeichnet wurden. Dies bestätigt, dass der Sensor nur für die Erkennung starker Impulse geeignet ist und für feinere Vibrationen ungeeignet ist.
{{#ev:youtube|https://youtu.be/11MksacCNvI | 800 | | Ergebnisvideo zu dem ARD VIB 01 - Piezo Vibrationssensor <ref name = "vid2">https://youtu.be/11MksacCNvI, abgerufen am 28.07.2024</ref>|frame}}


Anleitung: [[Videos_einbinden|Videos im Wiki einbinden]]
== Lernzielkrontrolle ==
== Lernzielkrontrolle ==
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Zeile 196: Zeile 317:
# Welche Fehlereinflüsse hat die Messung? Muss z.&#8239;B. die Temperatur der Messung berücksichtigt werden?
# Welche Fehlereinflüsse hat die Messung? Muss z.&#8239;B. die Temperatur der Messung berücksichtigt werden?
|}
|}
'''Hinweis:''' Sämtliche Lernzielkontrollfragen werden in dem Wiki-Artikel und nicht direkt hier beantwortet.


== Literatur ==
== Literatur ==
Zeile 208: Zeile 330:
*[[Medium:SEN-VIB01 DATASHEET 2021-08-26.pdf|joy-it Datasheet (EN)]]
*[[Medium:SEN-VIB01 DATASHEET 2021-08-26.pdf|joy-it Datasheet (EN)]]


=== Simulink-Modell ===
=== Sciebo ===
=== Originaldateien ===
Alle weiteren Dateien sind im [https://hshl.sciebo.de/s/5xlALZU2eqVWN3d Sciebo]zu finden.
*PAP
*Schaltplan,...  
----
----
→ zurück zum Hauptartikel: [[BSE_Angewandte_Informatik_-_SoSe24|BSE Angewandte Informatik SoSe24]] | [[BSE_Angewandte_Informatik_-_SoSe24_-_Hausarbeit|Hausarbeit SoSe24]]
→ zurück zum Hauptartikel: [[BSE_Angewandte_Informatik_-_SoSe24|BSE Angewandte Informatik SoSe24]] | [[BSE_Angewandte_Informatik_-_SoSe24_-_Hausarbeit|Hausarbeit SoSe24]]

Aktuelle Version vom 10. August 2024, 09:40 Uhr

Abb. 1: Piezo Vibrationssensor ARD VIB 01 [1]
Autor: Niklas Reeker
Studiengang: Business and Systems Engineering
Modul: BSE-M-2-1.03, Hausarbeit in Angewandte Informatik
Betreuender Professor: Prof. Dr.-Ing. Schneider
Semester: Sommersemester 2024
Abgabetermin: 28.07.2024

Einführung

Der Piezo-Vibrationssensor ARD_VIB_01 wird zur Erfassung und Analyse von Vibrationen genutzt. Diese Vibrationen erzeugen durch den piezoelektrischen Effekt ein Spannungssignal, das proportional zur Stärke der Vibrationen ist. Solche Sensoren finden Anwendung in vielen Bereichen, von der Maschinenüberwachung bis zur Erdbebenforschung. [1]

Dieser Artikel behandelt die technischen Spezifikationen, die Einrichtung, die Durchführung von Messungen sowie die Analyse der Ergebnisse des ARD_VIB_01. Ein besonderer Fokus liegt dabei auf der Integration mit Arduino und Simulink, um präzise und zuverlässige Daten zu erhalten. [1] [2]

Aufgabenstellung

Messen Sie mit dem Piezo Vibrationssensor ARD VIB 01 die Stärke der auf den Sensor einwirkenden Vibrationen.

  • Thema/Fragestellung: Bestimmung der Vibrationsintensität mittels ARD VIB 01, Arduino und Simulink
  • Hypothese: Die Messung von Vibrationen mittels des ARD_VIB_01 Sensors erfolgt zuverlässig und fehlerfrei
  • Einordnung in den Lehrplan: Die Anwendung des ARD_VIB_01 Sensors ist im Bereich der Messtechnik und Signalverarbeitung in der Informatik von Bedeutung. Sie ermöglicht praktische Erfahrungen in der Implementierung von Vibrationssensorik, die in Bereichen wie Maschinenüberwachung und Sicherheitsprüfungen weit verbreitet ist. Anhand dieses Praxisbeispiels werden in der Lernveranstaltung "Angewandte Informatik" folgende Lernziele vermittelt:
    • mit der Versionskontrolle SVN nachhaltig Quelltext (Simulink) entsprechend der Programmierrichtlinien schreiben und sichern.
    • die Mikrocontrollerplattform Arduino modellbasiert mit Simulink programmieren, so dass Sensoren eingelesen und Aktoren angesteuert werden können. [2]

Des Weiteren wird ein tiefes Verständnis für die Sensortechnologie und ein Aufbau von einer Schaltung mit dieser gelehrt.

Projektbeschreibung

Ein Piezo-Vibrationssensor besteht aus einem piezoelektrischen Element, das mechanische Vibrationen in elektrische Signale umwandelt. Diese Signale können zur Überwachung von Maschinen, zur Strukturüberwachung oder zur Erkennung von Erdbeben verwendet werden. Der ARD_VIB_01 Sensor nutzt diese Technologie, um eine präzise und wartungsfreie Vibrationsüberwachung zu ermöglichen. [1]

Im Folgenden ist eine Liste mit den zum Aufbau der Schaltung benötigten Komponenten dargestellt:

Tabelle 2: Materialliste
# Anzahl Material
1 1 Arduino Uno R3
2 1 ARD_VIB_01 Piezo-Vibrationssensor
3 1 LCD Modul 16x02 I2C
4 1 PC mit MATLAB/Simulink R2023b
5 1 Steckbrett
6 5 Jumper Kabel, männlich/männlich, 20 cm

Beschreibung Funktionsweise der verwendeten Hard- und Software

In diesem Abschnitt werden die in Tabelle 2 aufgelisteten Hard- und Softwarekomponenten näher erläutert.

Abb. 2: Arduino Uno R3 [3]

Arduino Uno R3
Der Arduino Uno R3 ist ein Mikrocontroller-Board, das auf dem ATmega328P basiert. Es verfügt über 14 digitale Ein-/Ausgangspins, 6 analoge Eingänge, einen 16 MHz Quarzoszillator, eine USB-Schnittstelle, eine Strombuchse, eine ICSP-Stiftleiste und einen Reset-Button. Der Arduino wird über die Arduino IDE oder Matlab Simulink in Verbindung mit dem Arduino Hardware Support Package programmiert und ist in der Lage, verschiedene Sensoren und Module anzusteuern und Daten zu verarbeiten. [4] [5]

Abb. 3: ARD_VIB_01 Piezo-Vibrationssensor [1]

ARD_VIB_01 Piezo-Vibrationssensor
Der ARD_VIB_01 ist ein Piezo-Vibrationssensor, der mechanische Vibrationen in elektrische Signale umwandelt. Der Sensor besteht aus einem piezoelektrischen Material, das bei mechanischer Belastung elektrische Spannung erzeugt. Diese Spannung kann vom Arduino erfasst und zur Analyse von Vibrationsmustern verwendet werden. Der Sensor eignet sich für Anwendungen wie die Überwachung von Maschinenzuständen oder die Erdbebendetektion. [1]

Abb. 4: LCD Modul 16x02 I2C [6]

LCD Modul 16x02 I2C
Das LCD Modul 16x02 I2C ist ein Display-Modul mit 16 Spalten und 2 Zeilen. Es verwendet die I2C-Schnittstelle, die nur zwei Datenleitungen benötigt, wodurch die Anzahl der benötigten Pins am Arduino reduziert wird. Das Modul ermöglicht die Darstellung von Textinformationen, wie z.B. Benutzername und RFID-Tag-ID. Durch die Integration mit dem Arduino lassen sich die auf dem LCD angezeigten Informationen einfach programmieren und anpassen. [7]

Simulink R2023b Simulink R2023b ist eine grafische Programmierumgebung zur Modellierung, Simulation und Analyse dynamischer Systeme. In diesem Projekt wird Simulink verwendet, um die vom Arduino empfangenen RFID-Daten zu visualisieren und zu verarbeiten. Mit Simulink lassen sich verschiedene Algorithmen zur Datenverarbeitung implementieren und Simulationen durchführen, um das Verhalten des Systems zu analysieren und zu optimieren. [4]

Steckbrett
Ein Steckbrett (Breadboard) ist ein wiederverwendbares Prototyping-Tool, das es ermöglicht, elektronische Schaltungen ohne Löten aufzubauen. Es besteht aus einer Vielzahl von Löchern, in die Komponenten und Verbindungsdrähte gesteckt werden können, um elektrische Verbindungen herzustellen. Das Steckbrett erleichtert das Experimentieren mit verschiedenen Schaltungen und das schnelle Anpassen von Verbindungen, ohne dass dauerhafte Änderungen vorgenommen werden müssen. [8]

Technische Daten

Nachfolgend sind die Technischen Daten des Primärsensors aufgetragen:

Tabelle 3: Technische Daten des Primärsensors [9]
Modell Piezoelektronischer keramischer Chip
Messbereich 0,1 mm/s bis xx mm/s
Messwerte Analog
Betriebsspannung Keine
Größe 36 x 20 x 14 mm
Betriebstemperatur -10 bis 70°C

Pinbelegung

Im Folgenden wird die Pinbelegung des ARD_VIB_01 Piezo-Vibrationssensors und dessen Verbindung zum Arduino Uno R3 dargestellt. Diese Tabelle zeigt, welche Pins des Vibrationssensors mit welchen Pins des Arduino verbunden werden müssen, um eine korrekte Funktion zu gewährleisten.

Tabelle 4: Pinbelegung des ARD_VIB_01 [10]
Pin Belegung Signal
1 GND GND
2 - NC
3 A0 Analog Pin A0

Diese Belegung stellt sicher, dass der Vibrationssensor korrekt mit dem Arduino verbunden ist, sodass die Kommunikation und Datenerfassung zwischen den beiden Geräten reibungslos funktioniert. |}

Funktionsweise Primärsensor und Messschaltung

Abb. 5: Piezoelektrisches Material im Ruhezustand [11]
Abb. 6: Piezoelektrisches Material bei Verformung [11]

In diesem Kapitel werden der Primärsensor und die Messschaltung beschrieben. Dabei wird unter anderem auf den Aufbau und die Funktionsweise des Sensors eingegangen.

Primärsensor: ARD_VIB_01 Piezo-Vibrationssensor
Der ARD_VIB_01 Piezo-Vibrationssensor besteht aus einem piezoelektrischen Material, typischerweise Quarz oder eine polykristalline Keramik, die bei mechanischer Verformung elektrische Ladung erzeugt. Abbildung 5 zeigt die Struktur des Sensors im Ruhezustand. Die roten und schwarzen Kreise repräsentieren die positiven und negativen Ionen, die in einem Gleichgewichtszustand angeordnet sind.
Wenn der Sensor Vibrationen oder mechanische Belastungen ausgesetzt ist (siehe Abbildung 6), verschieben sich die Ionen, wodurch eine elektrische Spannung entsteht. Diese Spannung ist proportional zur Stärke und Frequenz der Vibrationen. Der Sensor erfasst diese Spannung und wandelt sie in ein analoges Signal um, das vom Arduino zur weiteren Verarbeitung gelesen werden kann. [12] [13]

Messschaltung
Die Messschaltung umfasst die Kontakte des ARD_VIB_01, sowie die Bauteile auf der Adapterplatine welche direkt mit dem Arduino verbunden sind. [13]

Versuchsaufbau und Durchführung

In diesem Kapitel wird der Versuchsaufbau , die Implementierung in Simulink und die Versuchsbeobachtung beschrieben. Relevante Themen wie Messunsicherheit, Filterung und Referenzenwerte werden ebenfalls behandelt.

Versuchsaufbau

Abb. 8: Schaltplan[14]
Abb. 9: Anschlussplan[15]

Der Versuchsaufbau zeigt ein Arduino Uno, ein LCD-Display, einen ARD VIB 01 (Piezo Vibrationssensor) und einen Buzzer, die miteinander verbunden sind.

Verkabelung

1.LCD-Display:

  • VCC und GND des Displays sind mit 5V und GND des Arduino verbunden.
  • SDA und SCL des Displays sind mit den entsprechenden Pins am Arduino verbunden (A4 und A5 für I2C-Kommunikation)(aus Datenblatt entnommen).

2.ARD_VIB_01 Piezo-Vibrationssensor:

  • GND des Sensors ist mit GND des Arduino verbunden.
  • Der Ausgangspin des Sensors (A0) ist mit einem analogen Pin des Arduino (A0) verbunden.

3.Buzzer:

  • Der positive Anschluss des Buzzers ist mit einem digitalen Pin des Arduino (D13) verbunden.
  • Der negative Anschluss des Buzzers ist mit GND verbunden.

Funktionsweise

1. Vibrationsmessung: Der ARD_VIB_01 Piezo-Vibrationssensor misst die Vibrationen und gibt eine entsprechende Spannung aus, die am analogen Pin des Arduino eingelesen wird.

2. Datenverarbeitung mit Simulink: Die eingelesenen Spannungswerte werden an Simulink übergeben, wo sie in Schwingungsstärken umgewandelt werden.

3. Anzeige auf dem LCD: Die berechneten Schwingungsstärken werden über den Arduino an das LCD-Display gesendet und angezeigt.

4. Buzzer: Wenn die Vibrationswerte über einen bestimmten Zeitraum einen Schwellenwert überschreiten, wird der Buzzer aktiviert, um einen Ton zu erzeugen.

Implementierung in Simulink

Abb. 10: Simulink-Modell zur Sensorverarbeitung [16]

In Abbildung 10 ist das Simulink-Modell dargestellt. Der Prozess beginnt mit dem Einlesen des analogen Eingangs A0. Das empfangene Digitalwort wird daraufhin umgewandelt und gefiltert. Das gefilterte Signal wird anschließend in einem Diagramm dargestellt. Anschließend wird der Mittelwert des Signals über fünf Messwerte errechnet.

Umwandlung des Digitalwortes in V

Im Simulink-Modell wird das vom Vibrationssensor gelesene Digitalwort in Volt (V) umgewandelt. Der Sensorwert (ein 10-Bit-Digitalwert von 0 bis 1023 mit einer Referenzspannung von 5 V) wird durch den Analog-Digital-Wandler (ADC) des Arduino erfasst. Um diesen Wert in Volt umzurechnen, wird der folgende Schritt mit einem Gain durchgeführt:


Dieser umgerechnete Spannungswert wird dann gefiltert und zur weiteren Verarbeitung im Modell verwendet.

Filterung des Signals

Abb. 11: Subwoofer mit ARD VIB 01 - Piezo Vibrationssensor [17]

Im Simulink-Modell wird ein Medianfilter verwendet, um die Spannungssignale des Vibrationssensors zu glätten. Der Filter hat eine Größe von 30 Werten. Dies bedeutet, dass der Median der letzten 30 gemessenen Werte berechnet wird, um Ausreißer zu minimieren und ein stabileres Signal zu erzeugen. Dieses gefilterte Signal wird dann für die weitere Verarbeitung und zur Steuerung des Buzzers verwendet. Es werden 30 Werte gefiltert um auch bei niedrigen Frequenzen ein konstantes Signal zu erhalten.

Kalibrierung der Spannungswerte

Eine Umrechnung von Spannungs- in Vibrationswerte konnte nicht erfolgen, da es keine Datenblätter gibt, die eine solche Umrechnung ermöglichen. Zudem reagiert der Sensor eher auf härtere Schläge als auf Bewegungen und Frequenzen. Selbst mit einem kleinen Subwoofer war es nicht möglich, die Werte zum Ausschlagen zu bringen, selbst bei verschiedenen Frequenzen und voller Lautstärke (vgl. Abb. 11). Daher konnte die Messkurve auch nicht händisch erstellt werden. In nachfolgenden werden daher immer die Spannungswerte betrachtet. Eine beispielhafte Umrechnung befindet sich in dem Modell gibt die werte allerdings nur weiter.

Summeransteuerung bei starker Vibration

Bei einer starken Vibration wird ein Buzzer aktiviert. Das Modell ermöglicht somit eine Überwachung und eine akustische Benachrichtigung basierend auf den gemessenen Werten. Steigt der Mittelwert auf über 2 V so wird der Buzzer aktiviert. Liegt der Wert darunter bleibt dieser abgeschaltet.

Bildschirmausgabe

Abb. 12: Display Initialisierungsablauf [18]

Eine funktionierende Bildschirmausgabe konnte nicht erreicht werden. Dazu muss der Bildschirm über den gezeigten SPI-Block gesteuert und zunächst initialisiert werden. Das Schreiben der Register zur Initialisierung über eine S-Funktion hat nicht funktioniert, da die Wire.h-Bibliothek nicht eingebunden werden konnte. Ein zweiter Versuch, die Werte im richtigen Timing mithilfe einer Clock selbst zu schreiben, blieb auch erfolglos. Allerdings konnte eine Kommunikation mit dem Bildschirm aufgebaut werden, welche die Bildschirmbeleuchtung zum Blinken gebracht hat. In Abbildung 11 ist die Reihenfolge der zu setzenden Register und das Timing zu sehen, um den Bildschirm anschließend zu nutzen. Anschließend könnten werte auf den Display ausgegeben werden. [18]

Verwendete Toolbox: DSP System Toolbox, Simulink Support Package für Arduino Hardware

Versuchsdurchführung

Abb. 13: Display Initialisierungsablauf [19]

Der Versuchsaufbau wird durch einen Schaltplan (Abb. 8), Anschlussplan (Abb. 9) und Foto des Aufbaus (Abb. 13) dokumentiert.

Die Durchführung des Experiments beginnt mit dem Flashen des Arduino Uno R3. Nachdem alle relevanten Daten eingestellt wurden, wird die Messung gestartet. Dazu wird der Versuchsaufbau auf einer stabilen Oberfläche platziert und für mehrere Sekunden nicht bewegt, um statische Parameter zu gewährleisten. Nach der initialen statischen Messung wird die Dynamik des Vibrationssensors untersucht. Zunächst wird der Sensor leicht angetippt, um kleinere Vibrationen zu erzeugen. Anschließend wird der Sensor kräftiger angetippt, um einen deutlicheren Ausschlag zu beobachten. Zu guter Letzt wird der Sensor mit einer hohen Frequenz angestoßen, um maximale Spannungswerte zu erzeugen und den Buzzer zu testen. Diese Schritte helfen dabei, die Funktion des Sensors und die Einstellungen des Medianfilters zu überprüfen und sicherzustellen, dass verwertbare Signale erfasst werden.

Referenzwert

Ein Referenzwert konnte weder ermittelt noch gefunden werden, da keine geeignete Literatur oder ähnliche Versuche gefunden werden konnten.

Messunsicherheit

Die Messunsicherheit konnte nicht bestimmt werden, da die Messwerte immer null sind und lediglich bei einem stärkeren Stoß der Sensor ausgeschlagen hat. Dieser Stoß konnte nicht hinreichend genau mehrfach durchgeführt werden, sodass eine berechnung der Messunsicherheit nicht möglich war.

Modelleinstellungen: Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001 s

Versuchsbeobachtung

Während des Experiments wurde festgestellt, dass der ARD_VIB_01 Piezo-Vibrationssensor auf kräftige Stöße mit deutlichen Spannungsausschlägen reagiert, während leichte Antippbewegungen keine nennenswerten Spannungsänderungen verursachten. Dies ist in den Ergebnissen klar zu erkennen, wie in Abbildung 14 gezeigt.

In den durchgeführten Messungen wurde beobachtet, dass die meisten Ausschläge bei kräftigen Stößen als einzelne, schmale Peaks bis zu 3 V auftraten. In weiteren Messungen konnten sogar Spitzenwerte bis zu 5 V erreicht werden. Ein leichtes Antippen des Sensors führte hingegen zu keinen signifikanten Spannungsänderungen, was darauf hinweist, dass der Sensor hauptsächlich auf starke mechanische Impulse reagiert.

Auswertung

In der Auswertung der Messdaten des ARD_VIB_01 Piezo-Vibrationssensors zeigt sich, dass der Sensor nur auf starke mechanische Stöße reagiert und leichte Vibrationen nicht erfasst. Abbildung 14 illustriert deutlich, dass lediglich kräftige Schläge signifikante Spannungsausschläge erzeugen, während normale Vibrationen selbst bei verschiedenen Frequenzen eines Subwoofers nicht erkannt wurden.

Die Fähigkeit des Sensors, Vibrationen zu messen, ist daher stark eingeschränkt. Während einzelne Peaks bis zu 3 V und in einigen Fällen bis zu 5 V verzeichnet wurden, führten kontinuierliche Schwingungen nicht zu messbaren Ergebnissen. Dies stellt die Eignung des ARD_VIB_01 zur Erkennung von Vibrationen in Frage, insbesondere für Anwendungen, die eine kontinuierliche Überwachung erfordern.

Auch die Filterung der Daten zeigt nur bedingt Sinn, da keine dauerhaften Schwingungen aufgezeichnet werden konnten. Die Umrechnung der Spannungswerte in eine messbare Größe wie mm/s war ebenfalls nicht möglich, da keine kontinuierlichen Vibrationen erfasst wurden. Zudem stand kein anderes Gerät zur Verfügung, um stärkere Schwingungen zu erzeugen.

Insgesamt ist festzustellen, dass der ARD_VIB_01 Piezo-Vibrationssensor nicht empfindlich genug ist, um feine Vibrationen zu erkennen. Dies schränkt seine Anwendungsmöglichkeiten erheblich ein und macht ihn für bestimmte Messungen ungeeignet. Zukünftige Untersuchungen sollten daher entweder empfindlichere Sensoren verwenden oder Methoden zur Verstärkung der Vibrationen implementieren, um genauere Ergebnisse zu erzielen.

Zusammenfassung und Ausblick

Zusammenfassung der Kapitel 1-4:
Das Projekt untersuchte den ARD_VIB_01 Piezo-Vibrationssensor, beginnend mit der theoretischen Basis und dem detaillierten Versuchsaufbau, gefolgt von der Durchführung der Experimente. Die Experimente zeigten, dass der Sensor hauptsächlich auf kräftige mechanische Stöße reagiert und feine Vibrationen nicht erfasst werden konnten. Diese Beobachtungen stellen die Eignung des Sensors für kontinuierliche Vibrationsüberwachung in Frage, da keine konsistenten Schwingungen erfasst wurden und die Umrechnung in messbare Größen wie mm/s nicht möglich war.

Diskussion der Ergebnisse:
Die Experimente zeigten, dass der ARD_VIB_01 Sensor nur auf kräftige mechanische Stöße reagiert und feine Vibrationen nicht erfasst. Dies schränkt die Anwendbarkeit des Sensors erheblich ein, insbesondere für kontinuierliche Überwachungen. Die Filterung der Daten erbrachte nur bedingt Sinn, da keine dauerhaften Schwingungen erfasst wurden. Die Umrechnung in messbare Größen wie mm/s war nicht möglich, da keine kontinuierlichen Vibrationen erkannt wurden.

Ausblick:
Für zukünftige Experimente sollte der Sensor in einer Messumgebung getestet werden, die stärkere Vibrationen erzeugt. Zudem wäre es sinnvoll, empfindlichere Sensoren zu verwenden, um auch feinere Vibrationen erfassen zu können. Eine umfassendere Dokumentation des Sensors wäre ebenfalls hilfreich, um die Durchführung der Experimente zu erleichtern und die Genauigkeit der Ergebnisse zu verbessern.

Selbstreflexion/Lessons learned:
Eine wichtige Erkenntnis war, dass der Sensor korrekt angeschlossen werden muss. In einem frühen Stadium des Experiments wurden keine Daten aufgezeichnet, weil die Kabel zu kurz abisoliert waren und keine Verbindung bestand. Es stellte sich auch heraus, dass der Sensor stark rauscht, wenn er direkt am kleinen Steckbrett festgehalten wird, da er die Ladung aus dem eigenen Körper misst. Diese Probleme wurden gelöst, indem das Board nur an den Rändern angefasst wurde. Außerdem war die Wahl des Sensors problematisch, da es nahezu keine Dokumentation gab, was die Aufgaben unnötig erschwerte und zu unvollständigen Ergebnissen führte. Für zukünftige Projekte ist eine gründlichere Recherche bei der Sensorwahl erforderlich, um solche Schwierigkeiten zu vermeiden.

Ergebnisvideo

Das Ergebnisvideo zeigt den Versuch der Auswertung, bei dem der ARD_VIB_01 Sensor auf kräftige Stöße mit deutlichen Spannungsausschlägen reagiert. Feine Vibrationen wurden jedoch nicht erkannt. Nur starke mechanische Stöße führten zu signifikanten Spannungsspitzen, die meist als schmale Peaks bis zu 3 V verzeichnet wurden. Dies bestätigt, dass der Sensor nur für die Erkennung starker Impulse geeignet ist und für feinere Vibrationen ungeeignet ist.

Ergebnisvideo zu dem ARD VIB 01 - Piezo Vibrationssensor [21]

Lernzielkrontrolle

Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.

Hinweis: Sämtliche Lernzielkontrollfragen werden in dem Wiki-Artikel und nicht direkt hier beantwortet.

Literatur

Zitieren Sie nach DIN ISO 690:2013-10.

  1. 1,0 1,1 1,2 1,3 1,4 1,5 https://www.reichelt.de/arduino-piezo-vibrationssensor-ard-vib-01-p316345.html?&nbc=1, abgerufen am 26.07.2024
  2. 2,0 2,1 https://wiki.hshl.de/wiki/index.php/BSE_Angewandte_Informatik_-_SoSe24, abgerufen am 26.07.2024
  3. https://wiki.hshl.de/wiki/index.php/Arduino:_Bibliothek_einbinden, abgerufen am 26.07.2024
  4. 4,0 4,1 https://ch.mathworks.com/de/hardware-support/arduino.html, abgerufen am 13.07.2024
  5. https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf, abgerufen am 26.07.2024
  6. https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 26.07.2024
  7. https://wiki.hshl.de/wiki/index.php/LCD_Modul_16x02_I2C, abgerufen am 26.07.2024
  8. https://www.az-delivery.de/products/breadboard, abgerufen am 26.07.2024
  9. https://www.pollin.de/media/52/d1/51/1701729549/D811421-D.pdf, abgerufen am 26.07.2024
  10. https://cdn-reichelt.de/documents/datenblatt/A300/SEN-VIB01_ANLEITUNG_2022-01-07.pdf, abgerufen am 26.07.2024
  11. 11,0 11,1 https://www.youtube.com/watch?v=Z0wZv8aDwlY, abgerufen am 26.07.2024
  12. https://vetsuisse.com/vet-iml/lernmodule/htmls/slide.html?radiosurfvet%7Cradgeneral%7Csonography%7Csonobasics%7C2, abgerufen am 26.07.2024
  13. 13,0 13,1 13,2 https://vetsuisse.com/vet-iml/lernmodule/htmls/slide.html?radiosurfvet%7Cradgeneral%7Csonography%7Csonobasics%7C2, abgerufen am 26.07.2024
  14. Eigenes Dokument
  15. Eigenes Dokument
  16. Eigenes Dokument
  17. Eigenes Dokument
  18. 18,0 18,1 https://wiki.ei.htwg-konstanz.de/_media/professoren_webseiten/rebholz/ansteuerung_eines_lcd-displays_mit_matlab_konstantin_lutz_2021.pdf, abgerufen am 26.07.2024
  19. Eigenes Dokument
  20. Eigenes Dokument
  21. https://youtu.be/11MksacCNvI, abgerufen am 28.07.2024

Anhang

Datenblätter

Sciebo

Alle weiteren Dateien sind im Sciebozu finden.


→ zurück zum Hauptartikel: BSE Angewandte Informatik SoSe24 | Hausarbeit SoSe24