entrées analogiques

L'arduino possède plusieurs entrées analogique. par exemple l'arduino uno en possède 6 nommées de A0 à A5. Avec une image c'est plus clair.

tension de référence

Un niveau logique 0 ou 1 représentera électriquement une tension correspondante.
Avec le microcontroleur utilisé sur la carte arduino un niveau logique 0 représentera une tension de 0v par contre un niveau logique 1 sera représenté par la tension d'alimentation du microcontroleur. si celui-ci est alimenté en 5v un niveau logique 1 sera représenté par un 5v.
Sur la plupart des cartes arduino le microcontroleur est alimenté en 5v mais certaines cartes comme l'arduino pro mini peuvent être alimentée en 3,3v. Si vous développez vous même une carte il peut aussi être plus intéressant alimenté le microcontroleur en 3,3v par exemple afin d'alimenter votre montage avec une baterie lipo (3,7v).
Donc un niveau 1=tension du microcontroleur.
Oui mais on peut changer la tension de référence… En clair on peut demander dans notre programme de prendre une autre tension que celle du microcontroleur pour faire les calculs de échantillonnage. Cette partie est expliqué dans la partie tension_de_reference.

AREF

Ce qui nous intéresse d'un point de vue électronique c'est le cas où l'on choisi de faire les calculs à partir d'une référence de tension externe.
!!! Cette tension de doit en aucun cas dépasser la tension d'alimentation du microcontroleur. Si cette tension est plus élevé il faudra l'abaisser par exemple avec un pont diviseur de tension comme expliqué ci-après.
voici la broche concerné (sur un arduino uno):

Introduction

Pour simplifier les explications des les exemples qui vont suivre nous établirons que la tension de référence est 5v (c'est le cas que vous rencontrez le plus souvent). À vous d'adapter les calculs si vous travaillez avec une autre tension

Contrairement à une entrée numérique qui ne peut lire qu'une valeur 0 ou 1 ( 1→ 5v et 0→0V) l'entrée analogique peut lire les différentes valeurs de tension comprises entre 0v et 5v. par exemples 2,25v ; 0,89v ; 4,9v etc…
Le microcontroleur va effectuer une conversion analogique vers numérique (CAN). la précision du résultat dépend du nombre de bits du convertisseur. les CAN de l'arduino sont sur 10bits ce qui nous donne une une plage de 0 à 1023.
La tension la plus basse (0v) donnera 0.
La tension la plus élevée (5v) donnera 1023

Une entrée analogique possède 2 principales limitations:

  • la plage de tension.celle-ci devra se trouver dans la plage de 0v à 5v.
  • la fréquence d’échantillonnage n'est pas très élevée. On ne pourra pas par exemple numériser un signal audio. pour faire de la conversion à des fréquences plus élevées il faudra faire appel à des composants spécialisés.

Le pont diviseur

Le diviseur de tension est un montage électronique simple qui permet de diviser une tension d'entrée. https://fr.wikipedia.org/wiki/Diviseur_de_tension.
Nous allons ici nous attarder un peu sur ce montage car il est très utilisé pour obtenir une plage de tension avec par exemple un potentiomètre ou différents capteurs résistifs.

Sur sur ce schéma U=5v et U2 va dépendre de la valeur de R1 et R2. Voici la formule qui va bien:
U2 = U * (R2 / (R1 + R2))
Voici un site qui permet de faire le calcul automatiquement (si vous avez la flemme de faire un feuille de calcul…) calculateur diviseur de tension
On n'est pas obligé de connaître la formule par cœur par contre il y a 2-3 choses à retenir:

  • plus R1>R2 plus U2 sera élevée jusqu'à atteindre U si R1=0. donc si R1=0ohm U2 = U.
  • plus R1>R2 plus U2 baisser jusqu'à atteindre 0v. donc si R2=0ohm U2 = 0v.
  • Un pont diviseur consomme du courant en fonction de la valeur de R1 et R2.

Même si obtiendra la même tension U2 en prenant R1=R2=10k ohm ou R1=R2=10ohm. On peut le calculer facilement avec la formule U=R*I. Si on prend 10k ohm pour R1 et R2. nous avons U=5v R=R1+R2=20k ohm.
si U=R*I on a I=U/R donc:
I=5/10000 donc I=0,25 mA

refaisons le calcul en prenant 10ohm pour R1 et R2. nous avons U=5v et R=R1+R2=20 ohm.
I=U/R donc:
I=5/20 donc I=250mA
Ce qu'il faut garder à l'esprit c'est que plus les résistances sont faibles plus le montage consomme. c'est important d'avoir toujours à l'une idée du courant consommé par votre montage.
En pratique on prend souvent des résistances de 1k ou 10k.

Essai 1: avec un potentiomètre


Dans le schéma ci-dessus on a placé un potentiomètre de 10k connecté à ses extrémités sur le 5v et la masse la 3eme patte étant connectée sur la entrée A0 de l'arduino.

Il faut voir un potentiomètre (résistance variable) comme 2 résistances en série.

Donc on peut calculer la tension sur l'entrée A0 de l'arduino en faisant varier la valeur de ses 2 résistances en série. la somme de ses 2 résistances étant bien sûr égal à 10k ohm (sans compter les marges d'erreur de la résistance variable 5%, 1%,… en fonction de la précision du composant choisi).

Quelques petits schéma pour illustrer tout ça:

essai 2: avec une LDR

La résistance d'une LDR (Light Dependent Resistor) varie en fonction de la luminosité qu'elle reçoit.

Voici à quoi ressemble ce composant:

Voici un lien vers ce composant sur lequel vous pourrez trouvez le datasheet. |photoréstistance VT90N1 (j'ai choisi ce composant un peu au hasard parce que la photo était explicite…)

Dans le datasheet on peut voir que la résistance varie de 6K à 10lux jusqu'à 200k dans l'obscurité.
Connectons ce composant sur l'entrée A0 de l'arduino en série avec une résistance de 10k:


Si on remplace la LDR par une résistance on voit bien que l'on a à faire un pont diviseur de tension:


En reprenant la formule du pont diviseur voici ce que ça donnerait à différentes luminosités.
Soit R1 la photorésistance et R2 = 10k.
Dans l'obscurité R1=200k ce qui nous donnerait une tension de 0,238v (j'ai la flemme de remettre le calcul …)
En pleine lumière (10lux) R1=6k ce qui nous donnerait une tension de 3,125v.
Pour finir prenons une valeur intermédiaire au pif R1=75k ce qui nous donnerait une tension de ~0,6v.

Dans cet exemple la valeur de R2 pourrait être mieux choisi mais mais on on pu voir ici le principe de mise en œuvre d'un capteur résistif.
petit rappel: toujours garder à l'esprit la consommation maximum dans le cas où le capteur ait une résistance minimum (dans l'exemple ci-dessus 6k)

plage de tension > 5v

On peut être amener à mesurer une tension analogique supérieure à 5v.
Par exemple si vous alimentez votre montage avec une batterie de 9v et que vous voulez lorsque que votre batterie est faible et que la tension passe sous un certain seuil.
en construction


elec/analog_in.txt · Dernière modification: 2016/05/18 14:52 par admin_memo