Die WeatherStation wurde als Arduino-Shield geplant. Man kann Sie auf ein Arduino Ethernet Board aufstecken und verwenden. Ausgehend von den Anforderungen wurde folgende Schaltung entwickelt:
Der Schaltplan mit höherer Auflösung befindet sich im Downloadbereich.
Leistungsschalter mit MOSFET
Die beiden Heizkreise mit jeweils maximal 12W werden mittels PWM temperaturgeregelt. Zwei IRLIZ44N MOSFET's T1 und T2 im TO220-Gehäuse kommen hier zum Einsatz, sie werden jeweils die Arduino-Pins 6 (Heizung Regenmesser) und Pin 5 (Heizung Arduino) angesteuert. Die Widerstände R1 und R4 dienen der Strombegrenzung beim Umladen des Gates, die Widerstände R2 und R5 ziehen das Gate nach Ground, wenn der Arduino keine Steuerspannung liefert (Boot-Vorgang). Die LED-Anzeigen D3/R3 und D4/R6 können auch weggelassen werden, wenn das Licht stört.
Der Anschluß der Heizwiderstände/-Folie erfolgt über die Schraubklemmen K3 (Regenmesser) und K8 (Arduino). Die Polung ist unerheblich.
Stromversorung
Das WS-Shield wird von einem externen Steckernetzteil 12V/2250mA über die Schraubklemme K14 versorgt. Die 12 Volt werden für die beiden Heizkreise benötigt und versorgen auch den Arduino (über Pin Vin). Die 12 Volt werden über die Schraubklemme K13 wieder nach außen geführt, um zusätzliche Sensoren mit Spannung versorgen zu können (spätere Erweiterung). Zusätzlich ist ein Linearregler 7805 (Bauteile IC1, C1, C4,C6) vorgesehen, der die 5 Volt für den WLAN-Router und den KS300-Wettersensor bereitstellt.
Die Verwendung des 7805 erzeugt eine Verlustwärme von 1,75 W, welche das Gehäuse stark aufheizt. Im Winter ist das super, im Sommer wird es zum Überhitzungsproblem. An Stelle des 7805 kann ein Schaltregler eingelötet werden, welcher einen hohen Wirkungsgrad und wenig Abwärme hat: Recom Spannungsregler.
Die Bauteile D6 und R8 zeigen an, dass Betriebsspannung vorhanden ist und können auch weggelassen werden.
ELV-Wetterdatenempfänger
Von ELV gibt es ein leistungsfähiges Fertigmodul FS20WUE, das seriell mit dem Arduino kommuniziert. Die beiden LEDs D1 und D2 blitzen beim Empfang von Wetter- bzw. FS20-Paketen kurz auf. Sie können auch weggelassen werden, wenn die Lichtblitze stören. Ich empfehle sie aber für eine einfache Funktionsüberprüfung bzw. Fehlersuche. Sie benötigen keine Vorwiderstände.
Barometer BMP085
Für die Luftdruckmessung wird ein Fertigmodul mit dem Bosch-Sensor BMP085 eingesetzt. Dieses Modul benötigt 3,3Volt! Es kann am 5Volt-I²C-Bus des Arduino angeschlossen werden, weil die internen Pullup-Widerstände des BMP085 auf 3,3 Volt ziehen. Auf dem Bus darf sich kein 5 Volt-Modul befinden, sonst geht der BMP085 kaputt. Also aufpassen bei eigenen Erweiterungen!
Lichtsensor
Um die Beleuchtungsstärke zu ermitteln, wird ein Fotowiderstand eingesetzt, welcher in einer Spannungsteilerschaltung mit R9 betrieben wird. Er wird über den Steckverbinder K10 angeschlossen (Polung egal). Der Kondensator C2 dient der Eliminierung von Spannungsspitzen.
Der Lichtsensor wird im Freien betrieben, weshalb ich mich für einen wetterfesten Typ von Hygrosens entschied. Die gemessene Spannung wird über mit Excel entwickelte Näherungsformeln im Webserver auf Lux umgerechnet (wegen der höheren Zahlengenauigkeit von PHP5).
Temperatursensor Regenmesser
Nachdem der Regenmesser ohne Heizung im Winter nicht zu gebrauchen ist, entschied ich mich für einen PWM-gesteuerte Heizung. Die könnte man abhängig von der Außentemperatur ein- und ausschalten. Da ich auch hier noch ein wenig Energie sparen möchte, habe ich einen Temperatursensor KTY81-110 vorgesehen, welcher im Regenmessergehäuse montiert wird. Wenn dort eine bestimmte Temperatur erreicht wird, schaltet die Heizung aus, auch wenn es draußen noch Minusgrade hat. Der KTY81 wird über K11 angeschlossen (Polung egal) und bildet mit R10 einen Spannungsteiler. Der Kondensator C3 dient der Eliminierung von Spannungsspitzen.
Layout
Die Schaltung wurde auf einer doppelseitigen, durchkontaktierten Platine untergebracht:
Die Leiterbahnen auf der Bestückungsseite verlaufen vertikal:
Auf der Löstseite verlaufen die Leiterbahnen horizontal:
Die Bestückung der Leiterplatte ist im Artikel "Hardware WeatherStation" beschrieben. Dort befindet sich auch die Stückliste.