Sujet : Interférences entre capteurs

Bonjour,

Pour diverses raisons j'ai sur un Arduino Uno 3 capteurs :

Les deux premiers, un capteur d'humidité et un capteur de température en IC2 mais convertis en sorties analogiques (par une platine électroniques commerciale) et sont branchés sur deux entrées analogiques du Uno.

Jusque là tout est ok pour ce qui est de l'acquisition de données mais lorsque je rajoute un autre capteur de T (un TMP36) sur une troisième entrée analogique, et bien j'ai la T du premier capteur qui déconne (l'humidité elle reste ok).

J'ai testé ce TMP36 tout seul sur l'Arduino et tout fonctionnait bien.

Ce qui est étrange est que si je retire la commande AnalogRead de mon programme pour le TMP36 le premier capteur refonctionne. Le plus logique selon moi serait qu'il y ait des interférences inconnues dans mon montage mais cette observation pour le programme n'est pas cohérente.

Globalement mon montages est plus complexe, j'ai aussi des sorties pour piloter une résistance de puissance (avec un mosfet) et un micro moteur mais mon problème est là même si ces composants sont à l'arrêt. Tout est alimenté par l'Arduino (sauf le mosfet évidemment) mais logiquement je suis en dessous des intensités admissibles.

Je sais que je ne donne pas trop de détails mais c'est assez long à expliquer.

Sur la platine I2C les deux capteurs T et Humidité sont totalement équivalents, sortes en 10V (que je divide par 2 par 2 ponts diviseurs identiques) et l'humidité est toujours bonnes quoi que je fasse (motif du montage et/ou programme) donc c'est positif mais le capteur de T lui est sensible au reste du montage ou programme...bizarre bizarre.

Si vous avez une idée pour m'aider car c'est un projet pour mon travail donc important !!!

Merci d'avance...

2

Re : Interférences entre capteurs

Bonjour,

Pour mieux vous expliquer j'ai fait un dessin de mon montage. L'ensemble est alimenté par une alim stabilisée 9V 30W.

Le convertisseur I2C/analogique qui dispose également d'un affichage lcd ne consomme que 4mA (je l'alimente directement avec une sortir 5V de l'Arduino UNO). Les sorties analogiques ne doivent pas dépasser 10mA et suite à des essais j'utilise des résistances de 1Mohms car en mettant moins j'avais une trop forte chute de tension.

Je ne sais vraiment pas pourquoi le capteur TMP36 perturbe les valeurs de T venant de l'I2C alors que l'humidité reste ok. Certes toute l'alimentation est assurée par l'Arduino (sauf le 9V du mosfet) mais ça devrait passer.

Merci pour votre aide !!!

http://s29.postimg.org/lvu54rdkz/Montage.jpg

Re : Interférences entre capteurs

Es ce que le problème change lorsque tu échange les entrées analogiques des deux capteurs venant du convertisseur I2c ?

Petite question pourquoi tu n'utilise pas le bus I2c de l'uno? tension des sondes trop hautes?

Ce sont des résistances 1 MégaOhms pour les ponts diviseur?

Dernière modification par thib974 (20-05-2014 15:09:18)

4

Re : Interférences entre capteurs

Je vais faire l'essai sous peu en intervertissant les entrées.

Oui j'ai mis des 1 Mohms pour le pont diviseur. Au départ j'avais mis moins mais j'avais une forte baisse de tension ; plus les R étaient élevées et plus mes tensions étaient fidèles alors j'ai mis les 1Mohms. Est-ce un pb ? C'est peut-être à cause des sorties analogiques qui ne supportent que 10mA (données constructeur et sortie en 10V)

Le fabricant des capteurs numériques propose un affichage LCD donc une solution complète et surtout fiable et c'est ce dont j'avais besoin. Par chance ce module d'affichage propose des sorties analogiques que j'utilise avec mon UNO pour piloter mon installation. Comme je ne maîtrise pas l'I2C et qu'il s'agit de matériel de laboratoire et que j'ai le budget j'ai privilégié le gain de temps et l'efficacité.

Re : Interférences entre capteurs

Si je me trompe pas à 10v avec une résistance de 1Mohms, ça donne un courant de 0.00001A. C'est peux être trop faible par rapport a la sortie du tmp36.

Par contre je n'ai pas compris comment ça ce fait qu'il y est une chute de tension avec des résistance de valeur plus faible??
Dans l'idéale un pont à base de 2KOhms serai suffisant pour sortir un 0.005A à 10v  (R=U/I : 10/0.005=2000)

6

Re : Interférences entre capteurs

Je ne comprends pas non plus pourquoi il y a une chute de tension mais comme c'est avec les 1Mohms que ça fonctionnait le mieux je suis resté avec ces valeurs. Par contre il s'agit juste de la connexion pour les 2 sorties analogiques de mes capteurs d'humidité et T en I2C. Le capteur TMP36 lui est connecté en direct sans pont ni résistance sur une entrée analogique de l'Arduino ; faut-il rajouter une résistance et/ou un condensateur de découplage ou quoi que ce soit pour améliorer le fonctionnement ?

Je vais faire quelques nouveaux essais, intervertir les entrées, remettre des 2kohms et te tiens au courant...

Merci !

7

Re : Interférences entre capteurs

Re. J ai fait des essais.

J ai permuté les 2 entrées analogiques. Ça ne change rien. J ai exactement  les mêmes valeurs et comportement.

J ai aussi essayé de nouveau un pont diviseur avec des 2kohms. Aux bornes de mes sorties analogiques (du module I2C) j ai par exemple 5,5V pour l humidité et sans rien sur les bornes. Si je rajoute les deux R de 2kohms la tension chute à 1,3 V ! Et donc je n ai plus que la moitié des 1,3 V sur le diviseur. C est vraiment étrange.

J ai aussi remarqué que si je mets 2 fois la même commande analogRead à la suite je n ai pas les mêmes valeurs. Traduite en humidité j ai par ex 54% à la première mesure et ensuite 59, et ce 59 reste constant si je lis encore plus de fois la sortie.
Inversement si je lis l humidité, puis la T, puis à nouveau l humidité, j obtiens 59 puis 53%.
Je ne sais pas si c est possible mais c est comme si lire les valeurs d une sortie du module I2C faisait fluctuer les valeurs de ce dernier et modifie la lecture de l autre capteur.

A force je n y comprends plus rien !

Pour info, le fabricant des capteurs est IST  www.ist-ag.com  onglets Humidity modules. Le capteur est le HYT221 et le module LCD est sur la même page.

J ai l'impression que c est le module I2C qui pose pb mais ne sais pas pourquoi. J ai essayé de l alimenter indépendamment si jamais il pompait trop l Arduino mais ça ne change rien..

Merci !!!

8

Re : Interférences entre capteurs

J ai oublié de préciser que l affichage sur le module I2C est bon et stable, aussi bien pour la T et l humidité. C est donc la conversion en analogique qui pose pb '

9

Re : Interférences entre capteurs

Salut,

Il semblerait que j'ai trouvé la solution mais je suis encore en phase de test. C'est bien la valeur des R pour le pont diviseur qui serait en cause.
Si je mets trop (1Mohms) l'intensité doit être trop basse et j'ai des perturbations dans mes mesures, si je mets trop peu (qq ohms) ça remonte l'intensité mais pour une raison inconnue la tension de change plus aux bornes des sorties analogiques du module I2C. Bref j'ai mis des 22kohms et ça donne un compromis qui à l'air de fonctionner.

Par contre le TMP36 donne de temps en temps de valeurs aberrantes. Ca m'indique des T très basses synonyme d'une tension du signal proche de 0. Est-il possible de rajouter soit une R en série avec le capteur et/ou un condensateur pour filtrer les perturbations oucela ne servira à rien ? Je vais peut être aussi faire une moyenne sur qq valeurs mais ça ne corrige pas la source du pb.

Merci !

10

Re : Interférences entre capteurs

content de voir que tu as résolut le problème principal.

Pour la tmp36, tu peux effectivement ajouter des condensateur, un pour filtrer la tension d'entré au cas ou les autres composant créent des perturbation (si tu a un oscilloscope tu peux le vérifier).  Un sur le signal de sortie pour lisser un peu. Tu peux aussi torsader les 3 fils ensemble pour réduire les perturbations électromagnétiques.

Pour avoir tenté d'utiliser une tmp36 pour un manomètre de voiture je trouve que les ctn sont beaucoup plus stables, mais moins réactive. j'avais des variation de ± 4 degrés avec un condensateur 10uF sur le signal. J'ai même testé un filtre a base AOP mais sans gain réel. Pour ce qui est de la moyenne, j'ai testé aussi et c'est pas super parce que le signal fluctue beaucoup trop, du coup la moyenne est toujours en retard sur la température réel.

Dernière modification par thib974 (23-05-2014 10:50:26)

11

Re : Interférences entre capteurs

J'ai aussi abandonné les TMP36, trop instables à mon goût