TerraControl™ – Die elektronische Terrariumssteuerung

TerraControl 2

Bestehend aus einem Arduino Uno, etwas Lötzinn, sowie diversen Kabeln, Knöpfen und Schrauben – und vollkommen ohne verbrannte Finger. Kann allerdings Spuren von Erdnüssen enthalten.

Dieses Projekt entstand, da (vermutlich wegen der Wärmeentwicklung) die normalen Zeitschaltuhren für die Lampen immer nach ein paar Tagen schon um mehrere Stunden falsch liefen. Also musste eine bessere Lösung her! Eine, die selbstverständlich einem hobbyelektrischen Informatiker gerecht wird. Und was gäbe es da passenderes, als eine vollautomatische Steuerung per Microcontroller mit Echtzeituhr, Temperatursensoren und einem Relaisboard für die 230V-Lampensteuerung?

TerraControl 1

Das Display hängt mit dem technologisch hochentwickelten TerraControlPanel™ (an dem die Platinenecke abgeplatzt ist) an der Außenseite des Terrariums und bietet eine Übersicht zum aktuellen Status, sowie Zugriff auf diverse Einstellungsmöglichkeiten. Und man kann die Hintergrundbeleuchtung mit Schalter aus- und anknipsen, sodass einem das nachts nicht so übel ins Gesicht strahlt! 😀

An der Innenseite wurde das Relaisboard befestigt, das vom Arduino gesteuert wird.
Rechts daneben befindet sich eine kleine Verbindungsplatine mit Stromversorgung für alle Geräte und Sensoren, sowie die Echtzeituhr, die natürlich zur Steuerung unabdingbar ist. Auf eine periodische Zeitsynchronisation über NTP oder GPS wurde dank Genauigkeit der RTC verzichtet.

TerraControl 3

Hier die verwendeten Komponenten:

TerraControl PCB

Es gibt nur vier Dinge, die mich an der momentanen Umsetzung noch irgendwie unglücklich machen:

  • Die leicht versehentlich berührbaren Schrauben links am Relaisboard (welche ja teilweise direkt auf dem Außenleiter hängen und somit permanent unter Netzspannung stehen).
    Diese könnte man nach vollständiger Installation einfach noch mit einem langen Streifen Isolierband abkleben.
  • Die Tatsache, dass die Optokoppler zur Trennung von Netz- und Digitalseite momentan fast keinen wirklichen Sinn haben, da letztlich die Vcc-Versorgungsspannung der Relais (über den winzigen SMD-Transistor) auch direkt am Arduino hängt, da beide vom selben Netzgerät versorgt werden.
    Eigentlich müsste ich da zwei separate Netzteile dranhängen, aber selbst dann müsste ich immer noch mindestens GND verbinden. Ist also alles irgendwie keine gute Lösung.
  • Der Sand und Staub, der mit der Zeit überall reingewirbelt wird.
    Um das zu vermeiden sollte die komplette digitale Steurelektronik noch mit einer Holzplatte geschützt werden.
  • Eventuelle spätere Alterungsschwächen der Relais. Hier muss einfach beobachtet werden, ob es irgendwann zu möglichen Schwierigkeiten beim Umschalten kommt.
Bookmark the permalink.

4 Responses to TerraControl™ – Die elektronische Terrariumssteuerung

  1. Kurt says:

    Danke für den Code, da ich momentan etwas ähnliches baue habe ich mal reingeschaut.
    Der Code an sich ist doch gut strukturiert, wobei du des öfteren sehr aufwendige Abfragen durchführst.
    Was mir jedoch direkt als nogo auffällt, ist das du in den EEPROM schreibst.
    Ich hoffe dir ist bewusst das dieser nur über cirka 100.000 Lese- und Schreibzyklen verfügt und du dir damit auf kurz oder lang den Arduino zerschießt ?

    Ansonsten ein guter Code.

    Lg.

    • Jilocasin says:

      In den EEPROM zu schreiben ist als solche ja erst einmal garkein No-Go, sondern eine sinnvolle Aktion, wenn man Dinge Reset-übergreifend speichern will. Von daher ist das Teil durchaus dazu gedacht beschrieben zu werden. 😛

      Ich schreibe nur bei zwei Gelegenheiten in den EEPROM, nämlich wenn entweder die Konfiguration geändert wird, oder alle 24 Stunden die aktuelle Tiefst- und Höchsttemperatur persistent abgespeichert wird.

      Wie ich auch im Code kommentiert habe, findet das zweite also (absichtlich) nur bis zu 365x im Jahr statt. Da läuft so ein einzelner Arduino mal.. naja.. lange. 🙂

      Sollte man also nicht im Minutentakt an der Konfiguration herumschrauben, wird das Teil eine ganze Weile halten, bevor der EEPROM eventuell seinen Geist aufgibt. Das mit der Konfig hätte man noch optimieren können, dass er ggf. ein Flag setzt und nach einer bestimmten Zeit speichert, aber das war mir zuviel Aufwand, dafür dass es auch so geht. Wie gesagt, eigentlich ein Testprojekt.

      Grüße

  2. Peter says:

    Hallo,

    dein Projekt hört sich interessant an, genau so etwas
    suche ich. Meinst du ich könnte von dir das Programm
    haben?

    Gruß Peter

    • Jilocasin says:

      Hi Peter,

      tut mir Leid für die späte Antwort! Ich habs vor lauter Bachelorarbeits-Stress einfach vergessen. 🙂

      Grundsätzlich hatte ich nicht vor das Projekt als Open Source zu veröffentlichen. Der Grund dazu ist einfach, dass das Projekt mein erster Versuch war mit Arduino etwas zu basteln und mt der doch sehr limitierten Arduino-IDE ziemlich zusammengeschustert ist. Es ist daher sehr stark auf unsere vorhandenen Lampen abgestimmt und Änderungen davon sind eher grauenvoll! 😀

      Trotzdem kannst du gern einen Blick darauf werfen. Vielleicht kannst du Teile davon ja wiederverwenden. Den Sketch findest du hier: https://jilocasin.de/web/wp-content/uploads/TerraControl.ino

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.