Meten is weten! De Warmtepomp

Door ronaldmathies op woensdag 3 oktober 2018 07:44 - Reacties (7)
Categorie: -, Views: 4.872

Introductie



"Meten is weten", dat is toch wel een veel gebruikt gezegde wanneer het aankomt op het afstellen van apparatuur of om te weten hoe goed apparatuur functioneert.

Met de ontwikkelingen van de laatste jaren is de hoeveelheid van aanwezige apparatuur in huis alleen maar toegenomen, en niet alleen toegenomen ze zijn vaak ook complexer geworden. Apparatuur is steeds vaker intelligenter en beter configureerbaar wat ook betekend dat het neerplempen van een apparaat vaak niet meer afdoende is.

Maar hoe kom je nou te weten of het apparaat goed geconfigureerd is in jouw omstandigheden, hoe zorg je ervoor dat hij optimaal presteert op de momenten dat je er wel of niet aanwezig bent, en hoe hou je rekening met de omstandigheden waarin het apparaat moet functioneren.

Om een simpel voorbeeld te geven, een WTW Ventilatie, voor degene die het niet kennen, een WTW unit zuigt lucht aan vanuit het huis en transporteert deze lucht naar buiten. Aan de andere kant zuigt het lucht aan van buiten en transporteert dit juist naar binnen. Tijdens dit proces probeert de unit de warmte van de afgezogen lucht zoveel mogelijk over te brengen naar de toe te voegen lucht.

Hoe je hiermee omgaat is in de zomer vaak volledig anders als in de winter. In de zomer wil je wel lucht verversen maar je wilt juist geen warmte overbrenging hebben, je wilt koelere lucht naar binnen krijgen. En in de winter wil je juist wel zoveel mogelijk warmte overbrenging hebben om zoveel mogelijk aan stook kosten te besparen.

Dit gedrag kan het apparaat vaak zelf wel redelijk bepalen, maar je kan zelf ook weer invloed uitoefenen. Bijvoorbeeld door in de winter juist niet 's nachts te gaan ventileren, dan is het buiten veel kouder en is de overbrenging juist veel lager, door meer overdag op de warmere uren te ventileren ga je veel efficiënter om met het behouden van de warmte. Maar in de zomer wil je juist wel 's nachts ventileren zodat je de koelere lucht binnen krijgt.

Dit is maar één voorbeeld en één scenario, zo zijn er voor veel meer apparaten optimalisaties te bedenken. Maar als je optimalisaties bedenkt dan moet je dit dus ook staven met metingen, want hoe weet je zeker dat wat je gedaan hebt een positief effect heeft.

Dat is waar deze blog reeks over gaat, we proberen hier een aantal vragen te beantwoorden:
  • Welk apparaat wil ik gaan meten?
  • Wat wil ik weten?
  • Hoe kan ik dit meten?
  • Hoe verzamel ik deze meetgegevens?
  • Hoe bewaar ik de resultaten van de metingen?

Disclaimer



Wat gaan we niet behandelen, hoe je een apparaat daadwerkelijk optimaliseert. Bij iedereen zijn de omstandigheden anders, er is dus geen one-size-fits-all oplossing. Daarom probeer ik hier wel de spreekwoordelijk vishengel te geven waarmee je dan hopelijk zelf kan uitpuzzelen hoe je het betreffende apparaat kan optimaliseren.

De apparaten die ik als voorbeeld zal gebruiken zijn apparaten waartoe ik toegang heb, het kan dus voor andere merken / types net anders zijn, maar hopelijk geeft deze blog voldoende houvast en inspiratie om zelf verder te kunnen uitzoeken hoe het bij jouw apparaat zit.

In bijna alle gevallen is de manier hoe ik de meetgegevens achterhaal non-intrusive, maar soms houd het ook in dat je wijzigingen moet aanbrengen aan bijvoorbeeld je meterkast. Nog niet in deze blog maar in een toekomstige blog zou dit wel kunnen.

Dit is vooropgesteld gevaarlijk werk, als je de kennis niet hebt doe het dan ook niet en vraag iemand / installateur om de wijzigingen toe te passen. De bedoeling is dat we het leuk houden en niet dat er mensen gewond raken.

