Skip to content

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Categories

  • Aucune catégorie
Trend RepositoryArticles and guides
Articles

Les expériences de John Errington avec un Arduino

On novembre 28, 2021 by admin

Mesure précise de la tension avec la carte Arduino.

La gamme de microcontrôleurs Arduino fournit des entrées analogiques qui peuvent être utilisées pour mesurer la tension. Nous pouvons utiliser cela pour construire un voltmètre.
La fonction analogRead() lit la tension et la convertit en un nombre compris entre 0 et 1023.

Le tutoriel Arduino (1) http://arduino.cc/en/Tutorial/ReadAnalogVoltage comporte cet exemple :

C’est FAUX ! Pour un meilleur résultat, utilisez (sensorValue + 0,5) * 5,0 / 1024,0 – voir l’explication ici

Cela nous amène à croire qu’une lecture de 0 correspond à une entrée de 0,000V ; et 1023 correspond à une tension d’entrée de 5,000 volts. Ceci n’est pas tout à fait vrai. Regardons la fiche technique et voyons ce qu’elle nous dit.

La puce ATMEGA utilisée sur l’Arduino possède des entrées analogiques qui peuvent être utilisées pour mesurer précisément la tension

Le microcontrôleur Arduino est pourvu d’un convertisseur analogique-numérique (CAN) de type approximation successive qui a la spécification suivante. Les références indiquées entre parenthèses ainsi (2 : 26.1) renvoient aux sections de la fiche technique de l’AtMega 2560.
(2 : 26.1) : ATMega328 et 32U4 ont des valeurs similaires.

Ces spécifications nous indiquent que l’Arduino est capable de mesurer des tensions avec une précision
de ± 2 LSB – donc l’erreur maximale est de 2 bits (4 décimales) sur 10 bits (1024 décimales)
Donc la précision la plus défavorable du convertisseur est de 4 / 1024 ou 1 partie sur 256 soit 0,25%.

Mais la limite de la précision de mesure dépend de la référence de tension utilisée.

L’Arduino a ses propres références de tension – mais elles ne sont pas très précises

La puce – selon le type – est fournie avec QUELQUES unes des tensions de référence suivantes (6)
DEFAULT : la référence analogique par défaut de 5 volts (sur les cartes Arduino 5V) ou 3.3 volts (sur les cartes Arduino 3,3V)
INTERNE : une référence intégrée, égale à 1,1 volt sur l’ATmega168 ou l’ATmega328 et à 2,56 volts sur les cartes à puce ATmega8 et 32U4.
Elle est produite en interne par l’amplification de la référence 1,1V. 2,56V est juste une valeur « typique ».
EXTERNE : la tension appliquée à la broche AREF (0 à 5V seulement). (Le MicroPro 32U4, le NodeMCU et l’ESP32 n’ont pas de broche pour une référence externe – voir ci-dessous pour plus d’informations.)

La précision de la référence par rapport à laquelle la tension est mesurée – en utilisant l’une des références ci-dessus – n’est au mieux que de 5,25 – 5,0/5,0 * 100 = 5% – bien pire que les 0,25% que fournit l’ADC. Il est clair que si nous souhaitons mesurer des tensions avec la précision fournie par l’Arduino, les références intégrées ne sont pas assez bonnes. Le diagramme ci-dessous montre ces erreurs par rapport à une référence de 4,096V décrite ci-dessous.

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress