Dieses Blog durchsuchen

Terrariumcontroller

Als sich von Seiten der Freundin vor einigen Jahren die Frage nach einem Haustier stellte, begann die Grüblerei, welches Tier es denn sein sollte. Da wir beide berufstätig sind, kommen Tiere wie Hund, Katze, etc. nicht in Frage. Es bleiben nur Tiere die in Aquarien oder Terrarien leben, übrig. Da zu diesem Zeitpunkt ein Bekannter gerade ein Reptiliengeschäft führte, statteten wir ihm einen Besuch ab und gingen schlussendlich mit einer Königspython nach Hause. So beschäftigten wir uns nun intensiv mit der artgerechten Haltung des Reptils und bauten ein Terrarium. Die Heizung sollte eine Wärmelampe mit breitem Spektrum übernehmen. Als zusätzliche Lichtquelle sollte noch eine Ledleiste dienen.
Nun ging es an die Steuerung bzw. Regelung des Terrariumklimas. Die bis dahin eher provisorische Steuerung bestand lediglich aus einer mechanischen Zeitschaltuhr und einem einfachen Dimmer, der die Leistung der Wärmelampe festlegte. Um das zu verbessern, entschloss ich mich, eine kleine Steuerung zu bauen, die alle diese Aufgaben übernimmt. Sie sollte folgende Eigenschaften haben:
  • Messen der Temperatur im Terrarium
  • Messen der Luftfeuchtigkeit im Terrarium
  • Regeln der Temperatur auf einen Sollwert (Dies soll durch die Leistungregelung der Wärmelampe mittels Phasenanschnitt geschehen)
  • Die Lichtsteuerung nach programmierbaren Schaltzeiten übernehmen
  • Alle Informationen in einem Display anzeigen

Daraus enstand schnell ein Blockschaltbild das einen Überblick über die zu entwerfende Hardware gab:
Skizze des Blockschaltbildes
Nun begann der Entwurf eines Schaltplanes. Als zentrale Einheit sollte ein Microcontroller der Firma Microchip dienen. Genauer gesagt verwendete ich einen PIC16F877 in DIL Bauweise für die Hauptaufgaben und etwas umständlich einen weiteren Microcontroller (16H628) als Zeitgeber für die Uhr. Hier wäre es sicher sinnvoller gewesen, eine RTC zu verwenden, jedoch hatte ich die uC´s da. :)
Über einen PWM-Ausgang des PIC wird ein Phasenanschnittdimmer gesteuert, der mittels Optodiac den Leistungstriac steuert. Der Spannungsnulldurchgang der Netzspannung, also die Synchronisierung für den Triac, wird von der Sekundärseite des Netztransformator entnommen und mit einer OPAmp Verstärkungs- und Komparatorschaltung in die Ansteuerung eingebunden.
Zwei direkt schaltbare Relais sollen weitere Verbraucher, wie Ledleiste oder Ultraschallvernebler ansteuern. Über  Reedkontakte an den Glassschiebetüren des Terrartiums sollen geöffnete Türen gemeldet werden. Die Zeit bis zur Auslösung eines akkustischen Alarmes soll einstellbar sein.
Als Istwertgeber wird ein Feuchtesensor und ein Temperatursensor in das Terrarium verlegt und an entsprechende Analogeingänge des uC geschaltet. Ein LC-Display soll den Status der Anlage anzeigen und in entsprechenden Menues Einstellungen über Tasten ermöglichen.
Schaltplan des Controllers

Layout des Controllers
So wurde nun aus dem Schaltplan ein Layout erstellt und daraus ein Board gefertigt. Parallel zum Aufbau der Hardware gings an das Schreiben der Software. Hier hat auch ein Freund intensiv daran gearbeitet, um das System schnell in einen funktionstüchtigen Zustand zu bringen. Die Software steuert die Wärmelampe nun im Sonnenauf- und Untergangsmodus (das bedeutet, morgens geht die Sonne langsam auf, also die Lampe "dimmt ein" und abends geht sie unter "dimmt ab"). Während der Tageszeit ist sie für den Temperatursollwert zuständig. Würde es zu heiss im Terrarium, und die Wärmelampe würde abschalten, so übernimmt die Ledleiste die Beleuchtung.  Solche und noch einige andere Sonderfunktionen sind in der ersten Softwareversion implementiert.
Parallel zur Softwareentwicklung enstand auch der fertige Aufbau der Hardware und konnte erste Tests und Optimierungen durchlaufen. Mittlerweile verrichtet der Controller seit einigen Jahren seinen Dienst...
fertig bestückte Platine


Board im Gehäuse eingebaut

Gehäusedeckel mit Display und Tasten

Sensorboard





Keine Kommentare:

Kommentar veröffentlichen