Amplificateur pour mesure de tension d'un capteur

Bonjour,

Je dois réaliser une centrale d'acquisition à l'aide d'une Arduino pour des capteurs PAR ou RPA , seul problème la tension maximale du capteur est de l'ordre de 60mv.

Donc lorsque je suis à basse tension 10-15mv l'arduino m'affiche la tension avec un décalage de plusieurs mv parfois avec une différence de + ou-50%.

J'ai essayé le même système avec un générateur à la place du capteur pour tester la précision et au dessus de 70-80mv l'arduino affiche la même valeur que le volt-mètre ou la centrale d'acquisition CAMPBELL CR6.

Je suppose donc qu'une tension qui diminue à quelques mv est trop faible pour être mesurée correctement avec une Arduino, je voudrait donc amplifier la tension pour avoir des tensions plus élevées, savez-vous comment je pourrais faire cela ?

Merci

Bonjour

Je suppose donc qu'une tension qui diminue à quelques mv est trop faible pour être mesurée correctement avec une Arduino,

Oui

Amplification par AOP, montage type ampli d'instrumentation à réaliser........avec un bonne connaissance des caractéristiques électriques du capteur (impédance interne par exemple)

Dernièrement un échange sur un pyranometre a permis de suggérer l'utilisation d'un module à HX711 détourné de sa fonction initiale (l'icône Loupe en haut à droite permet des recherches Google sur le forum). On peut le configurer pour les plages suivantes : Voie A : +/- 20mV ou +/- 40mV Voie B : +/- 80mV Le circuit intégré HX711 assure l'amplification (entrée différentielle) et la conversion analogique/numérique sur 24 bits

Le convertisseur analogique du microcontrôleur qui équipe la carte arduino travaille sur 10 bits c'est à dire qui découpe la tension de référence en 1023 pas. Il peut utiliser 3 tensions de référence : - le Vcc est sélectionné par défaut (Norme USB = 5V ± 5 %). - Par programmation : - la tension de référence interne 1,1V ± 10% - une tension appliquée sur Aref comprise entre 1,1V et Vcc

Avec Vcc le pas de mesure est de 5V/1023 = 4,89 mV Avec Vref = 1,1 V le pas de mesure est 1,1 /1023 = 1,07 mV

68tjs: Le convertisseur analogique du microcontrôleur qui équipe la carte arduino travaille sur 10 bits c'est à dire qui découpe la tension de référence en 1023 pas. Il peut utiliser 3 tensions de référence : - le Vcc est sélectionné par défaut (Norme USB = 5V ± 5 %). - Par programmation : - la tension de référence interne 1,1V ± 10% - une tension appliquée sur Aref comprise entre 1,1V et Vcc

Avec Vcc le pas de mesure est de 5V/1023 = 4,89 mV Avec Vref = 1,1 V le pas de mesure est 1,1 /1023 = 1,07 mV

Bonjour,

J'ai choisi le 1,1v mais rien n'y fait la valeur n'est pas juste quand je mesure 14mv je trouve une valeur de CAN de 7 au lieu de près de 13 , alors qu'avec la centrale j'ai bien 14mv

Avec des niveaux aussi faibles il n'y a pas que les capacités de l'appareil de mesure qui compte : il y a la qualité de la mise en œuvre et du câblage. Et aussi avec quelle carte tu fais la mesure.

Encore une fois les règles du forum ne sont pas respectées. Dire "une carte arduino" ne veut rien dire, il existe des dizaines de cartes différentes et au moins 6 microcontôleurs différents. Lire le message épinglé "Règles du forum francophone".

Je reviens à la technique. Déjà rassure nous : le fil de masse qui relie le capteur à la carte arduino est utilisé uniquement par le capteur, rien d'autre n'est connecté dessus ? Les fils de liaisons (masse + signal) qui relient le capteur à la carte arduino sont bien torsadés ensemble, le fil de masse ne fait pas une grosse boucle ?

Soit la mesure est instable, soit le signal est bruité. Pour lever le doute j'utilise un tableur pour analyser les mesures. Je sors une centaine de mesures dans le moniteur série. Je fais une copie que je colle dans le tableur (je te laisse voir pour gérer les nombres avec point comme séparateur décimal et avec virgule comme séparateur décimal --> l'option chercher/remplacer fonctionne très bien)

Pour analyser j'utilise les fonctions statistiques du tableur. Pour commencer 2 fonctions simples : la moyenne et la médiane. - La moyenne c'est simple on aditionne toutes les mesures et on divise par le nombre de mesures. - La médiane c'est la valeur particulière pour laquelle il y a autant de valeurs inférieures que de valeurs supérieures. Si la moyenne est proche de la médiane cela signifie que le bruit est aléatoire (Gaussien) et que pour l'éliminer on a le droit, et il suffit, de faire une simple moyenne. Si ce n'est pas le cas j'utilise la fonction fréquence qui permet une représentation par tranche et je regarde si la courbe globale n'a bien qu'un seul maximum, s'il y en plusieurs c'est que tu as une ou des perturbations qu'il faut identifier.

