Tutorial: Das voll-automatisierte Mini-Gewächshaus

Komplett-Anleitung zum Nachbauen

Hier möchte ich euch das voll-automatisiertes Mini-Gewächshaus vorstellen. Das Gewächshaus hat es bereits in die deutsche und internationale Ausgabe des offiziellen Raspberry Pi Magazins „MagPi“ geschafft. Hier findet ihr jetzt alle Infos  und eine komplette Anleitung zum Nachbauen.

 
Kurze Einleitung

Ich habe mir im Sommer 2018 einige Samen der chilenischen Honigpalme (Jubaea chilensis) gekauft – einer winterharten aber auch bedrohten Palmenart. Diese Palmenart besitzt eine sehr lange Keimzeit von teilweise über einem Jahr. Inspiriert von MarVtec baute ich mir ein voll-automatisiertes Gewächshäus, in dem die Keimbedingungen auch über ein Jahr so optimal wie möglich bleiben sollten um eine sichere und eventuell auch schnellere Keimung zu begünstigen.

Zum Aufbau:
Das voll-automatisierte Mini-Gewächshaus besitzt eine automatische Bewässerung über 12 Spritzdüsen im Gehäusedeckel und eine 12V-Wasserpumpe in einem außenstehenden Wassergefäß. Die Bewässerung wird ausgelöst, sobald die Erdfeuchtigkeit unter eine bestimmte Grenze fällt, also zu trocken wird. In der Erde befindet sich dazu ein kapazitiver ErdfeuchtesensorDesweiteren besitzt es ein Thermostat für die Erdtemperatur. Dazu befindet sich unter dem Gewächshaus eine Romberg-Heizmattesowie ein Temperaturfühler in der Erde. Sobald die Temperatur unter eine eingestellte Grenze fällt, schaltet sich die Heizmatte ein.

Das Licht besteht aus zwei LED-Pflanzenlampen, die über eine Tag-/Nacht-Zeitsteuerung ein- und ausgeschaltet werden. Dann befinden sich noch zwei kleine Lüfter im Gehäusedeckel, die für einen Luftaustausch im Gewächshaus sorgen und damit Schimmelbildung vorbeugen. Die Lüfter sind entweder zeit-gesteuert oder abhängig von der Luftfeuchtigkeit im Gewächshaus. Die Luftfeuchtigkeit (und die Lufttemperatur) wird über einen Sensor im Gehäusedeckel ermittelt.

Das Gewächshaus besitzt neben dem Ein-/Aus-Schalter vier weitere Schalter, mit denen man Heizmatte, Lüfter, Bewässerung und Lampen einzeln manuell ein oder ausschalten kann, sowie den Automatik-Modus aktivieren kann. Ein Display zeigt zudem alle Feuchtigkeits- und Temperaturwerte an und zeigt über zwei kleine Pfeilspitzen hinter den Werten welche Werte aktuell korrigiert werden.

Die Steuerung läuft über ein selbst-geschriebenes Python-Programm, welches auf einem Raspberry Pi 3 B+ in Dauerschleife läuft. Die Aktoren werden über ein 4-fach Relais geschaltet. Für die Stromversorgung sorgt ein 5V-Netzteil für die beiden Lüfter und den Raspberry Pi, dann ein 12V-Netzteil für die Bewässerungspumpe und die normale 230V-Netzspannung für die beiden Lampen und die Heizmatte.

Ergebnisse (Keimquote):
In den ersten sieben Monaten nach Aussaat der Palmensamen in einem ganz normalen beheizten Zimmergewächshaus (inkl. Thermostat) keimten nur 6 von 24 Samen. Im achten Monat wurden alle 18 verbleibenden Samen in das neue voll-automatisierte Gewächshaus gesetzt. Allein in diesem einen Monat keimten insgesamt 11 Samen. Die Keimquote wurde somit um 1200% gesteigert.

 

Tutorial

