Exercices Conversion Analogue - Numérique
Introduction
L'ESP32 possède deux Convertisseurs Analogique - Numérique (Analog to Digital converter, ADC) avec 12 bits de résolution et un convertisseur Numérique - Analogique (Digital to Analog Converter, DAC) de 8 bits. Le but de cet exercice est de démontrer comment on utilise ces convertisseurs et quels sont leurs limitations.
Exercice 1 : Acquérir les valeurs du Convertisseur Analogue - Numérique
Lire la description de l'ADC et DAC dans ce TWiki (
ADCDAC). Connecter la manette de jeux sur les canaux ADC des pins 33 et 34 sur la carte CPU (ces pins sont disponibles seulement sur la carte CPU et non sur le bus WeMos). Mettre l'atténuation à 11 dB. Lire les canaux horizontal et vertical de la manette une fois par second et imprimer le résultat.
Exercice 2 : Variateur de lumière
Connecter un potentiomètre à un canal ADC et lire la tension. Utiliser le potentiomètre comme variateur pour la LED sur la carte CPU.
Exercice 3 : Test de linéarité
Connecter la sortie DAC (pin 26) à un canal ADC (p.e. pin 36). Mettre l'atténuation à 11 dB. Écrire un programme qui produit une rampe sur le DAC (augmentation de valeur 0..255) et qui lit la valeur correspondant sur l'ADC. Tracer le résultat.
On s'attend à une courbe comme celle en dessous :
Exercice 4 :
Dans exercice 3 on voit une forte non-linéarité. Un examen plus approfondi avec un ADC externe montre que c'est l'ADC du ESP32 qui introduit cette non-linéarité. Le DAC est parfaitement linéaire. Il est possible de corriger la non-linéarité par logiciel, ce qui est expliqué dans
ADCDAC. Suivre la procédure et calculer une approximation polynomiale de la courbe ADC versus DAC. Utiliser cette fonction pour corriger la mesure.
--
Uli Raich - 2021-11-27
Comments