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.

Koelen van metalen buizen

Introductie

In het boek wordt in hoofdstuk 2 geschreven over warmtetransport. Dat kan op drie manieren plaatsvinden. Het is niet eenvoudig om deze drie verschillende vormen uit elkaar te houden. In het vak ‘Fysische Transportverschijnselen’, dat in het tweede jaar wordt gegeven, zal je zien dat de natuurkunde achter deze verschillende vormen van warmtetransport ook best ingewikkeld is.

In deze proef proberen we een inschatting te maken van de ordegrootte van de verschillende vormen van warmtetransport bij de koeling van een metalen buis aan lucht.

Vormen van warmtetransport:

  • Conectie (Stroming)

  • Straling

  • Geleiding

Theorie

Volgens Newton’s wet van afkoeling is de snelheid waarmee een voorwerp afkoelt evenredig met het verschil in de temperatuur van het voorwerp (TT) en de omgeving (T0T_0). We kunnen dit schrijven als:

Q˙=hA(T(t)T0),\dot{Q} = -hA(T(t) - T_0),

waarin

  • Q˙\dot{Q} de warmtestroom in W\mathrm{W},

  • AA het oppervlak waardoor koeling optreedt in m2\mathrm{m}^2,

  • hh de warmteoverdrachtscoëfficiënt in W/(m2K)\mathrm{W/(m^2 K)}.

Dit levert de differentiaalvergelijking

CT˙=hA(T(t)T0),C\dot{T} = -hA(T(t) - T_0),

met CC de warmtecapaciteit in J/kg\mathrm{J/kg}. Herschrijven met τ=ChA\tau = \frac{C}{hA} levert:

τT˙=T(t)T0,-\tau\dot{T} = T(t) - T_0,

met als oplossing:

T(t)T0=(T(0)T0)et/τ.T(t) - T_0 = (T(0) - T_0)\text{e}^{-t/\tau}.

We kunnen hieruit dus concluderen dat τ\tau de karakteristieke tijdsduur is waarin de temperatuur van de buis een factor e\text{e} verlaagd ten opzichte van de omgevingstemperatuur.

image.png

We zijn hier voor het gemak uitgegaan van een hh die onafhankelijk is van de temperatuur. We weten echter dat warmtetransport door straling niet lineair gaat, maar als

Q˙s=ϵσA(T4T04).\dot{Q}_s = \epsilon \sigma A (T^4 - T_0^4).

Voor kleine temperatuurverschillen (ΔT=TT0\Delta T = T - T_0) is dit te vereenvoudigen tot

Q˙s=ϵσA((T0+ΔT)4T04)ϵσ4AT03ΔT.\dot{Q}_s = \epsilon \sigma A ((T_0+\Delta T)^4 - T_0^4) \approx \epsilon \sigma 4A T_0^3 \Delta T.

Zolang ΔT\Delta T dus relatief klein is ten opzichte van T0T_0, kunnen we hh dus inderdaad als een constante beschouwen.

image.png

Methode en materialen

Ontwerp

Materialen

  • standaard met twee thermisch geïsoleerde grijparmen

  • metalen buis me bijpassende dop

  • thermometer (infrarood of thermokoppel)

  • knijper voor bevestigen thermokoppel op buis

  • warm water tussen 60 en 80 graden Celsius

  • (evt) schuifmaat voor bepalen dimensies buis

Procedure

Stop de buis in warm water en laat deze gedurende een paar minuten zitten om thermisch evenwicht te bereiken. Beantwoord ondertussen de volgende vragen met behulp van de tabel:

Materiaalρ\rho in kg/m3\text{kg/m}^3CC in J/(kg K)\text{J} / \text{(kg K)}
messing8,73E33,8E2
aluminium2,7E38,8E2
staal7,9E34,7E2

Pak de buis op met thermisch isolerende handschoenen (of direct met de geïsoleerde grijparm) en plaats deze in de grijparm met isolatieschoentjes. Positioneer de thermometer voor optimale temperatuurlezing. Meet als functie van tijd hoe lichaam koelt. Wacht voldoende lang zodat je de karakteristieke tijd τ\tau voor de afkoeling kan bepalen.

Doe dit voor twee of drie configuraties:

  1. De buis met de as in verticale richting en afgesloten met dop.

  2. De buis met de as in verticale richting zonder dop.

  3. (alleen bij voldoende tijd) De buis met de as in horizontale richting en afgesloten met dop.

