Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 31

Convertisseur analogique numérique



  1. #1
    achach

    Convertisseur analogique numérique


    ------

    Bonjour,

    Comment fonctionne t'il le convertisseur analogique numérique?
    si je prends un ADC de 10bit par exemple, et je veux convertir des tensions continues.
    par exemple une tension de 3.5V, ça devient combien en binaire?

    Merci!

    -----

  2. Publicité
  3. #2
    DAUDET78

    Re : Convertisseur analogique numérique

    Tout dépend de la tension de référence de l'ADC . donne le lien de la datasheet de l'ADC

    Si la gamme de conversion est 0/3,5V , Tu peux, au max, envoyer une tension de 3,4965117V et le résultat est 0x3FF
    J'aime pas le Grec

  4. #3
    achach

    Re : Convertisseur analogique numérique

    Bonjour,

    Merci pour ta réponse,

    j'ai choisi le circuit MCP3002.

    comment t'as calculé le 0x3FF? il y a une formule de conversion?

    Merci!

  5. #4
    DAUDET78

    Re : Convertisseur analogique numérique

    Citation Envoyé par achach Voir le message
    j'ai choisi le circuit MCP3002.
    donne le lien WEB sur la datasheet !

    comment t'as calculé le 0x3FF? il y a une formule de conversion?
    0x3FF en Hexa, c'est 1023 en décimal . C'est la valeur max que peut donner un ADC sur 10 bits (1024 états de 0x000 à 0x3FF)
    J'aime pas le Grec

  6. A voir en vidéo sur Futura
  7. #5
    achach

    Re : Convertisseur analogique numérique


  8. #6
    achach

    Re : Convertisseur analogique numérique

    si j'ai bien compris, donc pour convertir des micro volts, un convertisseur 16bits ne suffit pas, il me faut un convertisseur 16bits

  9. Publicité
  10. #7
    penthode

    Re : Convertisseur analogique numérique

    aucun ADC ne peut convertir des µV
    Le diable ne réussit pas grand-chose sans la collaboration étourdie des vertus.

  11. #8
    achach

    Re : Convertisseur analogique numérique

    bonjour penthode,

    tu peux m'expliquer pourquoi stp

  12. #9
    penthode

    Re : Convertisseur analogique numérique

    biscotte leur domaine se situe , en gros , dans leur domaine d'alimentation , soit entre 3 et 5 V pour les modéles courants.

    pour traiter du µV (gamme à définir) il faut du traitement analogique en amont.
    Le diable ne réussit pas grand-chose sans la collaboration étourdie des vertus.

  13. #10
    DAUDET78

    Re : Convertisseur analogique numérique

    Citation Envoyé par achach Voir le message
    si j'ai bien compris, donc pour convertir des micro volts,
    Par curiosité, ils viennent d'où ces microvolts ?
    J'aime pas le Grec

  14. #11
    achach

    Re : Convertisseur analogique numérique

    les micro volts viennent d'une carte de commande d'un moteur en mode standby

  15. #12
    penthode

    Re : Convertisseur analogique numérique

    eh béh avec ça..... on est ben avancés !
    Le diable ne réussit pas grand-chose sans la collaboration étourdie des vertus.

  16. Publicité
  17. #13
    DAUDET78

    Re : Convertisseur analogique numérique

    Citation Envoyé par penthode Voir le message
    eh béh avec ça..... on est ben avancés !
    Je vois
    C'est pour son utopie (inutile) de mesurer un courant de 50µA à 10A) :http://forums.futura-sciences.com/el...ml#post6020304
    J'aime pas le Grec

  18. #14
    Vincent PETIT
    Animateur Électronique

    Re : Convertisseur analogique numérique

    @achach
    La formule que tu cherches est celle là : 1 bit = VREF ÷ ((210bits - 1))
    VREF c'est la tension que tu décides de mettre sur la broche du même nom sur ton composant (en respectant les préconisation de la datasheet)



    Exemple avec 5V sur VREF
    1 bit = 5 / (1024 - 1) = 0.0048V

    Si tu mesures une tension de 2V le convertisseur te donnera une valeur numérique de 0x199



    Tu sera probablement tenté de réduire la valeur de VREF mais ce serait trop simple, tu t'en doutes bien, tu verras que plus tu baisses la VREF et plus tu dégrades (diminue) le rapport signal/bruit. En français, plus tu dégrades le rapport signal/bruit et plus tu vas lire n'importe quoi puisque ton signal est de plus en plus noyé dans le bruit. C'est pour ça que penthode te dit qu'il faut amplifier tes µV en V (voir mieux, jusque la pleine échelle donc VREF) pour pouvoir mesurer avec toute la dynamique (les 10 bits) de l'ADC.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  19. #15
    Chtulhu

    Re : Convertisseur analogique numérique

    Bonjour,

    Le principe c'est 1 bit = Vref/2^n
    Il peut y avoir quelques exceptions selon le type de l'ADC, mais mathématiquement Vref/2^(n-1) est un non sens.
    Cordialement.

  20. #16
    Vincent PETIT
    Animateur Électronique

    Re : Convertisseur analogique numérique

    Salut,
    Ce n'est pas une exception, c'est valable pour n'importe quel ADC.

    Ici on parle d'un ADC 10 bits donc sa résolution permet une quantification de 1024 valeurs possibles (le quantum est égale à VREF ÷ (210bits)) mais si on ramène le tout à la pleine échelle qui est 1023 (la valeur de sortie de l'ADC est comprise entre 0 et 1023, ce qui fait bien 1024 valeur) alors on a bien 1 bit = VREF ÷ (210bits - 1)

    Cordialement,
    Là où il n'y a pas de solution, il n'y a pas de problème.

  21. #17
    DAUDET78

    Re : Convertisseur analogique numérique

    Citation Envoyé par Vincent PETIT Voir le message
    alors on a bien 1 bit = VREF ÷ (210bits - 1)
    Pour moi : 1 bit = VREF ÷ (210bits )
    C'est le coup des poteaux et des clôtures !
    Il y a 1024 clôtures entre 0 et 5V et 1025 poteaux . Le premier est à 0x000 et l'avant dernier à 0x3FF
    J'aime pas le Grec

  22. #18
    Vincent PETIT
    Animateur Électronique

    Re : Convertisseur analogique numérique

    Pas simple cette histoire
    Je vais tenter une démonstration par l'absurde.

    Imaginons, pour exclure tout problème d'arrondi que : VREF = 1.024V
    1 bit = 1,024V ÷ (210bits)
    1 bit = 0.001V

    L'ADC renvoie les valeurs :
    0x000
    0x001
    0x002
    0x100
    0x3FF

    Puisque 1 bit = 0,001V on multiplie simplement la valeur hexa par 0.001V et comme il n'y a pas d'arrondi ça tombe bien :
    0x000 = 0.000V
    0x001 = 0.001V
    0x002 = 0.002V
    0x100 = 0,256V
    0x3FF = 1.023V au lieu de 1.024V

    Ici on voit que 0x3FF ne vaut pas VREF, il vaut peu moins. Oui je sais on pinaille mais pour que 0x3FF vaut VREF il faut que 1 bit = VREF ÷ (210bits - 1)

    Citation Envoyé par DAUDET78 Voir le message
    Pour moi : 1 bit = VREF ÷ (210bits )
    C'est le coup des poteaux et des clôtures !
    Il y a 1024 clôtures entre 0 et 5V et 1025 poteaux . Le premier est à 0x000 et l'avant dernier à 0x3FF
    C'est un très bon exemple mais je dirais plutôt : avec 1024 poteaux combien poses tu de clôtures ?
    1023



    Bon après il est question de µV de différence et l'ADC est incapable de le voir de toute façon.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  23. Publicité
  24. #19
    Jack
    Modérateur

    Re : Convertisseur analogique numérique

    je confirme qu'il faut bien diviser d'une manière générale par 2n

    C'est d'ailleurs la formule qu'on retrouve dans les doc constructeur.

    Je vais y aller de mon exemple également:
    Si Vref = 4.096 V et que l'on a un convertisseur 1 bit, le quantum q est égal à 4.096 / 2 = 2.048V.
    Donc si 0 V <= Vin< 2.048 V, la sortie sera égale à 0
    et si 2.048 V <= Vin < 4.096 V, la sortie sera égale à 1

    Avec 2 bits q = 4.096/4 = 1.024 V
    Code:
        0 V <= Vin < 1.024 V   => 00
    1.024 V <= Vin < 2.048 V   => 01
    2.048 V <= Vin < 3.072 V   => 10
    3.072 V <= Vin < 4.096 V   => 11
    etc. pour n bits

    Le quantum correspond donc à un intervalle et pas à une valeur palier.
    Dernière modification par Jack ; 16/11/2017 à 16h26.

  25. #20
    Antoane
    Responsable technique

    Re : Convertisseur analogique numérique

    Bonjour,

    En complément de ce qu'écrit Jack :
    Citation Envoyé par Vincent PETIT Voir le message
    Ici on voit que 0x3FF ne vaut pas VREF, il vaut peu moins. Oui je sais on pinaille mais pour que 0x3FF vaut VREF il faut que 1 bit = VREF ÷ (210bits - 1)
    On reprend l'ADC 10 bits avec une tension de référence de 1024 mV :
    1. Supposant que le quantum vaut Vref/2n = 1 mV
    Si la tension d'entrée vaut entre 0 et 1 mV, l'ADC renvoit 0x000.
    Si la tension d'entrée vaut entre 1 mV et 2 mV, l'ADC renvoit 0x001.
    Si la tension d'entrée vaut entre 2 mV et 3 mV, l'ADC renvoit 0x002.
    ...
    Si la tension d'entrée vaut entre 1022 mV et 1023 mV, l'ADC renvoit 0x3FE.
    Si la tension d'entrée vaut entre 1023 mV et 1024 mV, l'ADC renvoit 0x3FF.

    2. Supposant que le quantum vaut Vref/(2n-1) = 1.001 mV
    Si la tension d'entrée vaut entre 0 et 1.001 mV, l'ADC renvoit 0x000.
    Si la tension d'entrée vaut entre 1.001 mV et 2.002 mV, l'ADC renvoit 0x001.
    Si la tension d'entrée vaut entre 2.002 mV et 3.003 mV, l'ADC renvoit 0x002.
    ...
    Si la tension d'entrée vaut entre 1022.999 mV et 1024 mV, l'ADC renvoit 0x3FE.
    Le code 0x3FF est donc inutilisable.



    C'est d'ailleurs pour cela qu'on vend des références de tension de 1024, 2048, 4096 mV : cela donne des quantums ronds, en nombre de mV entiers.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  26. #21
    Vincent PETIT
    Animateur Électronique

    Re : Convertisseur analogique numérique

    Voici une doc de chez ST http://www.st.com/content/ccc/resour...CD00004444.pdf
    Regardez la définition 3.1 (Page 12 du doc)

    L'explication chez Texas http://www.ti.com/lit/an/slaa013/slaa013.pdf
    Regardez l'explication 2.1 (page 5 de votre navigateur ou page 1 du doc si vous préférez)

    Après je n'ai pas lu entièrement la doc de Texas, peut être qu'un élément me donne tord plus loin ?


    Nous ne nous contredisons pas sur le quantum, j'ai écrit plus haut qu'il était égale à 1 LSB = VREF/2n mais le point sur le quel je ne suis pas d'accord c'est que ramené à la tension de pleine échelle, qui est VREF et pas une valeur strictement inférieure à REF, le calcul devient VREF/2n-1
    Là où il n'y a pas de solution, il n'y a pas de problème.

  27. #22
    Vincent PETIT
    Animateur Électronique

    Re : Convertisseur analogique numérique

    Citation Envoyé par Antoane Voir le message
    2. Supposant que le quantum vaut Vref/(2n-1) = 1.001 mV
    [...]
    Le code 0x3FF est donc inutilisable.
    [...]
    C'est un problème d'arrondi
    0x3FF c'est exactement la VREF 1024mV dans l'exemple.

    Après peut être que je m'explique mal (c'est tout à fait possible) et que j'ai mal traduit ce qu'écrit Texas et ST mais je n'en ai pas l'impression de prime abord.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  28. #23
    Jack
    Modérateur

    Re : Convertisseur analogique numérique

    Il y a en effet 2n - 1 intervalles car pour minimiser l'erreur de quantification, le premier palier s'effectue à un 1/2 LSB, et donc le dernier également. La somme du premier et du dernier palier correspond donc à 1 palier complet, ce qui explique pourquoi on en a 1 de moins que les 2n

    cependant, un bit, donc un lsb correspond bien au quantum et donc à VFS/2n.

  29. #24
    Antoane
    Responsable technique

    Re : Convertisseur analogique numérique

    Citation Envoyé par Vincent PETIT Voir le message
    C'est un problème d'arrondi
    0x3FF c'est exactement la VREF 1024mV dans l'exemple.
    Ce que je veux dire c'est qu'avec cet exemple, il faudrait envoyer entre 1024 et 1025 mV à l'ADC pour obtenir le code 0x3FF. Ce n'est pas acceptable avec une Vref à 1024 mV, c'est pourquoi je qualifie le code d’inaccessible.


    Effectivement, ces doc indiquent que les changements de code n'ont pas lieu sur les multiples entiers du quantum, mais à (k+0.5)*Vref/(2n-1) avec k entier entre 0 et 2n-2.
    Reprenant mon exemple précédent, cela revient à translater la courbe de réponse d'un demi-quantum vers le bas :
    2. Supposant que le quantum vaut Vref/(2n-1) = 1.001 mV
    Si la tension d'entrée vaut entre 0 et 1.001 mV, l'ADC renvoit 0x000.
    Si la tension d'entrée vaut entre 1.001 mV et 2.002 mV, l'ADC renvoit 0x001.
    Si la tension d'entrée vaut entre 2.002 mV et 3.003 mV, l'ADC renvoit 0x002.
    ...
    Si la tension d'entrée vaut entre 1022.999 mV et 1024 mV, l'ADC renvoit 0x3FE.
    Le code 0x3FF est donc inutilisable.
    Devient :
    Si la tension d'entrée vaut entre 0 et 0.5005 mV, l'ADC renvoit 0x000.
    Si la tension d'entrée vaut entre 0.5005 mV et 1.5015 mV, l'ADC renvoit 0x001.
    Si la tension d'entrée vaut entre 1.5005 mV et 2.5025 mV, l'ADC renvoit 0x002.
    ...
    Si la tension d'entrée vaut entre 1023.4995 mV et 1024 mV, l'ADC renvoit 0x3FF.

    Cela permet de minimiser l'erreur de quantification (qui se retrouve centrée sur zéro) et de "symétriser" la réponse du composant.
    Le quantum moyen est, alors, effectivement de Vref/2n, mais c'est du au fait que la zone donnant le code 0x000 et celle donnant le code 0x3FF sont deux fois plus petite que toutes les autres (qui sont, elles, de largeur Vref/(2n-1)). Autrement dit : sur les 1024 marches, il en est deux petites et 1022 de largeur Vref/(2n-1).

    Au temps pour moi.
    Dernière modification par Antoane ; 16/11/2017 à 17h30.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  30. Publicité
  31. #25
    Jack
    Modérateur

    Re : Convertisseur analogique numérique

    Autrement dit : sur les 1024 marches, il en est deux petites et 1022 de largeur Vref/(2n-1).
    Vref/2n+1​ plutôt, non?

  32. #26
    Antoane
    Responsable technique

    Re : Convertisseur analogique numérique

    Citation Envoyé par Jack Voir le message
    Vref/2n+1​ plutôt, non?
    Mises ensembles, la première et la dernière marches donnent une marche de largeur "normale" ; additionnée aux 1022 marches "normales", il y a donc 2n-1 équivalent- marches "normales", chacune de largeur Vref/(2n-1)

    Autre façon de voir :
    Avec la valeur Vref/2n+1, la largeur totale de ces 2n-2 (i.e. 1022) marches "normales" serait de (2n-2)*Vref/(2n+1), soit environ Vref/2, alors qu'on s'attend à ce que les 1022 marches couvre la quasi-intégralité de l aplage de Vin possible.
    Dernière modification par Antoane ; 16/11/2017 à 17h43.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  33. #27
    Jack
    Modérateur

    Re : Convertisseur analogique numérique

    Mises ensembles, la première et la dernière marches donnent une marche de largeur "normale" ; additionnée aux 1022 marches "normales", il y a donc 2n-1 équivalent- marches "normales",
    On est d'accord, c'est ce que je disais dans mon message #23.

    chacune de largeur Vref/(2n-1)
    La largeur d'une marche normale n'est pas égale à 1 quantum? Dans les ADC que j'utilise, 1 lsb = Vref/2n, donc 1/2 lsb = Vref/2n+1

    Par exemple MAX103x, figure 12, ou MAX727x, figure 21

  34. #28
    Antoane
    Responsable technique

    Re : Convertisseur analogique numérique

    Citation Envoyé par Jack Voir le message
    La largeur d'une marche normale n'est pas égale à 1 quantum? Dans les ADC que j'utilise, 1 lsb = Vref/2n, donc 1/2 lsb = Vref/2n+1

    Par exemple MAX103x, figure 12, ou MAX727x, figure 21
    Leur dernière marche à pour largeur 1.5 LSB, ce qui donne bien un total de 2n LSB, avec LSB = Vref/2n
    Dans la doc donnée par Vincent (http://www.ti.com/lit/an/slaa013/slaa013.pdf, fig. 6.a), la dernière marche à pour largeur 0.5 LSB, ce qui donne bien un total de 2n-1 LSB, avec LSB = Vref/(2n-1).
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  35. #29
    Jack
    Modérateur

    Re : Convertisseur analogique numérique

    En conclusion, la définition d'un LSB dépend du convertisseur choisi.

  36. #30
    Chtulhu

    Re : Convertisseur analogique numérique

    Dans la pratique, que l'on utilise 2^n ou 2^(n-1) on ne trouvera pas, en réalité, la bonne valeur, puisque il faut tenir compte des effets de bords bien plus importants (offset, gain, influence de la température, routage, etc).
    Chaque fabricant "bricole" ses pas pour tomber au mieux sur ses pattes, mais d'un point de vue conceptuel, seul Vref/2^n à un sens, comme il a été justement dit en #23 et démontré en #19 et #20.
    Dans la pratique, patatra, les différentes erreurs cumulées ont pris largement le dessus et vous devrez calibrer de toutes façon
    Dernière modification par Chtulhu ; 16/11/2017 à 19h32.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Convertisseur Analogique numérique
    Par guitoon41 dans le forum Électronique
    Réponses: 12
    Dernier message: 20/09/2015, 14h17
  2. convertisseur analogique numérique
    Par newtech1 dans le forum Électronique
    Réponses: 22
    Dernier message: 07/03/2015, 14h26
  3. Convertisseur analogique numérique
    Par simon884 dans le forum Électronique
    Réponses: 10
    Dernier message: 01/05/2014, 13h30
  4. Convertisseur numérique/analogique?
    Par toto220393 dans le forum Électronique
    Réponses: 4
    Dernier message: 21/05/2011, 21h52
  5. Convertisseur analogique numérique
    Par Challigui dans le forum Électronique
    Réponses: 9
    Dernier message: 28/07/2006, 15h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.