Wie übersetze ich analoge Eingänge bei [-15, +15 V] in [0, +3,3 V] ohne ±15-V-Schienen? [Duplikat]

Der Titel sagt alles, aber um etwas Kontext zu bieten: Das Ziel hier ist es, ein 12-Kanal-ADC-System zu entwerfen. Eingangssignale variieren zwischen -15 und +15 V. Das Erfassungssystem wird wahrscheinlich ein mittelgroßes/großes Arduino sein, aber das ist keine Einschränkung.

Einschränkungen:

  • Hohe Eingangsimpedanz (Downscaling durch Widerstandsnetzwerke ist ausgeschlossen)

  • Geringer Platzbedarf (einmal 12-fache Anzahl berücksichtigt), geringe Teileanzahl. Der Versuch, die Montage für einen Bastler so einfach wie möglich zu halten

  • Nur derzeit vorhandene Versorgungen: +3,3V (Mikrocontroller), +5V (USB-Ladegerät), +12-14V „Automotive“, ungeregelt.

  • Die Verwendung eines 12-zu-1-I2C-Multiplexers als erste Stufe ist eine Option, und dies könnte viel Speicherplatz freigeben, aber dies ist nicht meine bevorzugte Option

Exotische ICs, die leicht von großen Lieferanten bezogen werden können, sind Freiwild.

Ziel sind ~20 Akquisitionen pro Sekunde, mit möglichst synchronen Akquisitionen auf den verschiedenen Kanälen. Die Genauigkeitsanforderungen sind gering: +/- 50 mV (an der Quelle) würden ausreichen, in Übereinstimmung mit einem 10-12-Bit-ADC.

Ich habe seltsame Konfigurationen mit Operationsverstärkern in Summierungskonfiguration ausprobiert, aber mir gehen die Ideen aus.

Danke

Allein durch das Lesen des Titels der Frage war ich bereit, MAX[3]232 zu sagen, aber ich glaube nicht, dass sie diese für ihre analogen Eigenschaften optimieren :)
Eine hohe Impedanz kann mit Widerstandsnetzwerken erreicht werden, indem Widerstände mit „sehr hohem“ Widerstand wie Gohms verwendet werden. Was meinen Sie mit „hochohmig“ in Bezug auf Leckstrom oder Belastung, dh reelle Zahlen, keine vagen Adjektive?
Sie können eine Optokopplung in Betracht ziehen - der analoge Eingang treibt eine LED an, die einen Strom / eine Spannung in einer Fotodiode induziert, die dann vom Mikrocontroller gemessen wird. Da sich die Stromrichtung ändern kann, benötigen Sie möglicherweise zwei Optokoppler pro Eingang. Dafür stehen mehrere Komponenten zur Verfügung - Ihre Wahl hängt von Kosten, Genauigkeit usw. ab. Ein Widerstand in Reihe mit der LED hält seinen Strom in Grenzen, stellen Sie sicher, dass die zulässige Sperrspannung hoch genug ist.
@Neil_UK: Dies ist ein gültiger Kommentar, insbesondere angesichts der Tatsache, dass ich über das Summieren von Operationsverstärkern nachdenke, die als Teilernetzwerke angesehen werden können. Die Sache ist die, dass ich mir nicht sicher bin, welche Eigenschaften die Schaltung hat, die ich überwachen werde, und ich bezweifle, dass ich sie jemals herausfinden werde. Mein Ziel bei diesem Projekt ist es, die Eigenschaften eines billigen Voltmeters zu reproduzieren, dh etwas, das eine ausreichend hohe Impedanz hat, um sich darüber keine Gedanken zu machen, und dennoch eine gewisse Störfestigkeit aufweist.
@le_top: Danke für deine Eingabe, aber wenn mir nichts fehlt, würde deine Lösung nichts im Bereich von -0,5 bis 0,5 V messen, da keiner der Optokoppler in diesem Bereich leiten würde.
Angenommen, es ist zumindest schwierig, einen Optokoppler zu finden, der in diesem Bereich arbeitet, könnte man die GND-Schiene für einen Optokoppler und die VCC-Schiene für den anderen (oder andere bekanntere Spannungsreferenzen) verwenden. Auf diese Weise würde 0 V die Leitung des an VCC angeschlossenen Optokopplers induzieren (oder eine andere positive Spannung, wie z. B. eine Referenz, die mit der 12-14-V-Stromversorgung betrieben wird). Sie müssen nur die Differenz nach der A/D-Wandlung subtrahieren.

