Tags:
create new tag
view all tags

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 :

expected.png

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

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng expected.png r1 manage 37.0 K 2021-11-27 - 15:08 UliRaich  
Topic revision: r1 - 2021-11-27 - UliRaich
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback