Question:
Filtre passe-bas RC entre l'amplificateur et l'entrée ADC
H123321
2019-01-21 06:49:24 UTC
view on stackexchange narkive permalink

J'ai des capteurs (pyranomètres constitués de thermopiles et mesurant l'irradiation solaire) qui émettent un signal basse tension, je dois donc les amplifier à l'aide d'un amplificateur d'instrumentation.

J'ai choisi l'AD8237 pour cette tâche: Fiche technique

J'utilise un gain de 100 pour amplifier le signal de basse tension initial (allant de 0 à 20 mV) à une plage de 0 à 2 V.

Je transmets ensuite le signal amplifié au CAN (MCP3422): Fiche technique

Les valeurs de mes capteurs changent très lentement et je ne lirai les valeurs ADC numérisées qu'une fois par seconde, donc la vitesse n'est pas importante dans mon cas.

Maintenant, comme indiqué dans la réponse acceptée dans cette question, j'ai besoin d'un filtre entre l'IN-Amp et l'ADC pour filtrer le bruit. Dans de nombreuses fiches techniques ADC, un simple filtre RC passif est suggéré entre l'INA et l'ADC. J'ai fait pas mal de recherches et j'ai encore des questions qui me déroutent et j'espère que vous pourrez m'aider avec:

J'ai pensé qu'un filtre RC de premier ordre ne répondait pas à mes exigences, j'ai donc mis en cascade plusieurs étapes RC:

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Et voici la réponse de filtre simulée dans LTSpice: rc_filter

Questions:

  • Puis-je faire cela?
  • Quels seraient les inconvénients du filtre proposé?
  • Des valeurs de condensateur telles que 47µF ou même 100µF me donnent une réponse encore meilleure (atténuation plus forte,) est-ce que cela aurait un impact négatif sur mon signal ou l'ADC?

Je suppose que les valeurs de résistance ne devraient pas être augmentées davantage pour éviter une chute de tension sur mon signal.

La réponse du filtre semble très prometteuse:

Les signaux à 10Hz sont déjà atténués de ~ 50% et à 25Hz déjà de ~ 90%. Comme je ne me soucie que du signal CC, je suppose que la réponse devrait être bonne (la plage 50-60Hz est également fortement couverte par le filtre.)

