RC-Tiefpassfilter zwischen Verstärker und ADC-Eingang

Ich habe Sensoren (Pyranometer, die aus Thermosäulen bestehen und die Sonneneinstrahlung messen), die ein Niederspannungssignal ausgeben, also muss ich sie mit einem Instrumentenverstärker verstärken.

Ich habe für diese Aufgabe den AD8237 gewählt: Datenblatt

Ich verwende eine Verstärkung von 100, um das anfängliche Niederspannungssignal (im Bereich von 0 bis 20 mV) auf den Bereich von 0 bis 2 V zu verstärken.

Ich füttere dann das verstärkte Signal an den ADC (MCP3422): Datenblatt

Meine Sensorwerte ändern sich sehr langsam und ich werde die digitalisierten ADC-Werte nur einmal pro Sekunde auslesen, daher ist Geschwindigkeit in meinem Fall nicht wichtig.

Wie in der akzeptierten Antwort auf diese Frage ausgeführt, benötige ich nun einen Filter zwischen dem IN-Amp und dem ADC, um das Rauschen zu filtern. In vielen ADC-Datenblättern wird ein einfacher passiver RC-Filter zwischen INA und ADC vorgeschlagen. Ich habe ziemlich viel recherchiert und habe immer noch einige Fragen, die mich verwirren, und ich hoffe, Sie können mir dabei helfen:

Ich dachte mir, dass ein RC-Filter erster Ordnung nicht meinen Anforderungen entspricht, also habe ich mehrere RC-Stufen kaskadiert:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Und das ist die simulierte Filterantwort in LTSpice:rc_filter

Fragen:

  • Kann ich das machen?
  • Was wären die Nachteile bei Verwendung des vorgeschlagenen Filters?
  • Kondensatorwerte wie 47µF oder sogar 100µF geben mir eine noch bessere Reaktion (stärkere Dämpfung), würde sich das negativ auf mein Signal oder den ADC auswirken?

Ich denke, die Widerstandswerte sollten nicht weiter erhöht werden, um einen Spannungsabfall auf meinem Signal zu verhindern.

Die Filterantwort scheint sehr vielversprechend:

Signale werden bei 10Hz bereits um ~50% und bei 25Hz bereits um ~90% gedämpft. Da ich mich nur um das DC-Signal kümmere, denke ich, dass die Reaktion in Ordnung sein sollte (auch der 50-60-Hz-Bereich wird stark vom Filter abgedeckt.)

Widerstände erzeugen Spannungsabfälle. Wie würden diese drei kaskadierten Widerstände mein verstärktes Signal beeinflussen (also meinen vom ADC berechneten digitalisierten Wert?)

Das Ohmsche Gesetz sollte gelten, aber ich kenne den Strom nicht ... Jede Klarstellung dazu wird sehr geschätzt.

Bezüglich Geschwindigkeits-/Zeitkonstanten:

Da meine Datenerfassung (Auslesen des ADC einmal pro Sekunde) und die Änderung des Sensorwerts sehr langsam sind, muss ich die Geschwindigkeit/Zeitkonstante dieses Filters im Auge behalten?

Da viele Datenblätter eine RC-Filterstufe vorschlagen, sollte dieser Ansatz nicht zu weit entfernt sein.

Warum nicht LC-Filter verwenden?
hauptsächlich, weil ich sehr sehr große Werte für L wählen musste, um die gleiche Dämpfung im niedrigen Hz-Bereich zu erhalten. Fühlen Sie sich frei, eine Konfiguration vorzuschlagen, ich freue mich über jede Hilfe, die ich bekommen kann! :)

Antworten (7)

Dieser 3-teilige RC sollte einen besseren Rolloff bei hohen Frequenzen bieten. Das Zufallsrauschen wird von diesem 3.000.000-Ohm-Widerstand mit der 5-Hz-Bandbreite, weniger als 1 uV RMS, dominiert.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Hier ist, was der Signalketten-Explorer (wir haben ihn verwendet, um Gargoyles-Störpegel vorherzusagen) als 3-Pol-Rolloff anzeigt. Bei 2 Volt PP-Eingang beträgt ENOB 19,7

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass wir KEINE ADC-Rauschbeiträge enthalten.

