In dit experiment is er een verwarmingselement in een met water gevulde maatbeker gestopt. Elke minuut is de temperatuur van het water gemeten. Deze metingen zijn opgeslagen in tempmetingen.csv.
Verder is gegeven dat:
Het moge duidelijk zijn dat er water is ‘verdwenen’. Ook is de eindtemperatuur van het water niet gelijk aan een proces waarbij verdamping en eventuele warmteverliezen niet meegenomen worden.
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit# Opgave 1
# meetdata in numpy arrays opslaan
data = np.loadtxt('tempmetingen.csv',delimiter=';',skiprows=1)
time= data[:,0] # in min
Temp= data[:,1] # in °C
def Theory(x,a,b):
y = a*x+b
return y
val,cov = curve_fit(Theory,time[0:5],Temp[0:5])
#plotten van meetdata en verwachtingslijn
plt.figure()
plt.plot(time,Temp,'.',label='meetpunten')
plt.plot(time,Theory(time,*val),'--',label='trendlijn')
plt.xlabel('Time')
plt.ylabel('Temperature')
plt.grid()
plt.legend()
plt.show()

# Opgave 2
# aanname: het kost 2574 Joul 1g water te koken, vanaf 293K en 1 atm pressure
# aanname: we gaan ervan uit dat water een soortelijke warmte van 4.186 J/gK
# massa van de meetbeker, het water aan het begin en aan het eind:
m_maatbeker = 820.8 #g
m_maatbeker_water_start = 1292.9 #g
m_maatbeker_water_eind = 1274.9 #g
m_water_start = m_maatbeker_water_start - m_maatbeker
m_water_eind = m_maatbeker_water_eind - m_maatbeker
# massa van het verdampte water
delta_m = m_water_start - m_water_eind
# Uit de aanname: Energie om 1g water te verdampen
E_g_verdamping = 2574 #J
# Energie die benodigd wordt om het uiteindelijk verdampte water te verdampen
E_verdamping = delta_m * E_g_verdamping
E_verdamping_print = np.round(E_verdamping,2)
print("Er werden", E_verdamping_print, "J opgebracht voor het verdampte water")
# temperatuur van het water aan het start en eind:
Temp_start = Temp[0] + 273.15 #K
Temp_eind = Temp[-1] + 273.15 #K
# Uit de aanname: soortlijke warmte water
cv= 4.186 # J/gK
# warmte om het overgebleven water op Temp_eind optewarmen
E_opwarming = (Temp_eind - Temp_start)*cv*m_water_eind
E_opwarming_print = np.round(E_opwarming,2)
print("Er werden", E_opwarming_print, "J opgebracht voor het opgewarmte water")
# totale toegevoegde warmte volgens meetdata
delta_Q_meting = E_opwarming + E_verdamping
delta_Q_meting_print = np.round(delta_Q_meting,2)
print('Er werden', delta_Q_meting_print, "J opgebracht volgens het experiment")
# totale toegevoegde warmte volgens trendlijn
delta_T = Theory(time[-1],*val) - Theory(time[0],*val)
delta_Q_trend = cv * delta_T * m_water_start
delta_Q_trend_print = np.round(delta_Q_trend,2)
print('Er werden', delta_Q_trend_print, 'J opgebracht volgens de trendlijn')
# afwijking experiment en trendlijn.
Afwijking = (delta_Q_trend-delta_Q_meting)/delta_Q_trend
Afwijking_print = np.round(Afwijking,3)*100
print('De afwijking van delta_Q_metingen en delta_Q_trend is:', Afwijking_print, '%')
Er werden 46332.0 J opgebracht voor het verdampte water
Er werden 105307.79 J opgebracht voor het opgewarmte water
Er werden 151639.79 J opgebracht volgens het experiment
Er werden 158887.33 J opgebracht volgens de trendlijn
De afwijking van delta_Q_metingen en delta_Q_trend is: 4.6 %
#Opgave 3
# Ook al is de afwijking tussen de warmte van de metingen en de trendlijn klein, kan het experiment verbeterd worden
# Het experiment kan met verschillende watages herhaald worden, om het resultaat te veralgemeneren.
# Een betere isolatie tijdens de opwarming voorkomt warmteverliezen aan de lucht.