Les résistances créent des chutes de tension, alors comment ces trois résistances en cascade affectent-elles mon signal amplifié (donc ma valeur numérisée calculée par l'ADC?)

La loi d'Ohm devrait s'appliquer, mais je ne connais pas le courant ... Toute clarification à ce sujet est très appréciée.

Concernant les constantes vitesse / temps:

Comme mon acquisition de données (lecture ADC une fois par seconde) et la modification de la valeur du capteur sont très lentes, dois-je garder un œil sur la constante vitesse / temps de ce filtre?

Comme de nombreuses fiches techniques suggèrent une étape de filtre RC, cette approche ne devrait pas être trop éloignée.

pourquoi ne pas utiliser des filtres LC?
principalement parce que j'ai dû choisir de très très grandes valeurs pour L pour obtenir la même atténuation dans la région des basses Hz.N'hésitez pas à proposer une configuration, j'apprécie toute aide que je peux obtenir!:)
Sept réponses:
Elliot Alderson
2019-01-21 08:20:09 UTC
view on stackexchange narkive permalink

Si vous ne lisez le CAN qu'une fois par seconde, vous devez éliminer les fréquences supérieures à 0,5 Hz pour éviter les alias.Si vous pensez que votre système aura du bruit à, disons 10 Hz, alors ce bruit contaminera vos lectures.Je vous recommande d'échantillonner à un taux beaucoup plus élevé, peut-être un multiple de la fréquence du secteur, et d'effectuer un filtrage passe-bas dans le logiciel.Même un simple filtre à moyenne mobile fonctionnerait et ne nécessiterait pas beaucoup de traitement.

Je pourrais donc utiliser le filtre proposé au cas où je lis par exemple10 fois par seconde et effectuer la moyenne de ces 10 valeurs que je suis sorti de l'ADC dans le logiciel?
Si vous échantillonnez à 10 fois par seconde, toutes les fréquences supérieures à 5 Hz dans votre signal d'entrée seront aliasées.Le contenu de bruit dans votre signal au-dessus de 5 Hz est-il suffisamment bas pour que vous puissiez vivre avec l'erreur due à l'aliasing?Vous seul pouvez répondre à cette question.
Pour utiliser le mode de résolution 18 bits, il faut régler l'ADC sur 3,75 SPS (et je lirais une fois par seconde, mais je suppose que seul le taux de 3,75 échantillons par seconde est important ici. Cela fait-il une différence que je traite?un ADC delta sigma ici?).Je suis un peu confus car je n'ai besoin que du signal CC (et qui n'a pas de fréquence?) Donc ce problème d'aliasing s'applique toujours à moi?Si j'utilise une version modifiée du filtre proposé ci-dessus, avec des valeurs de résistance 1k et des valeurs pour les bouchons 47µF, j'obtiens une atténuation de ~ -15dB à 3 Hz, donc je devrais être bien dans ce cas?
Vos déclarations sont incohérentes.Si vous n'avez besoin que du signal DC, il vous suffit d'échantillonner le signal ** une fois ** et plus jamais.Si vous échantillonnez toutes les secondes, cela doit être parce que le signal ** change **, donc ce n'est pas un signal CC.De plus, votre signal sera bruyant et ce bruit est un signal alternatif.Ainsi, votre signal est un signal CA, pas un signal CC.Par conséquent, vous devez penser à l'aliasing.L'ADC a un filtre interne (voir 4.7 dans la fiche technique) mais cela peut ne pas suffire ...
Mais ** vous seul ** savez vraiment à quoi ressemble votre signal et ** vous seul ** savez quelle précision votre système a besoin ... pour une raison quelconque, vous n'avez pas partagé ces informations avec nous.Par conséquent, ** personne d'autre ** ne peut vous dire quel type de filtre serait "assez bon".
Merci pour la réponse.Les capteurs sont des pyranomètres constitués de thermopiles et mesurent l'irradiation solaire.Ils émettent un signal basse tension (entre 0 et 20 mV) en fonction de l'irradiation solaire présente.Cette valeur change donc très très lentement, comme vous pouvez l'imaginer.J'échantillonne environ toutes les secondes uniquement pour obtenir une série chronologique (mais pas parce que la sortie du capteur change si vite).Pouvez-vous faire d'autres déclarations ou me donner des commentaires plus précis avec ces informations?J'apprécie ton aide!
Tout composant de fréquence de votre signal, que ce soit du bruit dans le système ou des oiseaux volant devant votre capteur, qui a une fréquence de 0,5 Hz ou plus provoquera des erreurs dans vos données.C'est aussi simple que ça.Combien de bruit aurez-vous?Vous seul savez.Combien d'erreur pouvez-vous tolérer?Vous seul savez.
Les capteurs fournissent un signal CC.Mais il y a du bruit à attendre de l'amplificateur d'instrumentation, donc je veux m'en débarrasser avant de l'envoyer dans l'ADC.En particulier, 10 à 100 kHz doivent être filtrés pour éliminer le bruit de commutation.Je ne peux pas dire exactement combien de bruit il y aura sans le prototyper d'abord, je veux donc m'assurer que j'ai tous les composants dont j'ai besoin au cas où un filtre devant l'entrée ADC serait nécessaire.Je souhaite filtrer le plus de bruit possible avec la configuration proposée.Mais savez-vous si le configuratino proposé fonctionnerait ou y voyez-vous des problèmes?Merci!
Rudy
2019-01-21 07:49:46 UTC
view on stackexchange narkive permalink

Les entrées ADC ont généralement une impédance assez élevée.J'ai souvent utilisé 100K en série avec une entrée sans perte de courant continu.(et un condensateur à la terre pour le filtrage) Si vous êtes satisfait de l'atténuation de ce circuit, je suggérerais de mettre à l'échelle les résistances et les condensateurs vers le bas.Je n'utiliserais pas de condensateurs électrolytiques car ils ont tendance à avoir plus de fuites que les autres types.J'utiliserais probablement un capuchon en céramique.

Modifier:

Je viens de regarder la fiche technique de la pièce.Allez jeter un œil à la page 3, Impédance d'entrée.Le chargement ne sera certainement pas un problème.

Ok donc vous suggérez que je pourrais augmenter les valeurs des résistances mais en général il ne devrait pas y avoir de problème en utilisant ce filtre dans ma configuration?Je suis un peu confus car les réponses de Dmitry Grigoryev et Elliot Alderson indiquent des problèmes avec la configuration actuelle du filtre.Pouvez-vous faire un commentaire à ce sujet?(Voyez-vous les mêmes problèmes que les deux réponses que j'ai citées?).Je vous remercie!
analogsystemsrf
2019-01-21 10:07:44 UTC
view on stackexchange narkive permalink

Ce RC à 3 sections devrait offrir une meilleure atténuation aux hautes fréquences.Le bruit aléatoire est dominé par cette résistance de 3 000 000 ohms avec une bande passante de 5 Hz, inférieure à 1uV RMS.

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Voici ce que Signal Chain Explorer (nous l'avons utilisé pour prédire les niveaux d'interférence des gargouilles) s'affiche comme le rolloff à 3 pôles.Avec une entrée PP 2 volts, l'ENOB est de 19,7

enter image description here

Notez que nous n'incluons AUCUNE contribution de bruit ADC.

Merci beaucoup!:) Pour être sûr: je suppose que la boîte (y compris le capuchon 3pF et FET et R4) modélise l'ADC?La simulation de votre filtre dans LTSpice est très prometteuse, je me demande comment avez-vous trouvé les valeurs initiales?J'espère que vous partagerez votre approche.Est-ce que je vois bien que ce filtrage n'aura aucun impact négatif / chute de tension sur mon signal DC souhaité?
La valeur la plus à gauche est choisie pour être une charge légère sur l'INA.D'autres résistances sont simplement mises à l'échelle 10X et 100X, pour être des charges légères sur la section RC précédente, de sorte que l'atténuation éloignée est en effet de 60 dB / décennie.L'ADC ** doit ** tirer des frais.La rumeur nous dit qu'il y aura une chute de tension CC à travers les résistances.3pF et 3volts et 1000 échantillons / seconde ont un courant I = F * C * V = 9 nanoAmps ** moyen **;à travers cette résistance finale de 3MegOhm, le décalage CC moyen sera de 27 microVolts.Pour réduire, utilisez 10Kohm, 47Kohm, 270Kohm.
Excellente explication, merci!Pouvez-vous me dire si Dmitry Grigoryev dans sa réponse a raison et que je dois utiliser au moins 10-100 kOhm dans le filtre RC?Serait-ce un problème d'utiliser seulement un étage d'un filtre RC unipolaire avec 1 kOhm et 10µF pour les tests.Puis-je endommager mon amplificateur d'instrumentation avec ça?
Une dernière question: quelles sont les conséquences les plus graves de ne pas augmenter la valeur des résistances RC en cascade?J'adorerais entendre vos connaissances à ce sujet :)
Dmitry Grigoryev
2019-01-21 14:16:30 UTC
view on stackexchange narkive permalink

Votre filtre court-circuitera efficacement l'ampli si le signal a une composante AC significative (même autour de la fréquence du secteur et de la première / seconde harmonique).Consultez la fiche technique: votre ampli a un courant court de 4 mA et les caractéristiques de réponse sont mesurées avec des charges de 10 à 100 kOhm.La résistance équivalente de votre filtre doit être au moins aussi grande.

La résistance série de mon filtre (dans ce cas, la résistance des 3 résistances en cascade) doit donc être d'au moins 10 kOhm?Donc, le courant tiré de l'In-amp est limité et ne devient pas trop élevé?Une résistance aussi élevée n'aurait-elle pas un impact important sur mon signal?
Pourriez-vous s'il vous plaît élaborer sur cette question?Quel effet cela aurait-il sur mon circuit si j'utilise le filtre proposé?Je vous remercie.
@Henry Je parle de la résistance de la sortie de l'ampli à la terre, pas à l'entrée ADC.Même si nous ne considérons que R1 et C1, la résistance est de 200 + 100 (à 100 Hz) = 300 Ohm, ce qui est bien trop faible.
Je ne comprends pas le problème pour être honnête.Je veux que la résistance soit faible après la sortie IN-Amp (l'entrée ADC a une impédance d'entrée élevée) dans la trace du signal, n'est-ce pas?Et je veux aussi mettre le courant alternatif à la terre.Que changeriez-vous dans ladite configuration, pourriez-vous nommer les valeurs que vous utiliseriez?Je vous remercie!
De combien de résistance ai-je besoin au moins?Comment puis-je déterminer la valeur?
@Henry Oui, vous voulez que la résistance soit aussi faible que possible, mais vous êtes limité par ce que votre amplificateur peut offrir.Consultez la fiche technique de l'AD8237, en particulier les figures 61 et 62. Cela a-t-il un sens?300 Ohm serait complètement hors spécifications, et 1kOhm vous donnerait une très mauvaise oscillation de tension.Vous avez besoin ** d'au moins 10 kOhm ** de résistance de charge.
OK, merci beaucoup de l'avoir signalé!Cependant, je suis toujours un peu confus: l'entrée ADC a une impédance d'entrée supérieure à 10 kOhm.Cela devrait donc déjà suffire?En ajoutant le filtre, j'augmente même la résistance ici.Je comprends que j'ajoute également des bouchons qui sont connectés à la terre mais ils ne laisseront passer aucune tension CC, donc je ne vois aucun problème ici.J'apprécierais vraiment si vous pouviez essayer de m'expliquer cela une fois de plus (je serais heureux si vous pouviez le faire en modifiant votre réponse afin que d'autres personnes la voient facilement).Merci beaucoup :)
L'entrée ADC est à haute impédance et ne pose aucun problème.Le principal contributeur à la faible résistance est votre filtre RC.Encore une fois: un condensateur de 22µF a une résistance équivalente de 100 Ohm à 100Hz.Si votre signal a une composante CA importante, vous surchargerez l'amplificateur.
D'accord, merci.Mais je pense que cela devrait être correct si mes capteurs changent très lentement (la réponse au changement est d'au moins 18 secondes mais l'irradiation change beaucoup plus lentement que cela).Donc, même si un peu de bruit est introduit par l'amplificateur, la majeure partie doit toujours être CC et non court-circuitée à GND, n'est-ce pas?Comment définiriez-vous «composant AC significatif».Si je vérifie le signal de sortie INA, comment puis-je m'assurer qu'il s'agit toujours d'un composant CC suffisant?
analogsystemsrf
2019-01-31 09:41:42 UTC
view on stackexchange narkive permalink

