Project If This Then That WiFi bestuurbare woonhuis ventilator E
Cairan Steverink G&I1D 17-01-2016 Johan Otten
17-1-2016
Conceptbeschrijving Een woonhuis ventilator is tegenwoordig aanwezig in bijna alle appartement complexen, nieuwbouw huizen en flatgebouwen. Het is nog steeds heel gewoon om de ventilator in verschillende standen te schakelen met een knop aan de muur, deze knoppen zijn vaak aanwezig in de keuken en badkamers, ook al is de ventilator verantwoordelijk voor de doorvoer van frisse lucht in de hele woning. Als de eigenaar van de woning de ventilator dus op een hogere stand wil zitten zal deze naar een van de ruimtes met een knop moeten lopen om deze in een andere stand te schakelen. Voor de eigenaren van de woning is het vaak heel moeilijk te zeggen of de ventilator aan vervanging toe is, eigenlijk horen de ventilators om de 4 jaar vervangen te worden maar dit word niet altijd gedaan. Een van de meest gehoorde klachten op het gebied van 4 jaar oude woonhuis ventilators zijn dat ze veel lawaai maken of dat de doorvoer van lucht niet meer goed werkt. Vanwege deze twee problemen ben ik na gaan denken over een concept om en de ventilator te kunnen schakelen zonder een fysieke knop, en het weergeven van een foutmelding op het moment dat de ventilator aan vervangen toe is. Het schakelen van de standen zonder een fysieke knop leek mij het handigst via een smartphone, dit zou je via een app of website kunnen doen, de app of site zou dan weer een commando naar Arduino kunnen geven om de ventilator van stand te schakelen. Om te kijken of de ventilator aan vervangen toe is wou ik eerst gaan kijken naar de luchtdruk per stand, als de luchtdruk te laag is dan zou de Arduino een foutmelding weergeven. Uiteindelijk ben ik van dit idee afgestapt, onder andere omdat het vrij lastig was om dit te meten. Vervolgens ben ik gaan kijken hoeveel geluid de ventilator maakt per stand, misschien dat ik doormiddel van geluid kon bepalen of de ventilator aan vervanging toe is. Helaas ging dit ook niet zoals verwacht, onder andere omdat de ventilator nieuw al behoorlijk veel geluid produceert.
Cairan Steverink
1
Uiteindelijk kreeg ik een goed idee, en dit idee is ook makkelijker te meten. Een nieuwe ventilator maakt per stand een bepaald aantal rotaties per minuut (RPM), de reden dat een ventilator niet genoeg lucht doorstroom heeft of veel lawaai maakt is meestal omdat stof de ventilator afremt. Het plan is dus om te gaan kijken hoeveel RPM de ventilator maakt, dit aantal checkt Arduino tegen het aantal RPM dat de ventilator hoort te maken en als deze buiten de marge van 40% valt stuurt Arduino een onderhoudsmelding naar de app of website. Hierna ben ik gaan kijken naar de technische uitwerking van het concept, enkele ontwerpvragen die ik hierbij had waren bijvoorbeeld: - Hoe ga ik de ventilator van stand laten schakelen? - Hoe werkt de communicatie tussen Arduino en de App / Site? Ventilator van stand schakelen Het eerste idee voor het schakelen van de ventilator was als volgt, ik wou gaan kijken hoe de standen op de printplaat van de ventilator werden geregeld, vervolgens wou ik daartussen de arduino plaatsen en hier de standen gaan aanpassen. Echter bleek dat er geen documentatie over de ventilator printplaat te vinden was en ben ik hiervan afgestapt. Vervolgens ben ik doorgegaan en kwam ik op een beter idee, Ik ga de standen al aanpassen bij het netsnoer van de ventilator, er zijn namelijk drie standen. Stand 1 is het bruine snoer en deze staat altijd aan, Stand 2 is het zwarte snoer en Stand 3 is het grijze snoer (zie het schema hiernaast). De zwarte en grijze kabels kan ik doormidden knippen, vervolgens plaats ik een relais tussen beide uiteinden van de kabels in. Deze relais kan ik dan aansturen met arduino.
Cairan Steverink
2
Hieronder zie je het uitgewerkte schema voor het schakelen van de ventilator doormiddel van Arduino.
Communicatie Arduino en Smartphone De communicatie tussen de Arduino en de App of site was wel behoorlijk lastig om te creëren. Mijn eerste idee was om via een SSH verbinding commando’s heen en weer te sturen. Dit had ik zo goed als werkend toen mijn MacBook helaas kapot ging. En hoeveel er ook voor gewaarschuwd wordt had ik geen back-up van het Android project. Omdat we toch dichter bij de deadline kwamen ben ik gaan kijken naar andere manieren om deze twee apparaten met elkaar te laten communiceren. Vervolgens ben ik van de app afgestapt en heb ik besloten om een website te ontwikkelen waarmee ik de arduino aan zou kunnen sturen. Door gebruik te maken van de arduino BRIDGE kan ik commando’s sturen naar de arduino en zo de pinnen aan en uit schakelen.
Cairan Steverink
3
Arduino, HTML & CSS Nu dat ik een idee had hoe ik mijn concept wou gaan bouwen ben ik begonnen met arduino. We hadden in een les op school al uitgelegd gekregen hoe we doormiddel van arduino een LED aan en uit konden zetten, in principe kunnen we de LED vervangen met een relais en het systeem zou gewoon blijven werken. Helaas ontstonden op dit moment de eerste problemen, de relais die ik had besteld vroegen om teveel mili Ampère. Om dit op te lossen bestelde ik een paar optocouplers en een paar transistors, helaas waren deze ook niet geschikt en ben ik de volgende dag naar een elektronica zaak gegaan om te kijken of zij mij konden helpen. Naar mijn bezoek aan de elektronica zaak kwam ik terug met een paar nieuwe relais, de medewerker had mijn verhaal uitgehoord en had mij enkele relais meegegeven die zouden moeten werken. De komende dag ging ik verder met de code van arduino, ik had eerder de SSH verbinding aan de praat gekregen maar ik was nu aan het kijken of het niet makkelijker was om de BRIDGE te gebruiken en via het web commando’s te geven aan arduino. Dit verliep allemaal vrij snel en zodra ik dit aan de praat had ben ik verder gegaan met het ontwikkelen van de website. De website bestaat gewoon uit een HTML pagina met een CSS stylesheet. Sinds we in blok 1 druk bezig zijn geweest met het bouwen van onze eigen portfolio site verliep dit allemaal goed. De code is te vinden door op de onderstaande link te klikken: https://github.com/caiRanN/RemoteDomesticFan/tree/master/Code
Cairan Steverink
4
Nu dat de software voor het controleren van de ventilator klaar was kon ik verder met het solderen van de printplaat, alleen kwam ik tot de conclusie dat de medewerker mij waarschijnlijk toch niet goed had begrepen want ik had alsnog de verkeerde relais meegekregen. Het hierboven beschreven probleem heeft zich enkele keren herhaald totdat ik het besluit nam om de relais tijdelijk te vervangen met LED lampjes omdat de deadline toch heel dichtbij kwam, ik had in ieder geval een prototype van het systeem. Omdat ik achteraf te lang bezig ben geweest met de relais heb ik het ook niet voor elkaar gekregen om de sensors in de ventilator te bouwen en de rotaties per minuut te meten. Wel heb ik in detail bekeken hoe ik dit zou doen:
1. Plaats een sensor in de ventilator, geef deze een referentie punt op een van de ventilator bladen (of een 2de sensor). 2. Meet het aantal rotaties per minuut (RPM) van een ventilator, stuur dit aantal door naar de arduino kit. 3. Vergelijk het aantal RPM tegen het aantal RPM dat de ventilator hoort te maken. 4. Valt dit buiten een 40% marge, stuur een onderhoudsmelding naar de website.
Het Design De bedoeling is om de arduino en printplaat bij de huidige behuizing in te implementeren, zoals hieronder weergeven is.
Cairan Steverink
5
Wanneer het gaat om het plaatsen van de sensors die de rotaties per minuut gaan meten, deze plaatsen we in de ventilatie kamer waar ook de ventilator aanwezig is. Een gedetailleerde beschrijving van dit proces is te vinden op de onderstaande link: https://github.com/caiRanN/Remote DomesticFan/blob/master/Docs/tuto rialElektronica.md
Hoe doe ik dit? Op GitHub heb ik een gedetailleerde tutorial gemaakt waarin precies wordt beschreven hoe je dit project namaakt. Klik op de onderstaande link voor de tutorial. https://github.com/caiRanN/RemoteDomesticFan
Benodigdheden Op GitHub heb ik een lijst met benodigdheden geschreven, Klik op de onderstaande link voor de lijst met onderdelen. https://github.com/caiRanN/RemoteDomesticFan/blob/master/Docs/be nodigdheden.md
Cairan Steverink
6