Vorgeschichte
Wir wohnen in einem kleinen Häuschen mit Garten. Und in diesem haben wir auch diverse elektrische Verbraucher, die - wenn möglich - automatisch ein- und ausgeschaltet werden sollen. Das sind zum einen die Teichpumpe, die von morgens um 10 Uhr bis abends zur Dämmerung laufen soll. Dann haben wir da die Gartenbeleuchtung, die von der Dämmerung, wenn es also dunkel ist, bis 23 Uhr leuchten soll. Dann haben da die Teichheizung, die im Winter bei Temperaturen unter 1°C in Betrieb sein muss, damit das Wasser nicht zufriert und die Fische keine Luft mehr bekommen.
Für das alles haben wir unter der Balkon-Terrasse in einem ausgedienten Meerschweingehege einige Schaltuhren und Thermostate installiert. Wenn da jetzt nicht die Sache mit der Dämmerung wäre, könnte man das eigentlich so lassen, aber wenn so mit länger werdenden Tagen die abendliche Beleuchtung immer noch um 16 Uhr angeht, während das Sonnenlicht noch zwei Stunden scheint, dann müsste man das eigentlich nachjustieren. Das Problem ist nur, dass das eine ziemliche Krabbelei unter der Terrasse ist, und man ist nicht mehr der Jüngste. Will heißen, runter ist das kleinste Problem, aber wie kommt man wieder hoch? Da muss man also was basteln.
Anforderungen
Da ich nicht mehr ein ganzes Rudel Uhren und Thermostate unter der Terrasse haben will, erscheint es mir sinnvoll, über eine mehrkanalige Schaltuhr nachzudenken. Vier Kanäle sollten ausreichen. Außerdem will ich die Schaltuhr nicht ständig umstellen müssen: Kann die Uhr sich nicht selbst ausrechnen, wann es dämmert und wann es zappenduster ist? Und drittens: Ich will da überhaupt nicht mehr unten herumkrabbeln. Kann man die Uhr nicht mit dem Handy fernbedienen? Viertens: Sommer- und Winterzeit sollte die Uhr von alleine umschalten.
Die Idee
Ausgehend von einem kleinen Espressif ESP-8266 01 (das ist dieses kleine, niedliche 16x26mm große Platinchen mit den 8 Pins auf der Rückseite und der markanten WLAN-Antenne) baute ich eine kleine Schaltung auf einem Steckbrett auf, und erweiterte den Chip um einen Dallas DS1820 Temperatursensor. Die Ausgabe auf der seriellen Leitung in die Arduino IDE zeigte plausible Temperaturen an. Dann brauchte man noch eine Oberfläche, einen Access-Point, eine Möglichkeit das ganze ins heimische WLAN zu hängen und eine bisschen Software, damit sich der Chip per Network Time Protocol (NTP) selbständig die aktuelle Uhrzeit holt. Ausgehend von diesem interessanten Projekt der Cistercian Clock fand ich einen guten Teil der Software schon dort vor. Leider hat der ESP 01 nicht genug Anschlüsse für den Temperatur-Sensor, die vier Relais und auch noch ein LC-Display. Auch eine NodeMCU hat nicht genug Anschlüsse. Also entschied ich mich für eine Kombination aus ESP-01 als Controller und ATTiny2313 als Porterweiterung. Die Kommunikation verläuft einseitig über eine serielle Schnittstelle.
Der ESP-01 übernimmt also sämtliche Aufgaben, verbindet sich mit dem WLAN, bedient den Temperatur-Sensor und übermittelt dem ATTiny, was dieser aufs Display schreiben soll, bzw. welches Relais er ein- oder ausschalten soll.
Mathematik
Der kasus knusus, also das hüpfende Komma, ist in diesem Fall die Berechnung der Dämmerungszeiten. Basis hierfür ist das Datum, sowie Längen- und Breitengrad. Ich habe mehrfach verschiedene kostenlose und registrierungsfreie Provider getestet, die mir aufgrund der IP Adresse die Position geben sollten, aber der genauste Provider lag immer noch 400km daneben. Das kanns nicht sein. Also muss ich die Geo-Koordinaten wohl per Hand über die Web-Oberfläche eingeben.
Damit und dem Datum konnte ich aufgrund des Längengrades und der Zeitgleichung berechnen, wann exakt eine Sonnenuhr hier Mittag anzeigen würde. Sonnenauf- und untergang liegen um diese berechnete Mittagszeit symmetrisch herum. Mit dem Breitengrad kann man mit den Formeln aus Lichter Tag die Tageslänge von Sonnenauf- bis untergang bestimmen. Mit den Formeln aus Dämmerung bekommt man dann die Informationen zu den Dauern der drei Dämmerungen (bürgerlich, nautisch, astronomisch), wobei mich hier nur die bürgerliche Dämmerung interessiert.
Wir haben nach den Berechnungen also für einen beliebigen Tag X die Informationen:
- Beginn der morgendlichen (bürgerlichen) Dämmerung (Es wird hell)
- Ende der morgendlichen (bürgerlichen) Dämmerung (Sonnenaufgang)
- Beginn der abendlichen (bürgerlichen) Dämmerung (Sonnenuntergang)
- Ende der abendlichen (bürgerlichen) Dämmerung (Dunkelheit)
Da für diese Berechnungen eine ganze Menge Winkelfunktionen (und somit ein gutes Maß Rechenzeit benötigt werden), werden diese Berechnungen nur einmal um Mitternacht, bzw. nach Eingabe von Längen- und Breitengrad gemacht.
Schaltzeiten
Die Uhr bekommt über das NTP von einem Zeitserver aus dem Internet die Uhrzeit und das Datum. Aus dem Datum kann problemlos der Wochentag berechnet werden. Mit der Osterformel folgen dann der Ostersonntag und davon ausgehend alle anderen beweglichen Feiertage. Somit kennt die Uhr also den Wochentag und alle Feiertage. Damit sind dann diese Kombinationen möglich:
- Set aus einzelnen Wochentage
- Montags bis Freitags
- Wochenende
- Arbeitstag (= Montags bis Freitags ohne Feiertage)
- Nicht Arbeitstag (Wochenende und Feiertage)
- Täglich
- Konkrete Uhrzeit
- Minuten vor / nach Dämmerung (Beginn morgens, Ende morgens, Beginn abends, Ende abends)
- Unterhalb / Überhalb einer Temperatur
Grundlage für die Schaltuhr ist eine Tabelle mit den Spalten
- Kanal
- EIN / AUS
- Tag
- Schaltpunkt
Bauteile
Das meiste, was für die Uhr gebraucht wird, gibt es bei Amazon zu kaufen:
- Gehäuse
- Kabeldurchführungen
- Steckdosen
- Netzteil
- ATTiny2313
- ESP 8266 - 01
- LC-Display
- LEDs für Kontrollanzeige
- Leistungsrelais
Alles zusammen also 120 Euro für Material für zwei (!) Schaltuhren. Dazu kommen noch Kleinteile wie Platine, Schrauben, Distanzröllchen, Kabel, Kabelschuhe, Aderendhülsen, usw. Insgesamt also etwa 80 Euro pro Schaltuhr. Fairer Preis.
Keine Kommentare:
Kommentar veröffentlichen