Conversion Analogique - Digitale (ADC) et Digitale - Analogique (DAC)

Introduction

L'ESP32 possède deux convertisseurs analogique à digitale 16 bits du type SAR (Successive Approximation Register) et deux convertisseurs Digitale à Analogique de 8 bits. Cherchant des pilotes dans le manuel Micropython je trouve seulement la description de l'ADC. Dans le code source de MicroPython par contre je vois qu’aussi le pilote pour le DAC est disponible.

L'ADC

ADC2 est utilisé pour le WiFi et pour cette raison n'est pas accessible à nous. L'ADC 1 par contre possède une entrée multiplexée et huit canaux sont utilisables (sur les pins 32-39). L'ADC travaille dans un intervalle de 0..1V mais ils existent des atténuateurs pour étendre cette gamme. Une atténuation de 11 dB résulte dans une gamme approximative 0..3.6V.

Le DAC

Les DAC sont accessibles sur les pins 25 et 26. Puisqu’il n'y a pas de descriptions dans le manuel MicroPython, voila un exemple d'accès au DAC :

rom machine import Pin,DAC
from time import sleep_ms

dac = DAC(Pin(26))
print("Running a triangular wave form with a frequency of ~ 1 Hz on pin 26")
while True:
    for i in range(256):
        dac.write(i)
        sleep_ms(2)
    for i in range(256):
        dac.write(256-i-1)
        sleep_ms(2)

Ceci produira une onde triangulaire lente, qu'on peut observer avec un multimètre.

Vérification de la linéarité

Si on connecte le DAC avec l'entrée d'un ADC et on monte la valeur envoyée au DAC linéairement de zéro au maximum de 255 on s'attend à une courbe de valeurs lus de l'ADC parfaitement linéaire. Ceci est vrai si aussi bien le DAC que L'ADC sont parfaitement linéaire.

-- Uli Raich - 2021-07-04

Comments

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2021-07-04 - UliRaich
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback