Aquarium

Hallo alle!

Ich möchte hier mein Projekt vorstellen. Das wichtigste ist einmal, dass ich weiß was ich will. Und was ich nicht will.

Was ich will:

  • Eine Filterpumpe die dauernd läuft. Für Wartungsarbeiten sollte diese über einen Schalter ausgeschalten werden können.
  • Eine Luftpumpe für den Ausströmstein. Auch diese will ich über einen Schalter ausschalten können. Ich möchte auch wählen können, ob die Luftpumpe immer läuft, nie läuft, oder nur in der Nacht eingeschalten ist.
  • Ich will eine Beleuchtung die einen Sonnenaufgang bzw. Sonnenuntergang darstellen kann. Sowohl in der Helligkeit, als auch in den Farben. Weiters will ich ein Nachtlicht. Und ich will eine Wolkensimulation. Diese soll aber nicht einen bestimmten Muster folgen, das ist in der Natur auch nicht der Fall. Die Beleuchtung soll über einen Schalter abschaltbar sein, für Wartungsarbeiten.
  • Ich möchte eine Temperaturregelung, die einen Tag-/Nachtzyklus aufweist. Zu Mittags ist es eben wärmer als in der Nacht. Und ich möchte, dass unterschiedliche Tage unterschiedlich warm bzw. kalt sind. Das ist in der Natur auch so. Für Wartungsarbeiten natürlich über einen Schalter abschaltbar. Wenn es zu warm im Becken wird (Sommermonate), soll ein Lüfter das Wasser etwas herunterkühlen.

Was ich nicht will:

  • Mich interessiert die Technik im laufenden Betrieb nicht. Das soll einfach funktionieren. Maximal schaue ich auf Thermometer, ob die Wassertemperatur in dem Bereich liegt, in dem sie sein soll.
  • Keinerlei Anbindungen über das Internet, sei es Twitter oder sonst irgendeine Seite oder App.
  • Komplizierte Bedienung.
  • Keinerlei Zeitschaltuhren, weder mechanische noch elektronische.
  • Relais klacken hören.
  • Viele Stecker, ein Netzstecker muss für alles reichen.

So, das gehört jetzt umgesetzt...

1 Like

Grundsätzliches zur Funktionsweise

Dieses Projekt baut auf der Grundidee auf, alles für den Anwender so einfach wie möglich zu realisieren. Es existieren (käuflich zu erwerbende bzw. selbst gebaute) Lösungen, die viele Funktionen zur Verfügung stellen. Diese Funktionen (Touch-Displays mit mehreren Menüebenen, Anbindung an die Kommunikationsplattform „Twitter“) schauen sehr gut aus, sind aber entweder nicht essentiell notwendig oder überfordern auf Grund ihrer Komplexität den nicht technisch versierten Anwender, der einfach nur ein funktionierendes Aquarium haben möchte.
Trotzdem soll die Steuerung bzw. Regelung die wichtigsten Belange abdecken und den Betrieb, ohne die Technik in den Vordergrund zu stellen, sicherstellen.
Nachfolgend finden sich die wichtigsten Funktionen mit einer Erklärung warum sie so realisiert, wie sie eben realisiert wurden.

Zeit

Die meisten Steuer-/Regelungsvorgänge benötigen die exakte Tageszeit, da die meisten Änderungen zeitabhängig stattfinden. Da der Empfang eines DCF77-Signals (Atomuhr) nicht garantiert werden kann, wurde auf ein Real-Time-Clock-Modul zurückgegriffen. Dieses basiert auf einem Quarzkristall der mit 32768kHz schwingt. Da naturgemäß trotzdem Abweichungen auftreten werden, wird eine einfache Möglichkeit benötigt, die Zeit zu korrigieren. Es wurde entschieden (eine in der Software enthaltene Zeit) mittels Schalter jederzeit übernehmen zu können. Damit braucht der Anwender nur etwas vor dem definierten Zeitpunkt einen Schalter betätigen, warten bis der genaue Zeitpunkt erreicht ist, beim Schalten in den Normalzustand wird die Zeit in die Uhr geschrieben. Um zu verhindern, dass der Anwender das Rückschalten vergisst, blinkt die Hauptbeleuchtung des Aquariums abwechselnd blau und rot. Dies soll darauf hinweisen, dass kein Normalzustand vorliegt.

