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 analogRead() sur arduino


Sujet :

Arduino

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Problème analogRead() sur arduino
    Slt!
    J'ai envie de mesurer une tension alternative de 5V sur arduino pourtant c'est impossible de convertir une tension négative sur arduino. Est-ce-que quelqu’un pourrait m'aider à résoudre ce problème. Mon but c'est de réaliser un oscilloscope. merci d'avance

  2. #2
    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
    Salut,
    Il faut atténuer le signal à 2.5V et lui ajouter un offset de 2.5V

    C'est à dire que toi tu as un signal de cette allure 5V d'amplitude et alternatif. Il varie donc de +5V à -5V et effectivement tu vas casser ton Arduino si jamais tu lui envoies un tel signal.

    Nom : Capture36.png
Affichages : 2136
Taille : 8,2 Ko

    Il faut diviser le signal par 2 autrement dit l'atténuer par 2 afin d'avoir un signal de 2.5V d'amplitude et alternatif. Il faut que le signal varie de -2.5V à +2.5V

    Nom : Capture38.png
Affichages : 1815
Taille : 7,1 Ko

    Ensuite il faut lui ajouter un offset donc une tension continue de 2.5V pour avoir ça :

    Nom : Capture37.png
Affichages : 1785
Taille : 7,3 Ko

    L'ajout d'un offset revient a décaler le 0V à +2.5V (c'est le trait rouge qui n'est là que dans le but de t'expliquer cette notion d'offset)
    Maintenant tu peux envoyer ce signal dans l'ADC de ton Arduino pour le mesurer et tu remarqueras que ce signal varie de 0V à +5V. Tu vielleras a ce que ce signal ne dépasse pas les 5V sinon tu casses aussi ton Arduino.

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

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    +1 pour la réponse à Vincent, à une exception.
    Une tension AC de 5V c'est, si cela n'est pas précisé, la tension efficace ou RMS. Or Vincent à fait son explication pour un signal de tension de crête de 5V notée normalement 5Vp.

    Une tension AC de 5V varie de -7.07V à +7.07V et nécessite donc une division par 2.83. Le reste est parfaitement correct.

    Delias

  4. #4
    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
    Exact

    AC sans précision = RMS comme lorsqu'on parle de la tension secteur (230V)
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Ok! je comprend la théorie mais SVP, je suis un débutant en électronique et je ne sait pas comment se fait l'ajouter d'un offset sur cet circuit! J'ai utilisé un transformateur 220V/5V et je ne sais pas comment y mettre un offset! je voudrais une petite schéma électrique si c'est possible

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Comme tout problème il y a pléthore de solutions:
    - Ampli opérationnel, combinaison sur le même ampli, d'un circuit d'amplification (avec un ratio inférieur à 1 pour diviser) et d'un circuit additionneur.
    - Circuit de clamper (il semble ne pas y avoir de traduction française).
    - 3 Résistances (et deux diodes de protection par principe ), en faisant appel aux règles de calcul des circuits linéaires (principalement théorème de Thévenin, théorème de superposition, et diviseur de tension).

    Delias

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Je suis vraiment désolé mais c'est totalement flou pour moi! Je ne connais que le pont redresseur de tension en électronique

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    je pencherai pour l'amplificateur opérationnel (ou ampliop ou encore AO) qui est simple à mettre en place.
    Fais des recherches sur ce composant, on peut tout faire avec

    Dans ton cas il te faudrait :
    -1- un "montage sommateur inverseur" pour ajouter une composante continue.
    -2- un "montage inverseur" pour réduire l'amplitude du signal.
    -3- un montage suiveur.

    https://fr.wikipedia.org/wiki/Montag...C3%A9rationnel
    Je mets le sommateur avant ampli inverseur. Je me pose la question du montage suiveur car on ne sait pas d'où vient le signal.

    Pour l'amplitude du signal à la sortie des montages, je ne me fais pas trop de souci si les composants sont alimentés en 0-5V. Mais à vérifier quand même.

  9. #9
    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
    Citation Envoyé par mahegate Voir le message
    Je suis vraiment désolé mais c'est totalement flou pour moi! Je ne connais que le pont redresseur de tension en électronique
    Sans connaissances c'est très compliqué de mettre au point un montage électronique. Comme l'a fait remarquer Delias, il y a beaucoup d'approches possibles pour résoudre le problème et Auteur t'en a proposé une mais peu importe la solution, il faudra la dimensionner en fonction de ce que tu souhaites faire donc a partir d'un cahier des charges précis. Je vais t'expliquer pourquoi on ne peut pas te donner un montage, comme ça, vite fait bien fait. Tous les calculs des composants vont dépendre de ce que tu vas mesurer. Les montages que l'on pourrait te proposer pourraient très bien ne pas fonctionner si tu les utilises dans d'autres conditions. Il faut bien comprendre qu'en électronique, on dimensionne les composants en fonction de l'environnement où ils sont utilisés.

    L'exercice est très intéressant et il n'est pas si simple à résoudre. Voici une approche simpliste (ou naïve) pour résoudre ton problème :

    Nom : Capture du 2017-05-25 01-14-27.png