Antworten (2)

Dies ist ein lustiges Problem, aber zum Glück sind Sie nicht die erste Person, die darauf stößt. Hochgeschwindigkeits-ADCs sind in der Regel wählerisch in Bezug auf die Eingangsansteuerung, und Hochgeschwindigkeits-ADC-Treiber werden oft in Niederspannungsprozessen hergestellt, was bedeutet, dass das Akzeptieren eines Hochspannungseingangs einige Gymnastik erfordert, für die Widerstandsteiler aufgrund dessen keine Option sind Probleme mit der Hochgeschwindigkeits-Impedanzsteuerung. Stattdessen können Volldifferenzverstärker als Dämpfungsglieder verwendet werden , sogar für Eingangssignale, die selbst außerhalb des Eingangs-CMVR des Volldifferenzverstärkers liegen würden.

Basierend auf den Verfahren aus diesen beiden Appnotes erhalten wir eine Schaltungstopologie, die wie folgt aussieht:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

In dieser Schaltung bilden U1, C1, C2 und R1-R5 ein unsymmetrisches "Differential"-Dämpfungsglied mit einer sehr hohen Eingangsimpedanz (eingestellt durch R3 & R4 = 10 MΩ) und einem V/V von 1/10, eingestellt durch den R1/R3 & R2/R4 Verhältnispaar von 1 bis 10. R5 (Rt im Anhang) steuert die Rauschverstärkung von U1 auf 2, um die Stabilität gemäß der Formel aufrechtzuerhalten

R F = R G R T 2 ,
C1 bietet eine lokale Entkopplung für U1, und C2 hält RFI vom hochohmigen Eingang fern und bildet mit R3 eine Ecke von etwa 8 Hz, um die Nyquist-Bandbreite unter Ihrer Abtastrate von 20 SPS zu halten.

Der gewählte volldifferenzielle Verstärker THS4531A ist für etwa 3 US-Dollar in Einzelstückzahlen in einem einfach zu lötenden 8-Pin-SOIC erhältlich und bietet einen sehr niedrigen Eingangsruhestrom und eine sehr geringe Leistungsaufnahme sowie Eingangs- und Ausgangs-Gleichtaktbereiche bis hinunter zu V- . R1-R5 müssen 1% oder bessere Chipwiderstände sein (1% Dickfilm ist in Ordnung, aber wenn Sie billig eine bessere Toleranz / Anpassung erhalten können, tun Sie es) und C2 muss ein stabiler (Film, C0G) Kondensator sein - der THS4531A ist es ein schneller Teil (GBW von 36 MHz) und wird den ganzen Tag über fröhlich RFI in Ihren ADC stopfen, wenn Sie mit Layout und Entkopplung / Filterung nicht vorsichtig sind.

