Elegante en simpele CV ondersteuning met de zonneboiler (2024)

Ik heb de afgelopen tijd goed nagedacht over een bruikbaar systeem hoe de zonneboiler kan worden ingezet als naverwarming voor de CV ketel zonder dat de CV ketel hier uberhaupt iets van merkt.

In dit artikel ga ik dieper in op het aansluitschema, de logica erachter en hoe ik van plan ben dit te implementeren. Daarnaast staan er nog een aantal vragen open, die moeten nog beantwoord worden voordat ik dit systeem daadwerkelijk kan gaan inzetten.

Geen fancy plaatje dit keer maar good old ascii skills. Links staat de CV ketel met aanvoer en retour, rechts de zonneboiler met daarin de 2e warmtewisselaar.

Symbolen:

P1 = CV pompP2 = Boiler/circulatiepompD1 = DriewegklepM1 = Statisch mengventielS1 = Sensor wisselaar 2.S2 = Sensor retourtemperatuur CV.S3 = Sensor woonkamer.

Pompen

Het systeem bestaat uit twee pompen, P1 is de bestaande pomp in de CV ketel. P2 is de nieuwe, toe te voegen, pomp vlakbij de zonneboiler. Deze gaat het CV water rondpompen wanneer de zonneboiler straks warm genoeg is.

Componenten

D1 is een driewegklep, deze wordt straks aangestuurd om het water OF rechtdoor naar de CV te sturen ( bestaande situatie ) OF rechtsaf richting de zonneboiler. Deze klep doet ook meteen dienst als een blokkade om een ongewenste stroming te voorkomen wanneer P2 draait.

Sensoren

Het systeem bevat 3 sensoren. S1 is de sensor die straks bij de warmtewisselaar zit, is deze hoog genoeg dan kan er dus energie aan de zonneboiler worden onttrokken. S2 is de retourtemperatuur van de CV, deze is optioneel en is interessant om te loggen. Het verschil tussen S1 en S2 is de warmte die in het huis is gaan zitten.

De laatste sensor, S3, is de sensor die in de woonkamer komt te hangen, aan de hand van deze is te bepalen of er een warmtevraag is.

Er zijn een paar simpele regels waar het systeem aan moet voldoen, anders gezegd, bedrijfsregels.

  1. De CV ketel gaat altijd voor;
  2. De CV ketel mag niets merken van dit systeem;
  3. Er mag altijd maar 1 pomp werken in het systeem;
  4. De zonneboiler mag alleen het huis verwarmen tussen bepaalde tijdstippen ( schedule );
  5. De retourtemperatuur van de CV mag NOOIT warmer zijn dan de aanvoertemperatuur van de CV.

De werking van dit systeem is eigenlijk verrassend simpel. Wanneer de CV ketel werkt, dat wil zeggen, de pomp van de CV draait, dan staat de driewegklep op “rechtdoor”.Hierdoor kan er geen CV water door de warmtewisselaar van de zonneboiler stromen. Op dat moment staat ook P2 uit, die zou dan ook geen nut hebben. Deze warmtevraag komt van de bestaande thermostaat in de woonkamer.

Nu komt het interessante: In de woonkamer hangt een tweede klokthermostaat die los van de bestaande installatie staat. Wanneer er van deze warmtevraag is maar de CV ketel staat uit dan schakelt de driewegklep om richting de zonneboiler. Op dat moment gaat ook P2 draaien. Vlak na P2 zit een mengventiel, deze mengt warm water van de zonneboiler met koud water van de retour. Hierdoor komt er nooit snoeiheet water van bijvoorbeeld 90 graden in het systeem.

Mijn eerste idee is om deze temperatuur in te stellen op 30 graden. Hierdoor gaat er slechts 30 graden door het hele CV systeem, mocht nu opeens de CV ketel aan springen dan zal deze nooit in een storing springen omdat de retour ineens heter is dan de aanvoertemperatuur.

Wanneer ik door middel van de thermostaat van de zonneboiler bijvoorbeeld de zonneboiler om 3 uur ‘s nachts het huis alvast laat opwarmen dan hoeft de CV ketel, wanneer die aan gaat om ongeveer 6 uur, minder te werken omdat het huis al deels is opgewarmd.

