Hé! Vous semblez être en United States, souhaitez-vous utiliser notre site English ?
Switch to English site
Skip to main content

Station météo sans fil avec anémomètre à tube de Pitot

Dans le cadre de ce projet, nous réalisons une station météorologique sans fil reposant sur une plateforme Arduino et qui servira à mesurer la température ambiante, l'humidité relative et la force du vent. Ces données environnementales seront envoy

Parts list

Qty Produit Part number
1 Carte de développement Arduino Due 769-7412
1 Capteur de température ambiante Pmod TMP3 136-8066
1 Pmod HYGRO Humidity/Temperature Sensor 136-8072
1 Pmod DPG1 Differential Pressure Gauge 134-6485
1 Pmod BLE Bluetooth Low Energy Module 175-2110

La première étape de notre travail consiste à déterminer les éléments que doit mesurer la station météorologique. Les deux mesures les plus fréquemment utilisées sont la température et l'humidité relative. Pour obtenir la température "ressentie" (cette forte sensation de fraîcheur qu’on ressent lorsque souffle un vent froid), nous devons également mesurer la vitesse du vent grâce à la station météorologique. Pour cela, nous utiliserons un anémomètre à tube pour mesurer la vitesse du vent en raison de sa faible consommation d'énergie et de son prix relativement modeste. 

Nous souhaitons visualiser les mesures sur un smartphone, une tablette ou un PC. Une station météorologique sans fil est donc ce qu’il nous faut. Les technologies sans fil disponibles sont le Wi-Fi, les réseaux cellulaires et le Bluetooth. Malheureusement, les technologies Wi-FI et 3G/4G nécessitent que l'appareil soit connecté à un réseau existant ; une méthode très gourmande en énergie. Pour pallier à cela, nous allons choisir la technologie Bluetooth à basse consommation (BLE).

Une carte Arduino Due ayant une tension numérique de 3,3 V et compatible avec la quasi-totalité des capteurs et actionneurs I2C ou SPI sera utilisée comme plateforme de contrôle. L'alimentation de la station météorologique reposera sur une batterie de 9V.

Les capteurs de la station météorologique

Pour gagner en temps, nous collectons les mesures à l'aide de modules de capteurs Digilent Pmod qui peuvent être directement connectés à la carte Arduino Due et qui ne requièrent aucun circuit externe. Des Digilent Pmod uniquement sont donc installés sur la station météorologique ; qui est très pratique.

Le capteur numérique de température Pmod TMP3

Le capteur de température ambiante Pmod TMP3 est capable de mesurer une large gamme comprise entre 40°C à +125°C avec une résolution atteignant jusqu'à 0,0625 °C (12 bits) ; la précision normale étant de +/- 1°C. Son alimentation repose sur la broche 3V3 d’un microcontrôleur. Le capteur ne nécessite aucun autre matériel externe pour fonctionner. Il communique avec Arduino Due via l'interface I2C.  Nous pouvons suivre les instructions de raccordement  ci-dessous pour le connecter à l’Arduino Due.

Pmod TMP3 Arduino Due
SCL (1) SCL (21)
SDA (2) SDA (20)
GND (3) GND
VCC (4) 3V3

8 adresses d'esclaves I²C différentes allant de 0x48 à 0x4F sont prévues. Tous les cavaliers sont positionnés par défaut et l'adresse I²C du dispositif est 0x48 ; la résolution par défaut étant de 9 bits. Nous pouvons définir la résolution désirée dans le registre de configuration de l'adresse 0x01 (Fiche technique de la puce électronique TCN75A, sous-chapitre 5.3.2), régler le pointeur d'adresse à 0x00 qui est l'adresse des données stockées. Pour lire la température, nous écrivons l'adresse des données stockées (0x00) dans le registre. Les données de température se présentent sous la forme de deux octets et sous forme de complément à deux. Nous utilisons l'équation suivante pour convertir les données mesurées en température ambiante (Fiche technique de la puce électronique TCN75A, chapitre et sous chapitre 5.3 et 5.3.1)

Équation : Température ambiante  = Données mesurées (en décimale) x 2-4

