Introductie¶
Onbekende materialen kunnen geïdentificeerd worden door hun eigenschappen te meten. Een van deze eigenschappen is de warmtecapaciteit. In dit practicum gaan we de warmtecapaciteit van een onbekend materiaal bepalen door middel van een calorimeter experiment. Daarbij wordt een bepaalde massa van het materiaal naar een bekende temperatuur gebracht waarna het in een bekende hoeveelheid water met bekende temperatuur wordt geplaatst. Door de temperatuur van het water te meten na het mengen kan de warmtecapaciteit van het onbekende materiaal worden berekend.
Theorie¶
De soortelijke warmte van een materiaal is gedefinieerd als de hoeveelheid warmte die nodig is om de temperatuur van een kilogram van het materiaal met één graad Celsius (of één Kelvin) te verhogen:
Waarbij de hoeveelheid warmte in Joules is, de massa in kilogram is en de verandering in temperatuur is. Gegeven de wet van Black, die stelt dat de totale hoeveelheid warmte in een geïsoleerd systeem constant blijft, kunnen we de warmte die het onbekende materiaal verliest gelijkstellen aan de warmte die het water opneemt:
wanneer we de massa’s en de begintemperaturen van beide systemen kennen, maar slechts een van de twee soortelijke warmtes, kunnen we de onbekende soortelijke warmte berekenen. We combineren vergelijkingen (1) en (2) om de volgende vergelijking te krijgen:
Waarbij de subscripts en respectievelijk staan voor begintoestand en eindtoestand, voor water en voor het onbekende materiaal.
Bij metingen aan verschillende massa’s van het onbekende materiaal en vervolgens een least square fit aan bovenstaande vergelijking kunnen we een precieze waarde voor de soortelijke warmte van het onbekende materiaal bepalen. Dat is, wanneer de warmtecapaciteit van bijvoorbeeld de beker te verwaarlozen is.
Methode en materialen¶
Ontwerp¶
De bovenstaande theorie wordt gebruikt om de soortelijke warmte van een onbekend materiaal te bepalen. Het experiment bestaat uit het verwarmen van verschillende massa’s van het onbekende materiaal tot een bekende temperatuur, waarna het in een bekende hoeveelheid water met bekende temperatuur wordt geplaats. Door de temperatuur van het water te meten na het mengen kan de warmtecapaciteit van het onbekende materiaal worden berekend. Om de tijd voor het meten van meerdere materialen te reduceren, worden de data van de verschillende groepen in het lokaal samengevoegd. Van tevoren is afgesproken welke massa’s door welke groep worden gemeten, en hoeveel water er gebruikt wordt.
Materialen¶
Hieronder staat de lijst van benodigde materialen bij deze proef:
Calorimeter
Thermometer of temperatuursensor
Verwarmingsbron
Diverse massablokjes van onbekend materiaal
Weegschaal
Water
Maatcilinder of maatbeker
Procedure¶
Bespreek wie welke massa’s van het onbekende materiaal gaat meten. Bespreek ook hoeveel water er gebruikt gaat worden. Bepaal de begintemperaturen. Hevel het aantal afgesproken massa’s in de maatbeker. Roer voorzicht zodat de temperatuur homogeen is. Noteer de hoogste gemeten temperatuur, dit is . Wissel de metingen uit met de andere groepen en voer de data-analyse uit.
Resultaten¶
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
fileName = "Data/Data soortelijke warmte TEST 3.csv"
Data = np.loadtxt(fileName, dtype=float, delimiter=';', skiprows=1)
Data = Data.T
# Voor deze proef hebben we gebruikgemaakt van onze eigen (enkele) meting en metingen van andere studenten. Deze
# data is achteraf verzameld, gezien er niet genoeg tijd was om zelf meerdere metingen uit te voeren.
V_water = Data[0] # L
T_begin = Data[1] # graden celcius (Water voor experiment)
T_eind = Data[2] # graden celcius (Water na blokje)
T_heetwater = Data[3] # graden celcius
m_blokjes = Data[4] # kg
m_water = Data[5] # #kg
dT = T_eind - T_begin # graden celcius
c_w = 4180 # Joule per kg graden celcius (soortelijke warmte water)
Source
# Om de data te analyseren m.b.v. vergelijking 3, herschijven wij deze eerst zodanig dat we de soortelijke warmte
# c_m van het onbekende materiaal kunnen bepalen met een eenvoudige lineare curve fit. Hieruit stellen we een x- en
# y-term:
x_term = m_water / m_blokjes
y_term = (T_eind - T_heetwater) / (T_begin - T_eind)
def fitfunc(x, a): # Deze fitfunctie zal een linear verband weergeven tussen de x_term en y_term,
global c_w # met een richttingscoefficient van c_w / c_m.
return (c_w * x) / a
var, cov = curve_fit(fitfunc,x_term,y_term)
x_fit = np.linspace(np.min(x_term),np.max(x_term),1000) # Aanmaken waardes voor fitfunctie.
y_fit = fitfunc(x_fit, *var)
c_m = var[0]
u_c_m = np.sqrt(cov[0][0])
# Maken van de grafiek
plt.figure()
plt.xlabel('$m_w / m_b$')
plt.ylabel('$(T_e - T_H)/(T_w - T_e)$')
plt.plot(x_term,y_term,'k.')
plt.plot(x_fit, y_fit, "r-", label = f"fit y = {round((c_w/c_m),3)}x ")
plt.legend()
plt.savefig("Figures/Warmtecapaciteit.png", dpi=450)
plt.show()
print(f"De soortelijke warmte van de onbekende stof is {np.round(c_m)} +/- {np.round(u_c_m)} J/kgK")Output

De soortelijke warmte van de onbekende stof is 381.0 +/- 8.0 J/kgK
Discussie en conclusie¶
Tijdens dit onderzoek is er een soortelijke warmte benadering gedaan, hieruit volgt de data met een -waarde van . Deze komt, hoewel niet compleet, erg dichtbij de literaire waarde van soortelijke warmte : . In het onderzoek is gebruik gemaakt van data van meerdere metingen van andere mensen, hierdoor is de validiteit en betrouwbaarheid van de data moeilijk te bestuderen. De verwerking van de data is wel compleet door ons zelf uitgevoerd. De verwerking begint simpel, maar wordt meer ingewikkeld bij de fit function die gebruikt wordt voor het inschatten van de soortelijke warmte . Zo was het ingewikkeld de functie netjes te maken, en is er dus gebruik gemaakt van . Hier in is x het geheel van en a is . Daardoor werd de berekening voor de verwachte soortelijke warmte ingewikkelder, maar door terug rekenen is er toch een relatief correcte inschatting uit gekomen, die met de onzekerheid correct uitkomt met de literaire waarde.