budo's Web
Hier findet ihr einiges zu meinen Hobbies

Terrarium-Steuerung

Ein Arduino NANO mit Realzeit-Uhr steuert 2 Triac-Schaltstufen (siehe Netzschalter) für ein Geck-Terrarium. Die beiden Schaltstufen schalten getrennt Licht und Wärme des Terrariums. Hierzu könnte man natürlich auch eine herkömmliche Schaltuhr verwenden. Die Besonderheit dieser Terrarium-Steuerung ist, dass sie im Frühjahr eine Phase mit ansteigender Einschaltdauer, und im Spätherbst eine Phase mit abfallender Einschaltdauer unterstützt.

Die Terrarium-Steuerung kennt 4 zeitliche Phasen: Phase 1 - ansteigende Einschaltdauer, Phase 2 - konstante maximale Einschaltdauer, Phase 3 - abfallende Einschaltdauer, Phase 4 - AUS.

Während Phase 4 überwintern die Geckos in einem kühlen Raum.

Während der Phase 1 mit ansteigender Einschaltdauer, ändert sich die Einschaltdauer des Lichtes von 0 auf das Maximum von 12 Stunden in Schritten von 20 Minuten pro Tag. Analog hierzu wir die Heizdauer von 0 auf 6 Stunden in Schritten von 10 Minuten gesteigert. Die Heizperiode wird dabei in 2 aktive Phasen pro Tag aufgeteilt. Die Phase 3 mit abfallender Einschaltdauer erfolgt umgekehrt. Die Zeiten sind natürlich beliebig programmierbar.

schaltzeiten

Schaltzeiten des Gecko-Terrarium während der Phasen. Gelb bedeutet Licht ist an, orange bedeutet Licht und Heizung ist an. Phase 2 ist verkürzt und Phase 4 (alles abgeschaltet) gar nicht dargestellt.

Während der Gecko-Ruhephase Dez 2013/Jan 2014 wurde der Temperaturverlauf innerhalb der Terrarien vermessen ( siehe Messungen ). Die Steuerzeiten im kleinen Terrarium wurden daraufhin optimiert und angepasst. Anstelle einer Heizung mit 3 Stunden an, 4 Stunden aus und 3 Stunden an pro Tag ist nun die Sequenz 4 Stunden an, 2 Stunden aus und 2 Stunden an. Die Temperatur ist dadurch gleichmäßger hoch. Beim großen Terrarium wurde nur die Heizlampe etwas abgesenkt um die Temperatur am Stein etwas zu erhöhen, die Schaltzeiten blieben gleich. Die Messungen wurden mit dem Data-Logger und 1-wire Temperatursensoren via I2C-to-1-wire-bridge durchgeführt. Die Temperatursensoren haben eine Genauigkeit von ± 0,5°.

Software

Die Software beinhaltet eine im Hintergrund laufene Software-Uhr basierend auf dem Sekundentakt eines Arduino internen Timers. Diese Software-Uhr wird zyklisch mit der Uhrzeit der Realzeit-Uhr, die über I2C am Arduino angeschlossen ist, synchronisiert. Die Realzeit-Uhr wird ihrerseits über ein extra Programm mit einer manuell einzugebenden Zeit, bzw über ein Processing-Programm direkt mit der Uhrzeit des PCs synchronisiert. Dies ist nur einmal im Jahr vor Beginn der Phase 1 erforderlich.

Zyklisch werden die Schaltzeiten mit der Uhrzeit verglichen und die Schaltausgänge entsprechend geschaltet. Sicherheitshalber werden zusätzlich noch die Schaltzustände überprüft und bei Abweichung ebenfalls geschaltet. So kann die Terrarium-Steuerung zu einem beliebigen Zeitpunkt aktiviert werden, ohne dass man bis zum nächsten Tag warten muss, bis der Timer das erste mal schaltet. Die Schaltzeiten für die Übergangsphasen werden pro Tag errechnet.

Ausblick

Da der mechanische Aufbau meiner beiden Terrarium-Steuerungen nicht besonders geglückt ist, habe ich mich entschlossen die Terrarium-Timer mit einem 2-teiligen Aufbau, wie beim Netzschalter, erneut zu bauen. Die TRIAC-Schaltstufen werden direkte Nachbauten der des Netzschalters, der Arduino NANO mit Realzeit-Uhr wird komplett ersetzt. Eine Lösung mit budoino ist stromsparender und eine selbst gebaute Realzeituhr basierend auf dem Baustein I2C DS1307 ist platzsparender und beinhaltet weniger Fehler als die gekaufte Realzeit-Uhr, bei der mehrere Korrekturen vorgenommen werden mussten.

Realzeit-Uhr

Als Realzeit-Uhr habe ich bis jetzt das Modul Tiny RTC DS1307 Shield V2.0 verwendet, mit dem ich ziemliche Probleme hatte. Zuerst hat die Uhr überhaupt nicht funktioniert. Der Grund war, dass die mitgelieferte Lithiumbatterie 3,6 anstelle der geforderten 3,0 Volt hatte. Nach dem Tausch traten dann sporadische Fehler auf. Diese konnte ich auf fehlerhafte Entstöhrkondensatoren zurück führen. Anstelle der üblichen 100nF waren 100pF verbaut, die natürlich keinerlei Effekt hatten. Das nächste Problem war dann die Batteriepufferung, die nicht funktionierte. Hier musste ich 3 SMD Widerstände und eine SMD Diode entfernen und an einer Stelle einen Kurzschluß einbauen.

Blockschaltbild

bsb

Terrarium-Steuerung, ursprüngliche Schaltung basierend auf Arduino NANO

Stromlaufplan

str

Terrarium-Steuerung, aktuelle Schaltung basierend auf budoino

Bilder

gt

rtc

Terrarium-Steuerung geöffnet, mit LED-Testadapter und Programmieradapter

Tiny RTC DS1307 mit Korrekturen

gt

Terrarium-Steuerung, neuer Aufbau mit Trennung zwischen Steuerung und TRIAC-Schaltstufen und dazwischen liegendem Netzspannungsverteiler.


Nach Oben