[Analogique] Calculs de résistances autour d'un comparateur à hystérésis
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Calculs de résistances autour d'un comparateur à hystérésis



  1. #1
    quentin08

    Calculs de résistances autour d'un comparateur à hystérésis


    ------

    Bonjour,

    Je voulais faire part d'un problème de maths lié à l'électronique, que j'ai mis trois semaines à résoudre.
    Pourtant, après avoir trouvé la solution, je me dis : C'était pourtant pas si difficile !

    Ce problème sert à calculer les résistances à mettre autour d'un comparateur à hystérésis pour avoir les seuils VT+ et VT- voulus, tenant compte des tensions d'alim, VsatMAX, VsatMIN liés au comparateur utilisé.
    Et cela pour deux types :
    - Le comparateur "standard" donnant des tensions min et max égales à VsatMIN, VsatMAX
    - Le comparateur à collecteur ouvert comme le célèbre LM311. Dans ce cas, on a VsatMIN, mais VsatMAX est inexistant ici.
    Quand V+ > V-, la sortie est flottante, c et d sont donc en série. Le calcul de c n'est alors pas difficile pour avoir le vs voulu entre c et d(voir schéma)
    Le choix de cette tension est prévue dans les calculs.

    Le calcul consiste à écrire les formules de courants dans les deux états possibles du comparateur, et de passer par un système d'équations pour déduire les valeur de résistances.

    Pour le cas du collecteur ouvert, et vu le schéma, il parait évident qu'il faille choisir un vs compris entre VT+ et VCC.
    Il existe aussi des cas impossibles, avec des résistances calculées infinies ou négatives, je ne me suis pas penché là dessus.

    Code:
    vcc : Tension d'alim
    vtm : Seuil VT-
    vtp : Seuil VT+
    vsm : Vsat- (VsatMIN)
    vsp : Vsat+ (VsatMAX)
    vs :  Tension de sortie voulue entre RC et RD lorsque la sortie est flottante.
    a : RA
    b : RB
    c : RC
    d : RD
    Nom : comparateur.png