Astuce : Si tu as un tore ou un noyau magnétique sous la main tu prend les fils de liaison entre ton capteur et la carte arduino, masse + signal [u]en les laissant[/u] torsadés, et tu fais le plus de tours que tu peux dans le tore. Ce principe de câblage permet d'éliminer les chemins parasites générateur de bruit.

Si rien ne fonctionne il faudra amplifier, mais avant d'amplifier de toute façon il faudra un signal propre sinon l'amplificateur amplifiera aussi bien le bruit que le signal utile et pire il ajoutera son propre bruit.

Il y a aussi quelque chose à faire si la carte est une UNO.

68tjs: Avec des niveaux aussi faibles il n'y a pas que les capacités de l'appareil de mesure qui compte : il y a la qualité de la mise en œuvre et du câblage. Et aussi avec quelle carte tu fais la mesure.

Encore une fois les règles du forum ne sont pas respectées. Dire "une carte arduino" ne veut rien dire, il existe des dizaines de cartes différentes et au moins 6 microcontôleurs différents. Lire le message épinglé "Règles du forum francophone".

Je reviens à la technique. Déjà rassure nous : le fil de masse qui relie le capteur à la carte arduino est utilisé uniquement par le capteur, rien d'autre n'est connecté dessus ? Les fils de liaisons (masse + signal) qui relient le capteur à la carte arduino sont bien torsadés ensemble, le fil de masse ne fait pas une grosse boucle ?

Soit la mesure est instable, soit le signal est bruité. Pour lever le doute j'utilise un tableur pour analyser les mesures. Je sors une centaine de mesures dans le moniteur série. Je fais une copie que je colle dans le tableur (je te laisse voir pour gérer les nombres avec point comme séparateur décimal et avec virgule comme séparateur décimal --> l'option chercher/remplacer fonctionne très bien)

Pour analyser j'utilise les fonctions statistiques du tableur. Pour commencer 2 fonctions simples : la moyenne et la médiane. - La moyenne c'est simple on aditionne toutes les mesures et on divise par le nombre de mesures. - La médiane c'est la valeur particulière pour laquelle il y a autant de valeurs inférieures que de valeurs supérieures. Si la moyenne est proche de la médiane cela signifie que le bruit est aléatoire (Gaussien) et que pour l'éliminer on a le droit, et il suffit, de faire une simple moyenne. Si ce n'est pas le cas j'utilise la fonction fréquence qui permet une représentation par tranche et je regarde si la courbe globale n'a bien qu'un seul maximum, s'il y en plusieurs c'est que tu as une ou des perturbations qu'il faut identifier.

Astuce : Si tu as un tore ou un noyau magnétique sous la main tu prend les fils de liaison entre ton capteur et la carte arduino, masse + signal [u]en les laissant[/u] torsadés, et tu fais le plus de tours que tu peux dans le tore. Ce principe de câblage permet d'éliminer les chemins parasites générateur de bruit.

Si rien ne fonctionne il faudra amplifier, mais avant d'amplifier de toute façon il faudra un signal propre sinon l'amplificateur amplifiera aussi bien le bruit que le signal utile et pire il ajoutera son propre bruit.

Il y a aussi quelque chose à faire si la carte est une UNO.

Merci beaucoup et désolé pour le manque de précision et pour ne pas avoir répondu plus tôt, la carte est une mega2560 rev3 Le capteur est un capteur auto alimenté SOLEMS PAR/LE àvec 3 cables un + et un - et un blindage pour la mise à la terre. Dans le but de rejeter certaines causes j'ai relié un générateur de tension en direct à l'arduino et même constat pour des faible tension la valeur sortie par l'arduino fluctue et ne correspond pas à la tension.

J'en ai donc conclu que le problème venait bien de l'arduino et pas du capteur puisque quelque soit la source d'entrée, on trouve tout de même à faible tension une différence significative avec la vraie valeurs ( divisé par 2 ou par 3) et surtout une variabilité importante de la mesure qui est la même quelque soit la tension ( qui varie de +ou- 1 à 2mv) cela ne pose pas de problème a 200 ou 300 mv mais lorsque la tension du capteur n'est que de 20 ou 30mv alors la variabilité peut être plus importante

Etant donné que le problème n’apparaît pas avec la station de mesure CAMPBELL j'en conclue que ce problème vient donc uniquement de l'arduino et donc que l'amplification serait la seule solution, l'objectif étant de multiplier la tension par environ 80 pour avoir un maximum vers 5v