Projekt 83: Automatische Pflanzenbewässerung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 192: Zeile 192:
== Ergebnis ==
== Ergebnis ==


== Zusammenfassung ==
== Ergebnis und Zusammenfassung ==
=== Lessons Learned ===
=== Lessons Learned ===
In der Ausarbeitung des Projekts haben sich folgende Probleme herauskristallisiert: <br>
In der Ausarbeitung des Projekts haben sich folgende Probleme herauskristallisiert: <br>

Version vom 15. Januar 2019, 14:12 Uhr


Autoren: David Reger und Valentin Schniederkötter
Betreuer: Prof. Schneider


→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)

Thema

Entwicklung einer automatischen Pflanzenbewässerung inklusive Auswertung der Daten von äußeren Einflüssen.
Bei der automatischen Pflanzenbewässerung wird mittels Feuchtigkeitssensor die aktuelle Feuchtigkeit in der Pflanze gemessen. Der aktuelle Wert wird auf die vorher eingestellte Regelgröße gehalten, indem eine Pumpe angesteuert wird und diese die Pflanze je nach Bedarf bewässert.
Zusätzlich werden ein Lichtsensor sowie Temperatursensor installiert. Die Daten werden über ein Zeitintervall in einem Diagramm/Graphen ausgegeben. Dadurch können Wetterbedingungen über einen bestimmten Zeitraum erkannt werden.
Die Steuerung und Programmierung erfolgt über den Mikrocontroller Raspberry Pi 3.

Erwartungen an die Projektlösung

  • Planung des Bewässerungssystems
  • Darstellung der regelungstechnischen Theorie
  • Beschaffung der Bauteile
  • Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
  • Realisierung des Aufbaus
  • Vergleichen und bewerten Sie verschiedene Regleransätze (P, PI, PID und andere).
  • Modellbasierte Programmierung der Hardware via Simulink
  • Machen Sie ein tolles Videos, welches die Funktion visualisiert.
  • Test und wiss. Dokumentation
  • Live Vorführung während der Abschlusspräsentation

Kür: Das Projekt ist skalierbar auf mehrere Pflanzen anwendbar. Alle Pflanzen senden Ihren Bewässerungszustand an einen Server. Über ein Web-Interface läßt sich die Bewässerung für jede Pflanze spezifisch regeln. Bei leerem Wasserbehälter bekommt der Anwender eine Hinweis-E-Mail.

Einleitung

In dem GET-Fachpraktikum sollen elektrotechnische und mechatronische Fähigkeiten ausgebaut werden. Im Anschluss an vier Praktikumstermine sollen durch diverse Projekte (Organisationsrahmen der Projekte), welche in Kleingruppen behandelt werden, außerdem die Management-Fähigkeiten innerhalb eines Projekts vertieft werden. In diesem Artikel wird die Erarbeitung einer automatischen Pflanzenbewässerung gezeigt. Das Projekt wird von Valentin Joshua Schniederkötter und David Reger bearbeitet. Durch das Projekt wird ein guter Einblick in die zukünftige Arbeit eines Ingenieurs gewährleistet. Die Studierenden werden mit neuen Problemstellungen konfrontiert.

Aufgabe

Die Aufgaben werden in die drei Fachbereiche der Mecahtronik eingeteilt:

Mechanik:
• Bau einer elektrischen Wasserpumpe (optional, evtl. Kauf einer günstigen Aquariumpumpe)
• Prototypenbau
• Zusammenbau der einzelnen Komponenten sowie anschließen der Schläuche

Elektrotechnik:
• Verlötung der elektrischen Wasserpumpe (optional, s.o.)
• Verdrahtung der elektrischen Komponenten
• Anschluss zum Raspberry Pi herstellen
• Funktionstest (korrekte Verdrahtung, Zusammenspiel der Komponenten)

Informatik:
• Auswertung der erfassten Sensordaten
• Ausgabe in einem Diagramm
• Sensordaten in Datenbank speichern
• Programmierung der Pumpensteuerung

Projekt

Projektplanung

Das Projekt wurde nach dem V-Modell durchgeführt.

Phasen nach dem V-Modell


Entwickelnde Phasen

1. Anforderung
In der ersten Phase des Projektes werden die Anforderungen definiert. Hierzu werden Überlegungen angestellt, welche Funktionen die automatische Pflanzenbewässerung haben soll. In Absprache mit dem Auftraggeber (Prof. Dr. Ulrich Schneider, Daniel Klein) werden die vom Auftragnehmer (David Reger, Valentin Schniederkötter) festgelegten Anforderungen geklärt und zusätzliche Anforderungen vom Auftraggeber ergänzt. Die Anforderungen werden im Lastenheft dokumentiert (s. Projektordner).

2. Spezifikation
Nach Festlegung der Anforderungen werden mögliche Umsetzungen spezifiziert. Durch eine Diskussion im Projektteam werden die Spezifikationen im Pflichtenheft festgehalten. Zusätzlich wird eine Bestellliste (BOM) erstellt, um die notwendigen Materialien zu bestellen und die Kosten des Projektes einzusehen.

3. Systementwurf
Bei dem Systementwurf wird der Hardwareaufbau des Systems entwickelt. Zunächst werden Überlegungen angestellt wie die Bauteile angeordnet werden sollen, um eine Pflanzenbewässerung zu gewährleisten. Weiterhin wird mit Hilfe des Programmes Fritzing eine Schaltung entworfen.

Prüfende Phasen