Affichages : 958
Taille : 12,9 Ko



    Comparateur standard
    Calculs pour atteindre VT- (V+ < V-, Comparateur à l'état bas)
    On fixe c pour éviter une infinité de solutions. De l'ordre de 100k pour le pas trop charger la sortie en courant et faire bouger VsatMIN, VsatMAX
    Code:
    ia = ib + ic // Loi des noeuds
    Formules réécrites sous la forme i=u/r.
    Tension sur a (Ua) écrite : (vcc - vtm) car "Ua" n'est pas fixe et dépend de l'état du comparateur. Même logique pour "Uc" écrite sous la forme (vtm - vsm)

    Code:
       vcc - vtm            vtm          vtm - vsm
    --------------- = --------------- + --------------- 
           a                 b               c
    
    
       vcc - vtm          c*vtm          b*vtm - b*vsm
    --------------- = --------------- + ---------------
           a               b*c                b*c
    
    
       vcc - vtm          c*vtm          b*vtm - b*vsm
    --------------- = --------------- + ---------------
           a               b*c                b*c
    
    
       vcc - vtm          c*vtm +  b*vtm - b*vsm
    --------------- = --------------------------------
           a                        b*c  
    
    b*c*(vcc - vtm) = a(c*vtm + b*vtm - b*vsm)
    b*c*vcc - b*c*vtm = a*c*vtm + a*b*vtm - a*b*vsm
    b*c*vcc - b*c*vtm - a*b*vtm + a*b*vsm = a*c*vtm 
    b(c*vcc - c*vtm - a*vtm + a*vsm) = a*c*vtm
    
                   a*c*vtm
    b = -----------------------------
        c*vcc - c*vtm - a*vtm + a*vsm
    A partir de ce résultat, on peux déduire b lorsque le comparateur a changé d'état :
    vtm devient vtp
    vsm devient vsp
    Code:
                   a*c*vtp
    b = -----------------------------
        c*vcc - c*vtp - a*vtp + a*vsp
    A partir de ces deux formules de b, on peut écrire le système d'équations :

    Code:
    b(c*vcc - c*vtm - a*vtm + a*vsm) = a*c*vtm
    b(c*vcc - c*vtp - a*vtp + a*vsp) = a*c*vtp
    
    b*c*vcc - b*c*vtm - a*b*vtm + a*b*vsm = a*c*vtm
    b*c*vcc - b*c*vtp - a*b*vtp + a*b*vsp = a*c*vtp
    
    b*c*vcc*vtp - b*c*vtm*vtp - a*b*vtm*vtp + a*b*vsm*vtp = a*c*vtm*vtp // Multiplie par vtp
    b*c*vcc*vtm - b*c*vtm*vtp - a*b*vtm*vtp + a*b*vsp*vtm = a*c*vtm*vtp // Multiplie par vtm
    
    b*c*vcc*vtp - b*c*vtm*vtp - a*b*vtm*vtp + a*b*vsm*vtp = a*c*vtm*vtp
    b*c*vcc*vtm - b*c*vtm*vtp - a*b*vtm*vtp + a*b*vsp*vtm = a*c*vtm*vtp  --
    ------------------------------------------------------------------------
    b*c*vcc*vtp-b*c*vcc*vtm + 0 + 0 + a*b*vsm*vtp - a*b*vsp*vtm = 0
    
    b*c*vcc*vtp - b*c*vcc*vtm + a*b*vsm*vtp - a*b*vsp*vtm = 0
    b*c*vcc*vtp  + a*b*vsm*vtp  = a*b*vsp*vtm + b*c*vcc*vtm
    b(c*vcc*vtp  + a*vsm*vtp)  = b(a*vsp*vtm + c*vcc*vtm) // Factorise par b, qui sera éliminé à la ligne suivante
    c*vcc*vtp  + a*vsm*vtp  = a*vsp*vtm + c*vcc*vtm // Plus de b dans le calcul
    a*vsm*vtp - a*vsp*vtm = c*vcc*vtm - c*vcc*vtp
    -a*vsm*vtp + a*vsp*vtm = - c*vcc*vtm + c*vcc*vtp // * (-1)
    a*vsp*vtm - a*vsm*vtp = c*vcc*vtp - c*vcc*vtm
    a(vsp*vtm - vsm*vtp) = c*vcc*vtp - c*vcc*vtm
    
        c*vcc*vtp - c*vcc*vtm
    a = --------------------- // Ne dépend plus de b
          vsp*vtm - vsm*vtp
    
    
    
        c*vcc*vtp - c*vcc*vtm
    a = ---------------------
          vsp*vtm - vsm*vtp
    
    
                   a*c*vtp
    b = -----------------------------
        c*vcc - c*vtp - a*vtp + a*vsp
    
    


    Comparateur de type collecteur ouvert
    Comparateur en haute impédance
    On est dans le cas où V+ > V-
    Calculs pour atteindre VT+
    Code:
    vtp = ub // La tension "Ub" est la tension de seuil VT+
    On fixe d pour éviter une d'avoir une infinité de solutions.

    c et d en série (ic = id), sortie flottante.

    Dimensionner c pour fixer la tension de sortie d'état haut, notée vs
    Code:
             uc
    c = ---------------
             ic
      
           
          vs - vtp
    c = --------------- // de la forme r=u/i
             ud
           -----
             d
    On ne laisse pas "Uc", "Ud" écrites telles-quelles, car ces tensions ne sont pas fixes et dépendent de l'état du comparateur.

    Code:
           vs - vtp
    c = ---------------
           vcc - vs
          ----------
               d
    
    
                         d
    c = (vs - vtp) * ----------
                      vcc - vs
    
    
         d*vs - d*vtp
    c = --------------
          vcc - vs

    Pour calculer a, on a besoin de passer par les courants, et la loi des noeuds

    Code:
    ib = ia + ic
    Donc :
    Code:
    ia = ib - ic
    En faisant un système d'équations, trouver une expression de a indépendante de b
    Réécrite avec les courants sous la forme i=u/r
    Code:
      vcc - vtp            vtp             vs - vtp
    --------------- = --------------- - ---------------
          a                 b                 c
    
    
      vcc - vtp            c*vtp          b*vs - b*vtp
    --------------- = --------------- - ---------------
          a                 b*c               b*c
    
    
      vcc - vtp        c*vtp - (b*vs - b*vtp)
    --------------- = ------------------------
          a                     b*c           
    
    
      vcc - vtp        c*vtp - b*vs + b*vtp
    --------------- = ------------------------
          a                   b*c  
    
    
    b*c*(vcc - vtp) = a(c*vtp - b*vs + b*vtp)
    a(c*vtp - b*vs + b*vtp) = b*c*vcc - b*c*vtp // Repère 1
    
         b*c*vcc - b*c*vtp
    a = --------------------
        c*vtp - b*vs + b*vtp
    Extraire b
    Code:
    a(c*vtp - b*vs + b*vtp) = b*c*vcc - b*c*vtp
    a*c*vtp - a*b*vs + a*b*vtp = b*c*vcc - b*c*vtp
    a*c*vtp = a*b*vs - a*b*vtp + b*c*vcc - b*c*vtp
    b(a*vs - a*vtp + c*vcc - c*vtp) = a*c*vtp
    
                  a*c*vtp
    b = ----------------------------
         a*vs - a*vtp + c*vcc - c*vtp
    Calculs pour atteindre VT-
    Code:
    vtm = ub // La tension "Ub" est la tension de seuil VT-
    
    ib = ia + ic
    
    
       vtm          vcc - vtm      vsm - vtm
    ------------ = ------------ + ------------
        b               a              c
    
    
       vtm         c*vcc - c*vtm   a*vsm - a*vtm
    ------------ = ------------- + -------------
        b               a*c             a*c
    
    
    a*c*vtm = b(c*vcc - c*vtm + a*vsm - a*vtm)
    a*c*vtm - a*b*vsm + a*b*vtm = b*c*vcc - b*c*vtm // Repère 2
    
    Système d'équation avec les deux formules des courants selon l'état du comparateur :
    a(c*vtp - b*vs + b*vtp) = b*c*vcc - b*c*vtp // Récupère le Repère 1
    a*c*vtm - a*b*vsm + a*b*vtm = b*c*vcc - b*c*vtm // Récupère le Repère 2
    
    a*c*vtp - a*b*vs  + a*b*vtp = b*c*vcc - b*c*vtp
    a*c*vtm - a*b*vsm + a*b*vtm = b*c*vcc - b*c*vtm 
    
    a*c*vtm*vtp - a*b*vs*vtm  + a*b*vtm*vtp = b*c*vcc*vtm - b*c*vtm*vtp // Multiplie par vtm
    a*c*vtm*vtp - a*b*vsm*vtp + a*b*vtm*vtp = b*c*vcc*vtp - b*c*vtm*vtp // Multiplie par vtp
    
    a*c*vtm*vtp - a*b*vs*vtm  + a*b*vtm*vtp = b*c*vcc*vtm - b*c*vtm*vtp
    a*c*vtm*vtp - a*b*vsm*vtp + a*b*vtm*vtp = b*c*vcc*vtp - b*c*vtm*vtp  --
    -----------------------------------------------------------------------
                - a*b*vs*vtm + a*b*vsm*vtp = b*c*vcc*vtm - b*c*vcc*vtp
    
    - a*b*vs*vtm + a*b*vsm*vtp = b*c*vcc*vtm - b*c*vcc*vtp
    a*b*vs*vtm - a*b*vsm*vtp = b*c*vcc*vtp - b*c*vcc*vtm
    b(a*vs*vtm - a*vsm*vtp) = b(c*vcc*vtp - c*vcc*vtm) // Factorise par b, qui sera éliminé à la ligne suivante
    a*vs*vtm - a*vsm*vtp = c*vcc*vtp - c*vcc*vtm // Plus de b dans le calcul
    a(vs*vtm - vsm*vtp) = c*vcc*vtp - c*vcc*vtm
    
        c*vcc*vtp - c*vcc*vtm
    a = ---------------------
          vs*vtm - vsm*vtp
    
    
         d*vs - d*vtp
    c = --------------
          vcc - vs
    
    
        c*vcc*vtp - c*vcc*vtm
    a = ---------------------
          vs*vtm - vsm*vtp
    
    
                  a*c*vtp
    b = ----------------------------
        a*vs - a*vtp + c*vcc - c*vtp
    

    -----

  2. #2
    gcortex

    Re : Calculs de résistances autour d'un comparateur à hystérésis

    Non !

    2 lignes de calcul au grand max.
    tu fixes des résistances et tu n'en calcules qu'une ou deux.
    tu peux aussi simplifier ta masse virtuelle avec Thévenin.
    Et en principe la position du potar ne dépend pas de la tension d'alim.

    PS : les comparateurs standards sont à collecteur ouvert (comme le LM393).
    Dernière modification par gcortex ; 07/04/2020 à 08h37.

  3. #3
    gcortex

    Re : Calculs de résistances autour d'un comparateur à hystérésis

    Tu prends Vsat = 0/Vcc et tu as deux résistances en parallèle (produit/somme).
    On dirait un math sup qui n'a pas vu les simplifications !

  4. #4
    Janpolanton

    Re : Calculs de résistances autour d'un comparateur à hystérésis

    Bonjour,
    PS : les comparateurs standards sont à collecteur ouvert (comme le LM393).
    Et manque de bol, la série LMx11 est aussi à émetteur ouvert...

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

    Re : Calculs de résistances autour d'un comparateur à hystérésis

    Bonjour,
    Citation Envoyé par gcortex
    Non !

    2 lignes de calcul au grand max.
    tu fixes des résistances et tu n'en calcules qu'une ou deux.
    tu peux aussi simplifier ta masse virtuelle avec Thévenin.
    Et en principe la position du potar ne dépend pas de la tension d'alim.

    PS : les comparateurs standards sont à collecteur ouvert (comme le LM393).
    J'ai fait l'erreur de penser que les comparateurs standards avaient des tensions de déchet, comme un AOP saturé.
    Je ne pensais pas qu'ils étaient à collecteur ouvert.
    On peut dire que la partie gauche de l'image et les calculs qui vont avec s'appliquent aux AOP utilisés comme comparateurs (d'ailleurs, je l'avais indiqué sur l'image)

    Pour le potar sur l'entrée inverseuse, il est juste là pour indiquer que la tension en entrée est variable.
    L'entrée hystérésis est la non inverseuse.

    Il y a beaucoup de paramètres, et ici, je laisse le choix du VS qui est la tension de sortie présente au niveau de la résistance de pull-up lorsque le comparateur est en haute impédance.
    Donc, pour avoir le VT- voulu, VT+ voulu, et VS voulu, ça complique pas mal, et il faut jouer sur chaque résistance.


    Citation Envoyé par gcortex
    Tu prends Vsat = 0/Vcc et tu as deux résistances en parallèle (produit/somme).
    On dirait un math sup qui n'a pas vu les simplifications !
    Maths sup ! J'aimerais bien !
    Non, j'ai peut être un niveau de seconde, et encore... grâce aux cours particuliers.

    J'ai testé avec un LM311, à l'état bas, il y reste une petite tension, que j'ai choisi de ne pas négliger. Dans ce cas, elles ne sont pas en parallèle.
    Donc, ça complique un peu. Cette tension restante, je la prend en compte avec ce que j'ai appelé vsm.

Discussions similaires

  1. Comparateur à hystérésis
    Par invited5c839d8 dans le forum Électronique
    Réponses: 13
    Dernier message: 25/01/2014, 13h48
  2. Comparateur à hystérésis (AOP)
    Par invite9a93ada1 dans le forum Physique
    Réponses: 6
    Dernier message: 27/11/2011, 19h58
  3. Comparateur à Hystérésis
    Par invite86f8da62 dans le forum Physique
    Réponses: 2
    Dernier message: 04/03/2009, 18h45
  4. Comparateur à hystérésis
    Par invitee0ba7c35 dans le forum Électronique
    Réponses: 5
    Dernier message: 14/11/2007, 20h02
  5. Calculs pour un comparateur à hysteresis
    Par invite6d132392 dans le forum Électronique
    Réponses: 7
    Dernier message: 20/03/2006, 21h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...