Jauge de Pression

Bonjour,

J'ai une jauge de pression P51-100-G-B-I36-4.5V-000-000 de chez SSI. C'est une jauge qui lit une pression allant de 0 PSI à 100 PSI max. L'alimentation en tension est de 5 V et la tension de sortie est 0.5 V ~ 4.5 V.

Lorsque j'ai connecté le fil de mesure à l'arduino, j'ai des mesures allant jusque 1023. Je ne sais pas comment le transformer en valeur de pression de 0 à 100 PSI (produit en croix) ?

Merci bien

Bonjour,

1- la tension mesurée est: volt = num * Vref / 1024.; // avec num la valeur lue sur l'entrée analogique, vref = environ 5.0 v pour un Arduino alimenté en 5v. Il faut le mesurer pour avoir plus de précision.

2- La pression en PSI est:

0,5v -> 0psi et 4,5v-> 100psi, donc:

psi =25*volt -12.5;

Merci pour ta réponse, celà m'aide grandement

Un peu de maths:

(Je vais encore faire hurler _pepe parce qu'on n'est pas d'accord sur cette première partie) Votre lecture analogique dit 0 quand la tension est 0 et 1023 quand la tension est 5V (approximativement, c'est sur un intervalle de mesure)

Donc si A est la quantité analogique lue (entre 0 et 1023) alors un simple produit en croix vous dit que V (la tension correspondante approximativement) est

``` V = A * 5.0 / 1023 ```

Ensuite il faut trouver les PSI.

En pratique quand vous avez ce genre de problème linéaire vous cherchez l'équation d'une droite qui est la fonction qui associe une mesure de tension et la valeur en psi

Une équation de droite c'est y = ax+b et dans notre cas PSI = a V + b et on cherche a et b

Vous connaissez 2 points de cette droite: Pour V=0.5 PSI vaut 0 et pour V=4.5 on a PSI qui vaut 100

On a donc un système de 2 équations à 2 inconnues

0.5a + b = 0
4.5a + b = 100

Si on soustrait de la seconde équation la première équation de chaque côté ( c'est correct parce que les valeurs sont égales) on a

(4.5a + b) - (0.5a + b)  = 100 - 0. Soit en simplifiant 4a  = 100 et donc on trouve a=25

Connaissant a on remplace par exemple dans la première équation (0.5a + b)  = 0

--> (0.5*25+ b) = 0 --> (12.5+ b) = 0 --> b = -12.5

La fonction que vous cherchez est donc

``` PSI = 25 V - 12.5 ``` (la formule de bilbo)

Comme on connaît V en fonction de A, on remplace

PSI = 25 V - 12.5 --> PSI = 25 * A * 5.0 / 1023 - 12.5 -->

``` PSI = 125.0 * A  / 1023 - 12.5 ```

Bien sur si la valeur est négative ( À cause d'une approximation de la lecture de la valeur analogique) il faudra arrondir à 0 PSI

Si vous travaillez en nombre entiers il existe une fonction toute programmée : [

map(value, fromLow, fromHigh, toLow, toHigh)

](https://www.arduino.cc/en/reference/map) qui fait les maths pour vous :) (Attention ne fait pas d'arrondis travaille en nombres entiers donc pas utilisable ici)

redmef:
C’est une jauge qui lit une pression allant de 0 PSI à 100 PSI max.
L’alimentation en tension est de 5 V et la tension de sortie est 0.5 V ~ 4.5 V.

Lorsque j’ai connecté le fil de mesure à l’arduino, j’ai des mesures allant jusque 1023.

Bonsoir
Déjà si la jauge sort au max 4.5V et que l’arduino est configuré en AD avec une Vref=Vcc (5V) tu ne peux pas recuperer une AD=1023 .
l’amplitude se sortie de l’AD devrait etre comprise entre ~ 102 (0.5V) et 918 (4.5V)

J'ai un autre problème avec une jauge de pression.

La tension d'entrée doit être comprise entre 8V et 9V. J'ai mis 12 V d'une source externe. Dans cette nouvelle jauge la tension de sortie doit être entre 1V - 5V qui doit correspondre à 0 - 100 PSI je pense.

Je mesure à l'aide d'un voltmètre la tension de sortie, j'ai bien 1 V. Mais lorsque je lis la valeur analogique j'ai 1023.

Est-ce normal ?

lien vers votre jauge et sa documentation technique?

ça veut dire quoi:

La tension d'entrée doit être comprise entre 8V et 9V. J'ai mis 12 V d'une source externe.

--> si vous alimentez un composant hors de sa spec vous risquez de nombreux déboires...

Pardon c’est une erreur. C’est une tension comprise entre 8V et 30V. Je ne suis pas en dehors des specifications.

Voici le lien de la jauge de pression:
https://www.digikey.com/product-detail/en/ssi-technologies-inc/P51-100-G-B-I36-5V-000-000/734-1027-ND/1665788

ouf :)

Pour la question

Je mesure à l'aide d'un voltmètre la tension de sortie, j'ai bien 1 V. Mais lorsque je lis la valeur analogique j'ai 1023.

Non ce n'est pas normal si vous avez 1V au voltmètre de lire 5V sur l'arduino. Avez vous pensé à bien joindre les GND des 2 alimentations ?


bon si vous lisez la documentation technique ils précisent bien que la valeur de sortie est

0.5 – 4.5 Volt output (with 5V input) 1-5 Volt output (with 8 - 30V input)

Comme vous avez mis 12V, vous aurez donc sur votre pin analogique une valeur entre 1V et 5V. il est donc normal de voir 1023 qui apparaît de temps en temps si vous atteignez les 100PSI

Cela veut dire cependant que la formule donnée ci dessus est fausse puisque votre range n'est plus [0.5 – 4.5] volts mais [1 - 5] volts.

Je vous ai donné le cheminement intellectuel pour recalculer la formule en #3, essayez de refaire le raisonnement avec les nouvelles valeurs (points connus: 1V = 0 PSI, 5V = 100 PSI) et postez nous le résultat de votre calcul - on vous dira si c'est OK (le but du forum étant d'apprendre à se débrouiller)

Voici le code que j'ai effectué:

void setup() {
  Serial.begin(9600);
  
}

void loop() {

  int measure_P1 = analogRead(A0);
  int measure_P2 = analogRead(A1);

  float Volt_1 = measure_P1*5.0/1023.0; //5.0 V est la tension de référence
  float Volt_2 = measure_P2*5.0/1023.0;

  ////P51 1-5V sortie
  float Pressure1 = 25.0*Volt_1-25.0;
  float Pressure2 = 25.0*Volt_2-25.0;
  Serial.print(Pressure1);
  Serial.print(" ");
  Serial.print(Pressure2);
  Serial.print("\n");
  delay(100);
}

J'ai gardé 5V comme tension de référence car c'est en adequation avec les valeurs du voltmètre. Si je mets 12 V ça me mets une valeur fausse.

Est-ce correcte ?