www.mikrocontroller.net

Ultimatives Aquariumsteuergerät

von Torsten Crull

Inhaltsverzeichnis

[Bearbeiten] Einleitung

Wie an den zahlreichen Beiträgen zu dem Thema im Internet zu erkennen ist, scheint der Bedarf durch fertig käufliche Geräte nicht ausreichend gedeckt zu sein. Ich habe seit einiger Zeit ein Aquarium und mir sind die fertigen Kauflösungen zu unflexibel und/oder zu teuer.

Fazit: Ein ultimatives Steuergerät ist zu entwickeln; hier geht's zum Diskussionsthread dieses Projekts.

Terrarien-Steuerung: Auch wenn die Überschrift es anders vermuten lässt, ist das Gerät auch für Terrarien vorgesehen. Im folgenden Text wird zur besseren Lesbarkeit trotzdem immer von einem Aquarium gesprochen.

Es handelt sich nicht um ein komerzielles Projekt. Bei Bedarf können wir aber Sammelbestellungen z.B. beim Platinenservice organisieren.

Übergeordnete Anforderungen

  • Das Steuergerät ist erweiterbar, auch um Komponenten die nicht jeder benötigt.
  • Das Steuergerät ist sehr preiswert, insbesondere in seiner Basisversion.
  • Der Stromverbrauch ist auf „total cost of ownership“ optimiert.
  • Möglichst alle sinnvollen Ideen und Vorschläge sollten durch Erweiterungen realisierbar sein, sofern sie in der Basisversion nicht enthalten sind.
  • Das Steuergerät entspricht allen wichtigen Vorschriften (TÜV-, CE-, …); eine Approbation ist natürlich nicht geplant.

[Bearbeiten] Beschreibung

[Bearbeiten] Bedienung über die integrierte Mini-Bedienung

Datei:Aquarium-Satellit.png

Die Mini-Bedienung ist die minimal vorgesehene Anzeige- und Bedienmöglichkeit. Gegenüber dem unten beschriebenen Menü-Bedienteil ist sie deutich spartanischer, aber auch preiswerter. Nacholgend sind die Funktionen beschrieben:

Lich ein/ aus

Duch kurzen Druck auf die Tasten ein oder aus wir das Aquarium-Licht ein- ode ausgeschaltet.

Licht dimmen

Duch langen Druck auf die Tasten ein oder aus wir das Aquarium-Licht heller oder dunkler gedimmt.

Temperatur-Anzeige

Die zweifarbige LED signalisiert im normalen Betrieb über Blink-Sequen die gemessene Temperatur im Aquarium in Schritten von 0,5°C. Es wird angezeigt, ob die Temperatur wärmer oder kälter als Anzeige-Basistemperatur ist. Falls die Anzeige-Basistemperatur vom Anwender nicht anders eingestellt wurde, beträgt sie 22°C. Die Anzeige-Basistemperatur ist nicht die Soll-Temperatur für den Regler, diese wird gesondert eingestellt (s.u.).

Beispiele
Blinksequenz Bedeutung Temperatur
blau - blau - blau - pause Basis - 1,5° 20,5°C
blau - blau - pause Basis - 1,0° 21,0°C
blau - pause Basis - 0,5° 21,5°C
blau - rot - pause Basis ± 0,0° 22,0°C
rot - pause Basis + 0,5° 22,5°C
rot - rot - pause Basis + 1,0° 23,0°C
rot - rot - rot - pause Basis + 1,5° 23,5°C
rot - rot - rot - rot - pause Basis + 2,0° 24,0°C

Zeitautomatik

Durch Betätigen der Mode-Taste wird der Zeit-Programmier-Modus aktiviert und durch ein dauerhaftes rotes Leuchten der LED signalisiert.

Durch Drücken der jeweiligen Bedientaste “ein” oder “aus” wird zur gewünschten Zeit die Ein- oder Aus-Funktion programmiert, die sich täglich zur selben Uhrzeit wiederholt. Dabei wird bei installiertem Dimmer (EVG) jeweils ein Sonnen-auf- bzw. -untergang simuliert.

Einstellung der Soll-Temperatur

Durch mehrfaches Betätigen der Mode-Taste wird der Temperatur-Programmier-Modus aktiviert und durch ein dauerhaftes blaues Leuchten der LED signalisiert.

Durch Drücken der jeweiligen Bedientaste “ein” oder “aus” wird die Temperatur in Schritten von 0,5°C höher oder tiefer gestellt programmiert. Die eingestellte Temperatur ist dabei an den Blink-Sequenzen (siehe "Temperatur-Anzeige") erkennbar.

[Bearbeiten] Bedienung über USB

Neben den bereits im Kapitel "Bedienung über den Aquarium-Satellit" beschriebenen Funktionen gibt es über USB weitere Möglichkeiten:

  • Basis-Temperatur für die Anzeige einstellen
  • Dimm-Geschwindigkeit einstellen, also die Dauer des simulierten Sonnen-auf- und -untergangs
  • Untere und obere Grenze für den Temperatur-Alarm einstellen

Dieses Kapitel ist noch in Arbeit.

[Bearbeiten] Hardware

Die Hardware besteht aus mehreren Modulen, die sich - je nach Bedarf - kombinieren lassen. Zunächachst eine Übersicht:

Module
Bezeichnung Kommentar Kosten (ca.)
Zentralrechner Wenigstens die Basisversion ist erforderlich 12€
Mini-Bedienung Anzeige- und Bedienteil, optional 5€
Mondlicht optional 4€
Temperaturalarm optional 1,60€
230V Relaisbox, I²C optional, Preis für 3 Kanäle 25€
230V Relaisbox, 1wire optional, Preis für 6 Kanäle 14€
Temperatursensor optional 2€
EVG-Ansteuerung optional 1€
Heizfolie und Ansteuerung optional 13€
Menü-Bedienteil optional >30€

[Bearbeiten] Zentralrechner (Basis)

In der Basisversion kommt ein MSP430-Launchpad zum Einsatz. Es bringt einen I²C-Bus, PWM-Ausgänge und einen USB-Anschluss mit und kostet nur ca. 5€.

[Bearbeiten] Mini-Bedienung (optional)

Aquariumsteuergerät läßt sich über den USB-Anschluss von einem PC oder einem geeigneten Tablet oder Handy mit USB-OTG-Schnittstelle bedienen. Man kann jedoch eine einfache Bedieneinheit mit drei Tastern und zwei LEDs zu nutzen. Diese kann man entweder für ca. 5€ über den I²C-Bus anschließen oder für ca. 3,50€ direkt über 5 freie IO-Ports an den Prozessor.

Diese Bedieneinheit ermöglicht es, die wichtigsten Funktionen zu bedienen, siehe Kapitel "Bedienung über die Mini-Bedienung".

Die Mini-Bedienung kann direkt in den Deckel des Aquariums eingebaut werden, wenn man ein paar Löcher für die Taster und die LEDs in den Deckel bohrt.

Datei:Dsc_5937.jpg

Hier noch im Prototypen-Aufbau, links ragt die Abdeckung (spätere Frontplatte) ins Bild.

In der preiswertesten Variante ist die Mini-Bedienung auf der Zentralrechner-Platine integriert, so dass der Zentralrechner ohne (teures) Gehäuse direkt zusammen mit der Mini-Bedienung direkt unter den Deckel des Aquariums verbaut werden kann.

Die Mini-Bedienung kann optional auch über ein Netzwerk-Patchkabel mit einem Zentralrechner verbunden werden, wenn er nicht unter dem Aquaruim-Deckel verbaut werden soll.

Im einachsten Fall reicht ein vieradriges Patch-Kabel, bei dem lediglich die PINs 1, 2, 3 und 6 belegt sind:

Die Pinbelegung:
Pin Signal Kommentar
1 +5V Spannungsversorgung für LEDs und PCF8574
2 SDA I²C-Bus Daten
3 SCK I²C-Bus Takt
4 PWM 1 PWM-Signal für das EVG (optional)
5 INT I²C-Bus-Interrupt (optional)
6 GND Signal- und Versorgungs-Masse
7 +12V 12V für Mondlicht (optional)
8 PWM 2 PWM-Signal für Mondlicht (optional)

[Bearbeiten] Mondlicht (optional)

Auf der Rückseite der Mini-Bedienung ist optional eine LED ("High Power 1W Emitter") bestückbar. Wer nachts die Leuchtstofflampen ganz ausschalten möchte, kann dieses Mondlicht aktivieren. Über einen PWM-Ausgang des Mikrokontrollers ist es ebenfalls dimmbar.

Wenn über PIN 7 (s.o.) 12 V eingespeist werden, kann auch eine 12V LED-Leiste angeschlossen werden.

[Bearbeiten] Menü-Bedienteil (optional)

Wem die spartanische Mini-Bedienung mit einer Taste und einwe LED oder drei Tasten und einer Dual-LED zu primitiv ist, kann auch ein entsprechnd teureres Bedienteil mit Display und einem Dreh-Drückgeber für eine Menü-Bedienung anschließen. Dazu stehen verschiedene Displays zur Auswahl:

Datei:Displays.png

Dieses Bedienteil kann entweder - wie die Mini-Bedienung (s.o.) - in den Kunststoff-Deckel des Aquariums eingebaut werden oder zusammen mit dem Zentralrechner in einem gemeinsamen Gehäuse untergebracht werden, so wie im µQuarium:

Über die bequeme Menü-Bedienung mit Softkeys und Dreh-Drück-Geber sind weitere Funktionen direkt am Gerät bequem bedienbar, ohne dass über USB ein Rechner angeschlossen werden muss. Darüber hinaus werden Temperatur und andere Werte im Klartext angezeigt.

Unter dem Display befinden sich vier frei belegbare "Softkeys" die am unteren Rand des Displays beschriftet sind. Im Bild sind das z.B.

  • Tageslicht
  • Mondlicht
  • Wasserpumpe
  • Luftpumpe

Dieser Hardware-Teil ist noch nicht detaillierter ausgeplant, → Diskussionen sind erwünscht.

[Bearbeiten] Temperaturalarm (optional)

Optional kann am Zentralrechner ein Piezo-Summer für einen Temperaturalarm angeschlossen werden.

[Bearbeiten] 230V Relaisbox (optional)

Über einen Port-Expander_PCF8574 und Halbleiterrelais (S202S02) können Heizungen, Pumpen, Licht usw. geshaltet werden. Durch die Relais und die 230V-Steckverbindungen kommt man bei drei schaltbaren Steckdosen auf etwa 25€. Wer also kein Licht schalten muss und z.B. nur ein EVG für Leuchtstofflampen steuern will und wer eine z.B. eine 12V Heizfolie statt eines 230V Aquarium-Heizers verwendet, kann diese Kosten sparen.

[Bearbeiten] Temperatursensoren (optional)

Zur Messung der Temperaturen im Aquarium, Terrarium und der Umgebunstemperatur können mehrere DS18B20 Sensoren angeschlossen werden. Als Steckverbindung kommen Cynch-Stecker zum Einsatz, da diese vergleichsweise preiswert sind (noch zu diskutieren).

Anhand der Temperaturen kann z.B. mit einem 230V-Aquarium-Heizer oder mit 12V-Heizfolien die Temperatur geregelt werden.

[Bearbeiten] EVG-Ansteuerung

Wer sein Aquarium mit Leuchtstofflampen beleuchtet, setzt vielleicht ein elektronisches Vorschaltgerät als Dimmer ein. Diese EVGs haben i.d.R. einen Analog-Eingang von 0..10V, über den sich die Helligkeit in Gewissen Grenzen einstellen läßt. Die EVG-Ansteuerung sorgt über einen Optokoppler und einen Tiefpass dafür, dass such der 0..10V-Eingang über einen PWM-Ausgang des Mikrocontrollers steuern läßt.

Datei:Dsc_5939.jpg
Ein EVG (Leuchstofflampen-Dimmer). Die oberen Pins (+DC und -DC) sind die 10V Analog-Eingänge.

Wer die Leuchtstofflampen nachts nicht nur auf ein Minimum abdunkeln, sondern ausschalten will, benötigt entweder ein geeignetes EVG oder nutzt die 230V Relaisbox (s.o.), um das Licht nachts ganz auszuschalten.

[Bearbeiten] Heizfolie und Ansteuerung (optional)

Heizfolie, 12V, 36W, 137x320 mm kostet ca. 6,50€. Mit zwei Heizfolien Mosfet-Transistoren und Steckverbindungen kommte man also auf ca. 13€ für eine 72W-Heizung, natürlich muss noch der Preis für ein entsprechend starkes 12V-Netzteil hinzugerechnet werden. Für den, der auf die teure 230V Relaisbox verzichten möchte, ist die Heizfolie eine interessante Alternative.

[Bearbeiten] Software

[Bearbeiten] MSP430

Die Basis-Version ist aus Kostengründen mit einem TI Lauchpad mit einem MSP430-Mikrocontroller für ca. 5€ implementiert. Der Quellcode besitzt Compiler-Schalter, die die Compilierung auf unterschiedliche Ziel-Prozessoren erlaubt, so z.B. auf den MSP430G2452 oder den MSP430G2553, die beide dem TI Lauchpad beiliegen.

Für das I²C-Protokoll wird das "Universal Serial Interface" (USI-Modul) des MSP430G2452 bzw. das "Universal Serial Communication Interface" (USCI-Modul) des MSP430G2553 verwendet. Die API benutzt keine wait-Schleifen, sondern den Timer "Timer0_A3", der in beiden Prozessoren vorhanden ist. Dieser wird auch für das Timing des One-Wire-Protokolls verwendet: Datei:Timer_A0.png

[Bearbeiten] andere Mikrocontroller [1]

[Bearbeiten] Konzeption

[Bearbeiten] Ideen, Anforderungen, Vorschläge

Die folgenden gesammelten Anforderungen sind noch nicht priorisiert oder bewertet (To do):

[Bearbeiten] Funktionen

  • Temperaturmessung[2]
  • Tageshelligkeit abhängig von Sonnenauf- und –untergang[2]
  • Nachthelligkeit abhängig von Mondphase[2]
  • Ausgaben, Anzeigen und Einstellen von Parametern[2] sowie Debugging[3] per USB oder RS232 mit einem PC
  • Grenzwerte für Maximal- und Minimaltemperaturen einstellbar[4]
  • PWM-Ansteuerung einer LED-Leiste (12V) für Nachtlicht[3]
  • Messwert einer pH-Elektrode erfassen[4]
  • Dimmbare Leuchtstoffröhren für Taglicht ansteuern[4][3]
  • Alarmbeeper z.B. bei Übertemperatur ansteuern[4]
  • Alarm-Dauer und –Wiederholzeit einstellbar[3]
  • DCF77 als Zeitreferenz empfangen [4]
  • LCD-Anzeige[2]
  • CO2-Zufuhr ein- bzw. ausschalten, abhängig vom PH-Wert[3][5]
  • Heizung schalten bzw. regeln[3]
  • Luftpumpe schalten bzw. regeln[3]
  • Begradigung der Sensor-Kennlinien und Abgleich[3](Temperatur, pH, …)
  • Lüfter zur Temperaturabsenkung
  • Haubenöffnung zur Temperaturabsenkung
  • Unterstützung beim Wasserwechsel: Berechnung und Anzeige der erforderlichen Mengen von Warm/Kalt und Regenwasser zum Wasser nachfüllen[6] nach dem teilweisen Absaugen
  • Datenaufzeichnung auf SD-Card oder USB-Stick
  • Konfiguration des AqauPIC mit individuellen Einstellungen für das jeweilige Aquarium ohne gesonderte Applikation, z.B. über http
  • Wlan Anbindung
  • Nagios Plugin (snmp, Alarme per snmp trap schicken)

[Bearbeiten] offene Punkte

  • Welche Temperatursensoren? Z.B. DS18B20[2][7], NTC Epcos B57861S0103[4][3], Digitale Temperaturfühler[5], …
  • Wie die Sensoren abdichten? Z.B. Glasrohr & Aquariumsilikon oder Aquarien-Luftschlauch[4]
  • Welches Gehäuse? Z.B. PVC-Platten[4], …
  • Welcher Luftdrucksensor? Z.B. z.B. MPX4115A[4]
  • Unterschiede zu einer Terrariensteuerung?[4]
  • Welche pH-Sonde? [3]
  • Welches Netzteil? Reicht ein USB-Ladegerät? Woher 12V für LED-Leiste oder Niedervolt-Heizung?
  • Wie werden die 230V-Verbraucher angeschlossen? Z.B. über eingebaute Steckdosen?[3]
  • Wie wird DCF77 empfangen? Z.B. mit dem Empfänger aus Elrad 7/8 '85? [3]
  • Welche Enstörmaßnahmen sind z.B. an Schaltkontakten von Relais erforderlich?[3]
  • Wie wird der Füllstand gemessen?[6]

[Bearbeiten] ToDo

Versuchen, Unterlagen zum AquaPic zu bekommen
  • Dokumentation und Bedienungsanleitung
  • Bestückungsplan und Bauteilliste
  • Anleitung für den Umbau der Steckdosenleiste
  • Schaltplan für den AquaPic
  • Schaltplan für die Schaltsteckdosen
  • Beschreibung der AquaPic Hardware
  • Beschaltung der Ausgänge vom AquaPic


[Bearbeiten] Hardware-Design[1]

[Bearbeiten] Software-Entwicklung[1]

[Bearbeiten] Downloads[1]


  1. 1,0 1,1 1,2 1,3
  2. 2,0 2,1 2,2 2,3 2,4 2,5 Siehe auch Artikel "Aquarium-Steuerung" im Wiki
  3. 3,00 3,01 3,02 3,03 3,04 3,05 3,06 3,07 3,08 3,09 3,10 3,11 3,12 Siehe auch Artikel "Aquarium Controller" im Wiki
  4. 4,00 4,01 4,02 4,03 4,04 4,05 4,06 4,07 4,08 4,09 4,10 Siehe auch Thread "Aquarium Controller" in "Codesammlung"
  5. 5,0 5,1 Siehe auch ehemalige Internetseite "AquaPic - Technische Angaben"
  6. 6,0 6,1 Siehe auch Thread "Füllstandsmessung im Aquarium" in "µC & Elektronik"
  7. Siehe auch ehemalige Internetseite "AquaPic - Features"
webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net