Lissage adc esp32

j'ai vu un post similaire mais en anglais .

d'apres espressif on peut ajouter un condensateur

Minimiser le bruit

L'ESP32 ADC peut être sensible au bruit, ce qui entraîne de grandes divergences dans les lectures ADC. Pour minimiser le bruit, les utilisateurs peuvent connecter un condensateur de 0,1 uF au pad d'entrée ADC utilisé. Le multi-échantillonnage peut également être utilisé pour atténuer davantage les effets du bruit.

Graphique illustrant l'atténuation du bruit à l'aide d'un condensateur et d'un multi-échantillonnage de 64 échantillons.

mais de quelle manière ??
entre l'entré analogique et le gnd ?

j'ai trouvé ça :

https://www.ebay.fr/itm/351768980007

je sais pas si ça fait l'affaire et si ils ont un sens de montage

Si c'est du tantale les condensateurs sont polarisés, il y a un sens de montage.
Inutile de prendre un condensateur 35 V pour une tension de 3 V.

Jusqu'à 1 ou 2 µF, on trouve facilement des condensateurs en technologie céramique qui ne sont pas polarisés et qui sont de meilleure qualité pour les fréquences élevées

Ma conception de la "chose filtrage".
Un condensateur seul ne filtre pas ou si peu.
Il y a effet de filtrage quand il y a un composant en série suivi d'un composant en parallèle sur la charge.
C'est le principe du pont diviseur avec non pas des résistances, mais un ensemble de composants dont l'impédance est dépendante de la fréquence.