Hier könnt ihr das voll-automatisierte Mini-Gewächshaus jetzt einfach nachbauen.

Inhalt

Teil 1: Benötigte Materialien
Teil 2: Gehäuse bauen
Teil 3: Gewächshaus modifizieren
Teil 4: Elektronik anschließen
Teil 5: Raspberry Pi einrichten

 

Teil 1 – Benötigte Materialien:

Sensoren

WICHTIG: Bei der Nutzung anderer Sensoren ist es wahrscheinlich, dass das Programm nicht erwartungsgemäß funktioniert!

Steuerung

Strom

Aktoren

Leitungen & Verbindungen

 
Teil 2 – Gehäuse bauen

Vorab, natürlich kann dein Gehäuse auch ganz anders aussehen. Hier zeige ich dir, wie ich mein Gehäuse gebaut habe.
Welche Werkzeuge benötigen wir?

Zuerst eine kurze Übersicht über die Gehäuseteile:

Zu jedem einzelnen Gehäuseteil gibt es eine technische Zeichnung im PDF-Format mit entsprechenden Maßangaben zum ausdrucken. Den Download aller Zeichnungen findest du hier. Alle türkisfarbenen Gehäuseteile bestehen aus 10 mm starken Sperrholzplatten. Die braunen Bauteile sind Holzleisten die wir für die Unterkonstruktion benötigen. 14 Holzleisten bestehen dabei aus 20 mm x 20 mm und eine Holzleiste aus 30 mm x 20 mm Kantholz.

Kleiner Tipp: Um beide Seitenwände auf einmal zu sägen legt man einfach zwei Sperrholzplatten übereinander und fixiert diese z.B. mit kleinen Schrauben… spart Zeit.

 
Teil 3 – Gewächshaus modifizieren

Nachfolgend werden wir die Sensoren und die Aktoren integrieren:

Welche Werkzeuge benötigen wir?

  • 2 mm Bohrer (für die Löcher des Luftsensors ‚DHT22‘)
  • 2,5 mm Bohrer (für die Löcher der Schrauben für die beiden Lüfter)
  • 28 mm Lochkreissäge bzw. Forstnerbohrer (für die Löcher der
  • beiden Lüfter)
  • 11 mm (Löcher für die Bewäserungsdüsen)
  • 4 mm Bohrer (für den Temperatursensor DS18B20)
  • Cuttermesser (für das Längsloch des Erdfeuchtemessers ‚Giesomat‘)
  • doppelseitiges Klebeband oder zugeschnittenen Powerstripes oder Posterstripes


Wir beginnen mit dem Deckel:

Für die Bewässerungsdüsen bohren wir 12 Löcher mit einem Durchmesser von 11 mm so gleichmäßig verteilt wie möglich von oben in den Deckel des Gewächshauses. Die orangenen Kappen der Bewässerunsdüsen werden abgeschraubt und die Düsen durch die Löcher gesteckt. Anschließend werden die orangenen Kappen von der Innenseite des Gehäuses wieder aufgeschraubt. Danach werden die Weichen aufgesteckt und untereinander mit den Schläuchen verbunden.

Für die Lüfter bohren wir an den beiden Seiten des Gehäuses jeweils ein 28 mm großes Loch mit einer Lochkreissäge. Anschließend halten wir die Lüfter passgenau an die Löcher und markieren mit einem Stift die Position der Schraubenlöcher. Die markierten Punkte bohren wir mit einem 2,5er Bohrer und montieren die Lüfter.

Weiter geht es mit dem Luftsensor. Die Kontakte des Luftsensors ‚DHT22‘ werden nach hinten umgeknickt und an die entsprechende Stelle ans Gehäuse gehalten um die Position der Löcher zu ermitteln. Diese werden anschließend mit einem 2 mm großen Bohrer gebohrt. Die Kontakte des DHT22 werden dann von der Innenseite des Gehäuses durch die Löcher gesteckt und der Sensor mit doppelseitigem Klebeband von innen angeklebt. Die Kontakte 1, 2 und 4 werden noch von außen mit einem Jumperkabel (3 Leitungen) und Schrumpfschlauch sicher verlötet. Auf der innen liegenden Seite werden die Kontakte noch mit Heißkleber verklebt um sie vor Feuchtigkeit zu schützen.