Verder, als je gaat optimaliseren, hou heel goed bij wat je veranderd en wanneer. Want niets is zo vervelend als iets aanpassen om later achter te komen dat het toch geen goed idee was maar je weet ook niet meer hoe het ervoor configureer was.


Welk apparaat wil ik gaan meten?



We gaan ons nu focussen op een warmtepomp, niet geheel toevallig want dit was een vraag vanuit het Lucht/Water warmtepomp om mee te verwarmen en koelen topic.


Wat wil ik weten?



Vandaag wil ik gaan kijken naar hoe we de temperaturen kunnen verzamelen van een warmtepomp installatie.

Hierin zijn verschillende manieren om de gegevens te verzamelen, soms heb je geluk en kan je direct koppelen aan je warmtepomp door middel van bijvoorbeeld een modbus interface of bied het apparaat een directe API aan waarop je kan aansluiten. Helaas heb ik die niet en zal ik dus zelf een oplossing moeten vinden om de temperaturen te achterhalen.

De oplossing die ik bedacht had is niet heel uniek, het is een veelgebruikte manier om veel verschillende temperaturen te kunnen meten. We hebben hiervoor wel wat hardware nodig maar gelukkig vallen deze kosten enorm mee, voor rond de 15 tot 20 euro is dit allemaal wel te verzamelen.

Als eerste moeten we bepalen welke temperaturen we bijvoorbeeld willen meten, bijvoorbeeld:
  • De aanvoer en retour temperatuur tussen de warmtepomp en de rest van het systeem
  • De temperatuur van het sanitair warm water vat bovenin en onderin.
  • De temperatuur van het buffervat bovenin en onderin
  • De temperatuur van het getapte sanitair warm water
  • De aanvoer en retour temperatuur tussen het buffervat en de verwarming
  • De retour temperatuur van de verwarming naar het buffervat
Je moet natuurlijk voor jezelf bepalen hoeveel locaties je wilt meten.

Denk hierbij vooral aan locaties waar je juist sensoren in kan stoppen, vaten en leidingen hebben soms kleine gaatjes waar sensoren in kunnen, soms zitten er al sensoren in maar passen die van jezelf er nog naast.


Hoe kan ik dit meten?



Hiervoor hebben we een aantal componenten nodig, de temperatuur probes die we op specifieke plaatsen inVoor de volledigheid, dat alle linkjes verwijzen naar Banggood is gewoon meer dat je even een idee hebt wat de kosten zijn. Het zijn geen affiliate links dus ik krijg er ook niets voor. Andere mogelijke online winkels zijn bijvoorbeeld AliExpress, of als je liever op eigen bodem besteld dan kan je terecht bij bijvoorbeeld Hackerstore.nl voor de DS18B20 Probe en NodeMcu Board.

Dit is de minimale set aan componenten die we nodig hebben, dit kan je verder nog uitbreiden met een breadboard, jumperwires etc... voor als je niet meteen wilt solderen. Dit heeft als voordeel dat je wat makkelijker kan experimenteren.

https://cdn-reichelt.de/bilder/web/artikel_ws/A300/DEBO_JT_ESP8266_01.jpg

De NodeMcu Board is de controller in dit hele verhaal, het is in feite een kleine computer met WiFi ondersteuning waarop je via de pinnetjes bijvoorbeeld allerlei sensoren kan koppelen.

Mocht je voor een andere type controller kiezen zorg er dan voor dat hij voorkomt in de hardware compatibility lijst van ESPEasy. Dit houd dan wel in dat de uitleg over het flashen van de firmware op een aantal punten kan afwijken in verband met de hoeveelheid geheugen die beschikbaar is, en de pin-layout zou kunnen afwijken

Om de afwijking van de pin-layout inzichtelijk te krijgen is het handig om hiervoor documentatie op te zoeken.

De pin-layout geeft een overzicht van welke GPIO poorten matchen met de labels op het board zelf en wat de functie van de betreffende GPIO poort is:

https://pradeepsinghblog.files.wordpress.com/2016/04/nodemcu_pins.png?w=616


