Le convertisseur Numérique Analogique

Introduction

Dans le manuel MicroPython le convertisseur numérique analogique (Digital to Analogue Converter: DAC) n'est pas décrit. Pourtant, l'ESP32 possède 2 DAC d'une résolution de 8 bits et il existe un pilote dans Micropython permettant de contrôler ces interfaces. Les DAC sont accessibles sur les pins GPIO 25 et 26.

Voilà un petit programme qui montre comment accéder à ce pilote :

from 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)

Le programme génère une onde triangulaire lente, qui peut être observé avec un multimètre.

Exercice 1 :

Modifier le programme en dessus pour générer une onde rectangulaire de la même fréquence.

Exercice 2 :

Créer un générateur d'impulsion qui permet de produit un signal :

  • rectangulaire
  • triangulaire
  • dent de scie
  • sinusoïdal
Observer ces signaux à l'aide d'un oscilloscope.

Exercice 3 :

Connecter la sortie du DAC sur l'entrée d'un canal du convertisseur analogique numérique (Analogue to Digital Converter). Lire l'ADC pour chaque valeur du DAC et tracer le résultat. L'ADC possède une résolution de 12 bits. Quelle courbe est-ce que vous attendez ? Qu'est-ce que vous mesurez ?

-- Uli Raich - 2021-11-16

Comments

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2021-11-16 - 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