Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Bepaling van soortelijke warmte van water

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 Q=mcΔTQ = mc\Delta T. 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 (10Ω10 \mathrm{\Omega}, 10W10 \mathrm{W})

  • Voedingsbron

  • Thermometer of temperatuursensor

  • Stopwatch of timer

Een schematische weergave van de opstelling

Een schematische weergave van de opstelling

Procedure

Veiligheid

We maken gebruik van een 10Ω10 \mathrm{\Omega}, 10W10 \mathrm{W} 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 40W40 \mathrm{W} zijn. Daarbij moet de roerder wel aanstaan om de warmte goed te verdelen.

Data analyse

Geef kort de data-analysemethode weer.

  1. 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

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. Stop het experiment Zet de voeding uit.

Haal de weerstand voorzichtig uit het water (hij blijft heet).

Noteer de eindtemperatuur.

  1. 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_fit
m = 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ère

Data 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)
<Figure size 1400x400 with 3 Axes>

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 (ΔT\Delta T) 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 cwater=4651.04±44.69J/(kgK)c_{water} = 4651.04 \pm 44.69 J/(kg K). Dit komt hoger uit dan de literatuurwaarde cwater,lit=4180J/(kgK)c_{water,lit} = 4180 J/(kg K). 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.