Pour les fréquences basses l'inductance présente une très faible impédance (ZL = 2*PI*F*L)
et le condensateur (Zc = 1/(2*PI*F*C) une impédance très élevée.
Impédance série très faible + impédance parallèle très grande => atténuation = 1=> il n'y a pas effet filtrage

Au fur et à mesure que la fréquence augmente, la valeur de ZL augmente et celle de Zc diminue : les fréquences sont atténuées et il y a effet de filtrage.

Oui mais pourquoi cela marche avec un simple condensateur alors que tu dis que cela ne marche pas ?
Parce qu'il y a des éléments parasites :
les fils sont un petit peu inductif
la source du signal a une certaine impédance : le RDSon des minuscules transistors de sortie des composants électroniques qui constitue la résistance série (autour de 30 ohms).
Ces composants ne sont pas des composants que l'on câble, mais ils sont bien là, cachés, et il faut les prendre en compte pour comprendre le filtrage.

Quoi faire ?
Si tu ne veux pas te casser la tête tu mets un 1 µF céramique, le filtrage ne sera pas optimum mais il y aura quand même une amélioration.

Si tu veux faire les choses dans les règles de l'art, il faut mettre une résistance série d'environ 100 ohms à 1 kohms.
Avec une inductance, c'est théoriquement mieux, mais une inductance est un composant pénible. Difficile à choisir, volumineux, on peut s'en passer.

Est-ce vraiment utile de pinailler avec une résistance série ?
Il ne faut pas oublier les performances de l'ESP32 qui ne sont pas terribles.
La doc dit que l'on fait une mesure aléatoirement à ± 19 échantillons et ça aucun filtrage ne pourra l'améliorer puisque que cela se passe à l'intérieur de la puce ESP32.

Ces variations sont dues au bruit interne dans l'ESP32.
Comme ce bruit est majoritairement aléatoire, il est possible d'améliorer la mesure en faisant un moyennage.

En résumé

  • Il faut soigner le câblage pour qu'il récolte le moins de saloperie possible : moins il y aura de saloperies à filtrer, meilleur sera le résultat du filtrage.
  • Personnellement j'aime bien ajouter avec une résistance série, bien évidement dans la mesure où cela ne complique pas trop le câblage, il faut rester raisonnable.
  • Un moyennage est la seule solution pour minimiser les effets du bruit interne dans la puce.

Bonjour,

Oui, les condensateurs tantale ont un sens de branchement (si tu regardes bien la photo on voit un + sérigraphié).

Ce n'est pas ce genre de condensateur qu'il te faut. Il te faut des condensateurs céramique (qui n'ont pas de sens de branchement). Ils sont meilleurs en haute fréquence et en prime ils sont moins chers et plus fiables que les condensateurs tantale.

Je ne vois pas l'intérêt d'un condensateur tantale de 0.1µF. D'ailleurs sur ton annonce quand on regarde les photos, ce ne sont pas des condensateur de 0.1µF mais des condensateurs de 1µF.

merci pour ces precisions j'ai vu ça : https://www.ebay.fr/itm/331993527363?hash=item4d4c5b3443:g:Fx0AAOSwLF1X-AOA

si je me trompe pas 100nf = 0.1uf
50v ça fait beaucoup non ? c'est quoi l'idéal pour du 3.3v ?
je prend quelle valeur de résistance que tu me conseilles de rajouter ?

C'est inutile. En tantale, c'est plus cher et c'est plus volumineux.

Il doit exister 6V comme première valeur, pas sur que ce soit simple à trouver.
A partir de 10 V c'est bon. Les céramiques sont souvent à 63 V, c'est parce que la technologie le permet simplement (contrairement à la technologie tantale).

Achètes plutôt un kit de différentes valeurs, souvent 10 pièces par valeur, plutôt que 50 pièces de la même valeur.
Cela te permettra de faire des essais.
Un kit de résistance est utile aussi.

Ok je vais chercher un kit céramique de 10v
J’ai un kit assortiment de résistance 1/4w mais quelle valeur dois-je prendre pour ce montage ?

Je répète ce que j'ai écrit :

À titre personnel, je mettrai une résistance série entre 100 et 1 k.
Mais j'ai bien écrit que si c'est mieux, mais ce n'est pas une obligation.

Pourquoi je ne mets pas une valeur plus élevée alors que cela serait plus efficace :
Parce qu'il y a le risque qu'à côté du pont formé par la résistance série et le condensateur, il se crée un second pont résistif, celui-là entre la même résistance série et l'impédance d'entrée de l'ESP32.

Le schéma équivalent est le suivant :

Rg = résistance du transistor de sortie du circuit précédent.
Rs = résistance série du filtre
Cp = condensateur parallèle du filtre
Re_ESP32 = impédance d'entrée d'une entrée analogique de l'ESP32.

Si Rs = 1k et Re_ESP32 = 1 million d'ohms la résistance de 1k n'aura aucune influence.
Si Rs fait aussi 1 million d'ohms, Rs et Re_ESP32 formeront un atténuateur qui divisera la tension par 2.

Comme tu vois, il n'y a pas un théorème que l'on applique, il y a du bon sens.
Comme tu disposes d'un kit de résistances, maintenant que tu as compris le principe, rien ne t'empêche de faire des essais et de voir jusqu'où tu peux aller.
Cette manip ne risque rien, juste de pouvoir optimiser ton montage.

Complément :
Le filtrage n'agit que sur les fréquences et le bruit peut être décomposé en une somme de fréquence.
image
La figure précédente montre que le filtrage ne commence qu'à partir d'une fréquence appelée fréquence de coupure.

La valeur de cette fréquence est fo = 1/(2*PI*R*C).
Pour commencer à filtrer à des fréquences basses, il faut augmenter soit R, soit C, soit les deux.

je trouve rien en 6.3v


[https://www.amazon.fr/dp/B09NM11DHQ/ref=sspa_dk_detail_0?pd_rd_i=B09NLZBC7R&pd_rd_w=jVEPA&content-id=amzn1.sym.ec343842-6def-497e-a70d-6238cef65306&pf_rd_p=ec343842-6def-497e-a70d-6238cef65306&pf_rd_r=YBCCR3CX1T3XWZVV9MNV&pd_rd_wg=R1381&pd_rd_r=6f84e5be-5556-4d62-93f6-27a7f9bafe9f&s=industrial&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExQlBCMjhTVjNMVFBHJmVuY3J5cHRlZElkPUEwNTAwMjMwMkVERU8yRENLV1JCSSZlbmNyeXB0ZWRBZElkPUEwNDM5NTMyQ0xUTkMxUUU3QkxGJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ&th=1](https://www.amazon.fr/dp/B09NM11DHQ/ref=sspa_dk_detail_0?pd_rd_i=B09NLZBC7R&pd_rd_w=jVEPA&content-id=amzn1.sym.ec343842-6def-497e-a70d-6238cef65306&pf_rd_p=ec343842-6def-497e-a70d-6238cef65306&pf_rd_r=YBCCR3CX1T3XWZVV9MNV&pd_rd_wg=R1381&pd_rd_r=6f84e5be-5556-4d62-93f6-27a7f9bafe9f&s=industrial&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExQlBCMjhTVjNMVFBHJmVuY3J5cHRlZElkPUEwNTAwMjMwMkVERU8yRENLV1JCSSZlbmNyeXB0ZWRBZElkPUEwNDM5NTMyQ0xUTkMxUUU3QkxGJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ&th=1)

en 6.3v c'est que des trucs comme ça :
https://www.ebay.fr/itm/383299134781?hash=item593e68a53d:g:vOIAAOSwM2pht0QT&amdata=enc%3AAQAHAAAA8MQuOkspaArROUlSESjzp32MqXkmOfRYPUc9HIHVAOxTfDI7iNLCnvz%2Bfhb1QrdEEKX%2F%2FSN6FXP6VBL0K3D7Umo1yyz07Jax4gfZj2xRByZiut4HMRT9VASvud0Q9JBE8E5jTknaQLCBgUlDICRmSE8NeEXCRy%2BLWESUX2Ks%2BBnbTwkjtA0azALfD%2FsaOyo55MZ2h9B6jmH5Om29Rkd%2F207A%2B8G5H7DQahE4SAgXAuNlfM2LaWaK9vr5ZKlTS%2Fd1SZBCdK5hndj1%2Fw6IBrW96OE8Q531IjJ6r2zZLIZZKKwNUkQ6VJ2n%2FrRLTqpnxcXGgw%3D%3D%7Ctkp%3ABFBM2oDCu7Vg

je m'aperçois que c'est hyper pointu le filtrage

Non pas du tout, ce n'est que du bon sens.

Ce qui est gênant, c'est ce que l'on peut lire : tu mets un condensateur et ça roule.
Cela à l'avantage d'être simple.

Si on regarde, 99 % des gens le font et finalement ça marchote, ou plutôt cela tombe en marche.
Les gens ne sont pas du tout, mais alors pas du tout intéressé par l'électronique analogique et ne cherchent pas à comprendre :

  • Ça améliore, c'est bon.
  • On pourrait améliorer davantage, rien à faire, ça marche, c'est bon.
  • C'est plus drôle d'optimiser des lignes de code.

C'est parfaitement recevable pour des utilisations où l'optimisation est le dernier des soucis.

J'ai compris que tu cherchais, non pas seulement à améliorer, mais à avoir le moins de bruit possible. Il faut alors chercher à optimiser.

Dans le cas où tu veux optimiser, et dans ce cas seulement, je te dis que tu peux ajouter une résistance série.

Pour optimiser je procèderais de la manière suivante :

  1. ne pas mettre de résistance et noter la dispersion sur les mesures (valeur min, valeur max) et la valeur moyenne

  2. mettre 100 ohms en série et noter la nouvelle valeur de dispersion et la valeur moyenne

  3. mettre 1 k en série et noter la nouvelle valeur de dispersion et la valeur moyenne.

  4. Point d'étape :

  • S'il n'y a aucune amélioration entre 0 ohm, 100 ohms et 1 k cela veut dire que le filtrage avec juste un condensateur suffit.
  • S'il a une amélioration il est possible de continuer à tester avec 10 k, 100 k,...
    Avec la résistance série de valeur de plus en plus élevée, il faut contrôler que la valeur moyenne ne diminue pas.

Qu'est-ce que cela veut dire si la valeur moyenne diminue : cela veut dire que la valeur de la résistance série n'est plus négligeable devant l'impédance d'entrée de l'ESP32 et qu'il y a effet pont diviseur.

Que faire dans le cas où la valeur moyenne diminue ?

  • Si on n'a pas besoin d'un filtrage aussi efficace on peut diminuer la valeur de la résistance série.
  • Si la diminution du bruit est vraiment intéressante et que l'on veux la conserver : on garde la résistance série de valeur élevée et on introduit dans le programme un terme correctif.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.