L'entrée ADC ressemblera à un COURT, pendant 5 ou 10 nanoSecondes, au début de la durée d'échantillonnage. Ce "court-circuit" perturbera tout amplificateur opérationnel directement connecté au ADC Vin ou au ADC VREF.

Pour éviter cette "perturbation" (qui apparaît comme une sonnerie, et peut-être des erreurs de quantification dépendant de la tension d'entrée, nous pouvons placer de GRANDS condensateurs sur les broches Vin et VREF.

Supposons que l'ADC ait des condensateurs 10pF sur ses broches Vin et VREF, et supposons que ces condensateurs ont eu leur charge consommée pendant l'opération ADC juste avant.

À mesure que l'ADC prend à nouveau de la charge, des surtensions seront demandées aux sources de tension externes (Vin et / ou VREF).

Pour minimiser les perturbations de tension, utilisez de GRANDS condensateurs externes: 100X ou 1 000X ou 10 000X plus grands que les condensateurs de l'échantillon ADC (10 pF).

Dans le filtre 3-cascaded_RC que je vous ai donné, ce condensateur final est de 10 nF (10 000 pF) et devrait bien fonctionner.

Encore une fois, si le courant d'entrée MOYEN est de 9nanoAmps (Vin de 3 volts, Cap est de 3pF, Fsample étant de 1 000 par seconde), passant à 3 000 000 ohms, il y aura une erreur de 27 milliVolts. Cela apparaîtra comme une erreur de gain linéaire. [ERREUR c'était 27 microVolts]

