Beste Tweakers.
Zoals velen hier op het forum die bezig zijn met een warmtepomp uitzoeken, is het vaak de vraag welk vermogen het beste past.
Je kan een WP niet op de watt nauwkeurig uitkiezen, dus wat doe je? Tweakers lijken liever naar beneden af te ronden voor beter modulatie gedrag en prijs, installateurs naar boven om altijd safe te zitten bij kou.
Ik vroeg me daarom af of hier niet een beetje aan te rekenen valt. Gelukkig heeft het KNMI per meetstation alle historische data beschikbaar. https://www.knmi.nl/nederland-nu/klimatologie/daggegevens
Deze heb ik in het volgende python script gestopt:
- Inlezen file en prepareren
- Uitrekenen wat de bivalente temp van de WP is.
- Lineaire interpolatie van het WP vermogen buiten de datasheet gegevens (lineair is een redelijk model, niet exact)
- Alle dagen die historisch zijn voorgekomen <= de bivalente temperatuur selecteren. Dit zijn dus dagen waar de BUH nodig is.
- De gemiddelde temp berekenen op deze dagen.
- Omrekenen naar graaddagen
- Het tekort aan WP vermogen berekenen en uiteindelijk schalen naar euros per jaar.
Voor de data van mijn huis (in Zeeland), en de Arotherm VWL55/7.1 kom ik dan op het volgende. Als bonus station Hoogeveen, Drenthe is blijkbaar het koudst van NL.
Op basis van deze data lijkt het dus voor mijn geval wel mee te vallen, temeer omdat er op de bovenverdieping ook nog twee aircos hangen met +-3.5kW afgifte bij -7. Maar ik ben benieuwd wat jullie van deze aanpak denken, misschien is het nuttig voor iemand.
Zoals velen hier op het forum die bezig zijn met een warmtepomp uitzoeken, is het vaak de vraag welk vermogen het beste past.
Je kan een WP niet op de watt nauwkeurig uitkiezen, dus wat doe je? Tweakers lijken liever naar beneden af te ronden voor beter modulatie gedrag en prijs, installateurs naar boven om altijd safe te zitten bij kou.
Ik vroeg me daarom af of hier niet een beetje aan te rekenen valt. Gelukkig heeft het KNMI per meetstation alle historische data beschikbaar. https://www.knmi.nl/nederland-nu/klimatologie/daggegevens
Deze heb ik in het volgende python script gestopt:
code:
Deze doet het volgende: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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| import pandas as pd
#INPUTS
indoortemp = 21
property_kwh_per_dd = 0.47 * 10 *1.1 # 10kwh per m3 of gas + x% margin
#assumes Arotherm Pro VWL55/7.1A
defrost_derate = 1 - 0.12 #Read 12% somewhere in the manual
heatpumpPower = [ [-7, 4.84*defrost_derate],[2, 5.48*defrost_derate]] #Two cold temp points to interpolate colder temps from, datasheet graph is remarkably linear
kwhPrice = 0.25
if __name__ == '__main__':
# Read file
filepath = "etmgeg_310.txt" #Vlissingen
#filepath = "etmgeg_323.txt" #Wilhelmindadorp
#filepath = "etmgeg_279.txt" #Hoogeveen, one of the colder places in NL
df = pd.read_csv(filepath,header=50)
df.columns = df.columns.str.strip() #clean whitespaces
#Convert to float
df["TN"]= pd.to_numeric(df["TN"],errors="coerce")
df["TG"] = pd.to_numeric(df["TG"], errors="coerce")
df["TN"] = df["TN"]/10 #scale to celcius
df["TG"] = df["TG"]/10
total_days = df["TN"].count() #count days
dx = heatpumpPower[0][0] - heatpumpPower[1][0]
dy = heatpumpPower[0][1] - heatpumpPower[1][1]
slope = dy/dx #kw/degree of slope of output power
intercept = (slope * -1 * heatpumpPower[0][0]) + heatpumpPower[0][1] #power at 0C
property_w_per_dhr =property_kwh_per_dd/24 #units of kw/celcius
t_biv = (property_w_per_dhr*indoortemp - intercept) / (slope + property_w_per_dhr)
t_biv_pow = intercept + (slope * t_biv)
print("T Bivalent:",t_biv)
print("Power at t_biv", t_biv_pow)
#today work out degree days of cutoff days
cuttoff = t_biv
filtered = df[df["TG"]<=cuttoff]
cold_days = filtered["TG"].count()
mean_temp_cold_days = filtered["TG"].mean()
lowest_temp = filtered["TN"].min()
percentage_cold = (cold_days/total_days)*100
expected_cold_days = 365*percentage_cold*0.01
degreedays = indoortemp-mean_temp_cold_days
energy_mean_cold_day = (degreedays*property_kwh_per_dd)
hp_output = slope * mean_temp_cold_days + intercept
heatload = energy_mean_cold_day/24
deficit = heatload - hp_output
print("Heatload: ",heatload)
print("Deficit: ",deficit)
print("Total Days :",total_days)
print("Days <-Tbiv:",cold_days)
print("Mean temp on coldest days",mean_temp_cold_days)
print("Lowest temp",lowest_temp)
print("Percentage cold days",percentage_cold)
print("Expected cold days per year:",expected_cold_days )
print("Estimated total BUH cost per year",deficit*24*expected_cold_days*kwhPrice)
print("BUH cost over HP lifetime", deficit * 24 * expected_cold_days * kwhPrice*15) |
- Inlezen file en prepareren
- Uitrekenen wat de bivalente temp van de WP is.
- Lineaire interpolatie van het WP vermogen buiten de datasheet gegevens (lineair is een redelijk model, niet exact)
- Alle dagen die historisch zijn voorgekomen <= de bivalente temperatuur selecteren. Dit zijn dus dagen waar de BUH nodig is.
- De gemiddelde temp berekenen op deze dagen.
- Omrekenen naar graaddagen
- Het tekort aan WP vermogen berekenen en uiteindelijk schalen naar euros per jaar.
Voor de data van mijn huis (in Zeeland), en de Arotherm VWL55/7.1 kom ik dan op het volgende. Als bonus station Hoogeveen, Drenthe is blijkbaar het koudst van NL.
| Binnentemp | Marge | Weerstation | Geschatte kosten per jaar |
| 18 | geen | Vlissingen | €1.75 |
| 18 | geen | Wilhelminadorp | €0.60 |
| 18 | geen | Hoogeveen | €3.24 |
| 21 | 10% Gas, 12% defrost | Vlissingen | €42.65 |
| 21 | 10% Gas, 12% defrost | Wilhelminadorp | €29.16 |
| 21 | 10% Gas, 12% defrost | Hoogeveen | €71.88 |