Saturday, September 1, 2018

Wasmachine voor nerds (Dutch)

Dutch.

Als je toch al een domotica systeem hebt met een led display, dan kun je dat net zo goed gebruiken om te melden wanneer de wasmachine klaar is...

Echt nuttig? Nee, maar wel leuk voor de uber-geek 😎


Componenten

Een Homematic domotica systeem. Ik had toch al de beschikking over een CCU2 welke ik gebruik voor mijn vloerverwarming (meer daarover hier en hier).

De display module had ik ook al als onderdeel van de vloerverwarming, en op de plank lag nog een 230V actuator (schakelaar), welke eigenlijk bedoeld was als een spare part was voor de vloerverwarming.

Maar ja, als het er toch ligt...


Principe

Je kunt de CCU2 programmeren met scripts en dergelijke, maar je kunt ook gewoon een programma in elkaar 'klikken'.

Soms is de CCU2 wat eigenwijs, en moet je 'om de eigenwijsheid heen' programmeren.

In dit geval wilde ik het volgende:

- een ledje wat groen brandt als de machine draait
- oranje wordt wanneer de machine klaar is
- rood wordt wanneer de was te lang in de machine blijft liggen
- uit is als de machine is uitgeschakeld

Wasmachines gebruiken stroom als ze aanstaan, en meer stroom als ze daadwerkelijk draaien. De Homematic schakelaar kan ook de stroom meten.

- machine uit 0 mA
- machine aan / standby 40 mA (ca. 3.5 W)
- machine actief > 200 mA (ik heb wat pieken gezien van rond de 2A, ca. 400 W)

Omdat de gemeten waarde precies hetzelfde is wanneer de machine net is aangezet maar nog niet is gestart, en wanneer de machine klaar is, heb ik een stukje extra logica ingebouwd:

- heeft de machine nog niet gedraaid en is het stroomverbruik laag, dan blijft ledje groen
- heeft de machine al wel gedraaid en is het stroomverbruik laag, dan is hij klaar dus ledje oranje

Update.

Soms werkt het beter om vermogen (W) te gebruiken in plaats van stroom (mA).


Machine status

Hiervoor heb ik een 'systeemvariabele' aangemaakt (de naam is een beetje misleidend, het is gewoon een variable welke vanuit elk programma op de CCU2 zichtbaar is) met de naam laundry_washer_state. Deze kan 4 waardes hebben:

- off
- prerun
- running
- ready

De logica:

1. Staat de machine uit (stroom < 20 mA) dan ledje uit, en state = off

2. Staat machine aan (stroom < 200 mA) en heeft deze nog niet gedraaid (state = prerun), dan ledje groen, en state = prerun

3. Draait machine (stroom > 200 mA) dan ledje groen, en state = running

4. Staat machine aan (stroom < 200 mA) en heeft deze al gedraaid (state = running) wacht dan 4 minuten (voor het geval de machine verder gaat draaien), zet vervolgens ledje op oranje (klaar) en state = ready

Om onnodige berichten te filteren laat ik de schakelaar de stroom-metingen middelen over 16 seconden.

Tot slot heb ik nog een paar extra alarmen ingebouwd, voor het geval dat iemand vergeten is de machine te starten of uit te zetten, of de was er te lang in zit...

Bij de eerste testen kwam er nog een vervelend grapje naar voren. De was machine uit en de wasmachine aan (maar nog niet draaiend) gebruikten vrijwel even veel stroom! Gelukkig was het verschil wel te bemeteren, namelijk 33 mA voor uit (0.1 W), 39 mA voor aan, en 200+ mA bij het draaien.

Het programma spreekt verder voor zich. (Klik op onderstaande afbeelding.)



Resultaat

En zo ziet het er dan uit op het display: de was is klaar en kan er uitgehaald worden...


Als het ledje voor de wasmachine groen brand, is er niets aan de hand. Brand het ledje oranje, dan is hij OF klaar, of hij staat onnodig aan. Is het ledje rood, dan is de was al lang klaar maar zit er nog steeds in.

Compleet nutteloos, ik weet het 😁

No comments:

Post a Comment