Je suis revenu sur ce sujet intéressant et j'espère que vous pourrez m'aider encore une fois: si j'utilise un RC LPF unipolaire devant cet ADC (http://ww1.microchip.com/downloads/en/devicedoc/22088c.pdf)avec R = 100 kOhm et C = 4,7 uF, j'obtiens une plus grande chute de tension (environ 60 mV de chute pour Vin = 1,5 V).J'ai fait des mesures et cette erreur est linéaire.Pourriez-vous me donner quelques conseils sur la façon dont je calculerais le courant d'entrée moyen pour cet ADC en particulier?Je suis confus en raison du delta / sigma ADC.Je sais qu'il suréchantillonne donc je ne sais pas quoi prendre comme fréquence.Si j'utilise le paramètre 18 bits avec 3.75SPS par exemple.Je vous remercie.
Vous avez fait une erreur, je suppose, avec une résistance 3M, le décalage de tension serait de 27 ** millivolts **, PAS 27 microvolts.
Henry Merci d'avoir trouvé cette erreur.Et concernant la fréquence d'échantillonnage (interne), les fiches techniques peuvent vous le dire ou non.S'ils ne vous indiquent pas le Fsample (pas la Fconversion, qui est de 3,75 Hz) et la capacité d'échantillonnage d'entrée (la capacité ESD n'en fait pas partie), alors la fiche technique doit vous indiquer la résistance d'entrée équivalente.
Kripacharya
2019-07-21 22:47:25 UTC
view on stackexchange narkive permalink

