Bewässerungssytem für Balkonpflanzen: Unterschied zwischen den Versionen
Zeile 289: | Zeile 289: | ||
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. | 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. | ||
<div style="width: | | <small><small> | ||
{| class="wikitable" | |||
|- | |||
| <div style="width:800px; height:400px; overflow:scroll; border: hidden"> | |||
<syntaxhighlight lang="cpp" style="border: none; background-color: #EFF1C1; font-size:larger"> | |||
// Bewaesserung.ino | // Bewaesserung.ino |
Version vom 18. Januar 2024, 05:44 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.
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. 7. finden sie den mit der Komponentenübersicht. In Abb. 8. 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 9 ist das Gehäuse für den Arduino mit Verschraubungsvorrichtung. In Abbildung 10 ist der Deckel des Gehäuses zusehen, mit der Verschraubungsvorrichtung für das Display.
In Abbildung 11 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.
- 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"
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.
|