fluctuation valeurs capteur

Bonjour,

j'utilise un capteur MQ3 pour la detection de la teneur en alcool, les valeurs que je reçois fluctuent et ne me permettent pas d'avoir une valeur fixe pour une concentration donnée. Je cherche un code qui puisse me donner une valeur stable comme celle d'un thermomètre par exemple. J'ai utilisé le code de moyenne glissante, moyenne, moyenne flottante mais la fluctuation entre 2 à 3 valeurs est toujours présente.

Merci

Capteur sensible à la température et à l'humidité selon la doc.
Donc lorsqu'on souffle dessus on fait sans doute varier les deux ce qui ne doit pas arranger les choses.

Bonjour, le capteur est utilisé de manière a être toujours maintenue à la même température et à la même humidité.

turw:
Bonjour, le capteur est utilisé de manière a être toujours maintenue à la même température et à la même humidité.

bonjour
quel ordre de grandeur la variation entre mesures ?
comment est alimenté/regulé "la chauffe" ?
quelle reference de tension est utilisée sur l'arduino pour acquerir la sortie analogique ?

bonjour,
la fluctuation est de l'ordre de 15 %. La chauffe est alimentée par une alimentation stabilisée de 5 V spéciale pour arduino. j'ai conçu une carte électronique qui alimente l'arduino et le MQ3 de manière séparée.

turw:
bonjour,
la fluctuation est de l'ordre de 15 %. La chauffe est alimentée par une alimentation stabilisée de 5 V spéciale pour arduino. j'ai conçu une carte électronique qui alimente l'arduino et le MQ3 de manière séparée.

ça semble etre un "compo" aux caracteristiques tres dispersifs
quel circuit d'integration a utilise tu avant l'arduino ?
quelle reference (AREF) utilise tu avec l'arduino ?
comment/avec quoi fait tu l'acquisition de la valeur de sortie ?

bonjour,

j’utilise l’entree AO de mon arduino pour la conversion du signal du capteur, j’ai pas d’autre integrateur. j’alimente mon ardui avec un transformateur de tension 5 v tout avec un afficheur LCD.

merci

Dans le message de bienvenue on demande la description du matériel et le maximum de renseignement : ce n'est pas curiosité malsaine mais au contraire pour aider efficacement.

Nous ne savons pas de quelle carte tu disposes et donc nous ne savons pas non plus quel microcontroleur tu utilise.
Avec un micro-controleur Atmega328p (carte UNO) il y a 2 reférences internes (Vcc et 1,1 V) possibles pour le convertisseur analogique digital, avec l'atmega2560 (carte Mega) il y a 3 références (Vcc, 2,5 V et 1,1 V).
Il est possible de commuter ces références par programmation.
Pour avoir la meilleure précision l'objectif est de choisir la référence de tension la plus proche de la valeur maximale à mesurer tout en y restant strictement supérieur.

Autre point : dans la datasheet des micros, Atmel recommande de ne jamais conserver la première mesure qui suis soit la mise en service du convertisseur, soit une modification du mutliplexeur d'entrée car il n'y a qu'un seul convertisseur dans un micro.

Donc qu'elle carte as-tu et quelle est la valeur max que donne le capteur ?

le capteur est utilisé de manière a être toujours maintenue à la même température et à la même humidité.

Oui mais quelles sont les valeurs ?

Les capteurs MQ3 sont fabriqués par plusieurs fabricants, as tu un lien vers la datasheet de celui dont tu dispose ?

Bonjour
Merci pour ces precisions , je m'excuse pour les données insuffisantes qui sont un pur manque de connaissance de ce domaine de carte open source et programmation. Alors il s'agit d'une carte arduino uno équipe d'un atmega. Pour la tension VCC ou 1.1 V ou est ce que je peux la trouver ?.

Le capteur que j'utilise est un MQ3 :Gikfun
La valeur max du capteur : INF

Merci

turw:
La valeur max du capteur : INF

Merci

bonsoir
en complement des infos de 68tjs
je n'ai pas compris cette reponse : INF
quelle resistance de charge a tu mis ?
quel est le cablage exact entre la sortie de ton capteur et l'arduino.
A priori de ce que j'ai compris tu n'utilise pas d'AREF "serieuse" , tu te sert d'AREF=ligne 5V du 328
Cette ligne fluctue dans des proportions relativement importantes fonction des appels appels de courant.
Quelle valeur max a tu obtenu sur l'ADC (0,1023) avec ton "montage"