Die Schaltung in der gestrichelten Box, nämlich U2 und C3-C5, liefert eine stabile 1,65-V-Referenz für die Gleichtaktversorgung von U1 – sie kann von allen Kanälen gemeinsam genutzt werden und liefert auch eine stabile 3,3-V-Referenz, die eingespeist werden kann der ADC Vref (anstatt die vermutlich verrauschte Logikversorgung zu verwenden). Der REF2033 kostet etwa 3,50 US-Dollar in Onesies und wird in einem leicht kniffligen SOT-23-5-Paket geliefert. wenn ein normaler SOT-23 bevorzugt wird oder sich der REF2033 als zu teuer erweist, der ISL21080-1.5kann stattdessen verwendet werden, um ein paar Dollar von der BoM zu verlieren - C5 wird in diesem Fall weggelassen, C3 wird zu einer 2,2-nF-Kappe (Film oder C0G), da die Mikroleistungs-Ausgangsstufe des ISL21080 100 nF nicht stabil treiben kann, und die 3,3-V-Referenz Ausgabe ist nicht mehr verfügbar. Die Verwendung der 1,5-V-Referenz legt den Ausgangsbereich auch auf 0-3 V anstelle des 150-mV-3,15-V-Bereichs, der von der abgebildeten Schaltung bereitgestellt wird; Letzteres bietet eine linearere Leistung des THS4531A am unteren Ende des Ausgangsbereichs und vermeidet auch jegliche Low-End-Nichtlinearitäten in jedem ADC, den Sie verwenden.

Vielen Dank, dass Sie sich die Zeit genommen haben, eine so ausführliche Antwort zu schreiben. Auch wenn ich es nicht ganz verstehe (differenzielle Operationsverstärker sind neu für mich), haben Sie alle Links bereitgestellt, die zum Abschließen meiner Schulung erforderlich sind. Hut ab.

Obwohl das OP keine Widerstandsteilernetzwerke sagt, sagt er in einem Kommentar, er ziele darauf ab, die Fähigkeiten eines billigen Multimeters zu reproduzieren. Diese haben normalerweise einen Eingangswiderstand von 10 MOhm (obwohl Sie 1 MOhm finden können, wenn Sie wirklich billig sind).

Um +/- 15 V auf 0/3,3 V mit einem 10-Mohm-Eingang herunterzubekommen, könnten Sie diesen 10: 1-Teiler verwenden

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Der Eingangswiderstand liegt irgendwo zwischen 10 und 11 MOhm, abhängig vom Eingangswiderstand Ihres ADC.

Der Ausgangswiderstand liegt zwischen 1 M und 1,1 MOhm, je nach Widerstand des Messpunktes.

Sie sagen, Sie wollen 20 Messwerte pro Sekunde, also einen alle 50 ms. Wenn wir möchten, dass sich der Messwert nach einer Schrittänderung am Eingang „vollständig“ einpendelt (z. B. 5 Zeitkonstanten), muss die kapazitive Last, die dieser Teiler antreibt, auf 10 nF begrenzt werden, was eine maximale Zeitkonstante von 10 ms ergibt. Keine Lasten haben versehentlich so viel Kapazität an ihrem Eingang, nur Filter. Wenn Sie einen Tiefpassfilter am Eingang wünschen, wirken sich 10 nF nicht auf die Dynamik bei 20 Messwerten pro Sekunde aus, größere Kondensatoren sorgen für eine bessere Filterung und eine langsamere Reaktion.

Einige ADCs können mit einem Eingangswiderstand von 1 MOhm fertig werden, andere können mit diesem Eingangswiderstand fertig werden, wenn sie einen Kondensator gegen Masse haben, um Stromspitzen zu bewältigen (10 nF sind normalerweise ausreichend), und einige benötigen eine Quelle mit viel geringerem Widerstand. Wenn letzteres der Fall ist, dann folgen Sie diesem Teiler mit einem Trennverstärker. Da Sie keine negativen Schienen haben, muss dies mindestens ein Operationsverstärker sein, der auf Masse fährt, wie z MC33202, 75p für ein Dual von CPC.

Punkt genommen - es ist möglich, mit einem Widerstandsnetzwerk eine hohe Eingangsimpedanz zu erhalten. Danke, dass du mir das Gegenteil bewiesen hast. Wenn ich mehrere Antworten akzeptieren könnte, würde ich das tun.
@jmr Sie können eine Antwort jederzeit ablehnen, wenn Sie eine andere einfachere Antwort mit einem 10-M-Eingangswiderstand als akzeptiert wählen möchten ;-)