IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Problème de lecture de tension en entrée analogique Arduino


Sujet :

Arduino

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème de lecture de tension en entrée analogique Arduino
    Bonsoir à tous.
    Je crée cette discussion en raison d’un problème avec les ports analogiques de mon Arduino Uno. J’aimerais simplement mesurer une tension, seulement la valeur affichée est aberrante (Exemple : 11 pour 3V).
    Lorsque je branche le port (A0 par exemple) au GND, j’ai bien 0...
    J’ai changé de carte, mais le problème subsiste.
    Je me suis dit que cela pourrait avoir pour cause une trop grande intensité (2A), mais même avec un faible ampérage rien n’y fait.
    Pourriez-vous m’éclairer s’il vous plaît ?

  2. #2
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Florentin

    Est-ce-que le GND de la source à mesurer est connecté au GND de l'Arduino?
    Attention, pas plus que 5V.!

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #3
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Citation Envoyé par Florentintm Voir le message
    Je me suis dit que cela pourrait avoir pour cause une trop grande intensité (2A), mais même avec un faible ampérage rien n’y fait. ?
    Bonsoir

    Tu as mis du 2A sur une entrée analogique ? Je doute que ta carte aie supportée !
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  4. #4
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir nlbmoi
    Cest la tension qui est dangereuse.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Bonsoir Florentin

    Est-ce-que le GND de la source à mesurer est connecté au GND de l'Arduino?
    Attention, pas plus que 5V.!

    Cordialement
    jpbbricole
    Merci pour avoir répondu aussi rapidement. En effet, le GND de la source est connecté à celui de l'Arduino.
    Pour ce qui est de la tension, je n'ai pas dépassé 5V.

    Cordialement,

    Florentintm

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par nlbmoi Voir le message
    Bonsoir

    Tu as mis du 2A sur une entrée analogique ? Je doute que ta carte aie supportée !
    En effet, j'ai mis du 2A sur une entrée analogique. Cela l'aurait rendue inopérationnelle ?

  7. #7
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Florentin
    Citation Envoyé par Florentintm Voir le message
    En effet, j'ai mis du 2A sur une entrée analogique. Cela l'aurait rendue inopérationnelle ?
    Non, ça n'a pas d'influence sur l'état de santé sur ton entrée. Tu pourrais mettre une alimentation de 20A que ça ne changerai rien, cette entrée prends ce dont elle a besoin, jamais plus POUR AUTANT que tu ne dépasse pas la tension (V) limite (5V. dans ce cas). C'est le dépassement de la valeur des volts qui fait claquer un entrée, voire tout le composant, voire tout les composants de ta carte .

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  8. #8
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Bonjour,
    Montre nous ton schéma de câblage, il y a peut être une erreur de ce côté là.

    A+
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  9. #9
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par nlbmoi Voir le message
    Tu as mis du 2A sur une entrée analogique ? Je doute que ta carte aie supportée !
    ...
    Ma réponse vous a plu ? Un petit vote serait sympa
    et on fait quoi quand la réponse n'a pas plu et dit n'importe quoi?

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par Florentintm Voir le message
    Bonsoir à tous.
    J’aimerais simplement mesurer une tension, seulement la valeur affichée est aberrante (Exemple : 11 pour 3V).
    en plus du montage, montrez nous le code... une erreur est vite arrivée aussi

    ou prenez un code tout simple, avec rien d'autre de branché à votre Arduino si ce n'est un fil dans A0 que vous allez mettre dans 5V, 3.3V et GND (si vous le laissez flottant vous allez voir des valeurs plus ou moins aléatoires)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void setup() {
      Serial.begin(115200); // ouvrir le moniteur Série à 115200 Bauds
    }
    void loop() {
      Serial.println(analogRead(A0)); 
      delay(100);
    }

  11. #11
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 617
    Points : 56 722
    Points
    56 722
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    C'est peut-être l'impédance de sortie du capteur qui est trop élevée. Celle-ci doit rester inférieure à 10k d'après la doc.

  12. #12
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Citation Envoyé par Jay M Voir le message
    et on fait quoi quand la réponse n'a pas plu et dit n'importe quoi?
    On prévient gentiment pour qu'il s'excuse platement sur sa réponse complètement à côté de la plaque : un moment d'égarement
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Citation Envoyé par nlbmoi Voir le message
    On prévient gentiment pour qu'il s'excuse platement sur sa réponse complètement à côté de la plaque : un moment d'égarement

  14. #14
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 330
    Points : 4 151
    Points
    4 151
    Par défaut Bug vs panne
    Bonjour,

    Citation Envoyé par f-leb Voir le message
    C'est peut-être l'impédance de sortie du capteur qui est trop élevée. Celle-ci doit rester inférieure à 10k d'après la doc.
    Cela pourrait être la bonne réponse mais les 2A avancés (potentiels d'une alim je pense) sous 3V laissent penser que nous avons une faible impédance source. A moins d'avoir mis un pont diviseur avec des résistantes trop élevées. Par exemple, surveiller une tension de 5V (pas celle du uC lui-même ) avec un rapport 3/5 fait avec une 22k et une 33k donnera une impédance source équivalente à 13k (en négligeant l'impédance de la source effective), valeur supérieure aux recommandations (mais encore suffisamment proche pour que cela soit tolérable).

    Le câblage (schéma ou photo) semble indispensable pour se prononcer.

    Quand un problème persiste en changeant un élément c'est qu'il est provoqué par le reste. Ici le reste est la source de tension (hypothèse f-leb) et, ne l'oublions pas, l'utilisateur (code et câblage notamment).

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  15. #15
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    Bonjour

    Dans tous mes montages j'intègre une ligne pour la mesure de la tension de l'accu en utilisant la référence 3,3V. Au début je n'avais pas forcément une tension en dehors des clous mais beaucoup de fluctuations sur l'écran, certainement dues aux bruits parasites. Pour stabiliser la lecture j'ai ''reserré'' la plage de lecture de la valeur.
    Par exemple pour une batterie de 8,4V le mapping est fait de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int valeurLue = analogRead (ENTREE_ANALOGIQUE);
      float tensionLue = map(valeurLue, 512, 1023, 450 , 900 * 0.995);
    0,995 est un multiplicateur qui corrige la tolérance des résistances du pont

    En rajoutant un condensateur de 47 nano sur l'entrée IN et la masse on arrive à une lecture quasi stable

  16. #16
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 330
    Points : 4 151
    Points
    4 151
    Par défaut Le CAN fait de la résistance
    Bonjour Fermor,

    Citation Envoyé par Fermor Voir le message
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float tensionLue = map(valeurLue, 512, 1023, 450 , 900 * 0.995);
    0,995 est un multiplicateur qui corrige la tolérance des résistances du pont

    En rajoutant un condensateur de 47 nano sur l'entrée IN et la masse on arrive à une lecture quasi stable
    Sauf erreur, map() est une fonction entière qui traite des entiers. Aussi 900*0.995 sera arrondi à 895 ou 896 avant conversion de gamme. Par ailleurs, les 512 valeurs en entrée sont traduites en 446 valeurs entières en sortie. Il y a donc 66 paires d'entrées différentes qui donnent une même sortie.

    Est-il légitime que la correction du pont ne touche que le maxi de la gamme ? Si oui, la formule map() pourrait être remplacée par :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // 0.872070 = (895.5-(450-1))/(1023-(512-1))
    float tensionLue = (valeurLue - 511.0) *  0.872070 + 449.0;
    // ou
    float tensionLue = valeurLue *  0.872070 + 3.3720700;
    J'ai décalé de 1 pour respecter la doc (un peu contradictoire) qui précise que la pleine échelle doit être divisé par 1024 soit 1023 - (0-1) et non 1023.

    La bonne valeur de la capacité sur l'entrée dépend essentiellement de celles des résistances du pont. Un filtrage soft est aussi envisageable mais il suppose que la conversion AN est correcte. Le filtrage hard sert à deux choses diminuer les parasites et abaisser l'impédance d'entrée avant convertisseur. Le filtrage soft sera très efficace pour les parasites mais ne pourra corriger une conversion faussée par une impédance d'entrée trop élevée (> 10 kOhms).

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  17. #17
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Points : 16
    Points
    16
    Par défaut
    Bonjour Guesset

    Merci pour l'info sur les valeurs à utiliser je vais tester

    Quant à la valeur de la capa effectivement elle dépend des résistances du pont, dans mon cas c'est bien elle qui stabilise le plus la lecture de tension

  18. #18
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Bonjour,
    On peut l'appréhender ainsi :

    On calcul la tension + résistance de Thévenin afin de s'assurer qu'on est en dessous des 10kΩ (exigence de l'entrée de l'ADC du micro), ensuite l'ajout d'un condensateur de filtrage permet de calculer une fréquence de coupure 1/(2πRthC) au dessus de laquelle le bruit de la mesure sera atténué.

    Donc avec gros condensateur on peut atténuer même les "relativement" lentes fluctuations de tension de la mesure.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

Discussions similaires

  1. [TIA-S7-1200] Problème de lecture d'entrées analogiques
    Par Patasimov dans le forum Automation
    Réponses: 1
    Dernier message: 06/07/2020, 15h02
  2. Réponses: 1
    Dernier message: 25/06/2020, 22h42
  3. NIDaq, lecture entrées analogiques trop longue
    Par davidESPCI dans le forum Windows
    Réponses: 0
    Dernier message: 08/10/2012, 15h25
  4. Réponses: 6
    Dernier message: 09/04/2007, 16h52
  5. [SAX] Problème SAX lecture du texte entre les balises
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/07/2005, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo