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.

pV- diagram

Introductie

Wanneer je een gas snel samenperst bij gelijkblijvende volume neemt de temperatuur toe. Wanneer je het gas vervolgens laat ontsnappen, neemt de temperatuur af omdat het gas arbeid verricht.

We gaan eigenschappen van dit proces bestuderen. In dit practicum ga je een ptp-t-diagram van een brandblusser bestuderen en gebruiken om de specifieke warmte verhouding γ\gamma te bepalen voor lucht.

Analyse van data 1

import numpy as np
import matplotlib.pyplot as plt


def gamma(P1, Patm, P3):
    return (np.log(P1) - np.log(Patm)) / (np.log(P1) - np.log(P3))

#data laden
data = np.loadtxt('DATA.csv', skiprows=1, delimiter=',')

#bepaald met druksensor ijken andere proef
a= 0.0071
b= -0.988

tijd = data[:, 0] * 1e6   # tijd in microseconden
druk = data[:, 1] *(a-b) # de geijkte waarde in bar


# P1 en P3 uit opgegeven cellen

index_P1 = 300 
index_Patm = 4000
index_P3 = 8500   


P1 = druk[index_P1]*(a-b)
Patm = druk[index_Patm]*(a-b)
P3 = druk[index_P3]*(a-b)

# gamma berekenen
gamma_waarde = gamma(P1, Patm, P3)


# p–t diagram (DATA 1)

plt.figure(figsize=(7,4))
plt.plot(tijd, druk, label='DATA.csv')

plt.scatter(tijd[index_P1], P1, color='green', zorder=3,
            label=r'$P_1$')
plt.scatter(tijd[index_Patm], Patm, color='black', zorder=3,
            label=r'$P_atm$')
plt.scatter(tijd[index_P3], P3, color='red', zorder=3,
            label=r'$P_3$')

plt.xlabel('Tijd ($\mu$s)')
plt.ylabel('Druk (Pa)')
plt.title('p–t diagram DATA1')
plt.legend()
plt.grid(True)
plt.savefig(r"C:\Users\Jesse\Desktop\TU Delft\IP2\thermolab\2\Figures\pV_diagram_Meeting_1",dpi= 400)
plt.show()


# Resultaten

print(f'P1 = {P1:.1f} Pa')
print(f'P3 = {P3:.1f} Pa')
print(f'Gamma = {gamma_waarde:.3f}')


<>:46: SyntaxWarning: invalid escape sequence '\m'
<>:46: SyntaxWarning: invalid escape sequence '\m'
C:\Users\Jesse\AppData\Local\Temp\ipykernel_22764\1184139047.py:46: SyntaxWarning: invalid escape sequence '\m'
  plt.xlabel('Tijd ($\mu$s)')
<Figure size 700x400 with 1 Axes>
P1 = 179.2 Pa
P3 = 194.1 Pa
Gamma = 21.606

Analyse van data 3

import numpy as np
import matplotlib.pyplot as plt


def gamma(P1, Patm, P3):
    return (np.log(P1) - np.log(Patm)) / (np.log(P1) - np.log(P3))

#data laden
data = np.loadtxt('DATA3.csv', skiprows=1, delimiter=',')

#bepaald met druksensor ijken andere proef
a= 0.0071
b= -0.988

tijd = data[:, 0] * 1e6   # tijd in microseconden
druk = data[:, 1] *(a-b) # de geijkte waarde in bar


# P1 en P3 uit opgegeven cellen uit data

index_P1 = 300 
index_Patm = 1000
index_P3 = 3350


P1 = druk[index_P1]*(a-b)
Patm = druk[index_Patm]*(a-b)
P3 = druk[index_P3]*(a-b)

# gamma berekenen
gamma_waarde = gamma(P1, Patm, P3)


# p–t diagram (DATA 1)

plt.figure(figsize=(7,4))
plt.plot(tijd, druk, label='DATA3.csv')

plt.scatter(tijd[index_P1], P1, color='green', zorder=3,
            label=r'$P_1$')
plt.scatter(tijd[index_Patm], Patm, color='black', zorder=3,
            label=r'$P_atm$')
plt.scatter(tijd[index_P3], P3, color='red', zorder=3,
            label=r'$P_3$')