Vielen Dank! :) Um sicherzugehen: Ich nehme an, die Box (einschließlich der 3pF-Kappe und FET und R4) modelliert den ADC? Die Simulation Ihres Filters in LTSpice ist sehr vielversprechend. Ich frage mich, wie Sie auf die Anfangswerte gekommen sind. Ich hoffe, Sie werden Ihren Ansatz teilen. Sehe ich es richtig, dass diese Filterung keinen negativen Einfluss / Spannungsabfall auf mein gewünschtes DC-Signal hat?
Der ganz linke Wert wird als leichte Belastung des INA gewählt. Andere Widerstände werden einfach um das 10-fache und 100-fache vergrößert, um die vorherige RC-Sektion leicht zu belasten, sodass die weit entfernte Dämpfung tatsächlich 60 dB / Dekade beträgt. Der ADC muss etwas Ladung ziehen. Gerüchten zufolge wird es einen Gleichspannungsabfall über den Widerständen geben. 3 pF und 3 Volt und 1.000 Abtastungen/Sekunde haben I = F * C * V = 9 Nanoampere durchschnittlichen Strom; Durch diesen 3-MegOhm-Endwiderstand beträgt der durchschnittliche DC-Offset 27 Mikrovolt. Verwenden Sie zum Reduzieren 10 kOhm, 47 kOhm, 270 kOhm.
Super Erklärung, danke! Können Sie mir bitte sagen, ob Dmitry Grigoryev in seiner Antwort Recht hat und ich mindestens 10-100 kOhm im RC-Filter verwenden muss? Wäre es ein Problem, nur eine Stufe eines einpoligen RC-Filters mit 1 kOhm und 10 µF zum Testen zu verwenden? Kann ich damit meinen Instrumentenverstärker beschädigen?
Noch eine Frage: Was sind die schwerwiegendsten Folgen, wenn der Wert von kaskadierten RC-Widerständen nicht erhöht wird? Würde gerne euer Wissen dazu hören :)

Wenn Sie den ADC nur einmal pro Sekunde lesen, müssen Sie Frequenzen über 0,5 Hz eliminieren , um Aliasing zu verhindern. Wenn Sie glauben, dass Ihr System Rauschen bei beispielsweise 10 Hz aufweist, wird dieses Rauschen Ihre Messwerte verfälschen. Ich empfehle, dass Sie mit einer viel höheren Rate abtasten, vielleicht ein Vielfaches der Netzfrequenz, und eine Tiefpassfilterung in der Software durchführen. Selbst ein einfacher gleitender Durchschnittsfilter würde funktionieren und würde nicht viel Verarbeitung erfordern.

Also könnte ich den vorgeschlagenen Filter verwenden, falls ich zB 10 Mal pro Sekunde auslese und eine Mittelung dieser 10 Werte durchführe, die ich aus dem ADC in Software bekommen habe?
Wenn Sie 10 Mal pro Sekunde abtasten, werden alle Frequenzen über 5 Hz in Ihrem Eingangssignal gealiased. Ist der Rauschanteil in Ihrem Signal über 5 Hz niedrig genug, dass Sie mit dem Fehler durch Aliasing leben können? Nur Sie können diese Frage beantworten.
Um den 18-Bit-Auflösungsmodus zu verwenden, muss man den ADC auf 3,75 SPS einstellen (und ich würde einmal pro Sekunde lesen, aber ich denke, hier ist nur die Rate von 3,75 Abtastungen pro Sekunde wichtig. Macht es einen Unterschied, dass ich damit zu tun habe? ein Delta-Sigma-ADC hier?). Ich bin etwas verwirrt, da ich nur das DC-Signal benötige (und das keine Frequenz hat?), Also gilt dieses Aliasing-Problem immer noch für mich? Wenn ich eine modifizierte Version des oben vorgeschlagenen Filters mit Widerstandswerten von 1 k und Werten für die Kappen von 47 µF verwende, erhalte ich eine Dämpfung von ~ -15 dB bei 3 Hz, also sollte es mir in diesem Fall gut gehen?
Deine Aussagen sind widersprüchlich. Wenn Sie nur das DC-Signal benötigen, müssen Sie das Signal nur einmal und nie wieder abtasten . Wenn Sie jede Sekunde abtasten, muss es daran liegen, dass sich das Signal ändert , daher ist es kein Gleichstromsignal. Außerdem ist Ihr Signal verrauscht und dieses Rauschen ist ein Wechselstromsignal. Ihr Signal ist also ein Wechselstromsignal, kein Gleichstromsignal. Daher müssen Sie über Aliasing nachdenken. Der ADC hat zwar einen internen Filter (siehe 4.7 im Datenblatt), aber das reicht möglicherweise nicht aus ...
Aber nur Sie wissen wirklich, wie Ihr Signal aussieht, und nur Sie wissen, welche Genauigkeit Ihr System benötigt ... aus welchen Gründen auch immer, haben Sie diese Informationen nicht mit uns geteilt. Folglich kann Ihnen niemand sagen, welche Art von Filter "gut genug" wäre.
Danke für die Antwort. Die Sensoren sind Pyranometer, die aus Thermosäulen bestehen und die Sonneneinstrahlung messen. Sie geben je nach vorhandener Sonneneinstrahlung ein Niederspannungssignal (zwischen 0-20mV) aus. Dieser Wert ändert sich also wirklich sehr sehr langsam, wie Sie sich vorstellen können. Ich taste jede Sekunde oder so ab, nur um eine Zeitreihe zu erhalten (aber nicht, weil sich die Sensorausgabe so schnell ändert). Können Sie mit diesen Informationen weitere Aussagen treffen oder mir ein genaueres Feedback geben? Ich schätze Ihre Hilfe!
Jede Frequenzkomponente in Ihrem Signal, ob von Rauschen im System oder Vögeln, die vor Ihrem Sensor fliegen, die eine Frequenz von 0,5 Hz oder höher hat, führt zu Fehlern in Ihren Daten. So einfach ist das. Wie viel Lärm wirst du haben? Nur du weißt. Wie viel Fehler können Sie tolerieren? Nur du weißt.
Sensoren liefern ein DC-Signal. Aber vom Instrumentenverstärker ist Rauschen zu erwarten, also möchte ich das loswerden, bevor ich es in den ADC sende. Besonders 10-100kHz sollten gefiltert werden, um Schaltgeräusche zu beseitigen. Ich kann nicht genau sagen, wie viel Rauschen es geben wird, ohne es vorher zu prototypisieren, also möchte ich sicherstellen, dass ich alle Komponenten habe, die ich brauche, falls ein Filter vor dem ADC-Eingang erforderlich ist. Ich möchte mit der vorgeschlagenen Konfiguration so viel Rauschen wie möglich herausfiltern. Aber wissen Sie, ob die vorgeschlagene Konfiguration funktionieren würde, oder sehen Sie Probleme damit? Danke!
@ElliotAlderson, je höher die Datenrate, desto besser beim Abtasten eines DC-Signals?
@bardulia Wenn Sie ein DC-Signal abtasten, müssen Sie nur einmal abtasten. Wenn das Signal DC ist, ändert es sich nicht, so dass es nie nötig ist, es erneut abzutasten.

ADC-Eingänge sind typischerweise ziemlich hochohmig. Ich habe oft 100K in Reihe mit einem Eingang ohne Gleichstromverlust verwendet. (und ein Kondensator gegen Masse zum Filtern) Wenn Sie mit der Dämpfung dieser Schaltung zufrieden sind, würde ich vorschlagen, die Widerstände nach oben und die Kondensatoren nach unten zu skalieren. Ich würde keine Elektrolytkondensatoren verwenden, da sie im Vergleich zu anderen Typen tendenziell mehr Leckage aufweisen. Ich würde wahrscheinlich eine Keramikkappe verwenden.