Kommen wir nun zur Bodenschale:
Der Erdfeuchtesensor wird durch einen Spalt genau mittig an der langen Seite der Schale gesteckt. Für den Schlitz bohren wir mit einem 2 mm Bohrer zwei Löcher und schneiden mit einem Cuttermesser eine Verbindung zwischen den beiden Löchern um einen passgenauen Schlitz zu erhalten. Der Sensor wird dann bis zur Elektronik in den Schlitz gesteckt. Um den Sensor in Position zu halten müssen wir diesen in der Mitte der Schale stabilisieren – ich habe dafür eine alte Plastikkappe eines Stiftes verwendet. Dann verkleben wir den Schlitz und die Halterung mit Heißkleber. Zum Schluss bohren wir mit einem 4er Bohrer ein Loch 8,5 cm rechts neben dem Schlitz des Erdfeuchtesensors für den Temperatursensor ‚DS18B20‘. Der Sensor wird bis zum Anschlag eingesteckt und anschließend wieder mit Heißkleber verklebt.

 
Teil 4 – Elektronik anschließen?

Hier der komplette Schaltplan – in einer einfachen Ansicht (hochauflösend – klicken zum vergrößern):

Zum anschließen der beiden Temperatursensoren werden zwei 4,7kΩ Widerstände benötigt. Damit sich die Jumperkabel einfach aufstecken lassen, löten wir die Widerstände zusammen mit Steckpins auf eine kleine Platine:


ACHTUNG: Den Raspberry Pi noch nicht fest ins Gehäuse bauen – dieser muss erst in Punkt 5.1 eingerichtet werden!

Natürlich muss auch der Giesomat noch verlötet werden. Wie das gemacht wird findest du hier.

 
Teil 5 – Raspberry Pi einrichten

