Connexion AREF externe ATMega328


10

À partir de la fiche technique ATMega328 , section 24.9.1:

Les options de référence de tension interne ne peuvent pas être utilisées si une tension de référence externe est appliquée à la broche AREF.

Depuis les pages de référence Arduino :

Alternativement, vous pouvez connecter la tension de référence externe à la broche AREF via une résistance 5K, vous permettant de basculer entre les tensions de référence externes et internes. Notez que la résistance modifiera la tension utilisée comme référence car il y a une résistance interne de 32K sur la broche AREF. Les deux agissent comme un diviseur de tension, donc, par exemple, 2,5 V appliqué à travers la résistance produira 2,5 * 32 / (32 + 5) = ~ 2,2 V au niveau de la broche AREF.

La fiche technique ATMega328 confirme la référence "résistance 32k interne" dans le tableau 29.16 Caractéristiques ADC avec: Résistance d'entrée de référence = 32 kOhm.

Cela étant dit, les deux déclarations ci-dessus semblent s'opposer quelque peu l'une à l'autre. J'ai une application avec certains capteurs produisant une échelle pleine 0-5V et d'autres une sortie pleine échelle 0-1.8V. L'application bénéficierait de la résolution accrue du passage à l'AREF 1,8 V lors de l'échantillonnage des capteurs 1,8 V et du passage à la référence AVCC interne pour les capteurs 5 V.

Les pages de référence Arduino suggèrent que c'est une bonne chose à faire étant donné que vous avez couplé l'AREF 1,8 V via une résistance de série de 5 kOhm et que vous avez pris en compte le diviseur de tension implicite avec la résistance interne de 32 kOhm. Est-ce juste un mauvais conseil de la référence Arduino, ou est-ce en fait une pratique courante de faire ce genre de chose? La déclaration d'Atmel est-elle limitée aux tensions externes appliquées à AREF sans résistance de limitation de courant externe (et si oui pourquoi, étant donné la résistance interne de 32k)?

En passant, évidemment, on pourrait obtenir un résultat similaire avec un ampli-op correctement construit pour mettre à l'échelle les signaux de 1,8 V jusqu'à 5 V, mais la complexité et les pièces supplémentaires semblent inutiles si elles peuvent être gérées par le CAN à bord tout aussi bien. en profitant de la référence de tension modifiable. De même, si vous pouviez vous convaincre que le signal détecté ne dépasserait pas 1,1 V, vous pourriez profiter de la référence de tension interne. Encore une fois, il me semble plus élégant d'utiliser le régulateur 1,8 V avec lequel j'alimente mes capteurs basse tension pour définir la référence.


Aussi, pouvez-vous reformuler "La déclaration d'Atmel est-elle limitée aux tensions externes sans entrave appliquées à AREF?" Je ne comprends pas "restreint à libre". Merci.
Telaclavo

@Telaclavo J'ai rendu la déclaration plus claire (espérons-le)
vicatcu

Je pense que je viens de voir d'où votre confusion pourrait provenir, mais pouvez-vous publier un lien vers le schéma de l'Arduino spécifique que vous utilisez?
Telaclavo

@Telaclavo aucun Arduino spécifique à l'esprit, l'Uno suffirait à titre d'exemple. Sur la carte de base, AREF n'est connecté à aucune source de tension, mais simplement découplé à GND via un condensateur de 100nF. Si j'avais un régulateur de 1,8 V, sur un blindage par exemple, je pourrais en principe le connecter à AREF via les en-têtes de blindage au moyen d'une résistance de 5 kOhm pour référencer le ATMega328 ADC à 1,8 V, puis passer à la référence AVCC interne (qui est câblé à 5V sur l'Uno) dans le logiciel pour référencer le CAN ATMega328 à 5V.
vicatcu

D'accord, j'ai d'abord pensé que la résistance de 5 kohm est incluse dans les Arduinos, mais ce n'est pas le cas. Je viens de mettre à jour ma réponse. Et je pense que votre confusion vient de ne pas reconnaître que la résistance de 32 kohms va d'AREF à la masse . Sinon, je ne comprendrais pas votre "et si oui pourquoi, étant donné la résistance interne de 32k?"
Telaclavo

Réponses:


8

Je ne vois aucun problème avec l'application d'une tension externe, via une résistance de 5 kohms, à l'entrée de référence Arduino. Ou mieux, en utilisant un diviseur de résistance, de sorte que vous transformez 5 V en votre tension AREF souhaitée, tout en présentant une résistance de source d'environ 5 kohm. Cette deuxième exigence n'a pas besoin d'être précise. C'est juste pour limiter le courant qui passera de l'AVCC à la terre, à travers les circuits externes.

schématique

VAREF=5·R2||32000R1+(R2||32000)=Rsource=R1||R2

En résumé: ce serait un mauvais conseil si quelque chose pouvait être endommagé, mais 1 mA n'endommagerait rien.


+1 pour avoir appelé la figure 24-1 ... qui me suggère (également) qu'une résistance de limitation de courant sur AREF est une valeur sûre.
vicatcu

1
Je pense que je préfère accepter une petite chute de tension à AREF et utiliser une seule résistance externe de 5 kOhm pour alimenter 1,8 V à partir d'un régulateur ... mais je trouve votre réponse digne d'acceptation
vicatcu

1

Grande explication concernant la configuration interne du code PIN Aref et également sur le rôle que cette broche joue lorsque l'ADC d'Arduino est utilisé.

Voici mes deux cents. Je viens de modifier un peu le schéma pour préciser que la résistance de 32 kOhms est interne. En plus de cela, j'ai inclus une configuration alternative afin de rendre l'utilisation d'un Vref externe plus sûre.Les équations pour R1 et R2 sont obtenues après avoir limité le courant qui les traverse à 1mA. Le pire scénario (interrupteur interne fermé accidentellement) a été envisagé afin d'obtenir les formules pour R1 et R2.

À votre santé
entrez la description de l'image ici

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.