Introductie¶
Water heeft een enorme buffercapaciteit: je moet veel energie toevoegen om de temperatuur van water een graad te verwarmen. In dit practicum gaan we de soortelijke warmte van water bepalen door een bekende hoeveelheid water te verwarmen met een bekende hoeveelheid energie, en de temperatuurstijging te meten.
Theorie¶
Toegevoerde warmte kan zowel de temperatuur verhogen als verdamping veroorzaken rond het kookpunt. De soortelijke warmte kan bepaald worden uit de lineaire relatie tussen de toegevoerde energie en de temperatuur.
Als water wordt verwarmd, gaat de toegevoerde energie eerst naar het verhogen van de temperatuur . Maar er zijn ook andere vormen van warmtetransport, waardoor er ook energie kan worden afgegeven aan het opwarmen van de omgeving of de meetapparatuur als warmteverlies.
Methode en materialen¶
Ontwerp¶
Een waterbad met bekende massa aan water wordt verwarmd met een elektrisch verwarmingselement dat een bekende hoeveelheid energie levert. De temperatuur van het water wordt gemeten met een temperatuursensor. Door de temperatuurstijging als functie van de tijd te meten kan de soortelijke warmte van water worden berekend.
Materialen¶
Hieronder staat de lijst van benodigde materialen bij deze proef:
Maatbeker
Weegschaal
Water
Elektrisch verwarmingselement (, )
Voedingsbron
Thermometer of temperatuursensor
Stopwatch of timer

Een schematische weergave van de opstelling
Procedure¶
Veiligheid¶
We maken gebruik van een , weerstand. Deze wordt snel heet. De bronspanning mag dan ook alleen aan wanneer de weerstand in het water zit. Raak de weerstand niet aan tijdens het experiment. Omdat de weerstand in het water zit, kunnen we wel het elektrisch vermogen hoger zetten zonder dat de weerstand oververhit raakt. Het maximaal vermogen mag zijn. Daarbij moet de roerder wel aanstaan om de warmte goed te verdelen.
Data analyse¶
Geef kort de data-analysemethode weer.
Massa van het water bepalen Weeg de lege maatbeker.
Vul de maatbeker met 400–600 mL water.
Weeg de maatbeker opnieuw.
Bereken de massa van het water:
m_water = m_beker+water − m_beker
Temperatuursensor plaatsen Plaats de thermometer of temperatuursensor in het midden van het water.
Wacht 20–30 seconden tot de meting stabiel is.
Noteer de begintemperatuur.
Verwarmingselement voorbereiden Hang of klem de 10 Ω, 10 W weerstand volledig onder water.
Zorg dat de weerstand de bekerwand niet raakt.
Zet de roerder aan zodat de warmte gelijkmatig verdeeld wordt.
Start van het experiment Start de stopwatch.
Zet de voeding aan op 12 V. (De spanning mag alleen aan wanneer de weerstand al in het water zit.)
Noteer elke 30 de temperatuur van het water.
Elektrisch vermogen bepalen Meet de spanning over de weerstand (U).
Meet de stroom door de weerstand (I).
Bereken het vermogen:
P = U * I
Bereken de toegevoerde energie:
E = P * t
waarbij t de totale opwarmtijd is in seconden.
Stop het experiment Zet de voeding uit.
Haal de weerstand voorzichtig uit het water (hij blijft heet).
Noteer de eindtemperatuur.
Bereken de soortelijke warmte van water Gebruik:
c = E / (m * ΔT)
waarbij:
E = toegevoerde energie (J)
m = massa van het water (kg)
ΔT = temperatuurstijging (°C)
Resultaten¶
Verkregen gegevens (gemeten door een andere groep met onze meetprocedure)¶
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fitm = 584.e-3 # massa water in kg
T_begin = 20.2 + 273.15 # begintemperatuur van water in K
T_eind = 22.9 + 273.15 # eindtemperatuur van water in K
T_raw = np.array([20.2, 20.4, 20.6, 20.8, 21.0, 21.2, 21.4, 21.6, 21.8, 22.0, 22.3, 22.5, 22.7, 22.9]) # gemeten temperaturen in graden Celsius
T = T_raw + 273.15 # Omzetten van de gemeten temperaturen in graden Celsius naar Kelvin
t = np.arange(0,391,30) # tijdsintervallen in seconden
V = 13.6 # gemeten spanning in Volt
I = 1.39 # gemeten stroom in AmpèreData en analyse:¶
P = V * I # vermogen in Watt
E = P * t # toegevoerde energie in Joule
print(f"P = {P:.2f} W")
print("E =", E," J")
def func(x, a, b):
return a*x + b # T(t) = (dT/dt)*t + T_0
popt, pcov = curve_fit(func, t, T)
slope_fit_T, T_0_fit = popt
T_fit = func(t, slope_fit_T, T_0_fit)
plt.figure(figsize=(14,4))
plt.subplot(1,3,1)
plt.plot(t, T, "o", label="Meting T(t)", color='black', markersize=3)
plt.plot(t, T_fit, label=f"Fit: T = {slope_fit_T:.4f} t + {T_0_fit:.2f}", color='purple')
plt.xlabel("$t$ (s)")
plt.ylabel("$T$ (K)")
plt.title("Temperatuur vs Tijd")
plt.grid(True)
plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures\c_water_1_Tvst.png", dpi=450)
print(f"\nStijgsnelheid dT/dt = {slope_fit_T:.4f} K/s")
popt2, pcov2 = curve_fit(func, E, T) # fitfunctie
slope_fit_E, T_0_fit = popt2
T_fit_E = func(E, slope_fit_E, T_0_fit)
plt.subplot(1,3,2)
plt.plot(E, T, "o", label="Meting T(E)", color='black', markersize=3)
plt.plot(E, T_fit_E, label=f"Fit: T = {slope_fit_E:.6f} E + {T_0_fit:.2f}", color='purple')
plt.xlabel("$E$ (J)")
plt.ylabel("$T$ (K)")
plt.title("Temperatuur vs Energie")
plt.grid(True)
plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures\c_water_1_TvsE.png", dpi=450)
c = 1 / (m * slope_fit_E) # Soortelijke warmte berekenen in J/(kg·°C)
sigma_slope = np.sqrt(pcov2[0,0])
sigma_c = sigma_slope / (m * slope_fit_E**2)
print(f"\nBerekende soortelijke warmte c = {c:.2f} +/- {sigma_c:.2f} J/(kg·K)")
residuals = T - T_fit_E
plt.subplot(1,3,3)
plt.axhline(0, color='gray')
plt.plot(E, residuals, "o", color='black')
plt.xlabel("$E$ (J)")
plt.ylabel("Residuen (K)")
plt.title("Residuen van lineaire fit T(E)")
plt.grid(True)
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures\c_water_1_residuals.png", dpi=450)
plt.tight_layout()
plt.show()P = 18.90 W
E = [ 0. 567.12 1134.24 1701.36 2268.48 2835.6 3402.72 3969.84 4536.96
5104.08 5671.2 6238.32 6805.44 7372.56] J
Stijgsnelheid dT/dt = 0.0070 K/s
Berekende soortelijke warmte c = 4651.04 +/- 44.69 J/(kg·K)

