Grove - Wassersensor

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Wassersensor
Autor: Denim Hilz
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

Aufgabenstellung

In diesem Artikel wird der Grove Water Sensor näher erläutert, die Implementierung in Matlab/Simulink aufgezeigt und die Kalibrierung und Filterung vorgestellt. Der Grove Water Sensor dient zur Erkennung von Wasser und zur Messung des Wasserstands. Einsatzbereiche sind unter anderem das Aufspüren von Wasserlecks, die Steuerung automatischer Bewässerungssysteme, die Überwachung des Wasserstands in Behältern, die Detektion von Flüssigkeiten in Maschinen sowie die Überwachung unerwünschten Wassers in Smart Home Systemen. [1]


  • Thema/Fragestellung: Feststellen ob es zum gegenwärtigen Zeitpunkt Niederschlag gibt mittels des Grove Water Sensor.
  • Hypothese: Niederschlag lässt sich über den Grove Water Sensor feststellen.
  • Einordnung in den Lehrplan: Die im Modul Angewandte Informatik vermittelten Lernziele, werden im Rahmen dieses Praxisbeispiels angewendet. Folgende Lernziele gilt es dabei zu überprüfen.
    • mit der Versionskontrolle SVN nachhaltig Quelltext entsprechend der Programmierrichtlinien schreiben, sichern, kollaboriert bearbeiten und Konflikte lösen.
    • in einer mathematisch orientierten Systax (z. B. MATLAB®) mit Vektoren und Matrizen rechnen, Programmteile in Funktionen auslagern, Zweige und Scheifen programmieren, Daten importieren und visualisieren.
    • die Mikrocontrollerplattform Arduino modellbasiert mit Simulink programmieren, so dass Sensoren eingelesen und Aktoren angesteuert werden können. [2]

Projektbeschreibung

In diesem Abschnitt werden die verwendeten Komponenten vorgestellt.

Tabelle 2: Materialliste
# Anzahl Material
1 1 PC mit MATLAB/Simulink R2023b
2 1 Arduino Uno R3
3 1 Grove Water Sensor
4 1 Streckbrett
5 5 Jumper Kabel, männlich/männlich, 20 cm
6 1 LCD Display

Beschreibung Funktionsweise der verwendeten Hard- und Software

Simulink R2023b

Simulink ist eine grafische Entwicklungsumgebung, die zur MATLAB-Software von MathWorks gehört. Sie dient vor allem der Modellierung, Simulation und Analyse dynamischer Systeme. In diesem Praxisbeispiel dient Simulink der Verarbeitung der Sensordaten. [3]

Arduino Uno R3

Der Arduino Uno R3 ist ein beliebtes Mikrocontroller-Board für Elektronikprojekte, basierend auf dem ATmega328P mit 32 KB Flash-Speicher. Es bietet 14 digitale Ein-/Ausgänge, von denen 6 PWM-fähig sind und 6 analoge Eingänge. Der Uno wird über USB oder eine externe Quelle betrieben und lässt sich einfach über die Arduino IDE in C/C++ oder über Matlab/Simulink programmieren.[4]

Grove Water Sensor

Der Grove Water Sensor wird eingesetzt, um Wasserpräsenz und -stand zu erfassen. Er findet in verschiedenen Bereichen Anwendung:

  • Wasserleckerkennung: In Haushalten, Büros und industriellen Umgebungen hilft der Sensor, Wasserlecks aufzuspüren und dadurch Schäden durch undichte Stellen zu verhindern.
  • Automatisierte Bewässerungssysteme: In der Landwirtschaft und Gartenpflege misst der Sensor den Bodenfeuchtigkeitsgehalt und steuert automatische Bewässerungssysteme.
  • Füllstandsmessung: Der Sensor überwacht den Wasserstand in Behältern, Tanks oder Reservoirs und verhindert Überlauf oder Trockenlauf.
  • Flüssigkeitserkennung in Maschinen: In industriellen Anwendungen überwacht der Sensor den Flüssigkeitsstand in Maschinen oder Systemen, um einen sicheren Betrieb zu gewährleisten.
  • Smart Home Anwendungen: In Smart Home Systemen sendet der Sensor Alarme oder Benachrichtigungen, wenn unerwünschtes Wasser erkannt wird, beispielsweise im Keller oder in der Küche. [5]

Steckbrett

Ein Steckbrett ermöglicht die Verbindung elektrischer Bauelemente ohne Löten. Es ist in horizontale und vertikale Reihen unterteilt, in denen die Bauteile miteinander verbunden sind. Im Gegensatz zu Leiterplatten werden die Komponenten bei Steckbrett nicht gelötet, sondern in Federkontakte gesteckt. Dadurch kann die Schaltung einfach durch Umstecken angepasst werden. [6]

LCD Display

Das I2C 1602 LCD Modul hat ein zweizeiliges Display, das jeweils 16 Zeichen pro Zeile anzeigen kann, und ist mit einem I2C Modul HW-061 auf der Rückseite ausgestattet. Es benötigt eine Taktverbindung (SCL), eine Datenverbindung (SDA) sowie +5VDC und GND. Das Display kann über den I2C-Bus mit lediglich vier Anschlusskabeln betrieben werden. [7]

Technische Daten

Tabelle 3: Sensordaten [8]
Messbereich 0 V .. 5 V
Versorgungsspannung 5 V
Versorgungsstrom 20 mA
Arbeitstemperatur 10 °C .. +30 °C
Abmessungen 20 mm x 20 mm x 10 mm

Pinbelegung

Tabelle 4: Pinbelegung bei dem Sensor [9]
Pin Belegung Signal
1 Masse (GND) 0 V
2 Versorgungsspannung VCC 5 V
3 Not Connected (NC) -
4 Analog Output (SIG) 0 V - 5 V

Versuchsaufbau und Durchführung

Versuchsaufbau

Abb. 2: Schaltplan
Abb. 3: Anschlussplan
Abb. 4: Foto des Versuchsaufbaus

Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert. Der Sensor wird mit dem Arduino über drei Kabel verbunden. Das rote Kabel liegt an der Versorgungsspannung VCC und das schwarze Kabel an Ground GND. Das blaue Kabel für die Signalübertragung wird an den analogen Eingang A0 des Arduino angeschlossen. Der Sensor funktioniert dabei sowohl über die Analogen, wie auch über die digitalen Eingänge am Arduino.

Versuchsdurchführung

Abb. 5: Simulink-Modell

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,001 s

Versuchsbeobachtung

Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)
Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors

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.

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