Der RoomSensor birgt in der Praxis ein Erwärmungsproblem, welches auf dem offenen Protoboard nicht aufgefallen ist. Erst wenn der RoomSensor in seinem Gehäuse untergebracht ist, stellt man fest dass die gemessene Raumtemperatur einige Grad höher ist als die Isttemperatur. Das ist einfach zu erklären: Der ESP8266 erwärmt sich durch die hohe Sendeleistung im WLAN auf etwa 35°C. Der DHT22 ist nur etwa 2cm entfernt und wird deshalb mit angewärmt. Der Versuch einer Styropor-Barriere zwischen ESP8266 und DHT22 brachte ein wenig Besserung, war aber nicht ausreichend. Die Belüftungsöffnungen des Gehäuses sind zwar großzügig, können aber die Strahlungswärme des Prozessors nicht aufheben.

Ziel muß es sein, die ESP-Temperatur zu senken. Nach einigem Nachdenken war es ganz einfach: Ich benötige die Temperatur-/Feuchtemesswerte nur alle 3 Minuten. Wenn man den ESP8266 zwischen zwei Messung abschaltet, bleibt er kühl. Der ESP8266 hat eine Funktion 'Deep Sleep', welche den Chip für eine einstellbare Zeit zum "Schlafen" schickt. Zum Wiederaufwachen benötigt man eine Hardwareverbindung zwischen Pin 16 und Pin RST des ESP8266. Sie wurde als Lötjumper ausgeführt, damit man das Verhalten ändern kann.

PRÜFEN: Werden bei DEEP Sleep die GPIO-Pegel gehalten?

 

Schaltplan

Für den RoomSensor sind nur wenige Komponenten nötig, welche auch auf einer Lochrasterplatine aufgebaut werden können. Dieser Schaltplan findet Anwendung:

Schaltplan RoomSensor

Der RoomSensor basiert auf dem bewährten Adafruit HUZZAH ESP8266 Modul und beinhaltet einen schnellen RISC-Prozessor und einen WLAN-Chip.

Der Steckverbinder K4 dient der Zuführung der Versorgungsspannung aus einem externen Gleichspannungs-Steckernetzteil 5V. Setzt man den Schaltausgang K3 ein, ist wegen der Spulenspannung der Relais ein 12V-Netzteil zu verwenden. Die Kondensatoren C1 und C4 stabilisieren die Versorgungsspannung. Auf dem ESP8266-Breakout ist ein 3,3V-Spannungsregler untergebracht, welcher aus der Eingangsspannung geregelte 3,3V erzeugt, welche für die Peripherie mitverwendet wird. Dort stabilisieren C2 und C3 die 3.3V. Um den RoomSensor von Hand steuern zu können, wird der Taster S1 verwendet. Dieser Taster ist unbedingt erforderlich.

Der GPIO-Pin #2 dient der Ansteuerung des Temperatur-/Luftfeuchte-Sensors DHT22. R2 ist der erforderlich Pullup-Widerstand für die Datenleitung.

GPIO-Pin #4 steuert einen Präzisions_Temperatursensor DS18B20 an. Dieser kann als IC3 auf der Platine bestückt oder als externer Sensor über K1 angeschlossen werden, um z.B. die Fußbodentemperatur zu messen. R3 ist der Pullup-Widerstand für die Datenleitung.

Am Modul gibt es noch einen Steckverbinder K2, an den ein PTC-Temperatursensor KTY81-210 angeschlossen werden kann. Er besteht aus dem Spannungsteiler R5 und KTY81, welcher die Spannung auf die maximal 1,0V des Analogeingangs herunterbricht. Der Widerstand Rtest ist für den Fall zu bestücken, wenn der Temperatursensor im laufenden Betrieb abgesteckt wird. Ohne Rtest würde die Eingangsspannung am Analogeingang auf 3,3V ansteigen und der ESP8266 kaputt gehen. Der Kondensator C5 kann bestückt werden, um die Messwerte zu glätten. Dies ist speziell bei langen Zuleitungen des KTY81 zu empfehlen.