De energie gaat niet alleen maar naar het opwarmen van het water, maar ook naar;
het opwarmen van de maatbeker en de sensor in het water;
de omgeving;
convectie en straling.
Deze punten tellen wel allemaal mee onder de energie, maar komen niet tot uiting in de daadwerkelijke temperatuurstijging van het water () komt lager uit, waardoor water meer energie nodig lijkt te hebben en dit dus uitkomt op een hogere waarde voor soortelijke warmte van water dan de literatuurwaarde.
Discussie en conclusie¶
Uit het experiment volgt een waarde van . Dit komt hoger uit dan de literatuurwaarde . Dit kan een gevolg zijn van warmteverlies door de afgifte van warmte aan o.a. de omgeving en de meetapparatuur (maatbeker en temperatuursensor). Hierdoor lijkt het alsof er meer energie nodig is om het water te laten stijgen in temperatuur, maar in werkelijkheid gaat niet al deze toegevoerde energie dus naar het opwarmen van het water. Door de grotere hoeveelheid energie die nodig in totaal, valt de waarde van de soortelijke waarde van water hoger uit aangezien er geen rekening is gehouden met warmteverlies. De onzekerheid ~45 J/(kg K) geeft aan dat de methode redelijk betrouwbaar is, maar niet heel precies. Dit kan komen door onnauwkeurig meten.
Verbeteringen van het experiment¶
Meten hoeveel warmte er naar de maatbeker en de sensor gaat.
Zorgen dat er geen water terug kan druppelen nadat het is verdampt/gecondenseerd.
Vanaf een lagere starttemperatuur meten.