Introductie¶
Volgens de ideale gaswet wordt het volume van een (ideaal) gas gegeven door:
waarin
het aantal mol gas,
de ideale gasconstante,
de absolute temperatuur,
de druk.
In dit practicum veranderen we de temperatuur en meten we de verandering van het volume van het gas. De proef is met name kwalitatief van aard en laat zien hoe lastig het is een extensieve grootheid als volume te meten.
Methode en materialen¶
Ontwerp¶
Om het volume van een hoeveelheid gas bij constante druk te meten is niet zo eenvoudig. Je kunt het gas vrij eenvoudig in een ballon stoppen en dan schatten hoe de diameter van de ballon verandert als functie van de temperatuur, maar dat geeft een relatief grote fout (waarom?). We maken daarom gebruik van de wet van Archimedes.
Materialen¶
eenvoudige feestballon
bekerglas
tweede bekerglas om mee bij te vullen
thermometer
verhittingsplaat
deksel met vulcilinder met maatstrepen (met iets kleinere diameter dan interne diameter maatbeker)
(per 5 groepjes) een maatcilinder
Procedure¶
Blaas de ballon op, maar niet verder dan in diameter. Deze moet makkelijk in de maatbeker passen.
Knoop de ballon goed dicht zodat er geen lucht kan ontsnappen.
Dompel de ballon onder in de maatbeker met water met behulp van het deksel.
Pas het waterniveau aan zodat de meniscus (de bovenkant van het water) bij een van de onderste maatstrepen van de vulcilinder van het deksel zit.
Let op dat er luchtbellen kunnen plakken aan de ballon wat leidt tot een systematische fout. Verifieer dat je zo min mogelijk systematische fouten maakt en meet op welke maatstreep de meniscus zich bevindt.
Verhoog stapsgewijst de temperatuur van het water (en dus de ballon). Let op dat je de temperatuur maximaal een graad of 20 kan verhogen, want als je voorbij de vulcilinder komt met de meniscus, dan kan je de volumeverandering niet meer nauwkeurig bepalen.
Laat het geheel na elke temperatuurtoename een minuut ‘rusten’ om zo de tijd te geven om in thermisch evenwicht te komen.
Meet na elke temperatuurtoename de temperatuur en de positie van de meniscus.
Het verschiloppervlak tussen de binnendiameter van de maatbeker en de buitendiameter van de vulcilinder is . Je kunt die handmatig kalibreren met behulp van de kleine maatcilinder die in het lokaal aanwezig is. De maatstreepjes die op de vulcilinder zijn gekerfd zitten op een onderlinge afstand van .
Als je kritisch nadenkt over deze grafiek en de extrapolatie, dan kun je bezwaar maken tegen de precisie van deze proef. Het water in de maatbeker zet ook uit onder de verhoging van de temperatuur en geeft een systematische fout. Daar kun je een correctie voor uitvoeren. Voer die correctie uit als je nog genoeg tijd hebt:
Resultaten¶
#Importeren blah blah
import numpy as np
import matplotlib.pyplot as plt#Meting met ballon in water
V_deksel = 280 #Volume van deksel (ml)
temps = [18.8,23.2,24.1,26.2,29.0,30.5,32.9,34.8,38.0,40.1] #Temperatuur meetdata (˚C)
hoogtes = [0.3,0.5,0.7,0.9,1.0,1.1,1.2,1.5,1.7,1.8] #Hoogte meetdata (cm)
diam_beker = 7.66 #Diameter van beker (cm)
diam_deksel = 6.77 #Diameter van deksel (cm)
opp_water = 1/4 * np.pi * (diam_beker**2 - diam_deksel**2) #Oppervlakte van water (cm^2)
volumes = (np.asarray(hoogtes) - hoogtes[0]) * opp_water #Berekend totaal volume (ccm)
temps_abs = np.asarray(temps) + 273 #Temperatuur meetdata (K)
#Fitten
coef = np.polyfit(temps_abs, volumes, 1) #Coefficient van linear verband
func = np.poly1d(coef) #Linear functie
#Plotten van meetdata met fit
plt.plot(temps_abs, volumes, 'ob')
plt.plot(temps_abs, func(temps_abs), '--r')
plt.xlabel('Temperature [K]')
plt.ylabel('Volume [ccm]')
plt.show()
temps = [18.8,23.2,24.1,26.2,29.0,30.5,32.9,34.8,38.0,40.1] #Temperatuur meetdata (˚C)
hoogtes = [0.3,0.5,0.7,0.9,1.0,1.1,1.2,1.5,1.7,1.8] #Hoogte meetdata (cm)
diam_beker = 7.66 #Diameter van beker (cm)
diam_deksel = 6.77 #Diameter van deksel (cm)
opp_water = 1/4 * np.pi * (diam_beker**2 - diam_deksel**2) #Oppervlakte van water (cm^2)
volumes = (np.asarray(hoogtes) - hoogtes[0]) * opp_water #Berekend totaal volume (ccm)
temps_abs = np.asarray(temps) + 273 #Temperatuur meetdata (K)
#Fitten
coef = np.polyfit(temps_abs, volumes, 1) #Coefficient van linear verband
func = np.poly1d(coef) #Linear functie
#Extrapoleren en "uitbreiden" van linear functie
T_ext = np.linspace(0, max(temps_abs), 300) #Bounds uitbreiden van functie
a, b = coef #Linear functie: V(T) = Ta + b
V_0 = b #T = 0 -> V(0) = b
print(V_0)
#Plotten van meetdata met fit
plt.plot(temps_abs, volumes, 'ob')
plt.plot(temps_abs, func(temps_abs), '--r')
#Plotten van extraplatie
plt.plot(T_ext, func(T_ext), '--r', label='Linear fit (extrapolated)')
plt.xlabel('Temperature [K]')
plt.ylabel('Volume [ccm]')
plt.show()-212.80412741470155

