Activer le mode zen
Ressource au format PDF
Classification
Statique des fluides - Application pratique à l'aide d'une carte Arduino programmée en Python
22/06/2020
Résumé
Nous proposons ici une expérience pour retrouver les lois de la statique des fluides en utilisant un microcontrôleur piloté par un programme en Python.
Table des matières
1. Utilisation d’un Arduino Uno avec Python3 : Comment réaliser un capteur de niveau d’eau
1.1 Introduction – présentation de l’expérience
Les capteurs de niveau de liquide sont couramment utilisés dans de nombreux domaines (assainissement de l’eau, surveillance des cours d’eau, industrie chimique…) pour assurer le bon fonctionnement d’un process ou pour sécuriser une installation. Leur technologie (ultra-son, imagerie...) diffère selon l’application visée et les besoins.
Nous nous proposons ici de réaliser un capteur de niveau d’eau basé sur la mesure de pression. Ceci nous permettre de mettre en application la relation fondamentale de la statique des fluides vue dans l'artcicle « Statique des fluides - Lois et exemples d'applications ».
Pour réaliser le montage, nous aurons besoin de :
- 1 Carte Arduino Uno ;
- 1 Capteur de pression différentielle MPX5010DP ;
- 3 Straps flexibles M-F de longueur 15 cm (connectiques entre le capteur de pression et la carte Arduino) ;
- Un tuyau de diamètre intérieur égal à 4 mm et d'une longueur supérieure à 2 m ;
- Un contenant (idéalement d'une hauteur de 1 m), type éprouvette ou tuyau transparent bouché.
Un schéma du montage est présenté ci-dessous, figure 1.
L’expérience consiste à ajouter dans le contenant (dont le diamètre interne est connu) un volume de liquide . De cette manière, nous pouvons connaître la hauteur réelle de liquide introduite dans le contenant par la relation : et la comparer à la hauteur mesurée par le capteur. Cette manipulation peut être répétée plusieurs fois dans l’expérience.
Dans l’expérience présentée ici, la manipulation sera répétée 5 fois.
1.2 Modélisation du problème
Le capteur de pression différentielle permet de mesurer simultanément deux pressions : la pression au fond de l’éprouvette et la pression .
Écrivons la relation qui permet de relier à , et la hauteur d’eau. L’équation fondamentale de la statique des fluides donne : et
En sommant les deux relations nous obtenons :
En comparant, la masse volumique de l’air ≈ 1,23 kg.m-3 et celle de l’eau ≈ 997 kg.m-3, il semble évident que le poids de la colonne d’air sera négligeable devant le poids de la colonne d’eau. Ceci implique aussi que la position du capteur a très peu d’influence sur notre mesure. Finalement, notre dernière équation devient : avec Nous avons trouvé la relation qui nous donnera le niveau d’eau dans notre éprouvette en fonction de la mesure différentielle de pression de notre capteur. |
1.3 Codage en Python3 et acquisition du signal
Dans un premier temps, on importe les bibliothèques Python nécessaires à la communication avec la carte Arduino, au traitement des données et à l'affichage des graphiques, figure 3.
Essayons de communiquer avec la carte :
À partir de ce stade, nous déclarons les variables physiques qui seront nécessaires à la modélisation du problème, figure 5.
On déclare ensuite les paramètres qui seront utiles pour le script :
Nous allons maintenant passer à l’étape de l’acquisition des données et du calcul du niveau de liquide, figure 7.
Les mesures sont stockées dans la variable « Data ». Nous allons maintenant tracer les résultats et enregistrer le graphique obtenu. Nous allons tracer un graphique avec deux axes y, un pour la pression différentielle, un autre pour la hauteur de liquide, figure 8.
Le graphique, figure 9, montre l’évolution du niveau de liquide dans le contenant en fonction du volume introduit au cours de 5 manipulations (ajout de liquide). Le capteur donne une mesure assez proche de la hauteur attendue (tracé en pointillés).
Dans le tracé, nous avons choisi de faire coïncider les 2 axes verticaux (variation de pression et hauteur d'eau) pour mettre en évidence plus facilement la validation des mesures par le modèle. On peut ainsi comparer les hauteurs déduites expérimentalement (ΔP = ρgh) aux hauteurs théoriques.
Dans ce graphique les incertitudes de mesures n'apparaissent pas mais elles existent, sur les points obtenus expérimentalement (incertitudes sur la position de la mesure, précision du capteur...) et sur la prédiction théorique (mesure de la quantité d'eau ajoutée, présence d'un ménisque...)
Télécharger le programme « Mesure-statique-fluide.py »
Pour citer cet article :
Statique des fluides - Application pratique à l'aide d'une carte Arduino programmée en Python, Cyril Mauger, juin 2020. CultureSciences Physique - ISSN 2554-876X, https://culturesciencesphysique.ens-lyon.fr/ressource/statique-fluides-Arduino.xml
Pour citer cet article :
Statique des fluides - Application pratique à l'aide d'une carte Arduino programmée en Python, Cyril Mauger, juin 2020. CultureSciences Physique - ISSN 2554-876X, https://culturesciencesphysique.ens-lyon.fr/ressource/statique-fluides-Arduino.xml