Data analyse

  • Bepaal de karakteristieke tijd τ\tau waarin de temperatuur van buis afneemt. Deze kan verschillend zijn voor de drie bovenstaande configuraties.

  • Bereken hieruit de warmteoverdrachtscoëfficiënt.

  • Vergelijk je resultaten met je groepsgenoten die een vergelijkbare buis hebben gemeten (dit kan klassikaal).

  • Welk deel van de warmteoverdrachtscoëfficiënt verwacht je dat gegeven is door de geleiding, straling en convectie? Onderbouw je redenering.

Resultaten

Meetgegevens van de meting zonder dop:

Berekenen van het buitenoppervlak en de totale warmtecapaciteit van de holle buis:

import numpy as np

# BEREKENING VAN DE TOTALE WARMTECAPACITEIT
rho = 8.73e3                         # dichtheid van messing (kg/m^3)
R = 0.048/2                          # buitenste straal (m)
r = (0.048-(2*0.001))/2              # binnenste straal (m)
L = 0.052                            # lengte (m)
V = np.pi * L * (R**2 - r**2)        # V_buiten - V_binnen = volume (m^3)
m = V * rho
print(f'De massa van de holle buis is {m:.1e} kg.')
C_messing = 3.8e2                           # soortelijke warmte van messing (J/kgK)
warmtecapaciteit_buis = C_messing * m       # capaciteit van onze holle buis (J/K)
print(f'De warmtecapaciteit van onze holle buis is {warmtecapaciteit_buis:.1f} J/K.')

# BEREKENING VAN HET BUITENOPPERVLAK VAN DE BUIS
mantel_oppervlakte = 2 * np.pi * R * L
ringen_oppervlakte = 2 * np.pi * (R**2 - r**2)
totale_oppervlakte = mantel_oppervlakte + ringen_oppervlakte
print(f'Het totale oppervlak van de buitenkant van de holle buis is {totale_oppervlakte:.1e} m^2.')
De massa van de holle buis is 6.7e-02 kg.
De warmtecapaciteit van onze holle buis is 25.5 J/K.
Het totale oppervlak van de buitenkant van de holle buis is 8.1e-03 m^2.

Gegevens van de meting zonder dop in Kelvin:

# MEETGEGEVENS ZONDER DOP, IN KELVIN

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def exp_func(t, A, tau, T_omg):
    # A is verschiltemperatuur met omgeving aan start
    # tau is de karakteristieke tijd voor de koeling
    # T_omg is de omgevingstemperatuur
    return (A * np.exp(-t/tau) + T_omg)  

buitenoppervlak = totale_oppervlakte        # bepaal zelf in m^2
warmtecapaciteit = warmtecapaciteit_buis    # bepaal de warmtecapaciteit in J/K

times = np.linspace(0,835,168) # in totaal 14 minuten
temps_C = np.array([41.0, 41.6, 42.1, 42.7, 42.7, 42.7, 42.2, 41.7, 41.2, 40.7,
                  40.7, 40.2, 39.7, 39.2, 39.2, 38.7, 38.2, 38.2, 37.7, 37.2,
                  37.2, 36.7, 36.7, 36.2, 35.7, 35.7, 35.7, 35.2, 35.2, 34.7,
                  34.7, 34.7, 34.2, 34.2, 33.8, 33.7, 33.8, 33.3, 33.3, 33.3,
                  32.8, 32.8, 32.8, 32.3, 32.3, 32.3, 32.3, 31.8, 31.8, 31.8,
                  31.8, 31.3, 31.3, 31.3, 31.3, 30.8, 30.8, 30.8, 30.8, 30.8,
                  30.3, 30.3, 30.3, 30.1, 30.1, 30.1, 30.1, 30.1, 29.6, 29.6,
                  29.6, 29.6, 29.1, 29.1, 29.1, 29.1, 29.1, 28.8, 28.8, 28.7,
                  28.7, 28.7, 28.4, 28.5, 28.5, 28.4, 28.4, 28.4, 28.4, 28.1,
                  28.0, 28.0, 27.9, 27.9, 27.9, 27.9, 27.8, 27.8, 27.8, 27.6,
                  27.6, 27.6, 27.6, 27.6, 27.4, 27.4, 27.4, 27.3, 27.3, 27.3,
                  27.3, 27.1, 27.1, 27.1, 27.1, 26.8, 26.8, 26.8, 26.8, 26.7,
                  26.7, 26.8, 26.7, 26.7, 26.7, 26.6, 26.6, 26.6, 26.6, 26.6,
                  26.5, 26.5, 26.5, 26.3, 26.3, 26.3, 26.3, 26.2, 26.1, 26.1,
                  26.1, 26.1, 26.1, 26.0, 26.0, 25.9, 25.9, 25.9, 25.9, 25.9,
                  25.9, 25.9, 25.9, 25.9, 25.8, 25.8, 25.8, 25.8, 25.8, 25.8,
                  25.7, 25.7, 25.8, 25.7, 25.7, 25.7, 25.7, 25.7])