En door te spelen met de temperaturen van de CV en de zonneboiler zouden we het zelfs zo kunnen regelen dat de zonneboiler eerst ‘s nachts/in de vroege ochtend het huis opwarmt tot bijvoorbeeld 18 graden waarna de CV ketel het werk overneemt. Onze thermostaat staat ingesteld op 19.2 in de ochtend, 19.4 in de middag en 19.8 in de avond. Door nu de zonneboiler thermostaat op 20 graden in te stellen zou dus de zonneboiler het werk van de CV ketel weer overnemen zodra de kamer 19.2 graden is geworden in de ochtend.

Met ander woorden, door de juiste temperaturen te kiezen voor de CV thermostaat en de zonneboiler thermostaat zouden we dus de ideale mix uit de zonneboiler kunnen halen.

Daarnaast: Vanaf half maart zetten we vaak de CV thermostaat op stand “zomer” hij geeft dan nog wel ondersteuning voor warm water maar ons klokthermostaatprogramma ( leuk woord voor galgje trouwens 🙂 ) werkt dan niet. Op dat moment kan de zonneboiler op elk gewenst moment draaien.

Samengevat:

Of het bestaande circuit werkt met de CV, of het nieuwe circuit werkt waarbij de CV ketel niet werkt. Dus een heel simpel OF/OF systeem die wordt aangestuurd door een driewegklep. Het oude circuit gebruikt P1 als pomp, het nieuwe circuit gebruikt P2.

En door slim te werken met de temperaturen van de CV en de zonneboiler zouden we een ideale mix kunnen krijgen tussen de CV en de zonneboiler.

Dan nu de logica! Het is een simpel schema met een OF/OF functie. OF de CV ketel met de pomp draait OF de zonneboiler pomp draait wanneer er warmtevraag is. Dit maakt de functionaliteit van de aansturing ook relatief eenvoudig.

Voordat we gaan kijken naar de gehele code knip ik de code op in delen om deze uit te leggen.

De initialisatie

CONSTANTEN VoorafIngesteldeTemperatuur <-- 20 DeltaTStartTemperatuurZBSolo <-- 8 DeltaTEindTemperatuurZBSolo <-- 2 StatusTempStartBereiktZBSolo <-- FALSE

VoorafIngesteldeTemperatuur is de minimale temperatuur waar we de woonkamer op willen hebben.

Beide DeltaT variabelen zijn ervoor om te bepalen wanneer het rendabel is om de pomp te laten draaien. Bij gelijk of meer dan 8 graden verschil mag de pomp draaien en als hij draait dan moet hij stoppen als het temperatuur verschil kleiner wordt dan 2 graden. Gesteld de vooraf ingestelde temperatuur van de woonkamer is 20 graden dan mag de extra pomp beginnen met pompen als de zonneboiler 28 graden is. En hij moet afslaan wanneer de zonneboiler nog maar 22 graden is.

Het statusveld wordt gebruikt in de code als afgeleide van beide variabelen, dit wordt verderop duidelijk.

De ( oneindige loop ).

ZOLANG 1 = 1

Dit houdt dus in dat de software dus altijd blijft draaien en zijn werk blijft doen. Binnen deze loop gebeurd het echte werk. Dit wordt hier verderop duidelijk gemaakt.

Inlezen variabelen

 S1 <-- LeesTemperatuurSensor(S1) // de zonneboiler S2 <-- LeesTemperatuurSensor(S2) // retour van het CV/zonneboiler water S3 <-- LeesTemperatuurSensor(S3) // de woonkamer. P1 <-- LeesStatusPomp(P1) // CV pomp P2 <-- LeesStatusPomp(P2) // extra zonneboilerCV pomp. BewaarStatus(S1,S2,S3,P1,P2);

Dit zijn alle onderdelen in het systeem waar we constant de waarde van willen weten, en deze waarden loggen we ergens naar een bestand, zeker in het begin is dit interessante informatie hoe het systeem werkt.

DeltaT bepalen

 DeltaTZBKamer = S1 - S3; ALS DeltaTZBKamer >= DeltaTStartTemperatuurZBSolo EN StatusTempStartBereiktZBSolo == FALSE DAN StatusTempStartBereiktZBSolo <-- TRUE EINDE ALS ALS DeltaTZBKamer < DeltaTEindTemperatuurZBSolo EN StatusTempStartBereiktZBSolo == TRUE DAN StatusTempStartBereiktZBSolo <-- FALSE EINDE ALS

