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¶
Geef hier de natuurkundige achtergrond van het onderwerp.
Methode en materialen¶
stappenplan / procedure om de soortelijke warmte van water te bepalen¶
Procedure: Bepalen van de soortelijke warmte van water¶
1. Voorbereiding¶
Verzamel alle benodigde materialen: maatbeker, weegschaal, water, elektrisch verwarmingselement (10 Ω, 10 W), voedingsbron, thermometer of temperatuursensor en een stopwatch.
Controleer of alle apparatuur goed werkt: thermometer kalibreren indien nodig, stopwatch testen, elektrische voeding controleren.
2. Meten van de massa van het water¶
Weeg de lege maatbeker.
Vul de maatbeker met een gewenste hoeveelheid water (bijv. 200–500 ml).
Weeg de maatbeker opnieuw en bereken de massa van het water: m = m(gevulde beker) – m(lege beker). (Aangezien de dichtheid van water ≈ 1 g/ml, kan volume ≈ massa worden aangehouden als snelle controle.)
3. Opstellen van de meetopstelling¶
Plaats het water in een hittebestendig bekerglas of laat het in de maatbeker indien die geschikt is voor verhitting.
Plaats het verwarmingselement in het water zodat het volledig onder is, maar zonder dat het de wanden raakt.
Plaats de thermometer of temperatuursensor in het water, zo dat de meetpunt volledig ondergedompeld is.
Zorg dat het water niet wordt geroerd door externe factoren; het roeren later handmatig of met een roerder mag, maar wees consistent.
4. Startcondities meten¶
Meet en noteer de begintemperatuur van het water, ( T_0 ).
Zet de stopwatch klaar, maar start nog niet.
5. Water verwarmen¶
Stel de voedingsbron zo in dat het verwarmingselement werkt binnen zijn vermogenslimieten (10 W max.).
Noteer het ingestelde vermogen P en/of de aangelegde spanning U en stroom I (zodat je kunt controleren: ( P = U * I )).
Start de voeding én de stopwatch tegelijk.
Verwarm het water gedurende een vooraf bepaalde tijd (bijv. 2–5 minuten).
Meet om de 10–20 seconden de temperatuur van het water en noteer deze in een tabel.
Roer af en toe zachtjes om temperatuurlagen te voorkomen.
6. Stoppen van de meting¶
Schakel de voeding na de gekozen tijd uit.
Noteer de eindtijd en de eindt temperatuut ( T_e ).
7. Berekeningen¶
Bereken de temperatuurstijging: ΔT = T_e – T_0
Bereken de toegepaste energie: Q = P · t waarbij – P = vermogen van het verwarmingselement (in watt) – t = tijd dat het element aan stond (in seconden)
Bereken de soortelijke warmte ( c ) van water met: [ c = Q/(m*ΔT) ]
Vergelijk het resultaat met de bekende literatuurwaarde van water: c_water ≈ 4180 , {J/(kg·°C)}
8. Afronding en evaluatie¶
Noteer mogelijke foutbronnen (warmteverlies aan omgeving, meetonnauwkeurigheid, niet-uniforme menging).
Geef aan hoe de nauwkeurigheid van de proef verbeterd zou kunnen worden (isolatie, nauwkeuriger sensors, langer verwarmen, hogere bemonsteringsfrequentie).
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¶
In dit onderzoek hebben wij door het langzame opwarmen van water de warmtecapaciteit van water bepaald. Gemeten wordt de temperatuur van het water over de tijd. Door deze meetdata wordt een functie van de vorm at+b. Hieruit kunnen wij een waarde voor de soortelijke warmte afleiden. Uiteindelijk wordt een strijdigheidsanalyse met de literatuurwaarde 4186.8 J/(kgK) uitgevoerdt.
Resultaten¶
# Hier de data en de analyse
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
T_0= 293.55 #K
T_e= 295.85
delta_T= T_e-T_0
t= np.array([0,40,80,120,160,200,240,280,300])#tijd dat het element aanstond in sec
#temperatuur per 40 seconden array: in kelvin
T_data= np.array([293.55,294.35,294.65,294.85,295.05,295.25,295.55,295.75,295.85])
R= 10 #ohm
U= 10 #volt
P= (U**2)/R
Q= P*max(t)
m_gevuld= 0.552 #kg
m_leeg= 0.143 #kg
m= m_gevuld-m_leeg
c= Q/(m*delta_T)
print('de waarde van de soortelijke warmte is',np.round(c,1), 'J/(kg*K)')
de waarde van de soortelijke warmte is 3189.1 J/(kg*K)
#verklaring soortelijke warmte aan het eind:
#c is nu aan het eind rond de 3200 J/(kg*K), de waarde zou naar 4180 J/(kg*K)
#moeten convergeren naarmate er langer gemeten wordt
#Nu de data die is verkregen met ons stappenplan door anderen:
U = 12 #volt
I = 1.23 #ampere
T = np.array([20.2,20.4,20.5, 20.7, 20.9,21.2, 21.3, 21.5, 21.6, 21.8, 22.0]) #°C
tijd =np.array([0,30,60,90,120,150,180,210, 240, 270, 300]) #s
Tmax = max(T)
Tmin = min(T)
P = U * I
delta_T = Tmax - Tmin
m_water = 0.592 #kg
Q = P * max(tijd)
c_water = Q/(m_water*delta_T)
print('de waarde van de soortelijke warmte volgens ons stappenplan is',np.round(c_water,1), 'J/(kg*K)')
#nauwkeurigheid zou verbeterd kunnen worden door langer te verwarmen
de waarde van de soortelijke warmte volgens ons stappenplan is 4155.4 J/(kg*K)
# fitfunctie definen
def lineair_model(t, a, b):
return a * t + b
params, cov = curve_fit(lineair_model, tijd, T)
a, b = params # a = dT/dt
# helling temperatuurstijging
dT_dt = a # K per seconde
P = U * I
# soortelijke warmte fit
c_water_fit = P / (m_water * dT_dt)
# berkening van de fout van c_water uit de fout van de curve_fit
#u_c_water_fit = np.sqrt(cov[0,0]/len(T))
u_c_water_fit = np.abs((-P * cov[0,0])/(m_water*dT_dt**2))
print('De waarde van de soortelijke warmte via curve fit is',
np.round(c_water_fit,2), '+/-', np.round(u_c_water_fit,2), 'J/(kg*K)')
tijd_fit = np.linspace(min(tijd), max(tijd), 300)
# berekende fit-waarden
T_fit = lineair_model(tijd_fit, a, b)
plt.figure()
plt.scatter(tijd, T, label='Meetpunten')
plt.plot(tijd_fit, T_fit, label='Lineaire fit')
plt.xlabel('Tijd (s)')
plt.ylabel('Temperatuur (Celsius)')
plt.legend()
plt.grid(True)
plt.savefig(r"C:\Users\Jesse\Desktop\TU Delft\IP2\thermolab\2\Figures\cwater_curve_fit",dpi= 400)
plt.show()De waarde van de soortelijke warmte via curve fit is 4134.52 +/- 0.02 J/(kg*K)

#Strijdigheidsanalyse:
c_water_literature = 4186.8 #J/kg K # u_c_water_literature = 0
if (np.round(c_water_fit,2)-c_water_literature)**2 > 4*(u_c_water_fit**2):
print('De door ons gevonden waarde voor c_water is strijdig met de literatuurwarde')
else:
print('De door ons gevonden waarde voor c_water is niet strijdig met de literatuurwarde')De door ons gevonden waarde voor c_water is strijdig met de literatuurwarde
Discussie en conclusie¶
Met deze proef hebben wij een soortelijke warmte van 4134.52 +/- 0.02 J/(kgK) gekregen. Deze waarde is strijdig met de lieteratuurwaarde van 4186.8 J/(kgK).
Dit kan meerdere redenen hebben, zoals warmteverlies door het glas, de lucht, of de metalen draad die gebruikt wordt om het water op te warmen.
Om een beter resultaat te hebben kan het water beter geisoleerd worden. Bovendien kan door meerdere meetseries een beter resultaat berijkt worden.