Aansluit schema
Hierin zit het meeste werk, het aansluiten van de sensoren aan elkaar en aan de controller bord. De DS18B20 sensoren werken volgens het on-wire protocol. De technische details ga ik je besparen (deels omdat ik het zelf ook niet helemaal heb uitgezocht) maar waar het op neer komt is dat je alle sensoren door kan lussen aan elkaar.

Dit doorlussen is in onze situatie erg ideaal is, veelal is een warmtepomp installatie nogal breed opgezet, en de sensoren liggen erg verspreid over de hele installatie. Door alle sensoren aan elkaar te kunnen knopen kan je aan de ene kant van de installatie beginnen met het plaatsen van je sensoren en kan je aan de andere kant eindigen bij het controler bord, zo hoef je niet een enorme hoeveelheid aan draden aan te leggen maar is het eigenlijk één lange kerstverlichting van sensoren.

https://tweakers.net/ext/f/JnKvM8UjcxO3jJRuG3J5OAQW/full.png
Zwart is aarde, rood is 3.3V, geel is data

De sensoren zien er anders uit als degene die ik in de boodschappenlijst heb gezet, maar ze zijn hetzelfde, binnen de buisjes van de DS18B20 probe sensoren zit niets anders als wat je hier op de breadboard ziet, alleen dan omhulst met een soort epoxy erin voor stevigheid en een langer draad aan de drie pootjes.

Het schema kan er wat verwarrend uitzien maar ik heb geprobeerd het zo simpel mogelijk weer te geven zoals je het ook qua bedrading zou doen wanneer je het niet op een breadboard doet.

Het voorbeeld is uitgewerkt op een breadboard, voor degene die hier niet zo bekend mee zijn is enige uitleg handig, hiervoor verwijs ik je graag door naar de volgende website waarin de history wordt besproken alsook hoe een breadboard nu eigenlijk werkt. Daar waar de link direct naar toe verwijst is in ieder geval het meest belangrijke onderdeel om te begrijpen van een breadboard.

Een andere manier van aansluiten is door de voedings pin van de sensor te koppelen aan de aarde, hierdoor zal de datapin als voeding gaan functioneren, dit noemen ze ook wel de parasite power mode, ikzelf heb hier geen ervaring mee, ik leerde pas later van deze variant.

https://tweakers.net/ext/f/sMcg6rBxJGSMrg19N5MjhzcJ/full.png
Zwart is aarde, rood is 3.3V, geel is data

Verder kan dit schema uitgebreid worden met nog meer sensoren, je moet in dat geval het patroon aan de rechterkant doorzetten. Enige waar je een beetje rekening mee moet houden is de totale lengte, maak de volledige kabel niet enorm lang, het is maar 3.3Volt wat er over die kabel gaat en dat is niet heel veel, er ontstaan verliezen wat kan leiden tot sensoren die niet uitgelezen kunnen worden.

Is solderen niet echt jouw ding? kan ik mij goed voorstellen, het is ook niet mijn ding. Kijk onderaan even bij final notes hoe je de sensoren aan elkaar kan linken zonder solderen.


Hoe verzamel ik deze meetgegevens?



Nu we de bedrading in orde hebben is het tijd om de firmware op de controller in te laden. Hiervoor heb je een USB naar Micro USB kabel nodig (let even op, als je een andere ESP8266 hebt dan kan dit afwijken).

Om de sensoren uit te lezen gaan we gebruiken maken van ESPEasy, dit is een firmware die standaard vrij veel ondersteuning heeft voor verschillende sensoren, daarnaast bied ESPEasy ondersteuning voor verschillende domotica systemen als Domoticz. Je kan hiermee ook zelf rechtstreeks de sensoren uitlezen doordat ESPEasy een API aanbied die je met een standaard URL aanroep kan bevragen.

De firmware kan gedownload worden vanaf hun github pagina, download het bestand ESPEasy_mega-20181003.zip.

Wanneer je dit bestand hebt gedownload en uitgepakt hebt dan zie je onder andere de volgende bestanden staan:
  • ESP_Easy_mega-20181003_xxx.bin (firmware)
  • esptool.exe (flashtool)
  • FlashESP8266.exe (configuratie tool)