#Meting met alleen water
temps = [17.8,19.9,22.5,24.9,26.6,30.7,40.5,50.2] #Temperatuur meetdata (˚C)
hoogtes = [0.4,0.5,0.5,0.5,0.5,0.6,0.7,0.8] #Hoogte meetdata (cm)
diam_beker = 7.66 #Diameter van beker (cm)
diam_deksel = 6.77 #Diameter van deksel (cm)
opp_water = 1/4 * np.pi * (diam_beker**2 - diam_deksel**2) #Oppervlakte van water (cm^2)
volumes = (np.asarray(hoogtes) - hoogtes[0]) * opp_water #Berekend totaalvolume (ccm)
temps_abs = np.asarray(temps) + 273 #Temperatuur meetdata (K)
#Fitten
coef = np.polyfit(temps_abs, volumes, 1) #Coefficient van linear verband
func = np.poly1d(coef) #Linear functie
#Plotten van meetdata met fit
plt.plot(temps_abs, volumes, 'ob')
plt.plot(temps_abs, func(temps_abs), '--r')
plt.xlabel('Temperature [K]')
plt.ylabel('Volume [ccm]')
plt.show()
Discussie en conclusie¶
Op de grafieken met de fits is te zien dat de gemeten volumes een linear verband aannement met de temperatuur. Dit volgt uit de theorie van de ideale gas wet, waarbij de druk is constant. Dit betekent dat naarmate de temperatuur van het water toeneemt, dat de volume van de lucht in het balloon ook toeneemt.
Door te extrapoleren van de eerste meting en fit, kan de absoulte volume van de lucht in het ballon te vinden. En door de proef nog een keer uit te voeren met alleen water in de maatbeker is uit te vinden hoe veel het water zelf ook expandeert. Met deze gegevens is vervolgens een betere schatting te maken van de start volume van het ballon.