Lesen Sie den 4-Draht-Druckaufnehmer über einen Differenzverstärker aus

Ich habe versucht, einen 4-Draht-Druckaufnehmer (M3021-000005-01KPG) mit einem Mikrocontroller auszulesen, aber es treten immer wieder Probleme auf. Zunächst einmal wurde mir klar, dass das Signal (0-100 mV) differentiell ist, was bedeutet, dass wir es zwischen den beiden Signaldrähten des Wandlers messen müssen, nicht zwischen der Masse der Schaltung und einem einzelnen Draht. Mit Laborgeräten ist das kein Problem, aber ich würde gerne das Signal mit einem Mikrocontroller auslesen. In diesem Fall wird das Problem offensichtlich, da nicht nur das Signal zu klein ist (0-100 mV), sondern auch der ADC des Mikrocontrollers (z. B. der ADC eines Arduino) eine Spannung mit seiner Masse vergleicht und keine Differenzsignale liest.

Ich habe versucht, das Signal durch eine Differenzverstärkerschaltung (einen Operationsverstärker mit einigen Widerständen) mit Einheitsverstärkung zu leiten (ich werde die Verstärkung später hinzufügen), um es in ein Signal relativ zur Masse der Schaltung umzuwandeln, aber das Signal wurde nicht richtig gelesen . Genauer gesagt habe ich 5 mV ohne angeschlossenen Sensor und 8 mV mit dem Sensor bei 6 bar Druck gelesen. Das Signal des Sensors bei 6 bar sollte 9 mV betragen, also gehe ich davon aus, dass ich 5 + 9 = 14 mV lesen sollte. Ich weiß, dass das Diff. Ampere. Schaltung ist korrekt, da ich die erwarteten Ergebnisse gemessen habe, als ich ein benutzerdefiniertes Differenzsignal anstelle des Sensors gesendet habe (ich habe den Signalwert + das Rauschen erhalten). Ich weiß auch, dass das Signal des Wandlers in Ordnung ist, weil ich es mit einem Multimeter ohne Diff gemessen habe. Ampere. Schaltkreis.

Also, ich kann nicht herausfinden, was falsch ist. Ich habe nicht viel Erfahrung mit Operationsverstärkern, daher wäre jede Hilfe willkommen !!

PS: Einige Informationen über den Wandler. Das Signal ist 0-100 mV und repräsentiert Werte von 1 bis 69 bar linear. Ich weiß, dass das Signal fast auf Rauschpegel ist, aber ich konnte mit einem guten Mulimeter konstant 9 mV bei 6 bar messen, daher gehe ich davon aus, dass der Sensor gut funktioniert. Filter und Verstärkung müssen wahrscheinlich später hinzugefügt werden, aber im Moment muss ich nur in der Lage sein, das Differenzsignal in Single-Ended umzuwandeln.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Datenblatt: https://eu.mouser.com/datasheet/2/418/6/ENG_DS_MSP300_B-1130121.pdf

Fügen Sie Ihrer Frage mithilfe des integrierten Schaltplan-Editors einen Schaltplan hinzu, der zeigt, wie Sie Ihren Differenzverstärker angeschlossen haben, einschließlich seiner Strom- und Erdungsanschlüsse und der Teilenummer. Der Schaltplaneditor ist die Schaltfläche „Diode/Widerstand/Kondensator“ in der Symbolleiste, die angezeigt wird, wenn Sie Ihre Frage bearbeiten.
Danke für deine Antwort, ich habe den Schaltplan hinzugefügt.
Funktioniert Ihr Sensor gut bei diesen niedrigen Impedanzen? Die Offset-Spannung des Verstärkers könnte ausreichen, um Ihnen einen -ve-Ausgang zu geben und den Verstärker bei 0 V zu sättigen, R3 auf etwa ein Volt anstatt auf Masse zurückzusetzen, um sicherzustellen, dass der Ausgang über Masse liegt. Arduino liest sich auch nicht gut in der Nähe von gnd. Messen Sie den Ausgang des Wandlers + Verstärker in ein DMM, es liest nicht, dass Sie das getan haben.
Sie haben einen mV-Ausgangswandler, M30*2*1, daher sollte der Lastwiderstand >= 1 MOhm sein

Antworten (2)

Die Teilenummer, die Sie haben, M3021, ist ein mV-Ausgangsgerät, daher sollte es laut Datenblatt einen Lastwiderstand von mindestens 1 MOhm haben.

Offset-Spannungen am LM358 können zu einer Spannung nahe oder sogar unter Masse führen. Obwohl der Eingangsgleichtakt unter 0 V geht, tut dies der Ausgang sicherlich nicht. Ihr Verstärker treibt den Ausgang möglicherweise nicht richtig nahe an Masse.

Der Arduino-ADC liest innerhalb weniger Zählungen des Bodens nicht richtig.

Das sind drei Gründe, warum Sie möglicherweise Probleme haben.

