Arduino Nano: mesure de minuscules tensions avec une entrée analogique

9

J'ai besoin de mesurer 0v à 40mV aussi précisément que possible avec l'ADC 10 bits sur un Arduino Nano . Je n'ai besoin que d'un échantillon par seconde environ.

J'ai l'intention de maintenir la broche AREF à 40 mV au-dessus du sol, de bien protéger tout, d'utiliser des filtres passe-bas dans le matériel et les logiciels et d'utiliser une alimentation correctement lissée.

  • Quelle sorte de précision suis-je susceptible d'obtenir?

  • Que puis-je faire d'autre pour améliorer la précision?

CL22
la source
Consultez la fiche technique de votre contrôleur pour connaître les tensions de référence de bande interdite disponibles. Concevez ensuite un amplificateur qui amplifie le signal maximum à un niveau inférieur à cette tension de référence.
jippie

Réponses:

9

Il y a de meilleurs experts sur l'ADC du Nano que moi, mais je suis sûr qu'il y aura des problèmes, je suggère donc un amplificateur à coup sûr. Je recommanderais un ampli opérationnel fonctionnant à partir de 5V (ou tout ce que le nano utilise) et 0V. L'amplificateur opérationnel aura besoin de capacités rail-à-rail en entrée et en sortie et sera configuré en mode non inverseur avec un gain qui convertit 40mV en pleine échelle sur le nano.

entrez la description de l'image ici

Si la pleine échelle est (disons) 3V, vous aurez besoin d'un gain de 3 / 0,04 = 75. Cela signifie que R2 / R1 = 74 (75 moins 1).

R1 sera heureux d'être 100 ohms et donc R2 sera 7400 ohms (7k5 en parallèle avec 560k donne 7k401 qui, espérons-le, sera assez proche. L'ampli-op ne doit fonctionner qu'à des vitesses lentes après avoir lu votre question et il y en a plusieurs appareils qui conviendront. Tenez le feu pendant que je poste la réponse et jetez un œil ...

le AD8538 semble convenable, tout comme l'AD8628, mais il y en a probablement plusieurs autres qui conviennent facilement à la facture

Andy aka
la source
1
La pleine échelle est Vcc, mais fournir une tension de référence sur la broche AREF permet une référence pleine échelle plus faible si nécessaire. Cependant, l'amplification est toujours souhaitable, car AREF en dessous de 1,0 Volts ne fonctionne pas AFAIC (aucune preuve documentaire, juste quelques problèmes que j'ai rencontrés).
Anindo Ghosh
Pourquoi pas des résistances E12 plus courantes? Le rapport exact n'est pas trop important, tant que vous savez le compenser. Par exemple. 12k ÷ 150 = 80 ou 33k ÷ 470 ≈ 70. Bien sûr, c'est le cas pour la tension de sortie 3V, qui n'est probablement pas optimale.
jippie
@jippie Je suis totalement d'accord mais ma réponse "suggère" comment mettre les résistances en parallèle et je ne savais pas si l'OP le savait. Il a obtenu une réponse supplémentaire gratuitement !!
Andy aka
+1 pour la suggestion d'ampli op, l'AD8538 est un favori personnel, en particulier dans le package SOT23 - pas de broches dénuées de sens, excellent comportement thermique.
Anindo Ghosh
1
@AnindoGhosh - 20 mois après. La fiche technique d'ATMega328 ne semble indiquer nulle part dans ses 650 pages quelle plage de valeurs est valide pour la tension Aref appliquée EXTÉRIEUREMENT MAIS tous les nombreux graphiques où elle est mentionnée ont une limite inférieure de 1,8 V :-(. Vcc peut être> = 1,8 V et AVcc peuvent être Vcc-0,3 V, donc aussi bas que 1,5 V. est légal. L'utilisation de la référence de bande interdite interne de 1,1 V donne une tension ADC max inférieure. Le V_ARef externe inférieur PEUT être légal mais ce n'est pas certain.
Russell McMahon
1

Je n'avais pas prévu à l'origine d'ajouter cela comme réponse, mais il semble important de le laisser se noyer quelque part dans les commentaires.

C'est la chose la plus importante, de recourir à la fiche technique de votre microcontrôleur. Et si j'ai raison sur Arduino Nano ayant ATmega 168, voici la fiche technique . Les caractéristiques électriques sont une section que vous devez connaître et vérifier en premier.

Le point est le suivant: la tension de référence minimale est de 1,0 V - vous pouvez le voir sur la page 311. Vous devrez amplifier votre signal au moins par un facteur de 25 pour obtenir une précision raisonnable, jusqu'à une référence de tension minimale.

Maintenant, le meilleur choix d'éléments que je connaisse (bien que je connaisse à peine le sujet) nécessiterait un amplificateur opérationnel à faible bruit, capable de fonctionner comme rail à rail comme @Andyaka l'a souligné, fonctionnant de préférence à votre tension d'alimentation. Ensuite, je pense que le meilleur choix de la référence de tension est celui interne. Même si elles peuvent varier selon les appareils, je pense que la stabilité devrait être la plus raisonnable. De plus, votre choix de résistances doit se situer dans des résistances inférieures plutôt que supérieures, car elles sont plus résistantes au bruit. N'oubliez pas leur stabilité dans le temps et les changements de température!

La meilleure configuration des amplificateurs peut varier - un amplificateur non inverseur peut être bon pour commencer, mais son impédance d'entrée élevée peut ne pas fonctionner correctement avec votre signal (bien qu'il devrait être OK).

TNW
la source
1
Pourquoi une haute impédance d'entrée ne fonctionne pas bien avec le signal? Les GPIO Arduino en mode d'entrée sont tous à haute impédance d'entrée, soit dit en passant, comme aussi la plupart des ADC.
Anindo Ghosh
1
@AnindoGhosh Si la source du signal doit être chargée pour mesurer et que cela n'est pas fait correctement. Je ne peux rien dire sur la nature du signal OP. Je pense que la suggestion de mon article était trop sévère sur l'amplificateur - cela ne devrait probablement pas se produire, mais une impédance d'entrée élevée est une chose que je pense qu'il vaut mieux être conscient.
TNW
Je pense que le chargement d'une source de signal si nécessaire est une science bien connue et, de la même manière, les concepteurs s'efforcent généralement d'obtenir une impédance d'entrée élevée et une impédance de sortie faible. D'où mon downvote sur cette déclaration sans réserve.
Anindo Ghosh
1
@AnindoGhosh Je pense qu'il serait préférable de supposer que la personne en sait moins que plus (surtout que la référence 40mV m'a rendu suspect). Je voulais souligner que le choix entre un amplificateur inverseur et non inverseur ne dépend pas seulement de la possibilité de permettre un changement de polarité.
TNW
-4

Vous devez utiliser un amplificateur pour une précision maximale.

Leon Heller
la source
Merci - mais pourquoi? Les étapes supplémentaires n'augmenteraient-elles pas le bruit et les inexactitudes? Quel type de circuit amplificateur donnerait les meilleurs résultats?
CL22
1
Je suppose qu'un amplificateur opérationnel à faible bruit en configuration non inverseuse pourrait faire l'affaire, tant que vous utilisez des résistances stables pour maintenir le gain de tension.
TNW
3
Pour quelqu'un qui réprimande d'autres utilisateurs pour ne pas avoir fourni d'informations, cette réponse est sans équivoque. Pourriez-vous peut-être ajouter des schémas ou des détails supplémentaires?
Chris Laplante