Affichages : 2034
Taille : 26,7 Ko

    Nous avons un premier bloc RF1 qui consiste à atténuer le signal que l'on mesure afin qu'il ne vienne pas endommager l'électronique. LN2 sert a donner un peu de pêche au signal du bloc précédent en amplifiant son courant. Ensuite nous avons un bloc RF2 pour nettoyer le signal d'une éventuelle composante continue liée a l'imperfection des composants précédents. Le but est de "recentrer le signal sur 0V" (pour les puristes ce n'est pas le bon terme, je devrais dire que le but est de supprimer l'offset / composante continue existante) pour lui ajouter à la fin un offset de 2.5V donc il ne faudrait pas que le signal ait déjà un offset qui viendrait s'ajouter au 2.5V. Le bloc LN1 va amplifier le signa nettoyé juste avant et lui ajoutera un offset de +2.5V, issu de PW2, pour être envoyé dans EB1 et DA1 qui sont le Arduino.

    Si l'on retranscrit ces blocs en fonction électronique ça peut donner ceci :

    Nom : Capture du 2017-05-25 01-36-16.png
Affichages : 1948
Taille : 15,1 Ko

    R1 et R2 forme le bloc RF1, il s'agit d'un simple pont diviseur de tension.
    U2 est le bloc LN2, c'est un amplificateur opérationnel câblé en suiveur, aussi appeler tampon ou buffer. Il amplifie en courant le signal qui le traverse pour lui donner plus de pêche.
    C1 correspond au bloc RF2 puisqu'un condensateur monté en liaison va supprimer la composante continue (offset) du signal qui passe au travers.
    U1, R5 et R6 sont le bloc LN1, ici un amplificateur opérationnel monté en inverseur.
    R3 et R4 sont le bloc PW2 qui créait une tension d'offset a destination du bloc LN1.

    En simulant ce montage, voilà ce qui se passe :
    On injecte un signal alternatif de 5VMAX d'amplitude, voir VF1 courbe verte, donc un signal évoluant de +5V à -5V. Celui est divisé par 2 puis amplifié en courant, ce qu'on peut voir sur VF2 courbe marron, le signal évolue maintenant entre +2.5V et -2.5V. Enfin le signal est amplifié d'un gain de x1 (c'est plus simple pour expliquer dans un premier temps) et on lui ajoute un offset de +2.5V. On peut dire que le signal remonte, de +2.5V ce qu'on voit sur VF3 courbe bleue, le signal évolue entre 0V et +5V.

    On voit donc que ça fonctionne.

    Nom : Capture du 2017-05-25 12-52-09.png
Affichages : 2014
Taille : 71,5 Ko


    Et maintenant c'est le drame ! Voilà pourquoi personne ne pourra te donner un schéma passe partout.
    • Si tu souhaites mesurer un signal alternatif supérieur a +5V alors il faut soit revoir le bloc RF1 soit revoir le bloc LN1 pour ne pas casser l'électronique ou le Arduino. Sachant que si tu veux mesurer des signaux ayant de grande dynamique, pouvant aller de 50V alternatif a 100mV alternatif, alors plus rien ne convient et il faut de l'électronique beaucoup plus complexe et qui sera s'adapter automatiquement. L'électronique devra amplifier fortement en voyant 100mV mais elle devra atténuer fortement en voyant 50V en entrée.
    • Si tu souhaites mesurer des tensions alternatives supérieur à 50Hz (10kHz par exemple) alors le calcul de C1, qui est le bloc RF2, doit être refait et sa valeur risque de changer.
    • Si tu souhaites mesurer des signaux qui ont de fortes impédances, entend par là des signaux sur les quels tu ne peux pas tirer beaucoup de courant sinon ils s'écroulent, alors les valeurs des résistances formant le bloc RF1 doivent être adapté en conséquence.
    • ...


    Tu comprends pourquoi, il est très compliqué de te dire un truc du genre : Fait ça et c'est bon, ça ira !

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème droit sur un tablespace
    Par wazar dans le forum Administration
    Réponses: 11
    Dernier message: 05/01/2010, 15h12
  2. problème écriture sur un fichier
    Par drinkmilk dans le forum MFC
    Réponses: 4
    Dernier message: 24/06/2007, 00h08
  3. Problème innerHTML sur div !!!
    Par aburner dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/01/2005, 09h23
  4. [CR8] Problème tableau sur plusieurs pages???
    Par christophe28 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/11/2004, 15h46
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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