Ein Pflanzenbewässerungssystem wünscht sich fast jeder. Sei es auch nur für die Zeit wo man mal im Urlaub ist, oder sonst wie nicht dran gedacht hat.
Nur sollte es entweder nicht auffallen und nirgends Platz wegnehmen, oder sich optisch als sehenswertes Design in das Gesamtbild integrieren.
Letzteres ist unser Vorschlag für sie.
Künstlerisch hochwertig gestaltet, perfektes Design kombiniert mit moderner Technik.
Technisch gesehen ist sowas eine Herausvorderung.
Ein Microcontroller
welcher die Messung steuert
diese auswertet
die Pumpe anschaltet
welcher einfach einzustellen ist
und nicht all zu teuer sein sollte.
Die Idee zur Entwicklung eines Pflanzenbewässerungs Systemes hatte ich vor ungefähr 2 Jahren.
Einfach sollte es sein. Keine Belastung der Pflanze durch Messung von elektrischen Leitwerten der Erde usw.
Erste Machbarkeitsstudien zeigten schnell den Weg zu ersten Prototypen.
Es wurden nun 3 Produkte favorisiert.
Ein Pflanzengiesser für Einzelpflanzen bis ca 10kg.
Hier einer der Prototypen aus dem 3D Drucker.
Hier die zugehörige State Machine welche als C Program, mit "function pointer" ausgeführt, im STM32L031 Mikrokontroller am arbeiten ist und damit sämtliche Funktionen steuert.
Ein Pflanzengiesser für Pflanztröge bis ca 30kg.
Hierzu gib es schon die ersten Platinenlayouts aber noch keinen Prototyp.
Ein Pflanzengiesser für Gewichtsklassen weit darüber,
Auf dem Bild ist unser funktionierender Prototyp zu sehen.
Er ist einfach skalierbar unter Verwendung diverser Sensoren. Hierzu wurden viele Möglichkeiten zur erweiterten Nutzenbringung für den Verbaucher erörtert und entwickelt.
Außenbereich
Scalierbar bis in Tonnenbereich
Montage auf Hutschiene
Wasserdicht IP67
Winterhart
Solarbetrieb über externes Hutschienenmodul
220Volt AC über externes Hutschienenmodul
Pumpe 12 Volt oder über entsprechend verfügbare Hutschienenmodule erweiterbar. Externes Pumpmodul - mit größerer Leistung
12V Relaisausgang für Heizung u.Pumpe
Füllstand Wasservorrat
Überlaufdetektor
RTC
OLED 1.3“ Display Anzeige und RGB-LED für Feedback
und Encoder Schalter für die Programmierung
LDR Lichtsensor u.a. für zusätzliche Beleuchtung mit Pflanzenlichtlampen
12V Relais mit Lichtsteuerung über RTC
Temperatursensor i2C
entsprechende Gewichtssensoren
WLAN / LAN Anbindung uber UART
Füllstand Vorratsbehälter
Feuchtesensor I2C
Wie sie leicht erkennen können ist das Hutschienen Modul ein recht komplexes System geworden. Der Microcontroller STM32L467 von ST wurde ausgesucht, die Platine mit der Elektronik entwickelt, ein Gehäuse gewählt usw.
Die Software,
wurde mit der Toolchain (STMCubeMX und SW4STM32) von ST erst mal im Groben umgesetzt. Hier wurde jedoch schnell erkennbar, das ein handgeschriebener Code später schnell zu unwartbarem Spaggeticode führen würde, somit habe ich hier ein Finite State Machine Tool gesucht welches auf UML2 basierend C-Code generiert. Wichtig war dass hier eine State Machine auf Funktionspointer basierend generiert wird. Desweiteren sollte dieses Tool mehr oder weniger Open Source sein. Gefunden habe ich folgendes Tool:
FW Profile is available as free and open software under the terms of the Mozilla Public Licence v2
https://github.com/pnp-software/fwprofile
modelling language defined as a restriction of UML
- C language implementation suitable for safety-critical, real-time and embedded applications
- Web-based modeling tool with C code generation available
https://pnp-software.com/fwprofile
Hiermit war es nun möglich eine inzwischen doch recht komplexe Software als State Machine aufzubauen und all die Features zu integrieren..
Hier ist der grobe Ablauf doch recht leicht erkennbar. Dass hinter jedem farbig markierten Feld natürlich weitere, zum Teil bis in die 3te Ebene reichende StateMachines verborgen sind, sei hier nur kurz erwähnt.
So findet sich derzeit zum Beispiel hinter STATE_FsmMenuOled folgende StateMachine
mit dem dahinter liegenden C-Code ergeben sich inzwischen über 80kb Source Code nur für die State Machine
Length Date Time Name
--------- ---------- ----- ----
26770 01-20-2019 22:12 fwFsm/FwFsm.h
56702 01-20-2019 22:12 fwFsm/FwFsm.c
2718 01-20-2019 22:12 fwFsm/FwFsmMain.c
Hier fehlt noch main.c .... und der C-Code für die Ansteuerung der ganzen Sensoren und Ausgabe. Für den Microcontroller compiliert sind es inzwischen ca 60KB.
Der derzeitig aktuellste Prototyp
Die Platine von unserem Indoor Pflamiku für eine Pflanze bis 10kg. Mehr dazu weiter unten im Text
Hardwarekomponenten ebenfalls möglichst günstig und auch Open Hardware CC BY NC SA 4.0
https://easyeda.com/artbody/pflamiku_3er_stm_2018-11-03
So ungefähr im Groben.
Im einzelnen wurde zunächst die Arduino Palette gewählt.
Für das erste Testobjekt ein Arduino Micro Pro mit 5V und 16 MHz Taktfrequenz.
2 Kapazitive Messensoren
1 LM 298N zum Ansteuern der beiden Pumpen
3 Wiederstände
2 Schalter
1 Led
1 12V Netzteil extern
+ Kabel .... usw
Um dem Microcontroller beizubringen wann er zu giesen hat und wieviel , war zuerst ein Potentiometer pro Kanal vorgesehen, allerdings schien uns das zu aufwendig und ungenau.
Deshalb haben wir das als Schalter realisiert.
Man warte bis der Topf mit der Pflanze so trocken ist, dass er gegossen werden sollte, betätige den entsprechenden Kanalschalter bis die Led blinkt, Betätigt man nun den Schalter in die andere Stellung wird der Wert für die Grenze zum Giesen gespeichert.
Es gibt diverse Messverfahren u.a. Wiederstandsmessung, Induktive oder Kapazitive Messung. Bei der Induktiven und Kapazitiven Messung fließt schon mal kein Strom durch die gemessene Erde. Dies war uns wichtig.
Somit begann Achim Merath mit einem noch relativ einfachen Kapazitätssensor die ersten Versuchsreichen zu machen. Diese schienen soweit auch zu funktionieren. Allerdings zeigte sich recht schnell dass Fremdeinfüße oder Messungenauigkeiten so nicht zu Ziel führten.
Klar der Elektronikfreak erwacht. Alles genauer, besser gößer usw. Der eine oder andere kennt diese Falle schon.
Man verrennt sich in Details ... Ende der Geschichte war ein 6 Kanal Kapazitätsmessgerä, für Vergleichsmessung, mit CPLD und 32 Bit Mikrokontroller. LCD und 12 Tastenfeld plus Messwert Logdatei.
Die gemessenen Werte wurden dann mit einem entsprechenden Programm auf dem PC ausgewertet.
Im Laufe der Forschungs und Entwicklungsarbeiten, mußten wir jedoch feststellen, daß mit allen oben genannten Messmethoden, keine wirklich funktionierende Schaltung entwickelt werden konnte.
Die Messkurven, welche über Wochen, mit immer genauerer Messtechnik, aufgezeichnet wurden, ergaben dass das Wetter, Temperatur und sonstige Einflüße weit größer waren, als die zu messende Bodenfeuchtigkeit.
Ein gießen der Planze hatte in den Messkuven weit weniger Ausschlag ergeben als die anderen Einflüße, was erst mal zu einem Entwicklungsstop führte.
Nun wie der Zufall es oft so will, saßen wir anfang November Mittwoch Abends mit Freunden in einem guten bayrischen Lokal beim Essen.
Ich schilderte Marco mein Problem und er meinte so ganz trocken, ob man das nicht auch ganz einfach über das Gewicht bestimmen könne.
Klar. !!!
Einfacher geht es ja nun wirklich nicht.
Spät Abends noch bestellte ich die passenden Teile.
Wäagesensor mit 24 Bit Genauigkeit.
Donnerstag und Freitag erst mal TourenSkifahren .
Hier kam mir die Idee, daß die 10 Platinen, welche ich vor Monaten für das erste Projekt habe ätzen lassen eventuell doch noch Verwendung finden könnten.
Samstags zuhause angekommen, schaute ich mir noch kurz den alten Schaltplan an
Es müßte gehen.
D wo vorher der Kapazitive Sensor dran war muß nur per Software im MikroController eine Serielle Datenanbindung an den Gewichtssensor programmiert werden.
Gesagt getan. Samstag abends um 23 Uhr konnte ich bereits die ersten Messwerte einlesen.
Dann an den nächsten Tagen mit FreeCad ein Funktionsmuster zum Einbau der Teile als CAD erstellt und mit dem 3D Drucker ausgedruckt. Mit der Drehbank noch kurz eine Führungshülse mit Bolzen gemacht. Zusammengebaut, dann noch das neue Mikrocontroller Programm geschrieben, Test die ERSTE und funktioniert.
Nach einem Jahr Entwicklungsarbeit,
hat sich unser Pflamiku zu einem Produkt entwickelt was sich sehen lassen kann.
Als Herz tickt nun ein besonders energiesparsamer STM32L031K6T Mikrocontroller. Es ist alles auf einer einzigen Platine. Die Hardware drum herum wurde optimiert.
Das Benutzerfeedback geschieht nun über eine RGB-LED welche je nach Zustand von Blau nach Rot ihre Farbe wechselt, je nach dem wie voll ihre Pflanze mit Wasser ist
oder aber mit Blinksignalen in verschiedenen Farben den Programmstatus anzeigt. Rot blinkend für Fehler. Blau blinkend für Programmiermodus.
Die Software erkennt nun auch einen Wassermangel im Vorratsbehälter und / oder Pumpendefekt.
Uber einen weiteren Sensor wir die Helligkeit gemessen und somit wird in der Nacht nicht gegossen.
Hier kann als Option auch ein Nur Morgends oder Nur Abends gießen separat bestellt werden.
Die Hardware drum herum:
Als Basisversion unser kleines Pflamiku für eine Pflanze bis max 10Kg. Das optimale Geburtstagsgeschenk.
NUR im INNENBEREICH ! verwendbar.
Steckernetzteil, Pflamiku, Wasserbehälter mit Pumpenhäuschen und Schlauch (8mm). Optional Solarpannel mit Akku.
Als Outdoor Version unser PflamikuSystem für Pflanzen und Pflanztröge bis derzeit max 1000Kg. Größere Dimensionen auf Anfrage.
Hier gibt es momentan nur Kundenspezifische Lösungen in verschiedenen Schutzklassifizierungen Die Schutzart wird im International Protection Code angegeben und gibt bei einem elektrischen Gerät Informationen über den gehäuseeigenen Schutz gegen störende Fremdkörper in der Luft, Einfluss von Wasser und mechanische Beanspruchung.
Schutzart IP - EN 60529 ( Schutz vor Fremdkörpern und Wasser) sowie Schutzart IK - EN 50102 ( Schutz vor mechanischer Beanspruchung z.B. auch Vandalismus )
IP bis 68 und IK 04
Die elektrische Schutzklasse III ist durch die Verwendung von Kleinspannung gegeben. Die Versorgungsspannung wird extern zugekauft und wird im Rahmen des Kundenwunsches spezifiziert.
Hierbei kann entweder Solarmodul mit Akku und / oder Netzbetrieb gewählt werden
Mehr kommt noch