Conversion analogique avec un capteur d'hydrogène

Bonsoir à vous,
Je suis bloqué depuis un moment sur un travail que j'ai en cours, je sais que c'est peu éthique de demander de l'aide sur un forum mais vous êtes ma dernière solution avant la copie blanche :sweat:

Alors j'ai donc un capteur catalytique qui a pour but de capter le taux d'hydrogène dans l'air.
Pour utiliser ce capteur je l'ai branché à l'arduino tout en mettant une résistance de 250 ohms (sur un simulateur)
image
afin que la valeur ne dépasse pas 5v
Si on utilise analogRead j'ai naturellement une valeur entre 0 et 1023 mais pas dans l'unité que je veux (LIE)


avec ce document je peux donc trouver le coefficient directeur de la courbe qui est 0.004 t + 0.004

Eeettttt c'est tout ce que j'ai pu faire ... je ne sais pas si j'ai assez de donner pour résoudre ce problème, si quelqu'un a une piste à me donner je vous en serai très reconnaisant !

D'où l'expression : Là où il y a de l'hydrogène, il n'y a pas de plaisir !

(ok je sors) :laughing:

Bonsoir blobs

Pour transposer une échelle (0-1023) en une autre échelle, il y a la fonction map().

Cordialement
jpbbricole

Si je comprends bien le schéma électrique, ton capteur est la source de courant à gauche et l'ADC de l'Arduino est à droite.
Si le capteur fournit un courant I, connaissant la tension mesurée par l'ADC, tu peux calculer ce courant. Sais-tu faire ça ?
Ensuite, à partir de la seconde courbe (qu'il faut inverser pour qu'elle fournisse le taux d'hydrogène), tu calcules ce taux à partir de la valeur du courant.

Donc tu as toutes les données pour mettre en œuvre le capteur et calculer le taux d'H2.

oui je pense savoir faire ça, j'utilise la loi d'ohm de la même manière que j'ai trouver la valeur de la résistance, sauf que l'arduino donne ni une intensité ni une tension mais une valeur compris entre 0 et 1023, comment convertir cette valeur en volt ?
Et merci de ta réponse jpbricole mais je pense qu'il y a un calcul tout simple que je n'ai plus en ma possesions

ok petite update j'ai réussie à avancer tout seul
j'ai donc un code qui me donne la tension et l'intensité du courant


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

void loop() {
  int sensorValue = analogRead(A0);
  float U = sensorValue * (5.0 / 1023.0);
  float I = U / 250;
  float LIE = "?" // 0.004 T + 0.004
  Serial.println(U);
  Serial.println(I);
  delay(1);       
}


sauf que j'ai toujours le coeff directeur, et je sais pas trop comment l'utiliser ...

Bonjour

l'arduino donne ni une intensité ni une tension mais une valeur compris entre 0 et 1023, comment convertir cette valeur en volt ?

lances toi !! fais une petite recherche sur la conversion analogique/numérique des cartes Arduino , tu y verras le rôle de la tension deréférence, sans doute 5V dans ton cas

je pense que c'est un mauvais timing mais du coup je pense avoir trouvé ^^

:+1:

Attention quand même à une chose, la référence de l'ADC c'est la tension d'alimentation de l'ATmega sur la carte. Suivant comment la carte est alimentée, cette tension peut changer un peu et donc fausser plus ou moins le résultat de tes mesures.
Si tu as besoin de mesures reproductibles, dans des conditions différentes il faudrait peut-être envisager d'utiliser la référence interne de 1,1V (ou une référence externe) et donc de changer la dynamique de mesure et d'adapter la valeur de ta résistance à cette nouvelle gamme de mesure.

Ta courbe est une droite :

Icapt = 0.004 * Taux + 0.004

Visiblement le résultat est en Ampères.

Il te suffit d'écrire cette relation et d'en tirer l'expression de Taux en fonction de Icapt.
C'est du niveau du collège...