[Autre] Anemometre et mesure de sa tension avec un ESP32
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 31

Anemometre et mesure de sa tension avec un ESP32



  1. #1
    larbalette

    Anemometre et mesure de sa tension avec un ESP32


    ------

    bonjour à tous,

    je me creuse les méninges depuis quelques jours entre mes faibles connaissances en électronique et mes recherches sur Internet pour réaliser un dispositif de mesure de la vitesse du vent qui me permettra ensuite de déclencher des actions.
    Tout se passe dans un ESP32 que je programme. De ce côté, pas de souci.
    C'est la partie montage électronique pour laquelle je sollicite votre avis.

    Est-ce que ce que j'imagine vous semble fonctionner ?
    Et notamment, si oui, je n'ai aucune idée si mes propositions de dimensionnement sont correctes ?

    Voici mon cheminement :
    mon anemometre est un simple dispositif à 2 fils qui génère une tension entre 0 et 4V continu (DC). La plage de fonctionnement usuelle est entre 0 et 2V, mais 4V est une valeur possible (et pour info, mais sans intérêt ici, la tension multiplée par 50 donne le vent en km/h d'après l'abaque de mon anémomètre).

    La borne VP (GPIO 36) de mon ESP32 sur laquelle je souhaite lire la tension (graĉe au Analog to Digital converter ADC de l'ESP32) est limitée à 3V3.
    il me faut donc un diviseur de tension pour ramener le MAX de 4V à 3.3V.

    Ensuite, j'ai cru comprendre que l'ESP32 aurait du mal à lire cette tension à cause de la résistance (ou l'impédance ?) de l'anémomètre...
    Une bonne solution serait d'utiliser un Ampli OP monté en suiveur pour répliquer la tension en entrée ? et l'alimenter avec la même tension MAX que je vais faire lire à l'ESP32 (donc 3,3V), et permettant ainsi que l'ESP32 "voit" une impédance extrêmement faible. Je l'alimente donc avec la source 3,3V fournie par l'ESP32.

    Dernier point, quand je mesure la tension aux bornes de l'anémomètre, je vois que ça fluctue beaucoup.
    je me suis dit que pour lisser cette tension, et ne pas être soumis à du "bruit", il fallait peut être mettre un condensateur aux bornes de l'anémomètre ? si oui, je n'ai aucune idée du bon dimensionnement...j'ai voulu récupérer un condensateur que j'avais sur un vieux circuit de récup, il fait 300 µF...

    avec toutes ces réflexions, j'en suis arrivé à ce schéma.
    Est-ce que vous pensez que ça fonctionne ? quel dimensionnement pour C1 ? est-ce que l'AOP MCP6001T que j'ai choisi vous semble pertinent? (j'essaye de faire du "pas cher")
    le fait d'avoir 2 sources de tension (l'alimentation en 5V et l'anémomètre) sur le même circuit me perturbe, mais je ne vois pas comment il pourrait en être autrement ?
    Nom : schéma branchement anemometre v2.png
Affichages : 304
Taille : 20,5 Ko

    Merci d'avance pour vos conseils !

    -----

  2. #2
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour

    Pas grand chose à commenter, l'AOP fonctionne à 10mV près autour des rails d'alimentation.
    Autant alimenter l'AOP en +5v
    Concernant l'anémomètre, il faut connaitre son impédance de sortie pour ne pas perturber par R1+R2.
    Mettre le condensateur aux bornes de R2, pour ne pas charger la sortie de l'anémomètre.
    R1 peut faire 22k et R2 100k, ainsi C1 pourra diminuer de valeur
    cordialement

  3. #3
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Et tenir compte des limites basse et haute de l'ADC ESP32,
    0 à 0,2v = 0
    3,2 à 3,3v = 4096
    Dernière modification par Pascal071 ; 13/05/2025 à 00h45.

  4. #4
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Merci Pascal071 pour votre réponse.
    J'ai refait un schéma pour reprendre les modifications conseillées, et être certain que j'ai bien compris :
    Nom : schéma branchement anemometre v3.png
Affichages : 258
Taille : 20,5 Ko

    je ne connais pas l'impédance de sortie de l'anémomètre. Je comprends que la suite de votre commentaire (notamment passer à 122 k au lieu de 12.2k pour le pont diviseur) est lié à ce point ? pour rendre négligeable l'impédance de l'anémomètre ?
    je suis en déplacement jusqu'à vendredi => je vais essayer de comprendre comment mesurer ça pour ce week-end (veuillez m'excuser si je ne réponds pas tout de suite à d'autres éventuels commentaires)

    Par contre, je n'ai pas compris le point sur le condensateur : quel impact positif cela a-t-il de le mettre aux bornes de R2 plutôt qu'aux bornes de l'anémomètre ?
    et quel intérêt d'en baisser sa valeur ? (car si je peux conserver mon condensateur de récup, ça m'arrange, sauf si c'est une mauvaise idée !)

    concernant les limites de l'ADC de l'ESP32, je les avais bien en tête (j'avais vu une courbe qui montrait effectivement une non linéarité aux extremes)
    ça signifie que je vais être aveugle entre 0 et 0.2V (donc impossible de connaître le vent en dessous de 12 km/h) et au dessus de 3.2V...mais ce n'est pas très grave pour mon application.
    par contre, il est vrai qu'il faut que j'adapte mon programme pour considérer une droite entre 0 et 4096 correspondant à des valeurs entre 0.2V et 3.2V au lieu de 0 à 3.3V.

    merci

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

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour,

    Pour ne pas avoir à gérer l'impédance de l'anémomètre, pourquoi ne pas mettre le pont diviseur en sortie du suiveur, ... à moins qu'il y ait des problèmes du côté des entrées !

  7. #6
    antek

    Re : Anemometre et mesure de sa tension avec un ESP32

    Le fonctionnement du filtre est lié à RC avec Fc = 1/2piRC
    Dans le 1er schéma R est inconnu mais supposé faible. Dans le 2e R est grand est défini.
    La valeur du condensateur est énorme !
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  8. #7
    antek

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par gts2 Voir le message
    ... à moins qu'il y ait des problèmes du côté des entrées !
    Oui, le adc ne devrait pas suivre les variations. Mais le 300 µF supprime le problème !
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  9. #8
    Antoane
    Responsable technique

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour,

    on peut aussi décider que les vents <12 km/h sont intéressants, mais que ceux de plus de 100 ou 150 km/h ne le sont pas.
    on pourrait donc ne pas chercher à "mapper" 0-4V sur 0-3V3 (ou plutot 0,25-3,85V sur 0,2-3,2V) mais, par exemple 0-2.5V sur 0,2-3,2V.
    Ca peut se faire avec une résistance additionnelle pour ajouter un offset, intégré dans un sommateur (avec possiblement un peu de gain) basé sur l'AOP.
    On ajoutera le filtre RC en sortie de l'AOP pour offir une faible impédance de source à l'ADC, tout en en protégeant l'entrée contre les sur-tensions pouvant provenir d'un AOP alimenté en 0/5V

    Un vieux condensateur de 300uF a des chances d'avoir un courant de fuite (i.e. une résistance parasite parallèle) non négligeable. On trouve facilement des condensateurs de récupération plastique, ce serait plus adapté.

    Edit: le filtre hardware est ici pour filtrer le bruit (freq de coupure fc << 1 Hz). Si le vent varie "trop vite" pour que l'affichage soit agréable, il est plus simple d'utiliser un filtrage software (fc ~ 1 - 0,1 Hz).
    Dernière modification par Antoane ; 13/05/2025 à 12h06.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  10. #9
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour
    Avec 2k et 300µF, le RC fait 0,6sec. n'est pas si grand, pour la mesure du vent.
    Il faut que le 300µF soit en bon état..

    On peut avoir le modèle d'anémomètre ?

    edit.
    autant alimenter l'AOP en 3v3, pour le risque noté par Antoane de 5v sur l'entrée ADC.
    Les 10mV par rapport aux rails 0v et 3v3 sont infimes.
    Dernière modification par Pascal071 ; 13/05/2025 à 12h06.

  11. #10
    Vincent PETIT
    Animateur Électronique

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour,
    Pour ramener la sortie de l'anémo de 0V-4V vers 0.5V-3.3V tu peux le faire qu'avec des résistances.

    Nom : Capture093.PNG
Affichages : 257
Taille : 18,2 Ko

    L'impédance de sortie des 3 résistances fait 70k (R1 || R2 || R3) donc avec C1 = 10µF on garde les 0.7s de constante de temps. C1 fait aussi tampon pour le piètre ADC de l'ESP32.

    Il faudrait essayer mais l'AOP pourrait ne plus être nécessaire.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  12. #11
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    je vous remercie pour vos réponses et l'intérêt que vous portez au sujet !
    je n'ai pas les bases techniques pour bien comprendre ce que vous dîtes mais je vais essayer de comprendre en prenant le temps d'ingurgiter ! (ne vous laissez pas tromper par mes jolis schémas : ce n'est que du vernis )

    ce que je retiens des messages ci-dessus ou les réponses que j'y apporte :
    - brancher l'AOP sur le 3,3V permet de s'affranchir d'une éventuelle surtension délétère pour l'ADC de l'ESP32 puisque la sortie de l'AOP est capée sur la tension d'alimentation => c'est pour ça qu'au début, je l'avais branché comme ça...
    mais s'il y a un pont diviseur de tension + un condensateur, ça ne devrait pas arriver...donc je reste en 5V, et je trouve ça mieux (pure intuition) de ne pas charger le 3V3 de l'ESP32 qui me sert par ailleurs et je ne voudrais pas perturber le reste du montage
    (dîtes moi si c'est faux)

    - pour répondre à Antoane, personnellement, dans mon application, je dois détecter des vents dès lors qu'ils sont supérieurs à 20/30 km/h.
    Donc je n'ai pas envie de m'embêter (dans 1 premier temps en tout cas) à gérer la zone aveugle en dessous de 12 km/h (mais pourquoi pas dans un second temps pour la beauté du geste )

    - mon condensateur de récup est une mauvaise idée car probablement abîmé (c'est fort possible effectivement). Du coup, OK, je pars sur l'idée d'en acheter un.
    Vincent mentionne 10 µF, mais sur un schéma sans AOP que d'ailleurs je ne comprend pas du tout (je préfère rester sur l'AOP pour proposer à l'ADC une impédance quasi nulle, et aussi parceque je comprends ce qu'il se passe et que je n'ai pas besoin de ramener la tension entre 0.5 et 3.3V dans mon cas. Cela étant dit, par pure curiosité, ça m'intéresserait de comprendre !).
    Est-ce que ce dimensionnement à 10µF reste identique avec un AOP ? je n'ai pas compris la logique de dimensionnement de ce composant...

    - je dois toujours creuser comment mesurer l'impédance de mon anémomètre (je verrai ce week-end). Pour répondre à Pascal, je ne connais pas exactement la technologie utilisée pour mon modèle d'anémomètre, acheté pas cher en chine.
    Il y a dessus l'inscription model: kmyc-3 (je ne suis pas certain que ça soit hyper pertinent). Voici en lien un PDF avec les maigres infos sur ce dispositif : http://lette.hopto.org/images/forums/anemometre.pdf

  13. #12
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    L'ADC de l'ESP a une haute impédance d'entrée.
    Pas besoin d'AOP..
    Un simple pont diviseur 22k-100k et condensateur 10µF suffira bien.. 0,2s de constante de temps.

    Je pense que la sortie de l'anémomètre a une faible impédance.

  14. #13
    paulfjujo

    Re : Anemometre et mesure de sa tension avec un ESP32

    bonjour,

    je plussoie à cette analyse,

    bien que je diviserai bien les valeurs du pont diviseur par 4 voir 10
    + filtrage software modulo 8 ou plus des mesures individuelles.

    L'impédance de l'anémomètre, qui semble être constituée d'un Moteur DC à aimant permanent
    doit donc être très faible (quelques ohms ...checker avec un ohmmètre)

    cet article montre que la mesure est possible de 50mv à 3,0V
    même si la linéarité n'est pas folichonne.

    A vérifier aussi, si une pull-up interne n'est pas activée sur l'entre ADC , qui pourrait biaiser le zéro.

    le seul avantage d'utiliser un ampli OP suiveur serait de vraiment limiter la tension d'entrée ESP32 à < 3,3V
    inutile avec le pont diviseur et si l'anémomètre est vraiment limité à 4V maximum.
    mais utile avec un Ouragan ou explosion nucléaire souffle >200Km/h
    Dernière modification par paulfjujo ; 14/05/2025 à 15h23.

  15. #14
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Merci pour ces réponses.

    donc je vais partir sur un simple pont diviseur de tension.
    22k-100k m'allait bien.

    Quel est l'intérêt d'en diviser les valeurs par 4 voir par 10 ? dans le doute sur l'impédance de l'anémomètre, qu'elle soit faible ou élevée, c'est aussi bien avec 22k-100k, non ?

    merci pour le lien vers l'article. Ce n'est pas celui là que j'avais lu, mais il reprend les mêmes conclusions que j'avais déjà en tête.
    j'étais parti dans l'idée, comme lui, de gérer l'amplitude de tension qu'on ne peut pas lire (en dessous de 0,15V et au dessus de 3,1V) via mon programme.

    Cependant, j'ai essayé de comprendre le schéma de Vincent (avec les 3 résistances reliées à un noeud central), et maintenant, j'ai compris comment ça marche. C'est fascinant qu'on puisse faire ça avec juste 3 résistances !
    j'hésites quand même à aller vers cette solution... je mettrais plutôt 1,2 MOhm en R2 pour redescendre la borne min de la tension de sortie vers 0,2V...
    mais c'est séduisant tout de même...

    pour les novices comme moi et qui n'ont pas la patience de chercher, voilà ce que j'ai compris du schéma :
    il faut considérer que l'intensité i1 qui traverse R1 s'ajoute à l'intensité i2 qui traverse R2, et rejoignent la masse en traversant R3 (avec un courant i3, qui est donc égal à i1+i2, c'est la loi des nœuds il me semble).
    puis en combinant des lois d'ohm dans chaque branche de l'étoile, et le fait que la tension aux bornes de 2 résistances est la somme des tensions aux bornes de chacune d'entre elles :
    on a Va (tension de l'anémomètre) = Vout (tension de sortie du dispositif, aux bornes de R3) + V1 (tension aux bornes de R1)
    donc V1 = Va - Vout
    on a aussi 3V3 = V2 + Vout

    V1 = i1 *R1, donc on a i1 = (Va - Vout)/R1
    puis 3V3 = i2*R2 + Vout, donc i2 = (3V3 - Vout)/R2
    et i3 = Vout/R3.
    i1 +i2 = i3 (loi des noeuds ?)
    donc (Va - Vout)/R1) + (3V3 - Vout)/R2 = Vout/R3
    (j'espère que j'ai pas fait d'erreur, mais sinon, c'est l'idée); Il ne reste plus qu'à résoudre l'équation à une seule inconnue : Vout. et on trouve bien Vout qui varie entre 0,5 et 3,3V avec les résistances indiquées par Vincent. Et si on passe R2 à 1,2M, ça baisse entre 0,2 et 3,3V.

    Et l'impédance du système se calcule en considérant qu'à la place des tensions Va et 3V3, les points sont à la masse...et donc les 3 résistances sont en parallèle (puisqu'elles partagent toute la masse d'un côté, et le nœud central de l'autre).
    et la formule pour calculer la résistance de 3 résistances en parallèle c'est 1 / R = 1/R1 + 1/R2 + 1/R3. ça donne bien 70k comme indiqué par Vincent !
    J'ai pas bien compris quel principe physique fait qu'on fait cette hypothèse de mettre les points sous tension à la masse, mais je comprends que le chiffre de Vincent vient de là.

    pour finir, j'aimerai quand même vérifier cette histoire d'impédance de l'anémomètre.
    pour mesurer l'impédance de sortie de mon anémomètre, j'ai l'intention de procéder comme ceci (après quelques recherches), mais je ne suis pas sûr de mon coup....si vous avez un avis ?
    0) on considère que l'anémomètre est un générateur de tension idéal en série avec une résistance Z (son impédance)
    1) mettre un sèche cheveux bien posé en face de l'anémomètre pour le faire tourner, et être reproductible entre les phases de l'expérience
    2) mesurer la tension V(vide) aux bornes de l'anémomètre. Comme il n'est pas chargé, il n'y a pas d'intensité qui circule, on peut considérer que la tension du générateur idéal est celle qu'on vient de mesurer V(vide)
    3) brancher une résistance, disons de 100k, aux bornes de l'anémomètre (si c'est trop grand, je baisserai)
    4) mesurer la tension V(charge) aux bornes de l'anémomètre (en réalité, aux bornes de R....et aux bornes du "générateur idéal de tension V(vide) en série avec son impédance Z")
    donc on a V(charge) = I*R...
    et par ailleurs, l'anémomètre tournant à la même vitesse, il se comporte toujours comme une source de tension idéale produisant la tension V(vide) mesurée précédemment et un courant I circule dans Z et dans R...
    donc on a la relation V(vide) = I * (Z+R)
    les 2 membres permettent d'écrire V(charge)/R = V(vide)/(Z+R)
    on trouve donc Z = R*(V(vide)-V(charge))/V(charge)

    Est-ce que cette méthode vous semble correcte ?

  16. #15
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour

    oui, la formule est bonne, il faut descendre la valeur de R jusqu'à une diminution significative, mais pas trop :
    si Vvide est un moteur, je crains que R vienne le ralentir et fausser la mesure.

    avec des valeurs plus hautes de Z, on choisit R pour que Vcharge = 1/2 Vvide
    Ainsi on a sans calcul Z=R
    Dernière modification par Pascal071 ; 14/05/2025 à 22h53.

  17. #16
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Parfait !
    Je vais tester ça ce week-end.
    Oui j’avais lu des choses sur cette mesure avec un potentiomètre qu’on règle en direct !
    Mais j’en n’ai pas sous la main…

  18. #17
    Vincent PETIT
    Animateur Électronique

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par larbalette Voir le message
    Cependant, j'ai essayé de comprendre le schéma de Vincent (avec les 3 résistances reliées à un noeud central), et maintenant, j'ai compris comment ça marche.
    Bravo ! Tu as tout compris.

    Le théorème de Millman donne directement la valeur en sortie des 3 résistances en fonction des tensions dispo et de la valeur des résistances.



    Ta démonstration correspond au théorème de superposition, qui est un cas particulier de Millman.
    Avec superposition :
    1) tu gardes Vin allumé mais tu mets le 3.3V à 0V (R2 se retrouve en parallèle de R3) et tu calcules la tension issue du pont diviseur R1 et R2||R3.
    2) tu gardes le 3.3V allumé mais tu mets Vin à 0V (R1 se retrouve en parallèle de R3) et tu calcules la tension issue du pont diviseur R2 et R1||R3.
    3) tu fais la somme des 2 résultats de 1) et 2)

    * tu fais ces 3 étapes 2x, une fois avec Vin = 4V et une fois avec Vin = 0V

    Avec le temps, comme tout le monde, je me suis fait un tableur pour calculer plutôt les valeurs des résistances par rapport aux tensions du montage. Quand on fait du design c'est plutôt ça qu'on cherche.



    Citation Envoyé par larbalette Voir le message
    Et l'impédance du système se calcule en considérant qu'à la place des tensions Va et 3V3, les points sont à la masse...et donc les 3 résistances sont en parallèle (puisqu'elles partagent toute la masse d'un côté, et le nœud central de l'autre).
    et la formule pour calculer la résistance de 3 résistances en parallèle c'est 1 / R = 1/R1 + 1/R2 + 1/R3. ça donne bien 70k comme indiqué par Vincent !
    J'ai pas bien compris quel principe physique fait qu'on fait cette hypothèse de mettre les points sous tension à la masse.
    Ca vient du théorème de Thévenin, il permet de trouver la résistance équivalent d'un montage et la source de tension équivalente (qui ne m'intéressait pas vraiment ici)

    Si j'applique la méthode à ton tout premier schéma en considérant une impédance de 2Ω (prise au hasard) pour l'anémomètre ça donne ça.

    En 1) Je regarde là où l'ADC va être placé, pour analyser ce qu'il va voir.
    En 2) J'éteints la source de tension et je redessine le schéma pour comprendre comment s'agence les résistances. La 10k se trouve en || de (la 2Ω en série avec la 2.2k)
    En 3) je vois que la résistance de la source (l'anémomètre + pont diviseur) sera de 1.8k.

    Si c'est important de savoir ça, c'est parce que les fabricants de microcontrôleurs sérieux (c'est à dire tous sauf ce qui vient de chine) annoncent clairement qu'elle doit être l'impédance de source max qu'on peut raccorder à leur ADC. Sur un Arduino (ATMEGA328P) la résistance de source doit être de 10k max, au delà il peut y avoir un problème car un ADC tire un peu de courant quand il fait une conversion et si l'impédance de source est trop grande ça cause une chute de tension.

    Nom : Capture096.PNG
Affichages : 210
Taille : 31,5 Ko

    D'où la remarque de paulfjujo pour baisser la résistance de source.
    Citation Envoyé par paulfjujo
    bien que je diviserai bien les valeurs du pont diviseur par 4 voir 10
    La capa de 10µF sert de réservoir d'énergie intermédiaire et on peut la voir aussi comme une source de tension (intermédiaire) et faire une analyse pour voir qu'elle a aussi une impédance. L'ADC va tirer du courant dans la capa, la vidant un peu, ensuite elle se rechargera en 5*(Z*C). Si le temps entre 2 acquisitions de l'ADC est supérieur à 5*(Z*C) alors le capa aura eu le temps de se recharger et l'AOP n'est plus vraiment nécessaire.

    Le soucis avec l'ESP32 c'est que le fabriquant ne donne quasiment pas d'info sur l'ADC, il est donc difficile voir impossible de savoir qu'elle résistance de source il faut.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  19. #18
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Merci Vincent pour ces explications.
    mais si je comprends bien (je n'avais pas "réalisé" ça jusqu'à présent, même si j'avais tous les éléments pour !)
    j'ai 2 problèmes à gérer, dont les solutions s'opposent :

    - d'un côté, j'ai un anémomètre qu'on modélise par un générateur de tension idéal en série avec son impédance...impédance inconnue (que je vais essayer de mesurer), et je dois abaisser la tension entre 0.2V et 3.3V par un "système" pour pouvoir la lire. Si l'impédance de l'anémomètre est élevée, et que l'impédance du système diviseur est basse, le courant tiré va fausser la lecture de la tension...donc par défaut, si je ne connais pas l'impédance de l'anémomètre, j'ai intérêt à mettre une impédance élevée pour mon "système" diviseur de tension, pour que l'intensité "tirée" soit faible et que donc la tension aux bornes de l'impédance de l'anémomètre soit négligeable face à la tension du générateur idéal

    - d'un autre côté, l'ADC de l'ESP32, dont on ne connaît pas la spécification sur l'impédance MAXI du système dont il lit la tension, a donc besoin idéalement d'une impédance la plus faible possible. ce qui s'oppose au 1er point ! C'est la raison du commentaire de paulfjujo, mais ça suppose une impédance faible de l'anémomètre, ce qu'on ne sait pas

    une façon de rendre indépendant les 2 problèmes est d'intercaler un AOP entre le système diviseur et l'ESP32 => je peux gérer une impédance élevée pour mon système diviseur, et ne pas perturber l'anémomètre (d'autant plus que l'entrée de l'AOP a une impédance infinie, ça va dans le bon sens)...et l'AOP monté en suiveur, qui a une impédance nulle en sortie, présente la même tension à l'ADC, sans impédance, idéal pour l'ESP32.

    je comprends qu'une autre façon de faire est de mettre un tampon : le condensateur, qui est chargé par mon système, et qui "rend" cette charge avec une impédance très faible lors de la lecture par l'ESP32...

    ma fréquence de lecture est de 0.5s.
    est-ce qu'avec un condensateur de 10 µF, une fréquence de lecture de 0.5s, ça règle mon problème ? et je peux d'un côté mettre un système diviseur a forte impédance, et de l'autre le condensateur sert de passe-plat vers l'ADC avec une faible impédance ?

  20. #19
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    j'ai l'impression que ça ne marche pas :
    si je prend Z = 77k (car je vais mettre R2 à 1.2M dans le système diviseur avec 3 résistances)
    5*Z*C = 5*77000*10*10^-6 = 3.8 secondes...nettement supérieur à 0.5s ma fréquence de lecture...

    ou alors je n'ai pas compris le fonctionnement avec le condensateur ?

  21. #20
    antek

    Re : Anemometre et mesure de sa tension avec un ESP32

    Si on ne sait pas exactement comment fonctionne l'adc (échantillonage, blocage, reset . . .) et la valeur de l'impédance anémomètre, alors un suiveur évitera de se poser des questions en boucle.
    Il est également possible de choisir un µC avec datasheet complète (au hazard pic 16fxx).
    C'est mon point de vue
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  22. #21
    Vincent PETIT
    Animateur Électronique

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par larbalette Voir le message
    - d'un côté, j'ai un anémomètre qu'on modélise par un générateur de tension idéal en série avec son impédance...impédance inconnue (que je vais essayer de mesurer), et je dois abaisser la tension entre 0.2V et 3.3V par un "système" pour pouvoir la lire. Si l'impédance de l'anémomètre est élevée, et que l'impédance du système diviseur est basse, le courant tiré va fausser la lecture de la tension...donc par défaut, si je ne connais pas l'impédance de l'anémomètre, j'ai intérêt à mettre une impédance élevée pour mon "système" diviseur de tension, pour que l'intensité "tirée" soit faible et que donc la tension aux bornes de l'impédance de l'anémomètre soit négligeable face à la tension du générateur idéal
    C'est tout à fait exacte.

    Citation Envoyé par larbalette Voir le message
    - d'un autre côté, l'ADC de l'ESP32, dont on ne connaît pas la spécification sur l'impédance MAXI du système dont il lit la tension, a donc besoin idéalement d'une impédance la plus faible possible. ce qui s'oppose au 1er point ! C'est la raison du commentaire de paulfjujo, mais ça suppose une impédance faible de l'anémomètre, ce qu'on ne sait pas
    Oui !

    Citation Envoyé par larbalette Voir le message
    une façon de rendre indépendant les 2 problèmes est d'intercaler un AOP entre le système diviseur et l'ESP32 => je peux gérer une impédance élevée pour mon système diviseur, et ne pas perturber l'anémomètre (d'autant plus que l'entrée de l'AOP a une impédance infinie, ça va dans le bon sens)...et l'AOP monté en suiveur, qui a une impédance nulle en sortie, présente la même tension à l'ADC, sans impédance, idéal pour l'ESP32.
    C'est ça. L'AOP peut présenter une grande impédance d'entrée à l'anémomètre pour ne pas le perturber et une très faible impédance à l'ADC afin que celui-ci puisse tirer un peu de courant dessus lors de la conversion analogique/numérique sans perturber.

    Citation Envoyé par larbalette Voir le message
    je comprends qu'une autre façon de faire est de mettre un tampon : le condensateur, qui est chargé par mon système, et qui "rend" cette charge avec une impédance très faible lors de la lecture par l'ESP32...
    C'est ma faute. En voulant ne pas en écrire trop, pour ne pas trop charger en info, j'ai laissé une erreur. Tu as compris, c'est bien ça.

    Citation Envoyé par larbalette Voir le message
    5*Z*C = 5*77000*10*10^-6 = 3.8 secondes...nettement supérieur à 0.5s ma fréquence de lecture...

    ou alors je n'ai pas compris le fonctionnement avec le condensateur ?
    5 * Z * C c'est pour la première charge du condensateur. On le considère vide et on dit qu'il est entièrement chargé après 5*tau (tau = constante de temps de charge = R*C ou Z*C comme je l'ai noté, quoi que comme on parle ici de 3 résistances j'aurai plutôt du écrire R que Z). Au premier démarrage de l'appareil, il faudrait en effet considérer 3.8s d'attente avant de commencer à lire avec l'ADC, afin que le condo de 10µF ait eu le temps de se charger entièrement au travers de 70k d'impédance que forme l'arrangement des 3 résistances.

    Si l'ADC venait à vider entièrement le condensateur de 10µF lors d'une lecture alors oui il faudrait considérer 3.8s entre 2 lectures de l'ADC mais par contre ça c'est sur que ça n'arrivera pas... sauf si l'entrée de ADC est cassé

    Je te renvoie vers 2 réponses qu'avait fait bobflux sur des sujets comme nous traitons ici parce que je n'arriverai pas à expliquer la même chose plus simplement qu'il ne l'a fait.

    Ici https://forums.futura-sciences.com/e...ml#post7215282 bobflux confirme le rôle de "passe plat" dont nous parlions juste au dessus. Je vois bien que tu avais compris son rôle mais je donne ce lien car bobflux donne aussi une formule approchée qui fonctionne bien pour calculer cette capa intermédiaire.

    Ici https://forums.futura-sciences.com/e...ml#post5427330 c'est une réponse plus complète et tu verras que si nous avions eu tous les éléments de l'ADC de l'ESP32 nous aurions même pu trouver la valeur minimale du condensateur.


    Donc :
    Avec un condo trop grand tu vas avoir un effet de filtrage que tu ne souhaites probablement pas, c'est à dire que les brusques rafales (les variations rapides) vont être fortement atténuées à cause d'une grande constante de temps. Avec un condo trop faible l'ADC viendra fausser un peu les mesures. Cependant la plage de valeur qui convient doit, selon moi, être sacrément grande. Ce serait bien le diable que tu tombes sur une valeur qui ne va pas d'autant plus que tu as 2 variables d'ajustements : la valeur du condo ou baisser d'un rapport 2, 3, ... la valeurs des 3 résistances.


    Citation Envoyé par antek
    Si on ne sait pas exactement comment fonctionne l'adc (échantillonage, blocage, reset . . .) et la valeur de l'impédance anémomètre, alors un suiveur évitera de se poser des questions en boucle.
    Oui dans le doute ça élimine les problèmes.



    Moi je ferai ça :
    Je prends les 3 résistances telles qu'elles sont actuellement, de fortes valeurs, je fixe une valeur de condensateur ; disons 10µF
    Je mets une tension connue, une pile 1.5V, à la place de l'anémomètre
    Je fais des *essais avec l'ADC de l'ESP32 connecté sur le condo de 10µF pour voir si je n'ai pas un truc de totalement déconnant.

    *essais à différentes fréquences de mesure ; toutes les 0.1s, 0.2s, 0.3s etc... jusque toutes les secondes.

    Je tracerai un graphique avec l'ADC ou afficherai une série de valeur et je ferai varier rapidement la tension d'entrée (avec un potard) afin de voir si le sur graphique je vois la variation et si elle n'est pas trop atténuée (cas de C trop grand ou Z des résistances trop grand)


    Sinon tu prends un AOP intermédiaire comme tu avais fait.



    Même si tu reviens à ton primer montage, ce qui est enrichissant pour toi c'est tout ce qui tu as compris ce montage à 3 résistances, l'alternative à l'AOP et surtout d'où sont venues toutes ces questions. C'est le raisonnement scientifique. Tu as fait un grand tour du problème et ça c'est bien.
    Dernière modification par Vincent PETIT ; 17/05/2025 à 13h41.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  23. #22
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par antek
    un suiveur évitera de se poser des questions en boucle.
    Il est également possible de choisir un µC avec datasheet complète (au hazard pic 16fxx)
    Effectivement, après toutes ces discussions, je me décide pour mettre un suiveur. En effet, nous avons trop de doutes sur l'ESP32 qui semble être de l'avis général, le pire ADC que je pouvais utiliser :
    Néanmoins, c'est quand même ce que je vais choisir parce que ça coûte vraiment pas cher, que je maîtrise sur ESP32 les autres fonctionnalités dont j'ai besoin, et que je n'ai pas besoin de plus performant.

    Citation Envoyé par Vincent PETIT
    Même si tu reviens à ton primer montage, ce qui est enrichissant pour toi c'est tout ce qui tu as compris ce montage à 3 résistances, l'alternative à l'AOP et surtout d'où sont venues toutes ces questions. C'est le raisonnement scientifique. Tu as fait un grand tour du problème et ça c'est bien.
    Entièrement d'accord. Très content des échanges et de vos contributions, j'ai appris plein de choses, c'est super !
    Et d'ailleurs, je conserve ce montage à 3 résistances.

    Citation Envoyé par Vincent PETIT
    Moi je ferai ça :
    Je prends les 3 résistances telles qu'elles sont actuellement, de fortes valeurs, je fixe une valeur de condensateur ; disons 10µF
    Je mets une tension connue, une pile 1.5V, à la place de l'anémomètre
    Je fais des *essais avec l'ADC de l'ESP32 connecté sur le condo de 10µF pour voir si je n'ai pas un truc de totalement déconnant.

    *essais à différentes fréquences de mesure ; toutes les 0.1s, 0.2s, 0.3s etc... jusque toutes les secondes.

    Je tracerai un graphique avec l'ADC ou afficherai une série de valeur et je ferai varier rapidement la tension d'entrée (avec un potard) afin de voir si le sur graphique je vois la variation et si elle n'est pas trop atténuée (cas de C trop grand ou Z des résistances trop grand)
    J'aurais bien aimé réaliser cette expérience, mais je n'ai pas de potentiomètre sous la main (ça m'aurait bien aidé aussi pour mesurer l'impédance de l'anémomètre...)...donc je vais choisir l'AOP suiveur...ça sera plus accessible pour moi et en plus, il faut quand même que je sorte mon projet pas dans 10 ans (mais je vais quand même tenter la mesure de l'impédance de l'anémomètre dès que possible, histoire de savoir ).

    Cependant, je vais quand même conserver le condensateur, car je souhaite malgré tout "filtrer" les bruits ou les variations de tension en dessous de la demi seconde (0.5 seconde)
    J'ai donc adapté un dernier schéma et en révisant les valeurs de résistance. J'ai tout divisé par 10, et si j'ai bien tout compris :
    - l'AOP ne tire pas de courant en entrée, donc baisser les résistances ne sera pas un pb pour l'anémomètre (dans le cas ou son impédance est plus élevée que prévue),
    - le condensateur à 10µF va lisser les variations inférieures à 0.38 seconde
    en effet, la résistance équivalente Req du système = 7.7k
    donc 5*Req*C = 5*7700*10*10^-6 = 0,386s,
    - et la tension en entrée d'AOP va varier entre 0.21V et 3.3V, et l'ADC de l'ESP32 à partir de 0.21V me donnera des valeurs linéaires (sauf au dessus de 3.2V, mais il est peu probable que j'ai des vents de 200 km/h, et si c'est le cas, ça sera le dernier de mes soucis que l'ESP32 déconne ! )

    donc j'aboutis à ce schéma. Si vous avez des derniers commentaires dessus, je suis preneur !
    (et je poste plus tard, pour les futurs lecteurs intéressés par un anémomètre similaire, ce que j'ai trouvé pour l'impédance)

    Nom : schéma branchement anemometre v4.png
Affichages : 181
Taille : 20,7 Ko

  24. #23
    antek

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par larbalette Voir le message
    dans le cas ou son impédance est plus élevée que prévue
    C'est une hypothèse fantaisiste

    Pour atténuer le bruit propre de l'anémomètre un céramique dans les 0,1/1 µF (au pif) devrait faire l'affaire.
    Un moyennage par logiciel est plus intéressant car permet de faire évoluer simplement les capacités de mesure. Par exemple, affichage avec plusieurs durées d'intégration (dont "instantanné").
    Tu fais ça en micro-python ?
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  25. #24
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Je pense que je fais déjà ce filtrage software dont vous êtes plusieurs à avoir parlé précédemment.
    Mais selon moi, ca ne règle pas le problème si je n’ai aucun condensateur.

    Je programme mon ESP32 via l’IDE Arduino en C.
    Je fais une mesure du pin de l’ADC toutes les 0,5 secondes et je stocke la donnée dans un tableau de 600 valeurs. La dernière mesure écrase la plus ancienne.
    Avec ce tableau j’accède à la valeur instantanée (la dernière mesure), la moyenne sur une période allant de (ce que je veux) à 5min…et la valeur max sur les 5 dernières minutes.

    Mais je ne suis pas à l’abri d’une tension bruitée pile au moment de la mesure et qui vient fausser la mesure instantanée et potentiellement la mesure max…

    Le 10uF me permet de gommer toutes les variations fines en dessous de 0,4s.
    J’entends que 1uF serait suffisant pour le bruit…mais 10uF me semble bien aussi, non ? Puisque 0,4s me semble pertinent pour mon besoin…

  26. #25
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Citation Envoyé par antek
    C'est une hypothèse fantaisiste
    Effectivement, je viens de faire l'expérience pour trouver l'impédance de l'anémomètre.
    j'ai tâtonné un peu, et en descendant jusqu'à une résistance de 58 ohms, j'ai à peu près divisé par deux la tension entre le mesure à vide et la mesure en charge.
    (comme je n'avais pas ce qu'il faut, j'ai mis 3 résistances de 169 ohms, le plus petit que j'avais, en parallèle. Théoriquement 56ohms, mais mesuré à 58)

    j'ai trouvé V(vide) = environ 0.24V, V(charge) = environ 0.11 à 0.12V

    donc ça donne d'après la formule pré-citée R*(V(vide)-V(charge))/V(charge)
    58 ohms * (0.24-0.11)/0.24 = 54 ohms d'impédance, voir 58 ohms, car ça fluctuait entre 0.11 et 0.12V lors de ma mesure.

    donc l'impédance de cet anémomètre est quelque part entre 55 et 60 ohms

    Nom : mesure impédance anémomètre.jpeg
Affichages : 147
Taille : 71,2 Ko

  27. #26
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonjour

    Concernant la mesure de l'impédance:
    La valeur est surement faussée par le fait que la vitesse a dû diminuer en chargeant l'anémomètre...
    La mesure serait exacte en maintenant la vitesse constante, mais c'est plus compliqué.
    Dans tous les cas, l'impédance de l'anémomètre est certainement << 1kohm, donc le schéma #22 avec l'AOP alimenté en 3v3 sera parfait.

    cordialement

  28. #27
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    Merci Pascal071
    Citation Envoyé par Pascal071
    La valeur est surement faussée par le fait que la vitesse a dû diminuer en chargeant l'anémomètre...
    La mesure serait exacte en maintenant la vitesse constante, mais c'est plus compliqué.
    C'est sûr que c'est compliqué de maintenir une vitesse constante, mais malgré tout, j'ai bien fait attention à ne pas bouger le sèche cheveux, ni l'anémomètre...et j'ai attendu que la tension se stabilise avant de noter les valeurs. Donc je ne pense pas que ma mesure soit tant faussée que ça. Les valeurs étaient assez stables à +/- 10mV près.

    Citation Envoyé par Pascal071
    Dans tous les cas, l'impédance de l'anémomètre est certainement << 1kohm, donc le schéma #22 avec l'AOP alimenté en 3v3 sera parfait.
    oui, je pense aussi désormais que l'impédance est bien plus faible que 1k.

    Merci pour le feedback sur le schéma. Top ! je ne suis plus très loin.

    Vous revenez sur le point de la tension d'alim de l'AOP.
    3V3, c'est uniquement pour ajouter une double-sécurité de protection anti-surtension de l'ADC ? (puisque l'AOP est capé par sa tension d'alimentation)
    ou y-a-t-il une autre raison ?

    j'ai préféré l'alimenter en 5V (fourni par un transfo qui alimente l'ESP32) pour ne pas "ajouter" encore un élément sur le 3V3 fourni par l'ESP32...
    est-ce un tort de penser que ça pourrait perturber le 3V3 de l'ESP32 ? (comme personne n'a l'air ici d'aimer ce micro contrôleur je prends des précautions )

  29. #28
    jiherve

    Re : Anemometre et mesure de sa tension avec un ESP32

    bonsoir,
    ne te prends pas la tête, rajoutes une 1k entre la sortie de ton AOP et le µC, en cas de dépassement la diode de clamp fera son travail.
    JR
    l'électronique c'est pas du vaudou!

  30. #29
    larbalette

    Re : Anemometre et mesure de sa tension avec un ESP32

    bonjour jiherve
    donc si j'ai bien compris ta réponse, tu proposes de conserver l'alim en 5V (ce qui permet de ne pas surcharger le régulateur 3V3 de l'ESP32) et de limiter le courant tiré vers l'ADC par une résistance de 1k...
    s'il y a surtension, la diode de clamp de la pin GPIO36 va s'activer, et le faible courant (grâce à la résistance) sera gérable, c'est bien ça ?
    ce qui donne ce schéma ?Nom : schéma branchement anemometre v5.png
Affichages : 152
Taille : 21,1 Ko

  31. #30
    Pascal071

    Re : Anemometre et mesure de sa tension avec un ESP32

    Bonsoir

    Le MCP6001 consomme 100µA typique, ce n'est pas lui qui va charger le 3v3..

    Concernant la mesure de résistance interne: "j'ai bien fait attention à ne pas bouger le sèche cheveux, ni l'anémomètre.."
    Je voulais expliquer que si le générateur est un moteur, la charge a certainement fait ralentir ce moteur et donc modifié la tension interne ("tension à vide").

    Nom : Générateur éolienne.jpg
Affichages : 146
Taille : 27,4 Ko
    cordialement

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [Analogique] mesure de tension avec une arduino
    Par invitea4787add dans le forum Électronique
    Réponses: 15
    Dernier message: 25/12/2017, 13h39
  2. Mesure d'une tension avec un PIC16
    Par cubitus_54 dans le forum Électronique
    Réponses: 6
    Dernier message: 03/08/2013, 10h13
  3. Cone de mesure de débit pour anémomètre
    Par invite747ad561 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 22/06/2013, 18h18
  4. Fuite d'air : mesure avec anémomètre à fil chaud
    Par Maison-Bois dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 24/12/2012, 07h46
  5. Anémomètre : optimisation de la mesure par induction
    Par invite3517 dans le forum Électronique
    Réponses: 15
    Dernier message: 25/05/2012, 18h49
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...