temps_K = temps_C + 273.15

# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt, pcov = curve_fit(exp_func, times, temps_K, p0=[300, 200, 22], maxfev=5000)

A_exp, tau_exp, T_omg_exp = popt
y_fit = exp_func(times, *popt)


plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')

plt.plot(times, temps_K, 'o', label='measurement', color='green', markersize = 1.5)
plt.plot(times, y_fit, 'k-', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp, tau_exp, T_omg_exp))

plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/zonder_dop_Kelvin.png", dpi=450)
plt.show()

h_exp = (warmtecapaciteit) / (tau_exp * buitenoppervlak)

A_err, tau_err, T_omg_err = np.sqrt(np.diag(pcov))
print(f'De gefiite Tau is {tau_exp:.1f} ± {tau_err:.1f} s.')

h_err = h_exp * (tau_err / tau_exp)
print(f'De warmteoverdrachtscoëfficiënt is {h_exp:.1f} ± {h_err:.1f} W/m²·K.') # warmteoverdrachtscoëfficiënt in W/m^2 K
<Figure size 640x480 with 1 Axes>
De gefiite Tau is 242.6 ± 3.6 s.
De warmteoverdrachtscoëfficiënt is 12.9 ± 0.2 W/m²·K.

Meetgegevens van de meting mét dop:

Berekenen van het buitenoppervlak en de totale warmtecapaciteit van de dop:

# BEREKENING BUITENOPPERVLAK VAN DE RUBBEREN DOP

s = 0.033               # lengte van de schuine zijde van de dop die exposed is aan buitenlucht (afgeknopte kegel)(m)
r1 = 0.023              # straal van de kleinste cirkel van de dop (m)
r2 = 0.035              # straal van de grootste cirkel van de dop (m)
mantel_oppervlakte_dop = np.pi * s * (r1+r2)
opp_grootste_cirkel = np.pi * r2**2
A_dop_exposed = opp_grootste_cirkel + mantel_oppervlakte_dop
print(f'De oppervlakte van de rubberen dop die exposed is aan de lucht is {A_dop_exposed:.2e} m^2.')


buis_oppervlakte_1ring = mantel_oppervlakte + 0.5*(ringen_oppervlakte)

# BEREKENING TOTALE WARMTECAPACITEIT VAN DE RUBBEREN DOP
rho_rubber = 1150       # ongeveer dichtheid van silicoonrubbere (aanname) (kg/m^3)
C_rubber = 1450         # soortelijke weerstand van silicoonrubber (aanname) (J/kgK)
l = 0.031               # verticale hoogte van de rubberen dop (m)
V_dop = (1/3) * np.pi * (r1**2 + (r1 * r2) + r2**2) * l
print(f'Het volume van de dop is {V_dop:.2e} m^3.')
m_dop = rho_rubber * V_dop
print(f'De massa van de dop is {m_dop:.2e} kg.')
warmtecapaciteit_dop = m_dop * C_rubber
print(f'De warmtecapaciteit van de rubbere dop is {warmtecapaciteit_dop:.2f} J/K.')
De oppervlakte van de rubberen dop die exposed is aan de lucht is 9.86e-03 m^2.
Het volume van de dop is 8.31e-05 m^3.
De massa van de dop is 9.55e-02 kg.
De warmtecapaciteit van de rubbere dop is 138.52 J/K.

Gegevens van de meting mét dop in Kelvin, met originele starttemperatuur:

# MEETGEGEVENS MÉT DOP, MAAR DAN MÉT DE RUBBEREN DOP MEEGENOMEN IN DE BEREKENINGEN!!!!

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def exp_func(t2, A2, tau2, T_omg2):
    # A is verschiltemperatuur met omgeving aan start
    # tau is de karakteristieke tijd voor de koeling
    # T_omg is de omgevingstemperatuur
    return (A2 * np.exp(-t2/tau2) + T_omg2)  

buitenoppervlak_totaal = buis_oppervlakte_1ring + A_dop_exposed             # oppervlakte van dop + buis samen (m^2)
warmtecapaciteit_totaal = warmtecapaciteit_buis + warmtecapaciteit_dop      # bepaal de warmtecapaciteit (J/K)
omgevingstemperatuur = 22.3                                                 # in graden celsius
omgevingstemp_K = 273 + 22.3                                                # in Kelvin

times2 = np.linspace(0,695,139)
temps2_C = np.array([51.0, 50.9, 50.3, 50.3, 49.2, 48.2, 47.2, 46.6, 45.6, 45.1,
                         44.6, 44.0, 44.0, 43.5, 43.0, 42.5, 42.0, 41.5, 41.5, 41.0,
                         40.5, 40.5, 40.0, 39.5, 39.5, 39.0, 38.5, 38.5, 38.5, 38.0,
                         38.0, 37.5, 37.5, 37.5, 37.0, 37.0, 36.5, 36.5, 36.0, 36.0,
                         36.0, 35.5, 35.5, 35.5, 35.0, 35.0, 34.5, 34.5, 34.5, 34.0,
                         34.0, 34.0, 34.1, 33.5, 33.6, 33.6, 33.6, 33.1, 33.1, 33.1,
                         33.1, 33.1, 32.6, 32.6, 32.6, 32.6, 32.2, 32.2, 32.2, 32.2,
                         31.7, 31.7, 31.7, 31.7, 31.7, 31.2, 31.2, 31.2, 31.2, 31.2,
                         31.2, 31.2, 30.9, 30.9, 30.9, 30.9, 30.9, 30.4, 30.4, 30.4,
                         30.4, 30.4, 30.1, 30.1, 30.0, 30.0, 29.9, 29.9, 29.8, 29.8,
                         29.8, 29.9, 29.6, 29.7, 29.7, 29.7, 29.4, 29.4, 29.4, 29.4,
                         29.2, 29.2, 29.2, 29.2, 29.1, 29.1, 29.1, 29.1, 28.9, 28.9,
                         28.9, 28.7, 28.7, 28.7, 28.6, 28.6, 28.6, 28.6, 28.3, 28.3,
                         28.2, 28.2, 28.2, 28.2, 28.1, 28.2, 28.1, 28.2, 28.1])

temps2_K = temps2_C + 273.15

# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt2, pcov2 = curve_fit(exp_func, times2, temps2_K, p0=[40, 200, 22], maxfev=5000)

A_exp2, tau_exp2, T_omg_exp2 = popt2
y_fit2 = exp_func(times2, *popt2)

plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')

plt.plot(times2, temps2_K, 'o', label='measurement', color='black', markersize = 1)
plt.plot(times2, y_fit2, '-', color = 'pink', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp2, tau_exp2, T_omg_exp2))

plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/mét_dop_Celcius_start_raw.png", dpi=450)
plt.show()

h_exp2 = (warmtecapaciteit_totaal) / (tau_exp2 * buitenoppervlak_totaal)

A_err2, tau_err2, T_omg_err2 = np.sqrt(np.diag(pcov2))
print(f'De gefitte Tau is {tau_exp2:.1f} ± {tau_err2:.1f} s.')

h_err2 = h_exp2 * (tau_err2 / tau_exp2)
print(f'De warmteoverdrachtscoëfficiënt is {h_exp2:.1f} ± {h_err2:.1f} W/m²·K.') # warmteoverdrachtscoëfficiënt in W/m^2 K
<Figure size 640x480 with 1 Axes>
De gefitte Tau is 189.2 ± 3.1 s.
De warmteoverdrachtscoëfficiënt is 48.6 ± 0.8 W/m²·K.

Gegevens van de meting mét dop, met dezelfde starttemperatuur, in graden Celcius:

# FF KIJKEN OF DE HOOGSTE TEMPERATUREN WEGHALEN HELPT!!! (MET DOP)

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def exp_func(t3, A3, tau3, T_omg3):
    # A is verschiltemperatuur met omgeving aan start
    # tau is de karakteristieke tijd voor de koeling
    # T_omg is de omgevingstemperatuur
    return (A3 * np.exp(-t3/tau3) + T_omg3)  

buitenoppervlak_totaal = buis_oppervlakte_1ring + A_dop_exposed             # oppervlakte van dop + buis samen (m^2)
warmtecapaciteit_totaal = warmtecapaciteit_buis + warmtecapaciteit_dop      # bepaal de warmtecapaciteit (J/K)
omgevingstemperatuur = 22.3                                                 # in graden celsius
omgevingstemp_K = 273 + 22.3                                                # in Kelvin