Zusätzlich kann auf der Platine eine Schaltstufe bestehend aus R4, R6 und T1 bestückt werden. Über K3 kann dann ein externes SSR oder mechanisches Relais angeschlossen werden, mit dem man z.B. eine elektrische Fußbodenheizung abhängig von der Isttemperatur schalten kann.

Die PSK-Steckverbinder sind preiswert und verpolungssicher. Durch Abstecken der drei Steckverbinder vom EnergyCounter kann dieser sehr schnell ausgetauscht werden. Die früher von mir verwendeten Schraubklemmen waren wesentlich wartungsintensiver (man musste nach dem Modultausch jedesmal alle Drähte neu verkabeln) und auch teurer.

Es empfiehlt sich, den IC1 ESP8266 über zwei Sockelstreifen auf die Platine zu stecken und nicht direkt einzulöten, damit eine Austausch schneller erfolgen kann.

 

Stückliste

Für den RoomSensor werden nachfolgende Bauteile benötigt (Stand Nov. 2015):

Pos. Stück Bauteil E-Preis G-Preis Lieferant
LP1 1 Leiterplatte RoomSensor/Streifenlochraster --- --- ---
IC1 1 Adafruit Huzzah ESP8266 Breakout 10,95€ 10,95€ EXP-Tech
IC1 2 Sockelstreifen je 10-polig, 5mm hoch, RM2,54 0,60€ 1,20€ Reichelt
IC1 1 36pol. Stiftleiste, gewinkelt, RM 2,54 0,32€ 0,32€ Reichelt
T1 1 FET 2N7000 / TO92 0,09€ 0,09€ Reichelt
D1 1 Leuchtdiode 3mm, grün, Low Current  0,08€ 0,08€ Reichelt
D1 1 Abstandhalter für 3mm LEDs, Länge 9,0mm 0,18€ 0,18€ Reichelt
C1 1 Elko 100uF/25V/RM2,54 0,04€ 0,04€ Reichelt
C2 1 Elko 22uF/63V/RM2,54 0,04€ 0,04€ Reichelt
C3, C4 2 Keramikkondensator 100nF/RM2,54 0.05€ 0,10€ Reichelt
R1 1 Widerstand Metallfilm 330Ohm/1%/0,25W 0,08€ 0,08€ Reichelt
R6 1 Widerstand Metallfilm 680Ohm/1%/0,25W 0,08€ 0,08€ Reichelt
R7 1 Widerstand Metallfilm 4,7K/1%/0,25W 0,08€ 0,08€ Reichelt
R5 1 Widerstand Metallfilm 6,8K/1%/0,25W 0,08€ 0,08€ Reichelt
R4 1 Widerstand Metallfilm10,0K/1%/0,25W 0,08€ 0,08€ Reichelt
K2, K3, K4 33 PSS254/2W, 2-polig, gewinkelt 0,05€ 0,15€ Reichelt
K1 1 PSS254/3W, 3-polig, gewinkelt 0,05€ 0,05€ Reichelt
K2, K3, K4 3 PSK254/2W 2-polig Kupplungsgehäuse 0,05€ 0,15€ Reichelt
K1 1 PSK254/3W 3-polig Kupplungsgehäuse 0,05€ 0,05€ Reichelt
K1, K2, K3, K4 20 PSK-Crimpkontakte 0,27€ 0,27€ Reichelt
S1 1 Drucktaster (Schließer), 4-polig 0,17€ 0,17€ Conrad
-- 1 Steckernetzteil 12V/1,5A 5,75€ 5,75€ Pollin
G1 1 Sensorengehäuse PP42WS 2,14€ 2,14€ Darisius
    Summe:   21,28€  

 

Bestückung der Platine

xvx

RoomSensor Platine

rtwt

RoomSensor Platine: Widerstände und Kondensatoren

sdrfwase

RoomSensor Platine: Steckverbinder und Sockel

sdff

RoomSensor Platine: Sensoren und Transistor

sdf

RoomSensor Platine: Sensorendetails

sefrsr

Gehäuse ausfräsen

aasd

Gehäuse mit DS18B20

sadfs

RoomSensor