Chapitre 17

Activités Python

Thermodynamique et premier principe

Activité

Exploiter un capteur de pression

Consigne

Ouvrez la page des scripts du chapitre pour consulter le code et télécharger les fichiers .py.

Le chapitre 7 l’annonçait : « un gaz se dégage dans une enceinte fermée : suivi par capteur de pression (voir loi des gaz parfaits, ch. 17) ». L’équation d’état rend maintenant ce suivi exploitable. La décomposition de l’eau oxygénée, catalysée, dégage du dioxygène : 2H2O2(aq)→2H2O(l)+O2(g). 2\,\text{H}_2\text{O}_2\,(aq) \longrightarrow 2\,\text{H}_2\text{O}\,(l) + \text{O}_2\,(g). Elle se déroule dans une enceinte fermée de 250mL250\ \text{mL} maintenue à 25°C25\ \text{°C}. À VV et TT fixés, l’équation d’état donne P=RTVngazP = \dfrac{RT}{V}\,n_{\text{gaz}} : la pression est proportionnelle à la quantité de gaz — mesurer PP, c’est mesurer nn. Le capteur de pression devient un compteur de moles : chaque hectopascal de surpression signale 10µmol10\ \text{µmol} de dioxygène formé.

Le script Ch17_suivi_pression.py (dossier scripts/) contient les mesures du capteur. Deux lignes sont à compléter : la conversion de la surpression dP en quantité de dioxygène nO2, puis la quantité nH2O2 d’eau oxygénée restante. Le reste — recherche du temps de demi-réaction et tracé — est fourni.

Type : graphique Titre : Suivi cinétique de la décomposition de H₂O₂ par capteur de pression Rôle : exploiter P∝ngazP \propto n_{\text{gaz}} pour compter les moles et lire le temps de demi-réaction.

  • Axe horizontal : temps tt en s, de 00 à 1200s1200\ \text{s}.
  • Axe vertical : quantité de matière en mmol, de 00 à environ 10mmol10\ \text{mmol}.
  • Courbes : n(O2)n(\text{O}_2) formé (rouge, ronds) croissante vers ∼5mmol\sim 5\ \text{mmol} ; n(H2O2)n(\text{H}_2\text{O}_2) restant (bleu, carrés) décroissante de 10mmol10\ \text{mmol} vers 00 ; construction pointillée du temps de demi-réaction.
  • Résultat lisible : t1/2=300st_{1/2} = 300\ \text{s} (moitié de H₂O₂ disparue) ; n(O2)n(\text{O}_2) tend vers n∞=5,0mmoln_\infty = 5{,}0\ \text{mmol} (P→∼1509hPaP \to \sim 1509\ \text{hPa}) — la réaction n’est pas tout à fait finie à 1200s1200\ \text{s}.

Questions :

  1. Justifier que, dans cette expérience, mesurer la pression revient à mesurer la quantité de dioxygène formé. Quelles sont les deux conditions expérimentales indispensables ?
  2. Compléter les deux lignes (conversion ΔP→nO2\Delta P \to n_{\text{O}_2} par l’équation d’état, puis nH2O2n_{\text{H}_2\text{O}_2} restant par la stœchiométrie).
  3. Exécuter : que vaut le temps de demi-réaction ?
  4. Vers quelle valeur la pression tend-elle en fin de réaction ? La prévoir par le calcul, et la comparer à la dernière mesure.

Fiche O5 — Python (listes, boucles, tracé) et fiche M2 (proportionnalité) : tout y est rappelé.

Script élève

# Chapitre 17 — Suivi cinétique d'une réaction par capteur de pression
# ---------------------------------------------------------------------
# La décomposition de l'eau oxygénée (catalysée) dégage du dioxygène :
#       2 H2O2 (aq)  ->  2 H2O (l)  +  O2 (g)
# Elle se déroule dans une enceinte FERMÉE de 250 mL maintenue à 25 °C,
# équipée d'un capteur de pression. À V et T fixés, P = (RT/V) x n_gaz :
# mesurer P, c'est mesurer la quantité de gaz (voir le cours, §2).

# --- constantes et conditions de l'expérience ---
R = 8.31         # J.mol-1.K-1
T = 298.15       # K (25 °C)
V = 2.50e-4      # m3 (250 mL)
n0 = 1.00e-2     # mol de H2O2 au départ
P0 = 1013.0      # hPa : pression initiale (l'air de l'enceinte)

# --- les mesures du capteur ---
t = [0, 100, 200, 300, 400, 500, 600, 700,
     800, 900, 1000, 1100, 1200]          # s
P = [1013, 1117, 1195, 1262, 1310, 1353, 1385, 1409,
     1432, 1447, 1458, 1471, 1478]        # hPa

# --- conversion : de la pression aux quantités de matière ---
n_O2 = []
n_rest = []
for i in range(len(t)):
    dP = (P[i] - P0) * 100        # la surpression, en Pa
    nO2 = 0                       # quantité d'O2 formé      # À COMPLÉTER
    nH2O2 = 0                     # quantité de H2O2 restant # À COMPLÉTER
    n_O2.append(nO2)
    n_rest.append(nH2O2)

# --- temps de demi-réaction (fourni, ne pas modifier) ---
i = 0
while n_rest[i] > n0 / 2:
    i = i + 1
print("temps de demi-reaction : environ", t[i], "s")

# --- tracé (fourni, ne pas modifier) ---
import matplotlib.pyplot as plt
n_rest_mmol = []
for n in n_rest:
    n_rest_mmol.append(n * 1e3)
plt.plot(t, n_rest_mmol, 'o-', label="H2O2 restant")
plt.axhline(n0 / 2 * 1e3, linestyle='--', color='gray', label="n0/2")
plt.xlabel("t (s)")
plt.ylabel("n (mmol)")
plt.legend()
plt.grid()
plt.show()

← Retour au portail du chapitre