Bearbeiten:

Ich habe mir gerade das Datenblatt des Teils angesehen. Werfen Sie einen Blick auf Seite 3, Eingangsimpedanz. Das Laden wird sicherlich kein Problem sein.

Ok, Sie schlagen vor, ich könnte die Werte der Widerstände erhöhen, aber im Allgemeinen sollte es keine Probleme geben, diesen Filter in meiner Konfiguration zu verwenden? Ich bin etwas verwirrt, da die Antworten von Dmitry Grigoryev und Elliot Alderson auf Probleme mit der aktuellen Filterkonfiguration hinweisen. Könnten Sie dazu bitte einen Kommentar abgeben? (Sehen Sie die gleichen Probleme wie die beiden Antworten, die ich genannt habe?). Danke schön!

Der ADC-Eingang sieht zu Beginn der Abtastzeit für 5 oder 10 Nanosekunden wie ein SHORT aus. Dieser "Kurzschluss" stört jeden Operationsverstärker, der direkt mit dem ADC Vin oder dem ADC VREF verbunden ist.

Um diese "Störung" (die sich als Klingeln und möglicherweise eingangsspannungsabhängige Quantisierungsfehler zeigt) zu verhindern, können wir GROSSE Kondensatoren an den Pins Vin und VREF platzieren.

Angenommen, der ADC hat 10-pF-Kondensatoren an seinen Vin- und VREF-Pins, und nehmen Sie an, dass diese Kondensatoren ihre Ladung während des gerade vorherigen ADC-Betriebs verbraucht haben.

Wenn der ADC wieder etwas Ladung aufnimmt, werden Stoßströme von den externen Spannungsquellen (Vin und/oder VREF) verlangt.

Um die Spannungsstörung zu minimieren, verwenden Sie GROSSE externe Kondensatoren: 100-mal oder 1.000-mal oder 10.000-mal größer als die ADC-Beispielkondensatoren (10 pF).

In dem 3-kaskadierten_RC-Filter, den ich Ihnen gegeben habe, hat dieser Endkondensator 10 nF (10.000 pF) und sollte gut funktionieren.

Wenn der DURCHSCHNITTLICHE Eingangsstrom 9 Nanoampere beträgt (Vin von 3 Volt, Cap von 3 pF, Fsample von 1.000 pro Sekunde) und durch 3.000.000 Ohm fließt, tritt ein Fehler von 27 Millivolt auf. Dies zeigt sich als linearer Verstärkungsfehler. [FEHLER, das waren 27 Mikrovolt]

Ich bin auf dieses interessante Thema zurückgekommen und hoffe, dass Sie mir noch einmal helfen können: Wenn ich einen einpoligen RC-LPF vor diesem ADC ( ww1.microchip.com/downloads/en/devicedoc/22088c.pdf ) mit R = 100 kOhm verwende und C = 4,7 uF bekomme ich einen größeren Spannungsabfall (ca. 60 mV Abfall für Vin = 1,5 V). Ich habe Messungen durchgeführt und dieser Fehler ist linear. Können Sie mir einige Hinweise geben, wie ich den durchschnittlichen Eingangsstrom speziell für diesen ADC berechnen würde? Ich bin verwirrt wegen des Delta/Sigma-ADC. Ich weiß, dass es Oversampling gibt, also bin ich mir nicht sicher, was ich als Frequenz nehmen soll. Wenn ich zum Beispiel die 18bit-Einstellung mit 3,75SPS verwende. Danke schön.
Sie haben wohl einen Fehler gemacht, mit einem 3M-Widerstand würde der Spannungsoffset 27 Millivolt betragen , NICHT 27 Mikrovolt.
Henry Danke, dass du diesen Fehler gefunden hast. Und in Bezug auf die (interne) Abtastfrequenz können Datenblätter Sie darüber informieren oder nicht. Wenn sie Ihnen nicht die Fsample (nicht die Fconversion, die 3,75 Hz beträgt) und die Eingangsabtastkapazität (die ESD-Kapazität ist nicht Teil davon) mitteilen, muss das Datenblatt Ihnen den äquivalenten Eingangswiderstand mitteilen.