plt.xlabel('Tijd ($\mu$s)')
plt.ylabel('Druk (Pa)')
plt.title('p–t diagram DATA3')
plt.legend()
plt.grid(True)
plt.savefig(r"C:\Users\Jesse\Desktop\TU Delft\IP2\thermolab\2\Figures\pV_diagram_Meeting_3",dpi= 400)
plt.show()


# Resultaten

print(f'P1 = {P1:.1f} Pa')
print(f'P3 = {P3:.1f} Pa')
print(f'Gamma = {gamma_waarde:.3f}')
print('Literatuurwaarde gamma = 1.45')
<>:46: SyntaxWarning: invalid escape sequence '\m'
<>:46: SyntaxWarning: invalid escape sequence '\m'
C:\Users\Jesse\AppData\Local\Temp\ipykernel_22764\1833338280.py:46: SyntaxWarning: invalid escape sequence '\m'
  plt.xlabel('Tijd ($\mu$s)')
<Figure size 700x400 with 1 Axes>
P1 = 178.2 Pa
P3 = 200.0 Pa
Gamma = 13.772
Literatuurwaarde gamma = 1.45

# nog een p-V diagram omdat de proef pV diagram heet :))
plt.figure(figsize=(6,5))
plt.plot(Patm/druk, druk, label='DATA.csv')
plt.xlabel('Relatief volume $V/V_0$')
plt.ylabel('Druk (Pa)')
plt.title('Genormaliseerd p–V diagram')
plt.legend()
plt.grid()
plt.savefig(r"C:\Users\Jesse\Desktop\TU Delft\IP2\thermolab\2\Figures\pV_diagram_Diagram",dpi= 400)
plt.show()
<Figure size 600x500 with 1 Axes>

Experiment (60 min)

In dit experiment vullen we een brandblusser met lucht (P1,T1=TatmP_1, T_1=T_{atm}). We laten de lucht snel ontsnappen (P2=Patm,T2P_2=P_{atm}, T_2), in zo’n korte tijd dat we aannemen dat dit een adiabatisch proces is. Doordat het gas arbeid verricht zal het gas afkoelen. Wanneer we dan, kort na het ontsnappen van de lucht, de kraan weer dicht doen, zal de druk weer toenemen (P3,T3=TatmP_3,T_3=T_{atm}).

In het eerste deel van het proces geldt:

T1γP11γ=T2γP21γT_1^\gamma P_1^{1-\gamma} = T_2^\gamma P_2^{1-\gamma}

ook wel bekend als ... , met γ\gamma de specifieke warmte verhouding: γ=CpCV\gamma=\frac{C_p}{C_V}.

Het tweede deel van het proces kan beschreven worden met de wet van Gay-Lussac:

P2T2=P3T3\frac{P_2}{T_2} = \frac{P_3}{T_3}

Onder de aanname dat T1=T3=TatmT_1 = T_3 = T_{atm} volgt hieruit:

γ=lnP1lnPatmlnP1lnP3\gamma=\frac{\ln{P_1}-\ln{P_{atm}}}{\ln{P_1}-\ln{P_3}}
## Alle stappen als het goed is correct uitgevoerd
#Er moet een tijd gewacht worden zodat de lucht afkoelt en de meting dus betrouwbaar is

#Gamma komt niet exact overeen met literatuurwaarde, terugkijkend naar de code zie ik zelf geen fouten
#Heel erg veel geprobeerd, wij denken allebei dat de druksensor het niet goed deed. 
# Voorbeeld is te zien met de plot van data 2, die niet gebruikt is in eerdere analyse

import numpy as np
import matplotlib.pyplot as plt


def gamma(P1, Patm, P3):
    return (np.log(P1) - np.log(Patm)) / (np.log(P1) - np.log(P3))

#data laden
data = np.loadtxt('DATA2.csv', skiprows=1, delimiter=',')

#bepaald met druksensor ijken andere proef
a= 0.0071
b= -0.988

tijd = data[:, 0] * 1e6   # tijd in microseconden
druk = data[:, 1] *(a-b) # de geijkte waarde in bar


# p–t diagram (DATA 1)
plt.figure(figsize=(7,4))
plt.plot(tijd, druk, label='DATA2.csv')
plt.savefig(r"C:\Users\Jesse\Desktop\TU Delft\IP2\thermolab\2\Figures\pV_diagram_Meeting_2",dpi= 400)
plt.show()
<Figure size 700x400 with 1 Axes>