ESP32 - Entrées Analogiques - ADC SAR - analogReadMilliVolts - Atténuation et Résolution

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ส.ค. 2024
  • Principe de la conversion Analogique-Numérique
    - Quantification
    - Erreur / Quantum
    - Approximations Successives SAR
    Les ADC de l’ESP32
    - Constitution et câblage
    - Programmation
    - Précision de analogRead() et analogReadMilliVolts()
    - Temps de conversion
    - Affichage terminal série Serial.printf()
    - Fréquence d'échantillonnage / Critère de Shannon
    00:00 Principe et erreur de quantification
    03:07 SAR par Approximation Successive
    10:02 ADC de l’ESP32 - Constitution et câblage
    17:04 ADC de l’ESP32 - Programmation
    25:00 ADC de l’ESP32 - Précision de analogRead() et analogReadMilliVolts()
    29:48 ADC de l’ESP32 - Temps de conversion et Affichage Serial.printf()
    37:43 Fréquence d'échantillonnage / Critère de Shannon

ความคิดเห็น • 5

  • @xaviut5201
    @xaviut5201 ปีที่แล้ว +1

    et mon autre commentaire 🙂 : l'histoire de la limite aux 9 écritures est effectivement directement lié au buffer d'envoi de l'UART qui doit saturer. Les 25us des premiers tours sont bien inférieurs au temps nécessaire pour envoyer une chaîne "Bonjour" (en gros 10*10/115200, donc un peu moins de 1 ms par chaîne à la louche). Du coup quand on a fait les 9 boucles, l'UART a bien noté qu'il a 9 chaînes à envoyer, mais n'a pour le moment envoyé en gros qu'un quart de la première. Pour vider tous les buffers, il lui faudra donc une attente ~ de 8 ms, pas très éloignée des 10000 us que tu mentionnes. Si la fonction printf de l'UART était mieux écrite, elle ne tenterait pas de vider tous les buffers quand il y a saturation, mais juste 1, et tu enverrais toutes les ms environ, comme tu le proposes ensuite.

  • @xaviut5201
    @xaviut5201 ปีที่แล้ว +1

    Super vidéo cher collègue, bravo pour tout ce travail ! Un point qui pourrait être ajouté et qu'il me semble important de savoir : une ADC est longue (par rapport à l'exécution d'une instruction), et il faut attendre avant de lire le résultat converti (et pas besoin par contre pour les DAC, moins longues). Ici c'est caché dans la fonction read, mais en pratique on doit parfois gérer la chose, par ex. avec les fonctions CMSIS fournies par ARM.

    • @cccccc8262
      @cccccc8262 ปีที่แล้ว

      ظحزححححححزحزظظظححزحزحزحححززحظحزحظظظزحزحزحزححححزحزحزححزززححزححزححزحززححزححزححزحزحزحزحزحح

    • @cccccc8262
      @cccccc8262 ปีที่แล้ว

      حزحزظحزظححححزحححزححزحزحزححزححززحزححزححححزحزححححزظحححزحززححزحزححححزحزححزحححزحححححزح