Oubliez complètement le filtre.C'est une perte de temps.Vous avez un uC à votre disposition, alors prenez simplement plusieurs échantillons (10x, 100x .. autant que possible) et faites la moyenne du résultat.Cela éliminera tout a / c et / ou bruit.

Bizibill
2019-01-21 09:09:43 UTC
view on stackexchange narkive permalink

Je suis d'accord avec Elliot - une approche légèrement différente pourrait être d'échantillonner / maintenir, une sorte de filtre Nyquist où vous choisissez la meilleure fréquence de suréchantillonnage pour vous débarrasser du bruit le plus répandu. Je l'ai fait avec des RTD dans un avion bruyant et cela m'a donné de bons résultats. J'avais affaire à des changements millivolts qui devaient être très précis. Cela élimine ces gros plafonds et la perte d'insertion des résistances qui vous préoccupent.

Je viens de jeter ceci ensemble dans LTspice pour vous donner l'idée ... si vous voulez la source, je vous l'enverrai. J'ai fait l'entrée les 2 volts qui incluraient l'amplificateur dans votre conception. J'ai ajouté 50Hz et du bruit HF aléatoire en plus de cela. Simulation of filter - LTspice

Le filtre utilise des composants actifs à l'exception du tweak R / C avec filtre 3. La mise en œuvre est au concepteur mais cela peut être fait avec de petites pièces, 2x2 à 4x4mm pour les plus actifs et 0402 pour le reste. Je pense que c'est plus petit que les parties passives, mais si l'ER est important, une étude de zone est nécessaire. Je montre juste un interrupteur (S / H) pour le concept. Une fois implémenté, un changement de valeur ou deux ajustera la fréquence d'échantillonnage.

D'un point de vue pratique, l'entrée est presque DC avec des fluctuations aussi lentes. Le bruit est beaucoup plus rapide et aléatoire par rapport à la fréquence d'échantillonnage fixe, donc il est en moyenne. L'hypothèse est que les excursions de bruit fluctuent autour de zéro, typique du couplage différentiel. Je l'ai utilisé avec des RTD qui sont plus lents et dans un environnement d'avion qui est bruyant (il a qualifié MIL-STD-461). Il semble que cela ferait également du bon travail pour cette source, mais nécessitera quelques bricolages basés sur le monde réel.

J'ai affiché les paramètres sur le schéma afin que vous puissiez les lever si vous utilisez LTspice.

ça sonne bien, pouvez-vous développer cette approche ou me relier à un exemple (peut-être vous fournir un petit exemple de circuit avec une brève explication) car je ne comprends pas encore bien votre approche, merci.
Merci pour votre participation!Intéressant, la source serait bien pour que je puisse jouer un peu.Mais vous utilisez également des composants actifs dans les filtres?Ou est-ce que je comprends mal votre approche ici?


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...