Hallo zusammen,
nach längerer Abstinenz melde ich mich mit meinem aktuellen Projekt mal wieder hier im Forum. Der Fokus bei diesem Projekt liegt allerdings weniger auf dem Aquarium wie sonst hier üblich, sondern mehr auf der Technik drumherum. Ziel ist es, möglichst viele Parameter des Aquariums mit einer zentralen Einheit zu regeln und anzusteuern.
Geboren war die Idee, nachdem ich mein Nano vor zwei Jahren an eine nicht mehr zu kontrollierende Algenplage verloren habe – geschuldet war es der hohen Wassertemperatur im Sommer, die ohne mein Zutun Richtung 29 Grad ging. Ständiges Wasserwechseln mit kaltem Wasser ist aber lästig und behebt das Problem nur kurz und für eine Kühleinheit aus dem Fachhandel, die ja letztlich auch nur ein Lüfter ist, wollte ich nicht so viel Geld ausgeben. Schon da dachte ich mir, dass man das doch recht einfach selbst umsetzen könnte. Aus Zeitmangel hab ich das dann aber nicht weiter verfolgt und das Becken wurde wenig später abgebaut.
Im ersten Lockdown Anfang diesen Jahres hatte ich dann endlich mal die Zeit, mich mal wieder damit auseinanderzusetzen. Ein Lüfter, der die ganze Zeit Vollgas auf die Wasseroberfläche pustet war mir aber etwas zu einfach. Da hat mich der technische Ehrgeiz gepackt, das mal richtig anzugehen. Naheliegend war natürlich, dann nicht nur einen Lüfter temperaturabhängig anzusteuern, sondern auch weitere Sachen rund ums Aquarium zu steuern. Auch eine automatisierte Düngung wäre für mich zum Beispiel wichtig, weil ich oft wochenweise nicht zu Hause bin.
Also setzte ich mich hin und überlegte mir ein paar Features, die ich gerne hätte. Herausgekommen ist:
-Temperaturmessung und Temperaturregelung (Heizen und Kühlen)
-Zeitschaltuhrfunktion für Licht und CO2
-Automatisierte Düngung
-ph-Wert-Messung und Regelung über CO2
-Wasserstandsmessung- und Regelung
Ein Arduino lag bei mir schon länger in der Schublade, mit dem ich mal ein bisschen experimentieren wollte. Ein erster Prototyp dauerte seine Zeit, weil ich mich erstmal in die Welt der Mikrocontroller einarbeiten musste. Hat eine ganze Weile gedauert, bis die einzelnen Funktionen auf einer soliden Codebasis standen und funktionierten. Eine erste Version war dann schon ein ganz schönes Kabelchaos, weil für die Funktion mehrere Module gebraucht wurden.
Hier ein paar Details zu den einzelnen Funktionen:
Die Zeitschaltuhrfunktion habe ich zuerst angegangen. Ich fand klackernde mechanische Zeitschaltuhren und unintuitiv zu bedienende digitale Zeitschaltuhren schon immer nervig und eine „intelligente“ Steckdosenleiste hat bei mir nach kurzer Zeit den Dienst quittiert. Um das Licht und alles andere was an einer Steckdose hängt zu schalten hab ich mir deshalb Funksteckdosen gekauft. Den Code, den die beigelegte Fernbedienung beim Schalten an die Steckdosen sendet, habe ich mit einem Empfängermodul mit dem Arduino ausgelesen und in die Software implementiert. Der Arduino kann mit einem Sendemodul jetzt die Fernbedienung sein und die Steckdosen schalten. So kann auch der Heizstab und das CO2 angesteuert werden.
Die Temperaturregelung für das Heizen ist recht simpel, weil man ja nur den Heizstab ein- oder ausschaltet. Die Kühlung habe ich etwas komplexer gemacht. Als Lüfter dient ein PC-Lüfter, dessen Drehzahl per PWM-Signal gesteuert werden kann. In der Software ist eine Regellogik implementiert, die es mir erlaubt, die Wassertemperatur sehr genau einzustellen. Ich schaffe es das Aquarium bis auf 0,1° genau auf die gewünschte Temperatur abzukühlen. Maximal konnte ich das Wasser etwa 4-5°C abkühlen, mit so viel hätte ich nicht gerechnet. Der Vorteil des geregelten Lüfters ist, dass er angenehm leise wird, sobald die eingestellte Temperatur erreicht ist.
Die Düngung war nochmal etwas komplizierter zu implementieren, weil ich hier auch hardwareseitig etwas experimentieren musste. Die kleinen Peristaltikpumpen laufen auf 12V und brauchen recht viel Leistung, deshalb kann ich die nicht direkt mit dem Arduino ansteuern. Ich nutze nun MOSFETs, um die höhere Spannung mit dem Arduino zu schalten. In der Software sind die gegebenen Parameter wie die gewünschte tägliche Nährstoffzufuhr, der angeschlossene Dünger und die Pumpenleistung hinterlegt. Daraus wird dann die Zeit berechnet, die die Pumpe laufen muss. Sobald das Licht angeht, wird jetzt gedüngt.
Um verdunstetes Wasser wieder aufzufüllen wollte ich eigentlich schon über eine zusätzliche Düngepumpe Wasser zuführen, ich habe bisher allerdings leider noch keinen geeigneten Sensor gefunden. Deswegen mache ich das aktuell noch manuell, bis die bestellten Sensoren ankommen.
Auch das pH-Modul habe ich noch nicht in Betrieb genommen, irgendwie habe ich auch den Bedarf nicht wirklich gehabt, weil das Becken auch ohne das und nur über die zeitgesteuerte CO2-Zufuhr sehr gut läuft.
Über den Sommer musste das Projekt leider etwas ruhen, bis ich dann im Oktober endlich mein Nano wieder neu aufgesetzt habe. Allerdings ergaben sich noch einige Probleme, zum Beispiel hat sich herausgestellt, dass der Arduino schlichtweg zu wenig Speicher für das gesamte Programm hat. Naheliegend war, das Projekt nun auf einen anderen Mikrocontroller, den ESP32 zu migrieren, der bietet nicht nur deutlich mehr Speicher, sondern auch mehr Funktionen wie ein integriertes WLAN-Modul für zukünftige Spielereien.
Ein weiterer Punkt war, alles im Aquarium recht ansprechend an- bzw. unterzubringen. Man will schließlich keine losen Sensoren im Becken haben und die Schläuche für die Düngerzufuhr sollten möglichst dezent, aber trotzdem sicher angebracht sein. Dafür hab ich eine kleine Halterung konstruiert, die an die Scheibe geklemmt wird und den Temperatur- und pH-Sensor sowie die Düngeschläuche in Position hält. Hier im Bild ist die Halterung zu sehen, da wird gerade auch gedüngt.
In die größere Aussparung kann noch die pH-Elektrode geführt werden. Platz für weitere Schläuche für die Dünger ist auch noch.
Seit Anfang des Monats läuft das Setup nun sehr zuverlässig mit einem Dünger zum Testen, nur ist das alles noch ein ziemliches Durcheinander und provisorisch auf meinem Rechner platziert.
Zuletzt habe ich deshalb eine Leiterplatte konstruiert, um die Sensoren und Ausgänge besser stecken zu können und das Kabelchaos loszuwerden. Da bin ich mal sehr gespannt drauf, die Prototypen sind aktuell auf dem Weg zu mir. Ich hab auch noch einige weitere Verbesserungen auf meiner Liste, darunter Gehäuse für die Steuerung und Pumpen sowie ein Web-Interface, um die gemessenen Werte abzurufen und manche Parameter manuell anzusteuern. Die Arbeit geht mir also erstmal nicht aus.
Zuletzt natürlich auch noch ein Bildchen von meinem "Testbecken", wir sind ja schließlich immernoch in einem Aquaristikforum.
Jetzt ist der Text doch länger geworden als gedacht, ich bin gespannt was ihr so von meinem Projekt haltet.
nach längerer Abstinenz melde ich mich mit meinem aktuellen Projekt mal wieder hier im Forum. Der Fokus bei diesem Projekt liegt allerdings weniger auf dem Aquarium wie sonst hier üblich, sondern mehr auf der Technik drumherum. Ziel ist es, möglichst viele Parameter des Aquariums mit einer zentralen Einheit zu regeln und anzusteuern.
Geboren war die Idee, nachdem ich mein Nano vor zwei Jahren an eine nicht mehr zu kontrollierende Algenplage verloren habe – geschuldet war es der hohen Wassertemperatur im Sommer, die ohne mein Zutun Richtung 29 Grad ging. Ständiges Wasserwechseln mit kaltem Wasser ist aber lästig und behebt das Problem nur kurz und für eine Kühleinheit aus dem Fachhandel, die ja letztlich auch nur ein Lüfter ist, wollte ich nicht so viel Geld ausgeben. Schon da dachte ich mir, dass man das doch recht einfach selbst umsetzen könnte. Aus Zeitmangel hab ich das dann aber nicht weiter verfolgt und das Becken wurde wenig später abgebaut.
Im ersten Lockdown Anfang diesen Jahres hatte ich dann endlich mal die Zeit, mich mal wieder damit auseinanderzusetzen. Ein Lüfter, der die ganze Zeit Vollgas auf die Wasseroberfläche pustet war mir aber etwas zu einfach. Da hat mich der technische Ehrgeiz gepackt, das mal richtig anzugehen. Naheliegend war natürlich, dann nicht nur einen Lüfter temperaturabhängig anzusteuern, sondern auch weitere Sachen rund ums Aquarium zu steuern. Auch eine automatisierte Düngung wäre für mich zum Beispiel wichtig, weil ich oft wochenweise nicht zu Hause bin.
Also setzte ich mich hin und überlegte mir ein paar Features, die ich gerne hätte. Herausgekommen ist:
-Temperaturmessung und Temperaturregelung (Heizen und Kühlen)
-Zeitschaltuhrfunktion für Licht und CO2
-Automatisierte Düngung
-ph-Wert-Messung und Regelung über CO2
-Wasserstandsmessung- und Regelung
Ein Arduino lag bei mir schon länger in der Schublade, mit dem ich mal ein bisschen experimentieren wollte. Ein erster Prototyp dauerte seine Zeit, weil ich mich erstmal in die Welt der Mikrocontroller einarbeiten musste. Hat eine ganze Weile gedauert, bis die einzelnen Funktionen auf einer soliden Codebasis standen und funktionierten. Eine erste Version war dann schon ein ganz schönes Kabelchaos, weil für die Funktion mehrere Module gebraucht wurden.
Hier ein paar Details zu den einzelnen Funktionen:
Die Zeitschaltuhrfunktion habe ich zuerst angegangen. Ich fand klackernde mechanische Zeitschaltuhren und unintuitiv zu bedienende digitale Zeitschaltuhren schon immer nervig und eine „intelligente“ Steckdosenleiste hat bei mir nach kurzer Zeit den Dienst quittiert. Um das Licht und alles andere was an einer Steckdose hängt zu schalten hab ich mir deshalb Funksteckdosen gekauft. Den Code, den die beigelegte Fernbedienung beim Schalten an die Steckdosen sendet, habe ich mit einem Empfängermodul mit dem Arduino ausgelesen und in die Software implementiert. Der Arduino kann mit einem Sendemodul jetzt die Fernbedienung sein und die Steckdosen schalten. So kann auch der Heizstab und das CO2 angesteuert werden.
Die Temperaturregelung für das Heizen ist recht simpel, weil man ja nur den Heizstab ein- oder ausschaltet. Die Kühlung habe ich etwas komplexer gemacht. Als Lüfter dient ein PC-Lüfter, dessen Drehzahl per PWM-Signal gesteuert werden kann. In der Software ist eine Regellogik implementiert, die es mir erlaubt, die Wassertemperatur sehr genau einzustellen. Ich schaffe es das Aquarium bis auf 0,1° genau auf die gewünschte Temperatur abzukühlen. Maximal konnte ich das Wasser etwa 4-5°C abkühlen, mit so viel hätte ich nicht gerechnet. Der Vorteil des geregelten Lüfters ist, dass er angenehm leise wird, sobald die eingestellte Temperatur erreicht ist.
Die Düngung war nochmal etwas komplizierter zu implementieren, weil ich hier auch hardwareseitig etwas experimentieren musste. Die kleinen Peristaltikpumpen laufen auf 12V und brauchen recht viel Leistung, deshalb kann ich die nicht direkt mit dem Arduino ansteuern. Ich nutze nun MOSFETs, um die höhere Spannung mit dem Arduino zu schalten. In der Software sind die gegebenen Parameter wie die gewünschte tägliche Nährstoffzufuhr, der angeschlossene Dünger und die Pumpenleistung hinterlegt. Daraus wird dann die Zeit berechnet, die die Pumpe laufen muss. Sobald das Licht angeht, wird jetzt gedüngt.
Um verdunstetes Wasser wieder aufzufüllen wollte ich eigentlich schon über eine zusätzliche Düngepumpe Wasser zuführen, ich habe bisher allerdings leider noch keinen geeigneten Sensor gefunden. Deswegen mache ich das aktuell noch manuell, bis die bestellten Sensoren ankommen.
Auch das pH-Modul habe ich noch nicht in Betrieb genommen, irgendwie habe ich auch den Bedarf nicht wirklich gehabt, weil das Becken auch ohne das und nur über die zeitgesteuerte CO2-Zufuhr sehr gut läuft.
Über den Sommer musste das Projekt leider etwas ruhen, bis ich dann im Oktober endlich mein Nano wieder neu aufgesetzt habe. Allerdings ergaben sich noch einige Probleme, zum Beispiel hat sich herausgestellt, dass der Arduino schlichtweg zu wenig Speicher für das gesamte Programm hat. Naheliegend war, das Projekt nun auf einen anderen Mikrocontroller, den ESP32 zu migrieren, der bietet nicht nur deutlich mehr Speicher, sondern auch mehr Funktionen wie ein integriertes WLAN-Modul für zukünftige Spielereien.
Ein weiterer Punkt war, alles im Aquarium recht ansprechend an- bzw. unterzubringen. Man will schließlich keine losen Sensoren im Becken haben und die Schläuche für die Düngerzufuhr sollten möglichst dezent, aber trotzdem sicher angebracht sein. Dafür hab ich eine kleine Halterung konstruiert, die an die Scheibe geklemmt wird und den Temperatur- und pH-Sensor sowie die Düngeschläuche in Position hält. Hier im Bild ist die Halterung zu sehen, da wird gerade auch gedüngt.
In die größere Aussparung kann noch die pH-Elektrode geführt werden. Platz für weitere Schläuche für die Dünger ist auch noch.
Seit Anfang des Monats läuft das Setup nun sehr zuverlässig mit einem Dünger zum Testen, nur ist das alles noch ein ziemliches Durcheinander und provisorisch auf meinem Rechner platziert.
Zuletzt habe ich deshalb eine Leiterplatte konstruiert, um die Sensoren und Ausgänge besser stecken zu können und das Kabelchaos loszuwerden. Da bin ich mal sehr gespannt drauf, die Prototypen sind aktuell auf dem Weg zu mir. Ich hab auch noch einige weitere Verbesserungen auf meiner Liste, darunter Gehäuse für die Steuerung und Pumpen sowie ein Web-Interface, um die gemessenen Werte abzurufen und manche Parameter manuell anzusteuern. Die Arbeit geht mir also erstmal nicht aus.
Zuletzt natürlich auch noch ein Bildchen von meinem "Testbecken", wir sind ja schließlich immernoch in einem Aquaristikforum.
Jetzt ist der Text doch länger geworden als gedacht, ich bin gespannt was ihr so von meinem Projekt haltet.