Projecten - Badkamerventilator

Badkamerventilatoren zijn er in vele soorten. De eenvoudigste schakel je met de verlichting in en uit. Dan zijn er de ventilatoren met een uitschakelvertraging, soms is die vertraging zelfs nog in te stellen. Tenslotte zijn er nog ventilatoren met een hygrostaat. Deze ventilatoren schakelen boven een in te stellen luchtvochtigheid in en eronder weer uit. Ventilatoren met een hygrostaat zijn wel weer wat duurder en het lastige ervan is dat de lucht in huis in de winter minder vochtig is dan in de zomer. Bij een vaste instelling kan het dus zijn dat de ventilator in de winter niet aangaat en in de zomer niet uit. De oplossing is gelukkig simpel: we meten niet alleen de vochtigheid in de badkamer maar ook in de ruimte van waaruit de lucht wordt aangezogen, bijvoorbeeld de overloop of slaapkamer. Het heeft immers alleen zin om de ventilator te laten draaien als de aangevoerde lucht minder vocht bevat dan de lucht in de badkamer. Aangezien de lucht in de badkamer warmer kan zijn, is het vergelijken van de relatieve vochtigheid niet zo'n goed idee. In plaats daarvan zouden we de hoeveelheid water per kubieke meter lucht moeten vergelijken. Een andere optie, en daarvoor hebben we hier gekozen, is het vergelijken van de dauwtemperatuur binnen en buiten de badkamer. Zolang de dauwtemperatuur in de badkamer hoger is dan de dauwtemperatuur erbuiten, heeft het zin de ventilator aan te zetten.

We hebben de schakeling uitgebreid met twee LED's die gaan branden als de communicatie met de sensoren niet goed verloopt. De LED's zijn niet nodig voor de werking van het systeem maar kunnen wel handig zijn voor het vaststellen van evenetuele problemen.

Schakeling

Voor de schakeling maken we gebruik van een ongemonteerd relais maar natuurlijk kan gebruik worden gemaakt van een gemonteerd relais SRD-05VDC-SL-C. In de achtergrondinformatie leest u hierover meer.

Onderdelen

Component Type Aantal
Sensor1, Sensor 2 DHT11 2
R1, R2, R5 10 kΩ 3
Ventilator Zonder hygrostaat en timer 1
Relais 1 HF3FA 1
T1 BC 549C 1
D3 1N4004 1
Optioneel
R3, R4 470 Ω 2
D1, D2 Rode 3mm LED 2

Sketch

In de sketch berekenen we bij het starten van het programma het verschil tussen de dauwtemperatuur binnen en buiten de badkamer. Als het verschil toeneemt, schakelen we de ventilator in, komt het verschil weer op de oorspronkelijke waarde dan schakelen we de ventilator weer uit. We hebben hierbij wel een kleine marge ingebouwd alsmede gezorgd dat het relais niet gaat "klapperen". Als het verschil tussen dauwtemperatuur in de badkamer en erbuiten meer dan 4°C is toegenomen, schakelen we de ventilator in. We schakelen de ventilator pas weer uit als het verschil minder dan 2°C groter is dan bij het starten. Het is dus van belang de deur van de badkamer geruime tijd open te zetten voordat het programma wordt gestart. De absolute luchtvochtigheid zal dan binnen en buiten de badkamer aan elkaar gelijk zijn.

Bij het starten van de sketch gaan de twee LED's aan. Pas als de communicatie met beide sensoren goed is verlopen, gaan de LED's uit. Als er een fout optreedt in de communicatie met één van de sensoren gaat de bijbehorende LED aan en wordt de ventilator uitgeschakeld. De LED gaat weer uit als van de sensor de metingen correct is ontvangen.

Van deze sketch hebben we ook een variant voor de ATtiny85 gemaakt. Deze maakt gebruik van een kleinere library dan de algemene DHT-libary die ook bruikbaar is voor de DHT21 en DHT22. Daardoor zou de gecompileerde sketch ook in de ATtiny45 moeten passen. De librarybestanden die wij gebruiken zijn dht11.h en dht11.cpp. Deze bestanden moeten binnen de Sketch map in de map "libary/dht11" komen te staan. Voor meer informatie over het toevoegen van libraries staat op www.arduino.cc. Bovenstaande sketches zijn compleet en werken zonder aanpassingen als ze gekopieerd worden naar de Arduino ontwikkelomgeving.

Gepubliceerd op 24 april 2013