Vergiss den Filter ganz. Es ist Zeitverschwendung. Sie haben einen uC zur Verfügung, also nehmen Sie einfach mehrere Proben (10x, 100x.. so viele wie möglich) und mitteln Sie das Ergebnis. Das wird jede Klimaanlage und/oder Lärm loswerden.

Ihr Filter wird den Verstärker effektiv kurzschließen, wenn das Signal eine signifikante AC-Komponente enthält (sogar um die Netzfrequenz und die erste/zweite Harmonische herum). Schauen Sie sich das Datenblatt an: Ihr Verstärker hat einen Kurzschlussstrom von 4 mA und das Ansprechverhalten wird mit Lasten von 10-100 kOhm gemessen. Der Ersatzwiderstand Ihres Filters muss mindestens so groß sein.

Also muss der Serienwiderstand meines Filters (in diesem Fall der Widerstand der 3 kaskadierten Widerstände) mindestens 10kOhm betragen? Die Stromaufnahme aus dem In-Amp ist also begrenzt und wird nicht zu hoch? Würde ein so hoher Widerstand mein Signal nicht stark beeinträchtigen?
Könnten Sie bitte näher auf dieses Problem eingehen? Welche Auswirkung hätte es auf meine Schaltung, wenn ich den vorgeschlagenen Filter verwende? Danke schön.
@Henry Ich spreche über den Widerstand vom Verstärkerausgang zur Masse, nicht zum ADC-Eingang. Selbst wenn wir nur R1 und C1 betrachten, ist der Widerstand 200 + 100 (bei 100 Hz) = 300 Ohm, was viel zu niedrig ist.
Ich verstehe das Problem ehrlich gesagt nicht. Ich möchte, dass der Widerstand nach dem IN-Amp-Ausgang (der ADC-Eingang hat eine hohe Eingangsimpedanz) in der Signalspur niedrig ist, oder? Und ich möchte AC auch gegen Masse kurzschließen. Was würden Sie an der besagten Konfiguration ändern, könnten Sie die Werte nennen, die Sie verwenden würden? Danke schön!
Wie viel Widerstand brauche ich mindestens? Wie kann ich den Wert ermitteln?
@Henry Ja, Sie möchten, dass der Widerstand so niedrig wie möglich ist, aber Sie sind durch die Leistung Ihres Verstärkers begrenzt. Schauen Sie sich das Datenblatt von AD8237 an, insbesondere die Abbildungen 61 und 62. Sind diese sinnvoll? 300 Ohm wären völlig außerhalb der Spezifikation, und 1 kOhm würde Ihnen einen sehr schlechten Spannungshub geben. Sie benötigen mindestens 10 kOhm Lastwiderstand.
Ok vielen Dank für den Hinweis! Allerdings bin ich immer noch etwas verwirrt: Der ADC-Eingang hat mehr als 10kOhm Eingangsimpedanz. Das sollte also schon reichen? Durch das Hinzufügen des Filters erhöhe ich hier sogar den Widerstand. Ich verstehe, dass ich auch Kappen hinzufüge, die mit Masse verbunden sind, aber keine Gleichspannung durchlassen, sodass ich hier kein Problem sehe. Ich würde es wirklich schätzen, wenn Sie versuchen könnten, mir das noch einmal zu erklären (wäre froh, wenn Sie das tun könnten, indem Sie Ihre Antwort bearbeiten, damit auch andere Leute es leicht sehen können). Vielen Dank :)
Der ADC-Eingang ist hochohmig und stellt kein Problem dar. Der Hauptbeitrag zu niedrigem Widerstand ist Ihr RC-Filter. Nochmals: Ein 22-µF-Kondensator hat einen äquivalenten Widerstand von 100 Ohm bei 100 Hz. Wenn Ihr Signal eine signifikante AC-Komponente hat, überlasten Sie den Verstärker.
OK danke. Aber ich denke, das sollte in Ordnung sein, wenn sich meine Sensoren sehr langsam ändern (die Reaktion auf Änderungen beträgt mindestens 18 Sekunden, aber die Einstrahlung ändert sich viel langsamer). Selbst wenn der Verstärker ein gewisses Rauschen verursacht, sollte der größte Teil immer noch DC sein und nicht mit GND kurzgeschlossen werden, oder? Wie würden Sie "signifikante AC-Komponente" definieren? Wenn ich das INA-Ausgangssignal überprüfe, wie kann ich sicherstellen, dass dies noch genug DC-Anteil ist?