Da der LM358 ein dualer Operationsverstärker ist, schlage ich vor, dass Sie die hier gezeigte grundlegende Operationsverstärkerschaltung mit zwei Verstärkern verwenden . Ich habe die Widerstände in einer Konfiguration angeordnet, die deutlich macht, wie der Verstärker funktioniert, und hoffentlich leicht zu merken ist. Die Verstärker werden alles tun, um die Spannung an den R1s gleich der Differenzeingangsspannung zu machen. Der R1s-Strom fließt durch R2s, und wir nehmen die Ausgangsspannung über den gesamten R2 + R1-String.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Jetzt wird Ihr hochohmiges Gerät nur noch durch Verstärkereingänge belastet.

Verwenden Sie die Vref-Eingangsspannung, um Ihre Ausgangsspannung innerhalb des sauberen Bereichs Ihres Arduino-ADC zu platzieren. Vielleicht haben Sie eine Diode gegen Masse mit einem kleinen Vorspannungsstrom, um 0,7 V zu liefern. Sie müssen es nicht genau wissen, da Sie es an einen anderen ADC-Eingang anschließen und lesen können, sodass Sie einen Spannungsteiler zwischen Versorgung und Masse verwenden können darauf verweisen. Die Ausgangsspannung ist die Differenz zwischen Vref und Vout.

Ohne RG geben die angezeigten Widerstandswerte dem Verstärker eine Verstärkung von 11, oder bei gleichen Werten (z. B. alle 10k) wäre die Verstärkung 2. Sie können RG verwenden, um die Verstärkung nach oben anzupassen, wenn Sie möchten, wobei eine gute Gleichtaktunterdrückung beibehalten wird , ohne dass die angepassten Widerstände R1 und R2 geändert werden müssen.

Dieser einfache Verstärker hat Einschränkungen. Ich schlage vor, Sie lesen das Tutorial, auf das ich verlinkt habe, für die Kompromisse zwischen Gleichtakt / Vref / Verstärkung, die dazu führen können, dass OA1 gesättigt wird. Entweder das, oder überprüfen Sie mit einem DMM oder Simulator, ob die tatsächliche Ausgangsspannung von OA1 über den gesamten Betriebsbereich Ihres Wandlers innerhalb des Bereichs liegt.

Danke für deine ausführliche und informative Antwort. Ich musste mir etwas Zeit nehmen, um es zu studieren, aber jetzt verstehe ich, was Sie sagen. Ich werde die Schaltung im Auge behalten, wenn ich ins Labor zurückkehre. Danke noch einmal!

In Bezug auf die Sensor-zu-Pufferverstärker-Seite: Viele Drucksensoren implementieren die Kelvin-Wheatstone-Brücke in ihrem Design. Der sicherste Weg, Ihren Sensor mit einem Datenerfassungssystem zu verbinden, besteht darin, den Anweisungen des Sensorherstellers oder Ihres Lieferanten zu folgen, aber es gibt Szenarien, in denen Sie das Problem selbst lösen sollten. Eine Schaltung, die mit einem 4-Draht-Drucksensor verwendet werden kann, finden Sie in den Kursnotizen EE4900 der Weber State University, Fundamentals of Sensor Design , Seite/Folie 21. Vielleicht kann die Schaltung mit notwendigen Änderungen an Ihr System angepasst werden.

Wenn die unerwarteten Sensorsignalmessungen, die in Ihrer Frage gemeldet werden, mit dem Arduino-Board erhalten werden, können bei den Messungen Zeitprobleme auftreten, die nichts mit einem Pufferverstärkerdesign zu tun haben, siehe meine Antwort Fehlerbehebung beim mehrstufigen Multiplexer-Design .

AKTUALISIEREN

Mit Ihrer in der Fragebearbeitung offenbarten "Differenzverstärkerschaltung ... mit Einheitsverstärkung" hat die unerwartet niedrige Ausgabe des Pufferverstärkers eine klare Erklärung: Die Last für einen Druckwandler ist zu hoch, und Sie verwenden besser einen Instrumentenverstärker. Eine Lösung mit Zwei-Verstärker-Instrumentenverstärker sollte funktionieren, und es ist die Lösung, die in den EE4900-Kursnotizen angeboten wird, aber wenn man bedenkt, dass Sie "nicht viel Erfahrung mit Operationsverstärkern haben" (in Ihren eigenen Worten), und auf dem sein müssen Auf der sicheren Seite wäre vielleicht ein Instrumentenverstärker mit drei Operationsverstärkern einfacher zu implementieren.

Danke für die schnelle Antwort. Ich werde mir die von Ihnen bereitgestellte Schaltung ansehen und vielleicht einen Teil davon in meinem Design implementieren.
Hmm, ich verstehe irgendwie, was du mit der großen Ladung sagst. Der Instrumentenverstärker mit 3 Operationsverstärkern ist in der Tat einfacher zu implementieren und Fehler zu beheben als die Schaltung aus den EE4900-Kursnotizen. Ich werde es versuchen, sobald ich ins Labor zurück bin. Danke.