times3 = np.linspace(0,625,125)
temps3_C = np.array([43.0, 42.5, 42.0, 41.5, 41.5, 41.0, 40.5, 40.5, 40.0, 39.5,
                  39.5, 39.0, 38.5, 38.5, 38.5, 38.0, 38.0, 37.5, 37.5, 37.5,
                  37.0, 37.0, 36.5, 36.5, 36.0, 36.0, 36.0, 35.5, 35.5, 35.5,
                  35.0, 35.0, 34.5, 34.5, 34.5, 34.0, 34.0, 34.0, 34.1, 33.5,
                  33.6, 33.6, 33.6, 33.1, 33.1, 33.1, 33.1, 33.1, 32.6, 32.6,
                  32.6, 32.6, 32.2, 32.2, 32.2, 32.2, 31.7, 31.7, 31.7, 31.7,
                  31.7, 31.2, 31.2, 31.2, 31.2, 31.2, 31.2, 31.2, 30.9, 30.9,
                  30.9, 30.9, 30.9, 30.4, 30.4, 30.4, 30.4, 30.4, 30.1, 30.1,
                  30.0, 30.0, 29.9, 29.9, 29.8, 29.8, 29.8, 29.9, 29.6, 29.7,
                  29.7, 29.7, 29.4, 29.4, 29.4, 29.4, 29.2, 29.2, 29.2, 29.2,
                  29.1, 29.1, 29.1, 29.1, 28.9, 28.9, 28.9, 28.7, 28.7, 28.7,
                  28.6, 28.6, 28.6, 28.6, 28.3, 28.3, 28.2, 28.2, 28.2, 28.2,
                  28.1, 28.2, 28.1, 28.2, 28.1, ])

temps3_K = temps3_C + 273.15

# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt3, pcov3 = curve_fit(exp_func, times3, temps3_K, p0=[20, 200, 22], maxfev=5000)

A_exp3, tau_exp3, T_omg_exp3 = popt3
y_fit3 = exp_func(times3, *popt3)

plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')

plt.plot(times3, temps3_K, 'o', label='measurement', color='black', markersize = 1)
plt.plot(times3, y_fit3, '-', color = 'pink', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp3, tau_exp3, T_omg_exp3))

plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/mét_dop_Celcius.png", dpi=450)
plt.show()

h_exp3 = (warmtecapaciteit_totaal) / (tau_exp3 * buitenoppervlak_totaal)

A_err3, tau_err3, T_omg_err3 = np.sqrt(np.diag(pcov3))
print(f'De gefitte Tau is {tau_exp3:.1f} ± {tau_err3:.1f} s.')

h_err3 = h_exp3 * (tau_err3 / tau_exp3)
print(f'De warmteoverdrachtscoëfficient is {h_exp3:.1f} ± {h_err3:.1f} W/m²·K.')        # warmteoverdrachtscoëfficiënt in W/m^2 K
<Figure size 640x480 with 1 Axes>
De gefitte Tau is 235.2 ± 3.6 s.
De warmteoverdrachtscoëfficient is 39.1 ± 0.6 W/m²·K.

Discussie en conclusie

Uit het experiment volgen verscheidene waarden voor de karakteristieke tijd 𝜏 en de warmteoverdrachtscoëfficient h. Zonder dop werd de grootste karakteristieke tijd verkregen 𝜏 = 242.6 ± 3.6 s en de kleinste warmteoverdrachtscoëfficient h=12.9±0.2W/m2Kh = 12.9 ± 0.2 W/m^2 K. Dit geeft aan dat de warmte zonder dop langzamer aan de omgeving werd afgestaan.

Aangezien bij het experiment mét dop een hogere starttemperatuur werd genomen daalde de karakteristieke tijd sterk 𝜏 = 189.2 ± 3.1 s en steeg de warmteoverdrachtscoëfficient h=48.6±0.8W/m2Kh = 48.6 ± 0.8 W/m^2 K. Door de grotere temperatuurgradiënt was er sprake van een snellere warmteoverdracht.

Wanneer dezelfde starttemperatuur genomen werd als de meting zonder dop nam de karakteristieke tijd af 𝜏 = 235.2 ± 3.6 s en de warmteoverdrachtscoëfficiënt steeg minder drastisch h=39.1±0.6W/m2Kh = 39.1 ± 0.6 W/m^2 K. Dit toont aan dat mét dop de warmte beter aan de omgeving wordt afgegeven dan als er geen dop is. Hoogstwaarschijnlijk is dit een gevolg van de grootte en het contactoppervlak van de dop (de dop was groot en massief in verhouding tot de dunne en kleine buis).

In dit experiment is de invloed van warmteverlies van straling verwaarloost, waardoor er een systematische fout is geïntroduceerd in het warmtetransport.

De silicoon rubberen dop verhoogt dus de warmteafgifte aan de omgeving, waardoor er juist een snellere afkoeling plaatsvindt. De starttemperatuur beïnvloedt de verkregen warmteoverdrachtscoëfficiënten, maar deze blijft hoger mét dop dan zonder dop.