Nous avons 50 invités et aucun membre en ligne

Allez voir ma vidéo Youtube : [9] Programmation en C : Convertisseur Analogique / Numérique (ADC)

Les composants ADC (Analog/Digital Converter) servent à lire des données analogiques pour les interpréter de façon numérique ou informatique.

Une grandeur analogique est le résultat d’une mesure d’un « signal » qui est en constant changement. Tous les phénomènes que l'on retrouve dans la nature fournissent des grandeurs analogiques. La température, l'humidité, la tension ou la lumière sont des exemples dont la valeur de la mesure est une grandeur analogique. Pour pouvoir enregistrer ces valeurs dans un ordinateur, il faut convertir les grandeurs analogiques en valeurs numériques.

Les convertisseurs analogique/numérique ont une résolution qui permet de traduire la grandeur mesurée de façon numérique. La résolution la plus commune est celle de 10-bits, ce qui offre 1024 possibilités. Avec 8-bits, on obtient 256 possibilités tandis qu’avec 12-bits, on obtient 4096 possibilités. Plus votre convertisseur a de possibilités, plus la résolution est fine.

Si l’on prend le cas d’un microcontrôleur de la famille standard fonctionnant sous 5V avec un convertisseur 10-bits, on a 1024 possibilités sous 5V. Donc, 5V/1024 = 4.88 mV. On obtient une résolution de 4.88 mV avec un tel convertisseur. Cela veut dire que la grandeur analogique pourra être convertie par sauts de 4.88 mV sur une échelle allant de 0 à 5V. C'est une très bonne résolution pour la plupart des projets électroniques, mais si vous voulez concevoir un appareil de haute précision, il faudra se tourner vers un convertisseur offrant une meilleur résolution soit 16-bits ou plus. (Sous 16-bits, on obtient une résolution de 76.29 µV)

Du côté logiciel, il existe deux registres importants à initialiser pour bien utiliser les convertisseurs analogique/numérique. Le premier est le registre ANSEL (Analog Select). Ce registre permet de définir si les broches (pin) du microcontrôleur sont utilisées de façon analogique ou de façon numérique. Le deuxième registre à initialiser pour permettre le fonctionnement du convertisseur est le registre ADCON (Analog/Digital Control). Ce registre permet d'initialiser les paramètres du convertisseur comme la tension de référence ou le statut de la conversion. Il ne faut pas oublier d'initialiser la broche (pin) utilisée pour la conversion analogique/numérique comme une entrée dans le registre TRISx.

Si vous utilisez le convertisseur avec tous les paramètres par défaut, vous pouvez utiliser la commande «ADC_Init;». Cette commande est propre au logiciel MikroC Pro qui intègre une librairie conçue pour les convertisseurs ADC. Cette commande initialise les paramètres par défaut du convertisseur, alors si vous utilisez cette commande, les deux registres précédents ne sont pas nécessaires.

Finalement, pour faire la lecture du convertisseur, il suffit d'utiliser la librairie intégrée au compilateur MikroC Pro. En indiquant la commande :

Variable = ADC_Read(x);

Dans cet exemple, la variable doit pouvoir contenir la valeur numérique de la conversion. Si on utilise un convertisseur 10-bits, il faut utiliser au minimum une variable de type int. La fonction ADC_Read() demande un paramètre d'entrée. Ce paramètre est la broche (pin) du microcontrôleur choisie pour faire la lecture analogique. Par exemple, si vous utilisez la broche AN0, il faudra inscrire ADC_Read(0) tandis que si vous prenez AN2, il faudra indiquer ADC_Read(2).

Sans abonnement Abonnés et Abonnés VIP
 <--- Schéma  <--- Schéma Complet
<--- Code en Hexa    <--- Code en C modifiable

Allez voir ma vidéo Youtube : [9] Programmation en C : Convertisseur Analogique / Numérique (ADC)