De verschillen zitten hem in hoeveel geheugen je controller heeft (in het geval van de NodeMcu is dit 4096Kb), en wat voor build het is (test, dev, normal, etc..).

Waar wij op gaan focussen is de ESP_Easy_mega-20181003_normal_ESP8266_4096.bin versie. Dit is de normale 4Mb versie die geschikt is voor de controller.

Sluit de controller aan op je computer via de USB kabel, hij hoeft hiervoor niet in de breadboard te zitten en de sensoren hoeven niet aangesloten te zijn.

Notitie: Mocht je in het vervolg process tegen problemen aanlopen probeer dan een andere USB poort op je computer, USB poorten aan de voorkant van je kast werken in mijn ervaring minder goed dan degene die rechtstreeks op je moederbord zitten.

Start nu de FlashESP8266.exe flashtool, je krijgt nu een scherm te zien waarin je een COM poort kan opgeven en een flash grootte kan selecteren.

https://tweakers.net/ext/f/U9uTrZoznK6ItJFFHwH0DoDf/full.png

Selecteer de COM poort, mocht je er meerdere hebben dan is het misschien handig om eerst je controller lost te koppelen en de applicatie te starten, de COM poort die je nu mist is degene waarop de controller gekoppeld is.

Selecteer de juiste juiste firmware, in ons geval de ESP_Easy_mega-20181003_normal_ESP8266_4096.bin firmware.

Als alles is ingevuld kan je op Flash drukken, je krijgt dan het onderstaande scherm te zien met de voortgang van het flashen.

https://tweakers.net/ext/f/glQmZELd6UN7dbIry9XwjIyu/full.png

Zodra het geheel klaar is kan je de controller los koppelen.


WiFi Configuratie
De controller ondersteund WiFi b/g/n, het is dus belangrijk dat dit beschikbaar is. Dus zorg dat je een 2.4Ghz netwerk in de lucht hebt. Voordeel van dit netwerk is dat het een groter bereik heeft, je WiFi access point heb je meestal niet naast je warmte pomp staan.

Wanneer je nu je controller van stroom voorziet wordt er automatisch een ad-hoc access point gestart door de controller, kijk op je computer, laptop of telefoon of je dit WiFi netwerk kan vinden, meestal staat er iets van ESP_Easy_0 in de naam. Vervolgens verbind je met dit netwerk, het wachtwoord is configesp

Eenmaal verbonden kan je je browser starten en kom je in een portaal terecht waar je de WiFi van de controller kan configureren, dit moet het WiFi netwerk zijn waar de controller zelf als client naar toe kan verbinden. Volg deze stappen in het portaal. Aan het einde krijg je de melding dat je weer kan verbinden met je eigen WiFi netwerk.

Nu de WiFi is ingeregeld is het van belang om het IP adres te achterhalen, gezien dit verschilt per gebruiker is het wat lastig om dit enduidig uit te leggen. In het algemeen kan je deze informatie terugvinden in je router of access point.


EspEasy Configuratie
Wanneer je het IP adres achterhaald hebt kan je deze gebruiken in je browser nadat je weer verbonden bent met je eigen netwerk om naar de EspEasy console te navigeren.

We kunnen nu de verschillende sensoren gaan toevoegen. Ga naar het tabblad Devices. En klik in de eerste regel op Edit.

Je krijgt dan het volgende scherm:
https://tweakers.net/ext/f/Pqbnjrrbs7Frcvzkzd1okqIs/full.png
Selecteer uit de drop-down lijst de Environment - DS18b20 optie.

Nu wordt het scherm aangepast en kan je wat meer velden invullen. In het volgende schermvoorbeeld zie je een vulling zoals ik hem heb voor de sanitair warm water buffer boven helft.
https://tweakers.net/ext/f/ez9yw9hNeZiTyNZY9zvezq5K/full.png
Als je de bedrading uitgevoerd hebt zoals in het voorbeeld dan dien je GPIO-0 wat op je controller aangeduid is als D3 te selecteren. Als je dat gedaan hebt dan heb je de mogelijkheid om èèn van je sensoren te selecteren.

