OBJECTIF : Déterminer et tester la loi de Mariotte en utilisant un microcontrôleur Arduino.
CONTEXTE : Le 14 octobre 2012, Félix Baumgartner a utilisé un ballon stratosphérique gonflé avec de l’hélium (gaz moins dense que l’air) pour parvenir à une altitude de 39,45 km et a ensuite effectué un saut en chute libre depuis la stratosphère.
L’ascension avec un ballon stratosphérique classique se divise en deux phases :
- La première phase s’effectue à masse constante (tout se passe comme si le ballon était hermétiquement fermé).
Lors de l’ascension, on remarque alors que le volume de celui-ci augmente. La montée se poursuit jusqu’à ce que l’enveloppe soit pleine.
- Dans une deuxième phase, toute augmentation de volume supplémentaire provoque un rejet de gaz par des ouvertures inférieures, appelées manches d'évacuation.
Quel est le lien entre le volume d’un gaz et la pression lors de la première phase du vol ascensionnel ?
Document 1 : Pression et volume du ballon stratosphérique
Sur le schéma ci-contre, on représente le ballon stratosphérique de Félix Baumgartner. Ce ballon est représenté pour différentes altitudes.
Pour une altitude donnée, la pression à l’intérieur du ballon est égale à la pression extérieure. La pression à l’intérieur du ballon et son volume sont indiqués sur le schéma.
L’unité officielle de la pression est le pascal (Pa).
I. Questions préalables.
1) En vous aidant du document n°1 et du contexte, indiquer si le nombre de molécules de gaz (hélium) à l’intérieur du ballon varie lors de la première partie de la phase ascensionnelle (ballon hermétiquement fermé).
2) En vous aidant du document n°1, indiquer comment évolue la pression à l’intérieur du ballon, lors de la première partie de la phase ascensionnelle, préciser aussi l’évolution du volume du ballon.
II. Mesurer une pression avec un microcontrôleur Arduino.
Nous allons mesurer la pression à l’intérieur d’une seringue. Pour cela, on utilise un capteur de pression qui sera alimenté par la carte Arduino Uno.
Réaliser les branchements du document 2 : Description d’un fluide au
repos
Tp 16 Modèle de comportement d’un gaz : la loi de Mariotte Mouvement et interaction Séquence 8
Photographie du ballon de Felix Baumgartner au moment du décollage.
Vue du ballon au sommet de sa trajectoire
(39,45 km). Tout le volume de l’enveloppe est occupé
Vers ordinateur
5 V GND A0
Seringue
Document 2
Le microcontrôleur de la carte Arduino Uno se comporte comme un mini-ordinateur. Il ne peut exécuter des tâches que s’il est commandé par un programme Arduino. Ce programme doit être transférer au microcontrôleur. Pour se faire :
- Ouvrir le logiciel Arduino
- Aller dans le menu « Fichier » puis ouvrir le sketch Arduino « loi de Mariotte » (dans Echange/…) Attention, le sketch ouvert est directement utilisable :
- Cliquer dans le menu d’Arduino sur « Vérifier », puis sur « Téléverser » : le transfert du programme se fait vers le microcontrôleur.
- Afficher la mesure effectuée par le microcontrôleur en cliquant sur « Moniteur série »
La valeur affichée par Arduino est une valeur de tension et non une valeur de pression !
Afin de mesurer la pression avec le capteur Arduino, il vous faut étalonnerce capteur et obtenir le graphique représentant la pression en fonction de la tension : pression = f(tension)
Tableau à remplir : Pression en hPa Tension U (en V)
Marche à suivre pour remplir le tableau :
- Placer le piston de chaque seringue sur la graduation 40 mL puis connecter la première seringue au pressiomètre et la deuxième au capteur Arduino (voir document4 ci-contre)
- Pousser les pistons des seringues sur des graduations en volume identiques : mesurer la pression sur le pressiomètre et noter la tension affichée par Arduino.
Faire 5 mesures espacées différentes et compléter le tableau.
- Reproduire le tableau de valeur sur Latispro.
- Tracer la courbe pression = f(tension) et la modéliser.
Noter le modèle obtenu par cet étalonnage :
①Déclaration des variables int : entier
float : décimal
②La fonction setup est exécutée une seule fois au lancement.
serial.begin(9600) permet de fixer la vitesse de communication avec la carte Arduino.
③La fonction loop exécute les instructions en boucle.
On lit la variable « valeur » sur la broche A0. Puis on convertit cette variable en tension (variable « tension »).
Vérifier
Permet de s’assurer que le programme fonctionne
Téléverser
Permet de transférer le programme vers le microcontrôleur
Moniteur série
Permet d’afficher les valeurs mesurées
pression =
Document 3 : programme Arduino permettant de mesurer une pression
Document 4 : photos du montage pour l’étalonnage
Pour que la valeur affichée par Arduino soit maintenant une valeur de pression, il faut modifier le sketch Arduino.
Proposer une modification au professeur puis, après accord, l’effectuer.
« Vérifier »puis « Téléverser » le nouveau sketch.
Arduino doit maintenant afficher une valeur de pression !
III. Vérification de la loi de Mariotte.
La loi de Mariotte établit un lien entre pression P et volume V de gaz.
Pour établir cette loi, utiliser votre capteur de pression Arduino et compléter le tableau ci-dessous : Volume
(en mL) 50 45 40 35 30 25 20
Pression (en hPa)
Compléter le programme python(document 5)pour tracer les courbes P = f(V), V = f(P) et P×V= f(V) Reproduire sur votre feuille l’allure de ces courbes.
Choisir parmi les propositions ci-dessous, la bonne relation (“Loi de Mariotte”) entre la pression P d’un gaz et le volume V qu’il occupe :
P = k×V V = k×P P×V = k
On précise que k désigne un coefficient constant pour la série de mesure réalisée ici.
IV. Réinvestissement : retour sur le mouvement du ballon de F.Baumgartner.
1) Lors de la première phase du mouvement du ballon, justifier les changements de volume observés dans le document 1.
2) Pourquoi, lors de la deuxième phase du mouvement, toute augmentation de volume supplémentaire doit provoquer un rejet de gaz par les ouvertures inférieures ?
np.array() permet de créer des lignes de tableau de valeurs. Mettre une virgule entre chaque valeur
Affichage du 1er graphique P = f(V)
Définition des axes
Affichage du 2ème graphique V = f(P)
Définition des axes
plt.show() permet d’afficher les graphiques tracés précédemment.
Affichage du 3ème graphique PxV = f(V)
Définition des axes
Document 5 : programme Python pour afficher les graphiques