Les transferts de données sont initiés par une condition de démarrage (Démarrer), suivie d'une adresse de dispositif de 7 bits et d'un bit de lecture/écriture. Un accusé de réception (ACK) de l'esclave confirme la réception de chaque octet. Chaque accès doit être terminé par une condition d'arrêt (Arrêter) (Fiche technique de la puce électronique TCN75A, chapitre 4

Le capteur numérique d’humidité Pmod HYGRO

Le Pmod HYGRO est un capteur d'humidité relative, qui peut mesurer l'humidité relative de l'environnement avec une résolution allant jusqu'à 14 bits. Sa précision est de ±2% et son alimentation peut être assurée par la broche 3V3 du microcontrôleur. Le capteur ne nécessite l'ajout d'aucun autre matériel externe pour fonctionner. Il communique avec la carte Arduino Due via l'interface I2C. Nous pouvons suivre les instructions de raccordement ci-dessous. Étant donné que le Pmod TMP3 et le Pmod HYGRO communiquent via l'interface I2C, ils peuvent être connectés en guirlande. (connectez un premier Pmod à l'Arduino, puis le second au premier).

Pmod HYGRO Arduino Due
SCL (3) SCL (21)
SDA (4) SDA (20)
GND (5) GND
VCC (6) 3V3

L'adresse I2C du dispositif est 0x40. La manière de mettre le capteur d'humidité en communication avec l'Arduino Due est d'utiliser la bibliothèque  ClosedCube_HDC1080.h

Le capteur de pression différentielle Pmod DPG1 et le tube de Pitot-statique

Le tube de Pitot-statique est un tube aérodynamique coaxial, la partie interne étant ouverte et pointée dans la direction du vent, la partie externe présentant des petits trous sur sa surface. Le tube extérieur donne la pression statique tandis que le tube intérieur donne la pression de stagnation (pression apparaissant à cause du vent qui souffle directement dans le tube).

Pitot Tube Types

Source: https://commons.wikimedia.org/w/index.php?curid=3301685

La différence entre la pression de stagnation et la pression statique donne la pression dynamique, à partir de laquelle la vitesse de l'écoulement du fluide (vent) peut être déterminée grâce à l'équation suivante (équation de Bernoulli) :

Bernoulli's equationBernoulli's equation, where v equals

La vitesse du vent en elle-même ne signifie rien pour nous. C'est pourquoi nous codons la vitesse en nous basant sur l'échelle de Beaufort.

Échelle de Beaufort

Vitesse du vent (mph)

Vitesse du vent (km/h)

Vitesse du vent (nœuds)

Description

Effets du vent sur terre

0 <1 <1 <1 Calme Calme, fumée verticale.
1 1-3 1-5 1-3 Très légère brise La fumée indique la direction du vent.
2 4-7 6-11 4-6 Légère brise Le vent est ressenti sur la peau exposée. Les feuilles bruissent.
3 8-12 12-19 7-12 Petite brise Les feuilles et les petites brindilles s’agitent.
4 13-18 20-28 13-16

Jolie brise

La poussière et le papier détaché sont soulevés. Les petites branches commencent à bouger.
5 19-24 29-38 17-21 Bonne brise Les arbustes commencent à s'agiter.
6 25-31 39-49 22-27 Vent frais Les branches de large diamètre s'agitent. On entend siffler les fils aériens. L'utilisation du parapluie devient difficile.
7 32-38 50-61 28-33 Grand frais Des arbres tout entiers s'agitent. On peine à marcher contre le vent
8 39-46 62-74 34-40 Coup de vent Les brindilles et les petites branches se détachent des arbres. Les voitures virent sur la route.
9 47-54 75-88 41-47 Fort coup de vent De plus grosses branches se détachent des arbres. Des dommages légers sur les édifices sont relevés.
10 55-63 89-102 48-55 Tempête Les arbres ont été sectionnés et déracinés. Des dommages considérables sont relevés sur les édifices.
11 64-72 103-117 56-63 Violente tempête Des ravages étendus et importants sur la végétation et les édifices sont relevés.
12 >73 >117 >64 Ouragan Des dommages catastrophiques sur la végétation et les édifices sont relevés. Le phénomène est violent

Pour fabriquer un tube de Pitot-statique, nous avons besoin de deux tubes en plastique de diamètres différents. Pour ce projet, nous utilisons une seringue de 2,5 ml et une recharge de stylo vide pour servir de tube. Vous avez également besoin d'un cutter, d'une perceuse et d'un peu de colle (mastic polyester bi-composant) pour sceller les tubes et rendre aérodynamique celui qui est à l'extérieur (nous y reviendrons plus tard).
Components needed to create pitot-static tube

Premièrement, coupez le bout de la seringue et faites des trous sur l'une de ses extrémités. Percez deux autres trous sur la seringue pour les petits tubes : un le long de son axe et un près de sa base. Utilisez une mèche de 3 mm (correspondant au diamètre du petit tube). Référez-vous à l'image ci-dessous, les trous sont marqués en rouge :

Drill holes in syringe as indicated

Coupez la recharge du stylo en deux et insérez chaque morceau dans la seringue comme indiqué sur l'image ci-dessous. N'oubliez pas que le plus long doit déborder la seringue aux deux extrémités.

Basic construction of Pitot tube

Posez ensuite du mastic pour boucher les trous faits sur la seringue et dans lesquels les petits tubes (recharge de stylo) ont été insérés. Scellez également l'arrière de la seringue. Utilisez un morceau de mastic pour donner une forme plus aérodynamique à l'extrémité de la seringue. L'image ci-dessous montre le tube collé.

Construction of Pitot tube with putty to seal holes

Construction of Pitot tube - completed

Maintenant, examinons le capteur de pression d'air dynamique. Nous utilisons le dispositif Digilent Pmod DPG1 comme capteur de pression différentielle. Il peut détecter une très petite différence de pression (0 - 10 KPa) entre ses deux entrées et peut communiquer avec l'Arduino Due via un bus SPI en mode 0. Le tableau ci-dessous indique les instructions de raccordement.

Pmod DPG1 Arduino Due
SS (1) 2
MISO (3) MISO
SCK (4) SCK
GND (5) GND
VCC (6) 3V3

Une fois la colle sèche, vous pouvez relier le tube Pitot-statique au dispositif Pmod DPG1 par de petits tubes en caoutchouc. Ces petits tubes sont livrés avec le Pmod DPG1.

Pitot tube connected to tubes

Nous pouvons utiliser l’équation suivante pour calculer la pression différentielle.

Pmod DPG1 Equations

Pour étalonner le Pmod DPG1 et le tube de Pitot-statique réunis, vous pouvez effectuer quelques mesures lorsque l'air est calme et afficher la différence de pression mesurée dans le moniteur série. En procédant ainsi, vous pourrez éliminer tout décalage entre les mesures.

Remarque : le Pmod DPG1 peut seulement supporter une certaine gamme de pression différentielle sans que ne soit endommagé le silicium piézorésistif interne. Lorsque le Pmod est posé sur une surface plane avec le transducteur au-dessus du circuit imprimé, la buse la plus haute est la P1 (la buse de réception qui détecte les fluctuations de pression) et la buse la plus basse est la P2 (la buse qui sert de référence de pression pour la P1). Il est recommandé que la pression à la P1 soit comprise entre 0 et 10 kPa au-dessus de la pression  présente au niveau de la P2. 

Transmission Bluetooth

Nous envoyons les données collectées par la station météorologique à n'importe quel récepteur (par exemple, une tablette, un ordinateur portable ou de bureau) par Bluetooth. Pour y arriver, nous connectons le Pmod BLE, un module Bluetooth à basse consommation d'énergie à l'un des ports UART d'Arduino Due (par exemple le port série 1):

Pmod BLE Arduino Due
RXD (2) TX1 (18)
TXD (3) RX1 (19)
GND (5) GND
VCC (6) 3V3

Le Pmod BLE peut être configuré à l'aide de commandes ASCII. Nous envoyons donc "$$$" lorsque nous initialisons le Pmod BLE et le convertissons en mode Commande.  Ensuite, nous pouvons envoyer les commandes suivantes pour configurer le Pmod. Chaque commande doit se terminer par un retour chariot (\r) et être comprise entre " ".

  • "SF,1" : réinitialise les configurations par défaut.
  • S-,name" : définit le nom de l'appareil. L'appareil ajoutera automatiquement son numéro de série à la fin du nom.
  • "SGA,0" : règle la puissance de sortie au maximum.
  • "SS,C0" : active la transmission d'informations sur le dispositif et au mode UART transparent. Nous utiliserons ce mode pour communiquer avec l'Arduino Due.

Après avoir configuré le module, nous quittons le mode de commande en envoyant "---\r". Le Pmod BLE reviendra en mode Données et transmettra les données. La liste complète des commandes est disponible à l'adresse suivante : https://reference.digilentinc.com/_media/reference/pmod/pmodble/rn4871_user_guide.pdf.

AVERTISSEMENT : le branchement à chaud (débranchement ou branchement de l'appareil sous tension) du Pmod BLE risque d'effacer la mémoire interne de l'appareil. Pour éviter cela, il faut établir une connexion UART entre un PC et le Pmod BLE.

Affichage des données

Les données peuvent être reçues sur un moniteur série. Nous utilisons une application Android gratuite (Serial Bluetooth Terminal de Kai Morich)  pour afficher les données et l'état. Pour établir la connexion, nous devons accorder les autorisations nécessaires à l'application, activer le GPS et le Bluetooth sur les téléphones mobiles ou les tablettes. Ouvrez le menu (au coin supérieur gauche), puis sélectionnez « Appareils », ensuite l'onglet « Bluetooth LE » et enfin « Pmod BLE » (quel que soit le nom que vous donnez au dispositif Pmod BLE). L'application ouvrira automatiquement le terminal et affichera les données provenant du module Bluetooth.

terminal screen showing serial data

terminal data showing more serial data

Annexe

Schéma complet des connexions

Full connection diagram

Code entier

Downloads

awong n'a pas encore rempli le champs " à propos de moi" ...