Nu wordt de sensor aangeduid als een serie nummer wat onhandig is, zeker omdat je niet weet welke het precies is. Een oplossing hiervoor is door eerst alle sensoren toe te voegen, en daarna èèn voor èèn de sensoren vast te houden zodat deze kan opwarmen, dan is er vanzelf èèn sensor die uitspringt qua temperatuur. Een koud glas water kan ook helpen, dit werkt dan overigens alleen bij de probe variant gezien deze beschermt zijn.

Je kan de sensor ook een naam geven, zodat het overzicht wat duidelijker is. Vergeet ook niet om de Enable checkbox aan te klikken.

Uiteindelijk eindig je als het goed is met een lijst met sensoren, zo ziet de lijst er bij mij uit:
https://tweakers.net/ext/f/WAL24mVMkBjUAKqj7t8266GE/full.png

Als je lijst compleet is en je hebt overal nette namen aan gegeven dan ben je feitelijk klaar. Je controller is nu aan het meten en houd de laatste getallen bij.


Hoe bewaar ik de resultaten van de metingen?



Dit is over het algemeen een lastiger stuk, er zijn een aantal scenario's mogelijk maar dit is deels afhankelijk van wat je al hebt qua software.

ESPEasy bied een aantal mogelijkheden, als je Domoticz of Openhab gebruikt dan kan je direct aansluiten. Ga hiervoor naar het Controllers tabblad en vul een controller in a.h.v. de optie

Als je alles wilt uitlezen via een API, dan kan je met de volgende URL alle sensor informatie opvragen en krijg je een JSON bericht terug:

code:
1
http://[IP_ADRES_CONTROLLER]/json?view=sensorupdate


Je krijgt dan een bericht wat er ongeveer zo uit ziet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
  "Sensors": [
    {
      "TaskValues": [
        {
          "ValueNumber": 1,
          "Name": "Temperature",
          "NrDecimals": 2,
          "Value": 23.5
        }
      ],
      "TaskEnabled": "true",
      "TaskNumber": 1
    },
    {
      "TaskValues": [
        {
          "ValueNumber": 1,
          "Name": "Temperature",
          "NrDecimals": 2,
          "Value": 44.06
        }
      ],
      "TaskEnabled": "true",
      "TaskNumber": 2
    }
  ],
  "TTL": 20000
}



De TaskNumber komt dan overeen met de volgorde in de lijst bij devices.


Final notes?

Geen soldeer held?

Geen probleem. Ik heb ook niets gesoldeerd, ik heb aan elke sensor een kroonsteen gemaakt en deze aan èèn kant met een lijmpistool volledig vast gezet. De andere kant van de kroonsteen is de kant die ik gebruik om door te lussen:

https://tweakers.net/ext/f/nEzwMmLcOQMXCfZEY1XwCDCr/full.jpg

Voordeel hiervan is dat het hierdoor makkelijker is om alles anders in te delen als je de sensoren toch op een andere plaats wilt positioneren.

Wijkt de sensor teveel af met de werkelijkheid?

Mijn ervaring tot nu toe is dat deze sensoren vrij nauwkeurig zijn, ongecalibreerd kan de sensor een afwijking hebben van 0.5c, mocht je onverhoopt toch het idee hebben dat hij teveel afwijkt dan zijn er een aantal mogelijkheden. Je kan de sensor evetueel gaan ijken:

https://www.kandrsmith.org/RJS/Misc/Thermometers/absolute_ds18b20.html
https://thecavepearlproject.org/2016/03/05/ds18b20-calibration-we-finally-nailed-it/

Als je een afwijking hebt kunnen constateren dan kan je deze correct in EspEasy invullen, hiervoor ga je weer terug naar het Devices tabblad, onderin is een Formula veld waarin je de afwijking kan opnemen. Voor uitleg over de formules verwijs ik je door naar de documentatie van EspEasy.

https://tweakers.net/ext/f/nnb4mJaSx576tJxE9Yn4QGD6/full.png

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True