De eerder ingelezen variabelen worden nu gebruikt om te kijken of de pomp P2 zou mogen starten. Wanneer het temperatuurverschil groot genoeg is mag hij starten en wanneer hij te klein wordt moet hij stoppen.

De CV draait

De eerste OF. De CV draait. Wat moet er dan gebeuren?

 ALS P1 == AAN DAN // CV is aan, zet 2e pomp uit! ALS P2 == AAN DAN // pomp2 moet uit het moment dat pomp1 aan gaat. P2 <-- UIT D1 <--- CVCircuit EINDE ALS

Wanneer de CV ketel draait ( P1 = aan ) dan moet gekeken worden of P2 draait, zoja dan MOET die uit en dan moet de driewegklep worden aangepast.

De CV draait niet

En wat moet er gebeuren als de CV ketel uit is maar er is wel warmtevraag?

 ANDERS ALS ( StatusTempStartBereiktZBSolo == TRUE ) EN ( S3 < VoorafIngesteldeTemperatuur ) EN ( ScheduleMagAan == TRUE ) DAN // mengventiel staat vast op 1 temperatuurstand. maximaal 30 graden is instelbaar. ALS P2 == UIT DAN P2 <-- AAN D1 <-- ZBcircuit EINDE ALS ANDERS // geen warmtevraag. ALS P2 == AAN DAN // zet de pomp uit, er is geen warmtevraag (meer). P2 <-- UIT EINDE ALS EINDE ALS EINDE ALS

We moeten nu eerst controleren of er warmtevraag is vanuit de woonkamer en of de 2e pomp überhaupt aan mag ( klok thermostaat ). Dit doen we met onderstaand statement:

 ALS ( StatusTempStartBereiktZBSolo == TRUE ) EN ( S3 < VoorafIngesteldeTemperatuur ) EN ( ScheduleMagAan == TRUE )

De starttemperatuur is bereikt, dat hebben we eerder bepaald. S3 ( de woonkamer ) is kouder dan de voorafgestelde temperatuur en volgens de scheduler mag de extra pomp aan.

Nu moeten we de 2e pomp gaan aanzetten. Dit gebeurd in onderstaande code:

 // mengventiel staat vast op 1 temperatuurstand. maximaal 40 graden is instelbaar. ALS P2 == UIT DAN P2 <-- AAN D1 <-- ZBcircuit EINDE ALS

Als Pomp2 uit staat dan zetten we deze aan en dan zetten we ook de driewegklep goed. We controleren elke keer of de pomp uit staat anders zou de pomp, of eigenlijk het relais die hem straks gaan aansturen constant het signaal krijgen om te starten. Dit is dus een extra controle om te voorkomen dat we nodeloos electronica belasten.

Wanneer er niet meer aan de voorwaarden wordt voldaan door 1 van deze voorwaarden:

  1. CV pomp gaat aan;
  2. Temperatuur in de woonkamer is bereikt;
  3. Zonneboiler is te koud.

Dan wordt dit uitgevoerd:

 ANDERS // geen warmtevraag. ALS P2 == AAN DAN // zet de pomp uit, er is geen warmtevraag (meer). P2 <-- UIT EINDE ALS

Finalisatie

We zijn er nu bijna. als laatste statement gebruiken we:

 Slapen(2000); // 2 seconden slapen.

Het heeft geen nut om elke paar milliseconden alle logica af te lopen, daarom laten we de software twee seconden, of misschien later langer slapen, om daarna weer van voren af aan te beginnen.

De hele code ziet er dus als volgt uit:

CONSTANTEN VoorafIngesteldeTemperatuur <-- 20 DeltaTStartTemperatuurZBSolo <-- 8 DeltaTEindTemperatuurZBSolo <-- 2INITIALISATIE StatusTempStartBereiktZBSolo <-- FALSEZOLANG 1 = 1 // Lees stand van sensoren. S1 <-- LeesTemperatuurSensor(S1) S2 <-- LeesTemperatuurSensor(S2) S3 <-- LeesTemperatuurSensor(S3) P1 <-- LeesStatusPomp(P1) P2 <-- LeesStatusPomp(P2) BewaarStatus(S1,S2,S3,P1,P2); // zonneboiler deltaT regeling voor solo bedrijf. DeltaTZBKamer = S1 - S3; ALS DeltaTZBKamer >= DeltaTStartTemperatuurZBSolo EN StatusTempStartBereiktZBSolo == FALSE DAN StatusTempStartBereiktZBSolo <-- TRUE EINDE ALS ALS DeltaTZBKamer < DeltaTEindTemperatuurZBSolo EN StatusTempStartBereiktZBSolo == TRUE DAN StatusTempStartBereiktZBSolo <-- FALSE EINDE ALS // De logica zelf voor het controleren van de stand van pomp2. ALS P1 == AAN DAN // CV is aan, zet 2e pomp uit! ALS P2 == AAN DAN // pomp2 moet uit het moment dat pomp1 aan gaat. P2 <-- UIT D1 <--- CVCircuit EINDE ALS ANDERS // Er is geen warmtevraag van de CV-kamerthermostaat // maar er is wel warmtebehoefte in de woonkamer. ALS ( StatusTempStartBereiktZBSolo == TRUE ) EN ( S3 < VoorafIngesteldeTemperatuur ) EN ( ScheduleMagAan == TRUE ) DAN // mengventiel staat vast op 1 temperatuurstand. maximaal 40 graden is instelbaar. ALS P2 == UIT DAN P2 <-- AAN D1 <-- ZBcircuit EINDE ALS ANDERS // geen warmtevraag. ALS P2 == AAN DAN // zet de pomp uit, er is geen warmtevraag (meer). P2 <-- UIT EINDE ALS EINDE ALS EINDE ALS Slapen(2000); // 2 seconden slapen.EINDE WHILE

Er zijn zat speciale controllers op de markt maar die hebben eigenlijk allemaal een nogal speciale prijs. Om die reden zit ik nu serieus te overwegen om een Arduino bordje hiervoor in te gaan zetten en zelf de software te schrijven.

Mocht iemand trouwens een controller kennen die dit kan maar niet de hoofdprijs kost dan houd ik mij uiteraard van harte aanbevolen 🙂

De Arduino moet dus in elk geval het volgende kunnen:

  • Temperatuur sensoren inlezen;
  • Een driewegklep kunnen schakelen;
  • Een pomp aan/uit kunnen schakelen;
  • Detecteren wanneer de CV ketel aan gaat;
  • Een interne klok voor het aansturen van de klokthermostaat ( mag ik aan of niet );
  • Opslaan van informatie over het systeem;
  • Optioneel: Een display waarop allerlei informatie over het systeem is af te lezen;

Op korte termijn ga ik een 2e Arduino aanschaffen en ga ik met bovenstaande elementen aan de slag.

En dan de onvermijdelijke vragen waar ik nog mee zit:

  • Hoe kan ik betrouwbaar temperatuursensoren uitlezen en welke sensoren kan ik het beste gebruiken?
  • Hoe moet ik uberhaupt een driewegklep aansturen? En kan dat uberhaupt met een Arduino?
  • Hoe kan ik detecteren dat de CV ketel ( pomp ) aan gaat? Opentherm protocol? Door middel van een print die ziet hoeveel stroom de ketel verbruikt? Of eventueel zelfs door een flowsensor?

Dit zijn eerst de belangrijkste vragen waar ik antwoord op moet zien te krijgen.

En mocht iemand op/aanmerkingen hebben dan hoor ik dat uiteraard ook HEEL graag 🙂

Nagekomen.

Maarten Kock kwam nog met een interessante optie om de driewegklep te vervangen voor twee simpele keerkleppen, die zorgen ervoor dat het water maar in 1 richting kan stromen. Dit schema is nog eenvoudiger omdat de keerkleppen 0,0 aan sturing nodig hebben. Dat scheelt weer het aansturen van een driewegklep.

Het alternatieve schema.

De keerklep vlakbij de CV ketel voorkomt wanneer pomp2 wordt aangezet dat er water door de CV ketel heen kan stromen terug naar de pomp, spreekwoordelijk kortsluiting.