Beleuchtung

Die Beleuchtung soll lichttechnisch einen gesamten Tag abdecken und den Pflanzen und Fischen ein naturnahes Licht zur Verfügung stellen. Normalerweise hält man in einem Süßwasseraquarium Fische die aus tropischen Gegenden, also aus Äquatornähe stammen. In diesen Breiten ist der Tag in etwa so lang wie die Nacht. Die Lichtsteuerung wurde so gewählt, dass die Nachtbeleuchtung nahtlos in die Tagbeleuchtung übergeht, dies dauert eine halbe Stunde und simuliert einen Sonnenaufgang. Am Abend (nach 12 Stunden) findet der umgekehrte Prozess statt, damit wird der Sonnenuntergang simuliert. Die Spektrumverschiebung in den roten Bereich lässt sich vom Anwender in 16 Schritten festlegen und ist in Software codiert. Des Weiteren wird einmal pro Tag über eine Zufallsfunktion eine Wolkensimulation gestartet, diese kann (muss aber nicht) stattfinden.
Die Beleuchtung lässt sich vom Anwender über einen Schalter ausschalten, eine Kontroll-LED zeigt dies an.

Temperatur

Die Temperaturregelung soll ähnlich wie die Beleuchtung einen Tageszyklus abbilden. Zu berücksichtigen ist dabei, dass sich die Temperatur stündlich ändert. In der Nacht ist es eben kälter als am Tag. Um die Änderungen nicht abrupt auftreten zu lassen, folgt die Temperatur einer Sinusschwingung. Eine Glättung der stufigen Sollwerte findet durch die Trägheit der Wassermenge statt. Um starkes Überschwingen zu vermeiden wird die Leistung des Heizstabes zurückgenommen, je näher sich die Isttemperatur der Solltemperatur annähert. Weiters berücksichtigt das Programm, dass ein Tag nicht wie der andere ist. Leichte Temperaturschwankungen finden statt und werden mittels Zufallsfunktion dargestellt.
Sollte in den Sommermonaten die Wassertemperatur auf Grund der Außentemperatur einen kritischen Wert übersteigen, so schaltet sich ein Ventilator ein, der über die Verdunstungskälte das Wasser etwas abkühlt.
Der Heizstab lässt sich vom Anwender über einen Schalter ausschalten, eine Kontroll-LED zeigt dies an.

Filterpumpe

Die Filterpumpe läuft prinzipiell immer, ohne Unterbrechung. Für Wartungsarbeiten am Aquarium kann der Anwender die Pumpe über einen Schalter ausschalten. Eine Kontroll-LED zeigt dies an.

Blubber (Luftpumpe)

Die Luftpumpe fördert Luft zu einem Ausströmer, der im Aquarium platziert ist. Dadurch wird das Wasser mit Sauerstoff angereichert. Pflanzen geben untertags Sauerstoff an das Wasser ab, benötigen in der Nacht jedoch selbst Sauerstoff aus dem Wasser. Je nach Pflanzenbesatz ist diese Funktion der Sauerstoffanreicherung mittels Pumpe nicht notwendig, zum Beispiel bei einem reinen Pflanzenaquarium bzw. einem Pflanzenaquarium mit wenigen Fischen. Anderseits kann es bei einem Becken ohne Pflanzen (so werden Malawi-Buntbarsche gehalten) notwendig sein, die Pumpe im Dauerbetrieb laufen zu lassen. Der häufigste Fall wird der sein, bei dem die Luftpumpe in der Nacht läuft und während des Tages ausgeschalten ist.
Der Anwender kann mittels Schalter die Luftpumpe aus- bzw. einschalten, über einen anderen Schalter lässt sich der Dauermodus auf Tag/Nacht-Modus umstellen.