La référence que tu nous donne est inexploitable : voir une photo avec marqué MQ3 ne sert à rien.
Une datasheet c'est comme cela :

Peut-tu nous donner un lien vers ton capteur ? Ou au moins nous dire dans quelle boutique tu l'as acheté.

Je repose ma question :

Quote

le capteur est utilisé de manière a être toujours maintenue à la même température et à la même humidité.

Oui mais quelles sont les valeurs ?

Quels sont les valeurs de température et d'humidité ?

Point suivant :

Pour la tension VCC ou 1.1 V ou est ce que je peux la trouver ?.

Réponce déjà donnée :

Il est possible de commuter ces références par programmation.

Donc la réponse se trouve sur ce forum : onglet "Learning" puis "Reference".
Mais avant de jouer avec la référence il faut absolument borner les valeurs que tu as à mesurer.

bonsoir

merci pour votre réponse. INF = infinie cette valeur s'inscrit quand le capteur est à l'air libre.
j'utilise une résistance réglable de 100 K donc selon les concentrations la résistance est au tour de 10 k.

j'utilise le cablage ci-joint :

http://playground.arduino.cc/Main/MQGasSensors ( FIG 2).

la valeur max obtenue est 10.0.

Comment on fait pour regler cette histoire d'AREF ?

Merci

bonsoir,

Le capteur que j'ai a le datasheet suivant :

turw:
la valeur max obtenue est 10.0.

la valeur renvoyée par l’ADC ne peut etre comprise qu’entre 0 et 1023 ET c’est un entier sans notion decimale

ok

turw:
ok

Et donc ?

ou est l'erreur ? sachant que mon ardui est alimenté par les bornes Vin et GND

Comment on fait pour regler cette histoire d'AREF ?

Il nous sera impossible de répondre tant que tu n'aura pas répondu a cette question :
Quelle est la valeur max à mesurer en volts ?

Le convertisseur fonctionne ainsi :

  1. Il utilise une référence de tension Vref
  2. il donne des résutats sur 10 bits c'est à dire qu'il se défini en interne une pas de mesure Pas = Vref/1024
  3. En sortie il donne comme l'a dit Artouste un entier compris entre 0 et 1023. Cet entier represente le nombre entier de pas compris dans la tension à mesurer.

Donc si ta tension à mesurer est comprise entre 2,2v et 4,5V et que tu fixe Vref à 1,1 V tu sera en butée et tu obtiendra toujours 1023.
De l'autre coté si tu choisi Vref= Vcc le pas de mesure sera environ 5 mV et si ta tension à mesurer n'est que de 50mV tu sera dans le bruit.

ou est l'erreur ? sachant que mon ardui est alimenté par les bornes Vin et GND

  1. Cela n'a strictement rien à voir avec le problème que tu soulève
  2. J'espère qu'avec les dernières informations tu as compris où était le problème.

Question : c'est toujours le même projet que celui d'aout 2013 ou c'en est un autre ?

bonsoir,

tension min. 0.02 V
tension max 0.18 V

Compte tenu que le projet est débuté depuis aout 2013 (qui ne dit mot consent) je ne vais pas continuer comme si tu était un débutant.

  1. Il faut lire la datasheet et plus particulièrement le paragraphe concernant le convertisseur analogique digital .
    Tu y trouvera des informations très utiles sur les erreurs de quantification parce que j'espère que tu ne t'imagines pas qu'un micro-contrôleur va te donner une mesure à 0,1 % près.
    Comme visiblement tu n'as pas de difficultés avec l'anglais tu y lira aussi comment tenir compte de l'imprécision sur la valeur de la référence interne.

  2. En parrallele, les deux actions doivent être mené de front pour avoir le meilleur compromis, tu devrais optimiser le montage du capteur pour obtenir les tensions de sortie les plus élevées possible.
    Plus tu t'éloignera du bruit et plus les mesures seront propres.
    Le nœud du problème est là : tant que le signal de sortie du capteur ne sera pas optimisé, faire des moyennages ou des filtrages reviendra à cacher la poussière sous le tapis.