De andere keerklep vlakbij de aanvoer voorkomt dat water door de warmtewisselaar in de zonneboiler stroomt, ook een vorm van kortsluiting.

Zitten er fouten in dit schema?

En nog een update naar aanleiding van de opmerking van “Migjes”. De pomp zat aan de verkeerde kant van het mengventiel. Ik heb twee nieuwe plaatjes hieronder toegevoegd met de bijgewerkte situatie. Ook heb ik met kleuren ( geel = koud, rood = heet, oranje is gemengd ) aangegeven hoe het temperatuurverloop in het systeem is en wat de stroomrichting is.

Hopelijk geeft dit nog meer duidelijkheid over het systeem.

CV Bedrijf

Dit is ook de huidige situatie zonder de zonneboiler aanpassing, de CV ketel doet alles en warmt het retourwater op.

Zonneboiler bedrijf.

En dit is zonneboiler bedrijf. Het retourwater wordt door P2 aangezogen en gaat door de zonneboiler heen en wordt door M1 terug gemengd naar de ingestelde waarde, ik zit hier nu te denken aan 30 graden. De CV ketel staat nu volledig buitenspel.

De keerklep vlakbij de CV ketel zorgt ervoor dat er geen ongewenste stroming via de aanvoer van de CV door de CV heen naar de retour kan plaatsvinden. ( kortsluiting ).

En een goede opmerking van Andre over de grootte van het boilervat. 300 liter houdt inderdaad niet over. Gesteld de boiler zou tot 80 graden zijn verwarmd en we kunnen effectief tot 25 graden celsius eruit halen dan is de warmteinhoud van het vat: ( Q = m * c * dT ). 300 * 4,186 * ( 80 – 25 ) = 69MJ . 1m3 gas bevat ongeveer 31 tot 35MJ aan energie dus de warmte inhoud van de boiler staat ongeveer gelijk aan 2m3 gas wanneer de boiler 80 graden is.

Ik weet uit ervaring dat het opwarmen van de zonneboiler tot 40 graden heel erg makkelijk gaat, ook nu in hartje winter. Van 40 tot 60 graden gaat al ietsje lastiger maar is vanaf eind februari t/m september prima mogelijk, en het stuk boven de 60 graden tot 85 en hoger duurt echt een eeuwigheid.

Met andere woorden bij lagere temperaturen in de boiler stijgt mijn collector efficiëntie enorm! Door zoveel als mogelijk warmte van de boiler nuttig in mijn CV installatie te pompen kan ik denk ik aanzienlijk aan gas besparen. Ook mijn WTW van de douche is aangesloten op de zonneboiler dus zelfs die warmte kan ik mogelijk weer mijn huis weer in pompen!

Gesteld ik zou op zonnige dagen zoals vandaag de boiler tot 40 graden weten te krijgen en hier tot 25 graden in de boiler in mijn woonkamer weten te pompen dan scheelt dat bijna 19MJ aan gasverbruik. Dat is meer dan 0,5m3 bespaard.

Ik kan dus nooit mijn huis ermee verwarmen in hartje winter maar zelfs hartje winter kan ik er gas mee besparen.

Als ik moet gokken ( de spreekwoordelijke educated guess ):

  • Januari: 5m3
  • Februari: 10m3
  • Maart: 20m3
  • April: ( alles wat we gebruiken voor verwarming )
  • September: ( alles wat we gebruiken voor verwarming )
  • Oktober: 10m3
  • November: 5m3
  • December: 1m3

Dus ergens tussen de 50-100m3 schat ik.

Related Images:

Elegante en simpele CV ondersteuning met de zonneboiler (2024)

References

Top Articles
Latest Posts
Article information

Author: Twana Towne Ret

Last Updated:

Views: 5698

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Twana Towne Ret

Birthday: 1994-03-19

Address: Apt. 990 97439 Corwin Motorway, Port Eliseoburgh, NM 99144-2618

Phone: +5958753152963

Job: National Specialist

Hobby: Kayaking, Photography, Skydiving, Embroidery, Leather crafting, Orienteering, Cooking

Introduction: My name is Twana Towne Ret, I am a famous, talented, joyous, perfect, powerful, inquisitive, lovely person who loves writing and wants to share my knowledge and understanding with you.