4. Systemintegration
Bei der Systemintegration wird das System anhand des Systementwurfes aufgebaut. Die Sensoren werden nach dem Schaltplan angeschlossen und angesteuert. Außerdem wird das Programm geschrieben und der Quellcode erstellt, um die Sensordaten auszuwerten und die Regelung zu erstellen.

5. Verifikation
Die Verifikation beinhaltet die Überprüfung der Bauteile, ob sie technisch funktionsfähig sind. Außerdem werden die Bauteile und Leitungen auf äußere Beschädigungen überprüft. Um die technische Funktionsfähigkeit zu gewährleisten werden die Sensordaten ausgelesen und nachgemessen, ob diese korrekt sind.

6. Validierung
Die Validierung schließt das Projekt ab. In dieser Phase wird ein Feldversuch in der natürlichen Umgebung des Produktes durchgeführt. D.h. die Sensoren kommen in die Arbeitsumgebung, in der sie später eingesetzt werden. Außerdem wird das Zusammenspiel der einzelnen Komponenten getestet.

Materialplanung

Die notwendigen Materialien wurden in einer BOM (Bill Of Material) zusammengestellt.

Pos. Anzahl Bezeichnung Preis
1. 1 Temperatursensor DS18B20 3,65 €
2. 1 Feuchtigkeitssensor/Füllstandsensor VMA303 4,95 €
3. 1 Lichtsensor ST1107 5,10 €
4. 3 Schlauch 6mm 3,49 €
5. 3 Schaltdraht 1,26 €
6. 1 Raspberry Pi 3 B+ 37,60 €
7. 1 Relais 5V 2,49 €
8. 1 MCP3008 2,49 €

Projektdurchführung

Schaltplanentwurf

Für die Erstellung des Schaltplans wird das Programm Fritzing verwendet. Um den Schaltplan zu entwerfen wird recherchiert, wie die einzelnen Sensoren an den Raspberry Pi angeschlossen werden.

Der Füllstand-, Feuchtigkeit- und Lichtsensor liefern ein analoges Signal, hierfür musste ein zusätzlicher A/D-Wandler genutzt werden, damit die Werte vom Raspberry Pi eingelesen werden können, da dieser keinen A/D-Wandler integriert hat. Als AD-Wandler wird der MCP-3008 verwendet.



Füllstand Feuchtigkeit Licht

Softwareentwurf

Im Laufe der Überlegungen ergibt sich folgender Programmablaufplan, welcher die Grundstruktur des Programms abbildet:


Zuerst muss der Raspberry Pi eingerichtet werden. Als Programmiergrundlage wird Node-Red verwendet, welches ein flussbasiertes und sehr übersichtliches Programmieren gewährleistet.

Daraufhin müssen alle notwendigen Erweiterungen, wie beispielsweise für den MCP3008 in Node-Red implementiert werden.

Das Programm ist in folgende Aufgaben gegliedert:

• Auslesen der Messwerte

• Speichern der Messwerte in eine SQLite-Datenbank

• Regelung für die Bewässerung
• Ansteuerung der Pumpe • Erstellung des Dashboards

• Erstellung einer Einstellmöglichkeit für die Soll-Feuchtigkeit

Konstruktion und Montage

Nach Fertigstellung des Programms werden alle elektrotechnische Komponenten nach dem Schaltplan miteinander verbunden. Anschließend wird die mechanische Montage durchgeführt. Hierzu wird ein Wasserbehälter mit dem Füllstandssensor ausgestattet. Außerdem wird die Pumpe mit Hilfe der Schläuche mit dem Behälter und der Pflanze verbunden. Der Schlauch, welcher in der Pflanze endet, wird mit kleinen Bohrungen versehen, um eine gleichmäßige Bewässerung des Blumentopfes zu gewährleisten.


Testphase

In der Inbetriebnahme wird der ein geeigneter Sollwert für die Feuchtigkeit der Erde ermittelt und im Programm geändert. Da diese Regelung sehr träge ist, wird nur selten bewässert. Im Dashboard sind alle Messwerte in Graphen abzulesen. Außerdem sind die letzten Messwerte in einer Tabelle aufgezeigt.


In den Einstellungen kann man den Sollwert der Feuchtigkeit ändern, indem man die Pflanzenart auswählt.

Ergebnis

Ergebnis und Zusammenfassung

Lessons Learned

In der Ausarbeitung des Projekts haben sich folgende Probleme herauskristallisiert:

• Dadurch, dass die Pumpe nicht extern mit Spannung versorgt wird, passiert beim Pumpen ein Spannungsfall im Raspberry Pi, welcher die Funktion etwas einschränkt.
• Durch ein fehlendes Ventil im Schlauch fließt das Wasser zurück und gleicht sich mit dem Wasserstand im Wassertank aus. Dadurch muss länger gepumpt werden und ein Dosieren ist nur schwer möglich.
• Die Pumpe konnte nicht direkt über einen Ausgang des Raspberry Pi angesteuert werden, wodurch ein Relais benötigt wurde.
• Die zunächst bestellten Schläuche waren zu starr und mussten durch flexiblere ersetzt werden.

Diese Probleme hätten bei der Planung beachtet werden sollen.

Projektunterlagen

Projektunterlagen befinden sich im SVN unter: Projekt 83 - Unterlagen

YouTube Video

Automatische Pflanzenbewässerung Youtube-Video

Weblinks

Datenblätter:
Temperatursensor DS18B20
Füllstands- und Feuchtigkeitssensor VMA303
Lichtsensor ST1007
Raspberry Pi 3 B+
5V Relais JQC-3FF
MCP3008

Literatur

--- → zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)