5.1 Betriebssystem installieren:
Grundvoraussetzung für alle weiteren Schritte ist die Installation und Einrichtung des Betriebssystems „Rasbian“ auf dem Raspberry Pi. Du gehst wie folgt vor:

  1. Verbinde deinen neuen Raspberry Pi zuerst mit einem Monitor, einer Maus, einer Tastatur und dem Netzteil.
  2. Stecke eine Micro-SD Karte (empfohlen 8 GB) in das Kartenlesegerät deines PC’s
  3. Lade Raspbian auf der offiziellen Raspberry Pi-Seite herunter (zum jetzigen Zeitpunkt nutze ich die Version „Buster“ vom 13.02.2020 – Link)
  4. Entpacke die RAR-Datei – du erhälst eine Image-Datei des Betriebssystems
  5. Lade Win32DiskImager von SourceForge herunter (zum jetzigen Zeitpunkt nutze ich die Version 1.0.0 vom Feb. 2020 – Link)
  6. Installiere und öffne Win32DiskImager
    – Wähle im Feld „Image-Datei“ die in Punkt 4 entpackte Image-Datei aus
    – Wähle im Feld „Datenträger“ den Laufwerksbuchstabe deiner Micro-SD-Karte aus
    – Klicke „schreiben“ > anschließend mit „Yes“ bestätigen
    – Nach dem erfolgreichen Schreiben des Images auf die Micro-SD Karte mit „OK“ bestätigen
    (hier kann es jetzt zu diversen Fehlermeldungen und Aufforderungen zu „Datenträger formatieren“ kommen, da das Dateiformat mit Windows nicht kompatibel ist – ignorieren!
  7. Entferne die Micro-SD-Karte und stecke diese in den Raspberry Pi
  8. Starte den Raspberry Pi (sobald der Pi Strom bekommt startet er austomatisch)
  9. Wähle jetzt in den angezeigten Begrüßungsfenstern die entsprechenden Optionen aus
    – Sprache und Land auswählen
    – das Password lassen wir unverändert
    – die Anzeige anpassen
    – Wifi auswählen > Schlüssel/Password eingeben (ggf. LAN-Kabel anstecken wenn kein Wifi vorhanden ist)
    – „Update Software“ bestätigen
    – mit „Restart“ den Raspberry Pi neustarten
  10. Nach dem Neustart aktivieren wir die notwendigen Schnittstellen
    – Start > Einstellungen > Raspberry-Pi-Konfiguration > Schnittstellen
    – folgende Schnittstellen aktivieren: VNC, SSH, I2C, Eindraht-Bus, GPIO-Fernzugriff
    – mit „OK“ bestätigen und Neustart mit „JA“ ausführen
  11. Nach dem Neustart stellen wir die Auflösung ein (Start > Einstellungen > Raspberry-Pi-Konfiguration > Display > Auflösung festlegen > Neustart)
  12. Jetzt öffnen wir das LXTerminal (Start > Zubehör > LXTerminal)
    – mit dem Befehl ifconfig lassen wir und die IP-Adresse des Raspberry Pi’s im WLAN anzeigen (im Abschnitt „wlan0“ hinter „inet“)
    – diese IP-Adresse notieren wir uns
  13. Installiere und öffne den VNC-Viewer auf deinem PC (zum jetzigen Zeitpunkt nutze ich Version 6.20.113 – Link)
    – Gib die zuvor notierte IP-Adresse deines Raspberry Pi’s in der Suchzeile im VNC-Viewer ein
    – Bestätige mit „Fortsetzen“
    – Benutzername: pi Password: raspberry > Kennwort speichern > OK

Jetzt kannst du deinen Raspberry Pi vom PC aus steuern – du kannst also Maus, Tastatur und Monitor abstecken und den Pi ins Gehäuse einbauen.

5.2 Programm kopieren:
Downloade und entpacke das Steuerungsprogramm und kopiere es auf den Desktop des Raspberry Pi’s.
(ich nutze dafür im VNC-Viewer im oben liegende Drop-Down-Menü die Funktion „Dateien übertragen“ > „Dateien senden“)

5.3 Treiber installieren:
Führe nun folgende Befehle im LXTerminal aus (Start > Zubehör):
sudo pip install RPLCD (installiert den Treiber für das Display)
sudo pip install Adafruit_DHT (installiert den Treiber für den DHT22-Sensor)

5.4 DS18B20-Sensor ID ermitteln:
Da jeder DS18B20-Sensor seine eigene ID hat muss diese zuerst ermittelt und anschließend im Programm eingetragen werden.
Dafür geben wir folgende Befehle im LXTerminal ein:
cd /sys/bus/w1/devices
ls
Hier findest du jetzt zwei Ordner. Der Ordner mit der langen Zahl ist die ID deines Sensors (z.B. 28-011316521e80) – diese ID trägst du in Zeile 54 im Steuerungsprogramm ein (Apostrophzeichen beachten – speichern nicht vergessen!). Das LXTerminal kann jetzt wieder geschlossen werden

5.5 Giesomat kalibrieren:
Damit der Erdfeuchtesensor keine abnormalen Werte anzeigt muss dieser entsprechend kalibriert werden:
1. Stecke den Giesomat zuerst in vollständig getrocknete Erde – dieser Zustand wird dem Programm „Feuchtigkeit 0%“ signalisieren
2. Downloade die folgende RAR-Datei und entpacke die enthaltene C-Datei: freq_count_1.c
3. Kopiere diese C-Datei auf den Desktop des Raspberry Pis (im VNC-Viewer im oben liegende Drop-Down-Menü die Funktion „Dateien übertragen“)
– Wir öffnen erneut das LXTerminal und geben folgende Befehle ein:
cd Desktop
gcc -Wall -pthread -o freq_count_1 freq_count_1.c -lpigpio -lrt (kompiliert die freq_count_1.c Datei)
– Anschließend lesen wir die aktuelle Frequenz mit folgendem Befehl aus:
sudo ./freq_count_1 21
– jetzt werden in kurzen Abständen Frequenz-Werte ausgegeben. Wir merken uns einen ungefähren Mittelwert dieser Zahlen und beenden mit STRG+C
– Wir geben diesen Mittelwert der ausgelesenen Frequenzen in Zeile 51 des Programms ein
– Anschließend stecken wir den Giesomat in mit Wasser vollständig gesättigte Erde. Sobald auf der Erdoberfläche ein Wasserfilm entsteht ist die Erde vollständig gesättigt – dieser Zustand wird dem Programm „Feuchtigkeit 100%“ signalisieren
– wir starten die Datei zum Frequenz auslesen wieder mit
sudo ./freq_count_1 21
– auch hier ermitteln wir einen ungefähren Mittelwert der ausgelesenen Werte und tragen diesen nun in Zeile 50 des Programms

Nun haben wir die erforderlichen Frequenzen ermittelt, eingetragen und damit den Sensor kalibriert.

5.6 Autostart einrichten:
Nun richten wir die Autostart-Funktion ein, damit das Programm automatisch startet sobald das Gewächshaus eingeschaltet wird:
Mit folgendem Befehl im LXTerminal erstellen wir die Autostart-Datei:
cd Desktop
sudo nano autostart.sh
Es öffnet sich eine leere Datei in die wir folgendes eintragen:
#!bin/sh

cd /
cd /home/pi/Desktop/
python Gewaechshaus-Steuerung.py
speichern und schließen mit STRG+X > J > Enter
Anschließend statten wir diese Datei mit entsprechenden Rechten aus:
sudo chmod 755 autostart.sh
Als nächstes sagen wir dem System, dass die Datei „autostart.sh“ nach jedem Reboot gestartet werden soll und eventuelle Fehlermeldungen in einer Log-Datei „Cronlog“ auf dem Desktop aufgelistet werden sollen, mit folgendem Befehl:
sudo crontab -e (sollte hier eine Abfrage erscheinen, wähle „1“ und drücke Enter)
In der sich öffnenden Datei tragen wir ganz unten am Ende des Textes folgende Zeile ein:
@reboot sh /home/pi/Desktop/autostart.sh >/home/pi/Desktop/cronlog 2>&1
speichern und schließen mit STRG+X > J > Enter

Zum Schluss starten wir das System mit sudo reboot neu und das Gewächshaus läuft.

ACHTUNG: Sollten die Sensoren beim Start des Programms noch nicht verbunden sein, wird das Programm nicht funktionieren. Das Programm muss alle Sensordaten auslesen können um durchlaufen zu können. Erst dann wird eine Anzeige im Display ausgegeben!

Sollten Programmfehler nach einem Autostart des Programms auftreten werden diese in die Datei „cronlog“ auf dem Desktop geschrieben.

WARNUNG: Der Bau und der Betrieb des Gewächshauses erfolgen auf eigene Gefahr! Im Umgang mit Netzspannung ist höchste Vorsicht geboten!

Du hast einen Fehler gefunden oder eine Frage? Ich würde mich auch darüber freuen wenn du mir dein Projekt zeigst.
Schreibe mir einfach eine E-Mail.

ENDE

Das Schreiben dieses Tutorials hat mich mehrere Wochen gekostet.
Wenn es dir für dein Projekt hilft würde ich mich über eine kleine Spende für die Kaffeekasse freuen.

Vielen Dank



* Amazon-Links sind Affiliate Links. Für jeden Kauf über diese Links erhalte ich eine sehr kleine Provision. Der Preis bleibt für dich gleich – wird also dadurch nicht teurer. Vielen Dank