Bewässerungssytem für Balkonpflanzen: Unterschied zwischen den Versionen
Zeile 631: | Zeile 631: | ||
== Ergebnis == | == Ergebnis == | ||
Das automatische Bewässerungssystem ist voll funktionsfähig und hat die meisten der Anforderungen erfüllt. Die komplette Implementierung ist aus Zeit Gründen nicht in Simulink programmiert. Die Probleme mit dem Display wurden dann in der Arduino IDE vollständig gelöst. | Das automatische Bewässerungssystem ist voll funktionsfähig und hat die meisten der Anforderungen erfüllt. Die komplette Implementierung ist aus Zeit Gründen nicht in Simulink programmiert. Die Probleme mit dem Display wurden dann in der Arduino IDE vollständig gelöst. | ||
Die Einbindung von der Excelltabelle (siehe Abb. | Die Einbindung von der Excelltabelle (siehe Abb. 15) mittels Matlab wurde ebenfalls nicht mehr realisiert. Ansonsten ist das Programm Vollfunktionsfähig. | ||
== Zusammenfassung == | == Zusammenfassung == |
Version vom 18. Januar 2024, 10:56 Uhr
Autoren: Oliver Aust, Jürgen Heimann
Betreuer: Prof. Schneider
→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)
→ zurück zur Übersicht: WS 23/24: Angewandte Elektrotechnik (BSE)
Einleitung
Das Projekt "Bewässerungssystem für Balkonplanzen" entsteht im Rahmen des Praktikums "Fachpraktikum Elektrotechnik" im Studiengang Mechatronik (MTR).
Ziel des Projektes ist die Entwicklung eines automatischen Bewässerungssystems, welches sowohl den Füllstand des Wasserbehälters als auch die Bodenfeuchtigkeit und den individuellen Wasserbedarf diverser Balkonplanzen berücksichtigt.
Das Projekt wurde mit Hilfe des V-Modells (siehe Abb.1) in verschiedene Etappen eingeteilt. Anhand dessen wurde ein Projektverlaufsplan mit den zu erreichenenden Meilensteinen erstellt erstellt.
Anforderungen
Um dieses Projekt zu realisieren müssen folgende Anforderungen erfüllt werden
Nr. | Beschreibung | Bereich | Datum | Status
|
---|---|---|---|---|
1 | Das Gehäuse (Arduino, Display, Kabelführung) muss wetterfest (IP65) sein | Mechanik/Hardware | 25.10.2023 | i.O. |
2 | Das Gehäuse muss Platz für ein Kabelführungssystem,den Arduino Uno R3 und dem Display aufweisen | Hardware | 27.10.2023 | Offen |
3 | Das Gehäuse muss mit einem 9V Akku betrieben werden können | Hardware | 31.10.2023 | i.O. |
4 | Der Füllstandssensor soll den Wasserfüllstand des Wasserbehälters in Echtzeit messen | Hardware | 31.10.2023 | i.O. |
5 | Die Halterung für den Ultraschallsensor (HC-SR04) muss Spritzwasserfest (IP44) sein | Hardware | 04.11.2023 | i.O. |
6 | Die Pumpe muss Wasser vom Kanister in den Blumentopf befördern | Hardware | 04.11.2023 | i.O. |
7 | Der HC-SR04 muss den Wasserstand des Kanisters vor und während des Gießvorganges in Echtzeit messen | Sensorik | 04.11.2023 | i.O. |
8 | Der Bodenfeuchtesensor soll den Feuchtigkeitsgrad der Erde im Blumentopf alle 5min messen | Sensorik | 07.11.2023 | i.O. |
9 | Die Pumpe soll in Abhängigkeit der Bodenfeuchte und der Bewässerungsmenge, dem individuellen Bedarf der Planze, Wasser aus dem Behälter pumpen. | Hardware | 07.11.2023 | i.O. |
10 | Die Programmierung des Regelkreises muss mit Matlab/Simulink erfolgen | Software | 14.11.2023 | teilweise i.O. |
11 | Das Programm muss flexibel auf die indivduellen Bedrüfnisse der jeweiligen Pflanze einstellbar sein | Software | 04.12.2023 | i.O. |
12 | Die Messdaten müssen auf dem Display angezeigt werden | Software/Hardware | 04.12.2023 | i.O. |
13 | Es muss eine Excell Tabelle mit dem Wasserbedarf verschiedener Pflanzen erstellt werden | Software/Dokumentation | 04.12.2023 | i.O. |
14 | Die Excelltabelle muss als Stellgröße in Matlab/Simulink fungieren | Software | 04.12.2023 | Offen |
15 | Das Display muss Bewässerungsstand und bei zu geringem Füllstand "Wassertank auffüllen" anzeigen. | Software/Hardware | 04.12.2023 | i.O. |
16 | Die Pumpe muss in Abhängikeit des Regelkreises aus Bodenfeuchte & Wasserstand geschaltet werden | Software/Hardware | 16.12.2023 | i.O. |
17 | Es muss eine Dokumentation anhand des V-Modells in SVN erstellt werden | Dokumentation | 16.12.2023 | i.O. |
18 | Es muss ein Plakate für die Messe erstellt werden | Dokumentation | 16.12.2023 | i.O. |
19 | Es muss ein Video als Ergebnispräsentation erstellt werden | Dokumentation | 16.12.2023 | Offen |
Tabelle 1: Auflistung der Anforderungen
Funktionaler Systementwurf/Technischer Systementwurf
Zur näheren Erläuterung wird der Systementwurf in Komponenten unterteilt:
- Blumentopf und Pflanze: Der Bereich in dem der Bodenfeuchtesensor verbaut wird.
- Gehäuse: Das Gehäuse dient als Halterung für den Arduino und zur Halterung des LCD-Displays, ebenfalls wird das Kabelführungssystem dorthin verlaufen.
- Wasserführungssystem: Konstruktion für Schlauch und Pumpe mit Wasserführungssystem vom Behälter zum Blumentopf.
- Bodenfeuchtesensor: Misst den Feuchtigkeitsbedarf der Pflanze.
- Wasserstandssensor: Misst den Wasserstand in Echtzeit.
- LCD-Display: Auf dem Display werden Messdaten und letzter Zeitpunkt der Bewässerung angezeigt.
- Arduino: An den Arduino Mikrocontroller sind die genannten elektrischen Komponenten angebunden. Der Mikrocontroller führt den Algorithmus aus, er verarbeitet Messdaten und regelt entsprechend.
- Spannungsquelle: Als Spannungsquelle für den Arduino mit Platine wird eine 9V-Block-Batterie eingesetzt.
Abbildung 2 ist das vereinfachte Blockschaltbild zusehen. In Abbildung 3 ist der Funktionale Systemaufbau zu sehen. Bei welchem die Komponenten und der schematische Datenfluss aufgezeigt ist. In Abb. 4 ist der technische Systementwurf mit sämtlichen Signalflüssen und dem Weg des Wassers zu sehen.
Der Programmablaufplan (PAP) stellt die logische Basis des Programmierens dar.. Die Orangenen Klammern werden beim programmieren meist in for bzw. while schleifen realisiert. Die Abzweigungen werden meist als if Funktionen bzw. als switch case realisiert.
Komponentenspezifikation
ID | Komponente | Beschreibung | Bild |
---|---|---|---|
1 | Arduino UNO |
|
|
2 | 1602-LCD Display |
|
|
3 | Bodenfeuchtigkeitssensor |
|
|
4 | HC-SR04 |
|
|
5 | JZK DC 12V Wasserpumpe |
|
Umsetzung (HW/SW)
3. Architektur
1.Verdrahtungspläne
In Abb. 6. finden sie den mit der Komponentenübersicht. In Abb. 7. den Schaltplan. Beide Abbildungen wurden mit Fritzek erstellt. Die 5 VDC Anschlüsse und GND wurden über ein Breadboard geschaltet. Die Signalleitungen, sehen sind im folgenden noch mal aufgelistet:
- Ultraschallsensor HC-SR04: Echo --> 6 / Trig --> 7
- Bodenfeuchtesensor Capacitive Soil Moisture Sensor v1.2: Aout --> A0
- Relaise SRD-05VDC-SL-C: IN --> 8
- Display 1602A mit LCM1602iic: SDA --> A5 / SCL --> A4
2. Solidworks konstruktionen für die additive Fertigung.
In Abbildung 8 ist das Gehäuse für den Arduino mit Verschraubungsvorrichtung. In Abbildung 9 ist der Deckel des Gehäuses zusehen, mit der Verschraubungsvorrichtung für das Display.
In Abbildung 10 ist die Ultraschallsensorhalterung, welche an den Wassertank befestigt wird.
Komponententest
- Bodenfeuchtesensor misst Feuchtigkeitswert des Bodens in Prozent in Echtzeit. (siehe Abb.12)
- Ultraschallsensor misst die Entfernung in cm. in Echtzeit.(siehe Abb.13)
- Die Wasserpumpe funktioniert.
- Das Relaise schaltet.
- Der Arduino und die Pumpe laufen mit jewils einen 9V Akku.
- Das Display zeigt die Messwerte der Sensoren in Echtzeit an, den Status des Bewässerungsvorganges in M,W oder B und falls der Füllstand des Wassertankes zu gering ist kommt die Aufforderung "Wassertank befüllen" (siehe Abb.14)
Umsetzung Software
Die Komponententest konnten mit Matlab/Simulink erstellt werden. Ebenfalls konnte die grobe Funktionalität der Bewässerung, also das Zusammenspiel zwischen Ultraschallsensor, Bodenfeuchtesensor und der Pumpe, realisiert werden. Allerdings konnte die Einbindung des Displays über die I2C Schnittstelle nicht realisiert werden. Weshalb ich das System mit der Arduino IDE finalisiert habe. Im folgenden wird der Programm Code, Bewaesserung.ino, wassertank.h und pflanzentopf.h aufgezeigt. Bitte beachten, das vor jedem inlcude und define ein "#" anstatt die Zahl gehört.
Programmcode Bewaesserung.ino
Unterprogramm pflanze.h
Unterprogramm wassertank.h
In der Abb. 13 ist die Excell Datei mit dem individellen Wasserbedarf nach Größe dargestellt. Wichtig ist zu erwähnen, dass diese Werte je nach Größe der Pflanze/ des Beetes abweichen können.
Datei:Excell Pflanzenbewässerung.xlsx
Ergebnis
Das automatische Bewässerungssystem ist voll funktionsfähig und hat die meisten der Anforderungen erfüllt. Die komplette Implementierung ist aus Zeit Gründen nicht in Simulink programmiert. Die Probleme mit dem Display wurden dann in der Arduino IDE vollständig gelöst. Die Einbindung von der Excelltabelle (siehe Abb. 15) mittels Matlab wurde ebenfalls nicht mehr realisiert. Ansonsten ist das Programm Vollfunktionsfähig.
Zusammenfassung
Lessons Learned
- Projektplanung
- Zeitmanagement
- Agiles Projektmanagement
- Problemlösungskompetenz
- Anforderungen formulieren
- Komponenten Auswahl
- Umgang mit Mikrocontrollern, Sensoren, Motoren/Pumpen und Relaise
- Verdrahtungspläne zeichnen
- Solidworks CAD Zeichnungen
- Löten, Crimpen, Abisolieren und Verkabeln
- Anwendung von Simulink und Arduino IDE
- Dokumentation
- Plakatdesign mit Canva
- Videopräsentation
- Messestand gestalten
Projektunterlagen
Projektplan
Legende:
Grün: Jürgen Heimann
Pink: Oliver Aust
Grau: Heimann/Aust
Rot: Projektphase
Projektdurchführung
- Erstellung des Projektplans
- Beschaffung der Komponenten, Sensoren und Aktoren
- Konstruktion der 3D Druckobjekte
- Additive Fertigung
- Erstellung der Anschlusspläne
- Aufbau des Systems
- Komponententest und Programmierung mittels Matlab/Simulink
- Weitere Umsetzung mittels Arduino IDE
- Dokumentation
- Ergebnispräsentation mittels Video und Messe
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)