- Le monde analogique avec l'électronique numérique
- Qu'est-ce que l'ADC et comment l'utiliser?
- Résolution (bits) et canaux dans ADC
- Tension de référence pour un ADC
- Exemple
- Types ADC et fonctionnement
- Quelques questions fréquemment posées sur l'ADC
Le monde analogique avec l'électronique numérique
Il y a quelques années, tous les appareils électroniques que nous utilisons aujourd'hui comme les téléphones, les ordinateurs, les téléviseurs, etc. étaient de nature analogique. Puis, lentement, les téléphones fixes ont été remplacés par des téléphones mobiles modernes, les téléviseurs et moniteurs CRT ont été remplacés par des écrans LED, les ordinateurs avec tubes à vide ont évolué pour être plus puissants avec des microprocesseurs et des microcontrôleurs à l'intérieur, etc.
À l'ère numérique d'aujourd'hui, nous sommes tous entourés d'appareils électroniques numériques avancés, cela pourrait nous induire en erreur en pensant que tout ce qui nous entoure est de nature numérique, ce qui n'est pas vrai. Le monde a toujours été de nature analogique, par exemple tout ce que nous, les humains, ressentons et expérimentons comme la vitesse, la température, la vitesse de l'air, la lumière du soleil, le son, etc. sont de nature analogique. Mais nos appareils électroniques qui fonctionnent sur des microcontrôleurs et des microprocesseurs ne peuvent pas lire / interpréter ces valeurs analogiques directement car ils ne fonctionnent que sur des 0 et des 1. Nous avons donc besoin de quelque chose qui convertisse toutes ces valeurs analogiques en 0 et 1 afin que nos microcontrôleurs et microprocesseurs puissent les comprendre. Ce quelque chose s'appelle les convertisseurs analogique-numérique ou ADC pour faire court. Dans cet article, nous allons apprendretout sur ADC et comment les utiliser.
Qu'est-ce que l'ADC et comment l'utiliser?
Comme indiqué précédemment, ADC signifie conversion analogique-numérique et il est utilisé pour convertir les valeurs analogiques du monde réel en valeurs numériques telles que 1 et 0. Alors, quelles sont ces valeurs analogiques? Ce sont ceux que nous voyons dans notre vie quotidienne comme la température, la vitesse, la luminosité, etc. Mais attendez !! Un ADC peut-il convertir la température et la vitesse directement en valeurs numériques telles que 0 et 1?
Non, pas de défi. Un CAN ne peut convertir que des valeurs de tension analogiques en valeurs numériques. Ainsi, quel que soit le paramètre que nous souhaitons mesurer, il doit d'abord être converti en tension, cette conversion peut être effectuée à l'aide de capteurs. Par exemple, pour convertir les valeurs de température en tension, nous pouvons utiliser une thermistance de la même manière pour convertir la luminosité en tension, nous pouvons utiliser un LDR. Une fois qu'il est converti en tension, nous pouvons le lire à l'aide des ADC.
Afin de savoir comment utiliser un ADC, nous devons d'abord nous familiariser avec certains termes de base tels que la résolution des canaux, la plage, la tension de référence, etc.
Résolution (bits) et canaux dans ADC
Lorsque vous lisez la spécification d'un microcontrôleur ou d'un circuit intégré ADC, les détails de l'ADC seront donnés en utilisant les termes canaux et résolution (bits). Par exemple, l'ATmega328 d'un Arduino UNO dispose d'un ADC 8 canaux 10 bits. Toutes les broches d'un microcontrôleur ne peuvent pas lire la tension analogique, le terme 8 canaux signifie qu'il y a 8 broches sur ce microcontrôleur ATmega328 qui peuvent lire la tension analogique et chaque broche peut lire la tension avec une résolution de 10 bits. Cela variera pour différents types de microcontrôleurs.
Supposons que notre plage ADC soit de 0V à 5V et que nous ayons un ADC 10 bits, cela signifie que notre tension d'entrée 0-5 Volts sera divisée en 1024 niveaux de valeurs analogiques discrètes (2 10 = 1024). Signification 1024 est la résolution pour un ADC 10 bits, de même pour une résolution ADC 8 bits sera 512 (2 8) et pour une résolution ADC 16 bits sera 65 536 (2 16).
Avec cela, si la tension d'entrée réelle est de 0 V, l'ADC du MCU le lira comme 0 et s'il est de 5 V, le MCU lira 1024 et s'il se situe quelque part entre 2,5 V, le MCU lira 512. Nous pouvons utiliser les formules ci-dessous pour calculer la valeur numérique qui sera lue par le MCU en fonction de la résolution de l'ADC et de la tension de fonctionnement.
(Résolution ADC / Tension de fonctionnement) = (Valeur numérique ADC / Valeur de tension réelle)
Tension de référence pour un ADC
Un autre terme important que vous devez connaître est la tension de référence. Lors d'une conversion ADC, la valeur de la tension inconnue est trouvée en la comparant à une tension connue, cette tension connue est appelée tension de référence. Normalement, tous les MCU ont une option pour définir la tension de référence interne, ce qui signifie que vous pouvez définir cette tension en interne sur une valeur disponible à l'aide d'un logiciel (programme). Dans une carte Arduino UNO, la tension de référence est réglée sur 5 V par défaut en interne, si nécessaire, l'utilisateur peut définir cette tension de référence en externe via la broche Vref également après avoir effectué les modifications requises dans le logiciel.
N'oubliez pas que la valeur de tension analogique mesurée doit toujours être inférieure à la valeur de tension de référence et que la valeur de tension de référence doit toujours être inférieure à la valeur de tension de fonctionnement du microcontrôleur.
Exemple
Ici, nous prenons l'exemple de l'ADC qui a une résolution de 3 bits et une tension de référence de 2 V. Ainsi, il peut mapper la tension analogique 0-2v avec 8 (2 3) niveaux différents, comme indiqué dans l'image ci-dessous:
Ainsi, si la tension analogique est de 0,25, la valeur numérique sera 1 en décimal et 001 en binaire. De même, si la tension analogique est de 0,5, la valeur numérique sera de 2 en décimal et de 010 en binaire.
Certains microcontrôleurs ont un ADC intégré comme Arduino, MSP430, PIC16F877A mais certains microcontrôleurs ne l'ont pas comme 8051, Raspberry Pi, etc. et nous devons utiliser des circuits intégrés de conversion analogique-numérique externes comme ADC0804, ADC0808.
Vous trouverez ci-dessous divers exemples d'ADC avec différents microcontrôleurs:
- Comment utiliser ADC dans Arduino Uno?
- Tutoriel ADC Raspberry Pi
- Interfaçage ADC0808 avec microcontrôleur 8051
- Voltmètre numérique 0-25V utilisant un microcontrôleur AVR
- Comment utiliser ADC dans STM32F103C8
- Comment utiliser ADC dans MSP430G2
Types ADC et fonctionnement
Il existe de nombreux types d'ADC, les plus couramment utilisés sont le Flash ADC, le Dual Slope ADC, l'Approximation Successive et le Dual Slope ADC. Expliquer comment chacun de ces travaux de l'ADC et la différence entre eux serait hors de portée de cet article car ils sont assez complexes. Mais pour donner une idée approximative, l'ADC a un condensateur interne qui sera chargé par la tension analogique à mesurer. Ensuite, nous mesurons la valeur de la tension en déchargeant le condensateur sur une période de temps.
Quelques questions fréquemment posées sur l'ADC
Comment mesurer plus de 5V en utilisant mon ADC?
Comme indiqué précédemment, un module ADC ne peut pas mesurer une valeur de tension supérieure à la tension de fonctionnement du microcontrôleur. C'est-à-dire qu'un microcontrôleur 5V ne peut mesurer qu'un maximum de 5V avec sa broche ADC. Si vous voulez mesurer quelque chose de plus que cela, vous voulez mesurer 0-12V, vous pouvez mapper le 0-12V en 0-5V en utilisant un diviseur de potentiel ou un circuit diviseur de tension. Ce circuit utilisera une paire de résistances pour mapper les valeurs d'un MCU, vous pouvez en savoir plus sur le circuit diviseur de tension en utilisant le lien. Pour notre exemple ci-dessus, nous devrions utiliser une résistance de 1K et une résistance de 720 ohms en série avec la source de tension et mesurer la tension entre les résistances, comme indiqué dans le lien ci-dessus.
Comment convertir les valeurs numériques de l'ADC en valeurs de tension réelles?
Lorsque vous utilisez un convertisseur ADC pour mesurer la tension analogique, le résultat obtenu par le MCU sera en numérique. Par exemple, dans un microcontrôleur 10 bits 5V lorsque la tension réelle à mesurer est de 4V, le MCU le lira comme 820, nous pouvons à nouveau utiliser les formules décrites ci-dessus pour convertir le 820 en 4V afin que nous puissions l'utiliser dans notre calculs. Permet de vérifier la même chose.
(Résolution ADC / Tension de fonctionnement) = (Valeur numérique ADC / Valeur de tension réelle) Valeur de tension réelle = Valeur numérique ADC * (Tension de fonctionnement / Résolution ADC) = 820 * (5/1023) = 4,007 = ~ 4V
J'espère que vous avez une bonne idée de l'ADC et comment les utiliser pour vos applications. Si vous rencontrez un problème pour comprendre les concepts, n'hésitez pas à poster vos commentaires ci-dessous ou à les écrire sur nos forums.