Capteur de pression différentiel SDP6xx

Matériel testé : Sensirion SDP610 500Pa

Bibliothèque nécessaire : SDP6xx

Ce composant permet de mesurer une différence de pression. Ses principaux atouts sont :

  • Grande sensibilité : ±25 Pa, ±125 Pa ou ±500 Pa selon les modèles
  • Communication I2C

Attention !! Ce capteur doit être alimenté en 3,3V !! Il faut impérativement employer les résistances Pull Up de 4,7k Ω préconisées dans l’exemple de câblage ci-dessous. (voir I2C bi-directional level shifter pour en savoir plus)

Tube de pitot

Anémomètre

C’est un capteur idéal pour réaliser un capteur de vitesse, ou un anémomètre, par tube de pitot !

v^2=\frac{2\left(p_t-p_s\right)}{\rho}

Câblage

Cablage_SDP600 SDP600_PIN

Remarque : sur Arduino UNO, SDA = A4 et SCL = A5.

Programmation

L’exemple fourni dans la bibliothèque est suffisant pour obtenir des valeurs « brutes ».

Pour obtenir une valeur de pression, un facteur d’échelle est à appliquer :

modèle facteur d’échelle
500 Pa 60
125 Pa 240
25 Pa 1200

Mesure d’une vitesse (avec tube de pitot)

Le code suivant utilise la bibliothèque de lissage de signal RunningAverage.

#include <Wire.h>
#include <SDP6xx.h>
#include <RunningAverage.h>

RunningAverage MoyGliss(20); // objet "Moyenne Glissante" avec nombre d'échantillons pour le calcul
float moyenne = 0; // la moyenne glissante des échantillons

void setup() {
   Wire.begin();
   Serial.begin(115200);
   MoyGliss.clear();
   }

void loop() { 
   MoyGliss.addValue((float)SDP6xx.readPA());
   moyenne = MoyGliss.getAverage();
   moyenne = moyenne/60;            // Convertion en Pa (modèle 500 Pa)
   moyenne = sqrt(2*moyenne/1.293); // Conversion en m/s
   Serial.println(moyenne);

   delay(10);
   }

 

 

Réalisation

Anémomètre portable de précision

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code