Clarification de l'exemple d'entrée analogique Arduino


8

Tout d'abord, je suis un expert absolu en électronique.

Récemment, j'ai reçu un Arduino Nano. Maintenant, j'essaie de comprendre pourquoi il n'y a pas de potentiomètre nominal à l' exemple http://arduino.cc/en/Tutorial/ReadAnalogVoltage et comment la variation de ce nominal affecterait les lectures d'entrée analogique.

Aussi pourquoi sur http://arduino.cc/en/Tutorial/AnalogReadSerial exemple, ils ont choisi un potentiomètre 10k, ce qui serait différent avec un potentiomètre 200k.

Merci!

Réponses:


12

Il n'y aurait aucune différence dans la tension de sortie d'essuie-glace d'un potentiomètre (non chargé), ils fonctionnent tous de la même manière.

Cependant, l'entrée analogique de votre Arduino recommande une impédance de source inférieure à 10kOhm, pour des performances optimales. Cela est dû au temps nécessaire pour charger l'échantillon et maintenir le condensateur, qui peut être considéré comme une impédance dynamique . L'image ci-dessous est tirée de la fiche technique AtMega328 (le microcontrôleur autour duquel l'Arduino est basé):

Impédance d'entrée analogique

Ne vous inquiétez pas trop si vous ne comprenez pas complètement cela en ce moment, acceptez simplement que nous avons besoin d'une impédance de source inférieure à 10kOhms.

Maintenant, comment calculer l'impédance de sortie d'un potentiomètre?

Pour plus de détails, examinez l' impédance équivalente de Thevenin . Cela nous dit que la résistance de sortie maximale de l'essuie-glace d'un pot est 1/4 de sa résistance mesurée de haut en bas (lorsque l'essuie-glace est au centre) Donc, si votre pot est de 10k, la résistance de sortie maximale est de 2,5k .
Voici une simulation d'un pot de 10k balayé d'un bout à l'autre:

Pot Sim

L'axe X représente la rotation de 0 à 100% (ignorez les valeurs réelles indiquées) L'axe Y est l'impédance de sortie mesurée au niveau de l'essuie-glace. Nous pouvons voir comment il commence et se termine à 0 ohms et culmine à 2,5 kOhms au milieu (50%)
C'est confortablement moins que l'impédance de source recommandée de 10 k.
Ainsi, vous pouvez utiliser n'importe quelle valeur de pot entre par exemple 100 ohms et 40k comme diviseur de tension.

EDIT - pour répondre à la question de ce qui se passe si nous utilisons un pot de 200k:

Comme il est dit dans l'extrait de la fiche technique, plus l'impédance de la source est élevée, plus le condensateur S / H met plus de temps à se charger. S'il n'est pas complètement chargé avant la lecture, la lecture affichera une erreur par rapport à la valeur réelle.

Nous pouvons déterminer combien de temps le condensateur doit charger à 90% de sa valeur finale, la formule est:

2,3 * R * C

Après 1 constante de temps RC, la tension est à ~ 63% de sa valeur finale. Après 2,3 constantes de temps, il est à ~ 90% comme ci-dessus. Ceci est calculé par 1 - (1 / e ^ (RC / t)) où e est le logarithme naturel ~ 2,718. Par exemple, pour 2,3 constantes de temps, ce serait 1 - (1 / e ^ 2,3) = 0,8997.

Donc, si nous branchons les valeurs indiquées - impédance de source 50k, impédance série 100k (dans le pire des cas) et capacité 14pF:

2.3 * 150k * 14pF = 4.83us pour charger à 90%.

Nous pouvons également calculer la valeur de -3 dB:

1 / (2pi * 150k * 14pF) = 75,8 kHz

Si nous voulons que la valeur finale soit dans les 99%, nous devons attendre environ 4,6 tau (constantes de temps):

4,6 * 150k * 14pF = 9,66us pour charger à 99% - cela correspond à environ 16,5 kHz

Nous pouvons donc voir comment plus l'impédance de la source est élevée, plus le temps de charge est long et donc plus la fréquence lue avec précision par l'ADC est basse.

Dans le cas d'un pot contrôlant une valeur ~ DC, vous pouvez échantillonner à une fréquence très basse et lui donner beaucoup de temps pour se charger, car la fuite est très faible. Je pense donc que 200k devrait être bien dans ce cas. Par exemple, pour un signal audio ou tout autre signal (AC) à haute impédance variable, vous devrez prendre en compte tout ce qui précède.
Ce lien rentre dans quelques bons détails sur les caractéristiques du ATMega328 ADC.


1
Merci beaucoup pour l'explication détaillée! Pouvez-vous préciser comment un potentiomètre supérieur à 40 kΩ affecterait les lectures numériques? Par exemple, multiplions par 5 pour que le potentiomètre soit de 200 kΩ?
AB

@AB - J'ai ajouté plus de détails, j'espère que ça aide. J'ai réalisé que le pot dans votre question est juste utilisé pour faire varier la valeur DC (pas pour contrôler le niveau d'un signal AC) donc une valeur plus élevée devrait être correcte. Vous pouvez effectuer certains de vos propres tests sur l'effet de l'augmentation de l'impédance de la source >> 10k si vous avez une tension connue et faites varier la résistance série.
Oli Glaser

6

Oli vous a montré les informations contenues dans la fiche technique, mais si vous êtes nouveau à ce sujet, son explication peut être un peu exagérée.

L'ADC (convertisseur analogique-numérique) possède un petit condensateur qui contient la tension d'entrée analogique. Ce condensateur se charge à travers la résistance à l'entrée. Une résistance élevée chargera le condensateur plus lentement. 10 kΩ est recommandé comme maximum, donc utiliser un potmètre de cette valeur est OK. Le maximum de 40 kΩ d'Oli est correct, mais cela deviendra clair lorsque vous en apprendrez plus sur Thévenin.


1

D'après mon expérience avec Arduinos, avec des potentiomètres au-delà de 10k, les lectures fluctueront. Je résous ce problème en plaçant un condensateur de 0,1 uf entre l'essuie-glace et la masse. Cela maintient la tension constante pour les lectures analogiques. En utilisant le condensateur, j'ai utilisé des pots jusqu'à 1 mégohm et j'obtiens des lectures solides et stables.


J'aime cela parce que le condensateur .1uF parallèle garantit une source à faible impédance après la commutation de la broche d'entrée. 0,1 uF / 14pf = 7142, et la résolution de l'adc (10 bits) est de 1 sur 1023. Avec des pots extrêmement grands, il y aura un léger délai entre le réglage et la stabilisation de la tension sur la broche d'entrée, mais il est peu probable que cela soit remarqué. Le pot de 4Mohm est de 1Mohm imp. * 0,1 uF = 0,1 s. Donc en 0,46 sec. votre valeur s'établit à 99% du changement!
Dario Dentes

Désolé si cela semble stupide, mais que se passe-t-il si la tension baisse?
HilarieAK
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.