Demonstrationsmodus

Den Demonstrationsmodus benötigt man für den laufenden Betrieb des Aquariums nicht. Der eigentliche Sinn hinter diesem Programmteil liegt in der Visualisierung der 16 hinterlegten Farb-/Helligkeitsstufen der Sonnenaufgangssimulation. Im Demomode wird jede dieser 16 Werte für eine Sekunde angesteuert. Dadurch kann der Anwender sofort erkennen, ob eine Anpassung notwendig wäre um das gewünschte Ergebnis zu erzielen. Danach werden die Filterpumpe und die Luftpumpe, sowie der Lüfter im Sekundenrhytmus angesteuert. Dadurch kann vom Anwender die Funktionsfähigkeit beurteilt werden. Der Demomodus wird mittels Schalters eingeschalten und bietet auf Grund der auffälligen, optischen Gestaltung keine Rückmeldung mittels LED. Ein Zyklus dauert 30 Sekunden und kann nicht vorzeitig beendet werden, schaltet man den Schalter wieder in die Ausgangsstellung wird nach Ablauf des gesamten Zyklus der Demonstrationsmodus verlassen und der Normalbetrieb wieder aufgenommen. Anderenfalls wird der Demomodus so lange wiederholt bis man den Schalter betätigt. Die Heizstabansteuerung ist während des Demomodus deaktiviert, der Heizstab wird vom Programm ausgeschaltet.
Ein zweiter Einsatzzweck ist die Demonstration der optisch und akustisch wahrnehmbaren Funktionen der Aquariumsteuerung.

Ausgabe Daten

Das Konzept dieser Aquariumsteuerung sieht vor die vorhandene Technik so einzusetzen, dass diese möglichst unbemerkt wird. Andererseits werden die Beleuchtung und die Temperatur so angepasst, dass eine Zufallsvariante tragend wird. Der Anwender kann prinzipiell (ein Glasthermometer vorausgesetzt, dies ist aber als Standard anzusehen) jederzeit feststellen, ob sich die momentanen Eigenschaften des Aquariums in den festgelegten Grenzen bewegen, oder nicht. Wenn man eine Visualisierung der Werte benötigt oder um die aktuellen Daten genau zu erhalten, benötigt man eine Möglichkeit dies darzustellen. Dies leistet dieses Subprogramm welches Daten wie Zeit, Solltemperatur, Ist-Temperatur, etc. über die serielle Schnittstelle an einen PC schickt. Mittels der Entwicklungsumgebung lassen sich diese Daten im SerialMonitor-Fenster anzeigen.

Nun zur Technik.

Schaltplan Eingänge und Schaltplan Ausgänge.

Nun eine Auflistung der wichtigsten Bauteile:

  • Arduino Mega 2560 R3 (kann auch ein anderer sein, ich habe ich halt für diesen entschieden)
  • Solid State Relais Fotek SSR 25 (3 Stück)
  • Computernetzteil für 12 Volt Versorgung (Wearnes WDS060120), max. 6 Ampere
  • LEDs, ganz normale, rot und gelb (damit hier eine Bezeichnung steht: SKRS070, SKRS071)
  • dazu passende Vorwiderstände 150 Ohm, 220 Ohm
  • Steckverbinder für 12V bzw. 230V
  • 7 Schalter, z. B. diese: Kippschalter 250 V/AC 3 A 1 x Ein/Ein
  • 4 Stk. Mosfet (IRLIZ44N)
  • LED RGB Beleuchtungsstreifen (ich habe 8 Stk. von diesen hier verwendet: Conrad 154976)

Und natürlich ein Aquariumset. Ich habe ein 60 Liter-Becken, Für dieses ist dann auch die Beleuchtung ausgelegt.