Ich stimme Elliot zu - ein etwas anderer Ansatz könnte das Abtasten / Halten sein, eine Art Nyquist-Filter, bei dem Sie die beste Oversample-Frequenz auswählen, um das am weitesten verbreitete Rauschen zu beseitigen. Ich habe das mit RTDs in einem lauten Flugzeug gemacht und es hat mir gute Ergebnisse gebracht. Ich hatte es mit Millivolt-Änderungen zu tun, die sehr genau sein mussten. Dadurch werden diese großen Kappen und die Einfügungsdämpfung der Widerstände, über die Sie sich Sorgen machen, beseitigt.

Ich habe das nur in LTspice zusammengestellt, um Ihnen die Idee zu geben ... wenn Sie die Quelle wollen, schicke ich sie. Ich habe den Eingang auf die 2 Volt eingestellt, die den Verstärker in Ihr Design aufnehmen würden. Ich habe 50 Hz und ein zufälliges HF-Rauschen hinzugefügt, das darüber reitet.Filtersimulation - LTspice

Der Filter verwendet aktive Komponenten mit Ausnahme des R/C-Tweaks mit Filter 3. Die Implementierung ist Sache des Designers, aber dies kann mit winzigen Teilen erfolgen, 2 x 2 bis 4 x 4 mm für die meisten aktiven und 0402 für den Rest. Ich denke, das ist kleiner als die passiven Teile, aber wenn RE wichtig ist, ist eine Gebietsstudie erforderlich. Ich zeige nur einen Schalter (S/H) für das Konzept. Nach der Implementierung wird durch ein oder zwei Wertänderungen die Abtastrate angepasst.

Aus praktischer Sicht ist der Eingang bei solchen langsamen Schwankungen fast Gleichstrom. Das Rauschen ist in Bezug auf die feste Abtastrate viel schneller und zufällig, sodass es sich mittelt. Die Annahme ist, dass die Rauschausschläge um Null herum schwanken, was typisch für eine differentielle Kopplung ist. Ich habe dies mit RTDs verwendet, die langsamer sind, und in einer lauten Flugzeugumgebung (es qualifiziert MIL-STD-461). Es scheint, als würde es auch für diese Quelle gute Arbeit leisten, erfordert jedoch einige Basteleien auf der Grundlage der realen Welt.

Ich habe die Parameter auf dem Schaltplan angezeigt, damit Sie sie anheben können, wenn Sie LTspice verwenden.

hört sich gut an, können Sie diesen Ansatz näher erläutern oder mich mit einem Beispiel verlinken (vielleicht selbst eine kleine Beispielschaltung mit kurzer Erklärung bereitstellen), da ich Ihren Ansatz noch nicht gut verstehe, danke.
Danke für deinen Beitrag! Interessant, Quelle wäre nett, damit ich ein bisschen herumspielen kann. Aber Sie verwenden auch aktive Komponenten in den Filtern? Oder verstehe ich hier deinen Ansatz falsch?