Weiter geht es mit Bauteilen die über einen Bus angesprochen werden:

  • RTC Modulmit DS1307, (I2C-Bus
  • Temperatursensor DS18B20, One-Wire-Bus

So, fehlt noch der Code...

Ich gebe ihn hier wieder mit allen meinen Kommentaren, damit man ihn nachvollziehen kann. Und er ist gut kommentiert... :slight_smile: :slight_smile: :slight_smile:

Bitte Anhang beachten.

Aquarium Programm.txt (57.5 KB)

Ok, das war es mit der technischen Seite der Projektvorstellung. Vielleicht ist es für den einen oder anderen interessant. Das Aquarium läuft nun einige Wochen störungsfrei (mit Fischen und Pflanzen). Ich werde hier noch ein paar Bilder vom Aufbau und vom laufenden Betrieb einstellen, damit man sich das besser vorstellen kann. Allerdings wird das frühestens morgen passieren, da ich gleich weg muss.

Interessantes Projekt.

Interessehalber: Besteht dein Licht nur aus LED`s ?
--> bei mir im Aquarium habe ich eine Separate Lampe für die Pflanzen die ich 2 mal am Tag einschalte.

Bei meinem Lichtmanagement richte ich mich an die Tatsächliche Licht Quelle draußen, denn sonst könnte es passieren das ich den Fischen schon Dunkel gebe obwohl von draußen noch Hell herein kommt, denn mein Zimmer hat Fenster bei denen das Licht fast bis auf das Aquarium Fallen kann.

Jetzt aber zu meiner Eigendeichen und Wichtigsten Frage, bemerken das die Fische überhaupt? richtig? verhalten die sich dann anders? Sind die Glücklicher mit so etwas?

Ich freue mich schon auf die Bilder und auf ein Kurzes Video vielleicht von dir.

Ja, das Licht besteht aus 8 der oben angegebenen LED-Module. Macht 8*3W=24 Watt. Keine andere Beleuchtung, außer Tageslicht das durchs Fenster fällt. Ich hatte vorerst die "normalen" RGB-Led-Stripes mit den 5050er Dioden, aber das war zu dunkel.

Keine Ahnung, ob die Fische das bemerken und glücklicher sind. Aber ich wollte, wenn ich so ein Projekt mache, das alles berücksichtigen um einen Tagesablauf möglichst gut abzubilden. Zumindest ist es nicht so, dass es jetzt dunkel ist - und BÄM, eine Sekunde später - Vollbeleuchtung eingesetzt hat.

Wenn die Fische glücklicher sind, würde es mich freuen. Unglücklicher sind sie sicher nicht.

Bedauerlicherweise sind nur wenige Fotos während des Aufbaues entstanden. Hier wären einige:
Fotos

Video habe ich gar keines. Aber ich mache heute noch eines, und auch ein paar Fotos die das fertige Aquarium zeigen.

So, unter obenstehenden Link sind nun ein paar Fotos zu sehen. Und da gibt es ein Zeitraffervideo vom Sonnenuntergang (ja, das Aquarium steht in einem Jugendzimmer). Da die Kamera immer lichttechnisch nachregelt, gibt es nur ein verzerrtes Bild der Realität wieder. Die Aufnahmedauer erstreckt sich über 77 Minuten (alle 10 Sekunden ein Bild).

Video, nun in besserer Qualität.

Nun habe ich es geschafft, die Sonnenaufgangssimulation zu filmen: Video

Heute hat sich auf Grund der Hitzewelle das erste Mal der Lüfter zur Kühlung eingeschalten. Dies war die letzte Funktion, die (außer im Testbetrieb) vom Programm noch nicht aufgerufen wurde. Das Aquarium läuft nun mehrere Wochen problemlos.

Video Lüfter

Hiermit beende ich die Vorstellung meines Projektes, stehe aber natürlich für Fragen bereit, sollten welche kommen.

Schönes Projekt! Glückwunsch. :slight_smile: