Messen Sie 0-10 V mit Arduino

Ein Thermoelementverstärker gibt einen Spannungsbereich von 1,2 V bis 8,8 V für den Temperaturbereich -260Cbis 1380Cbei Verwendung eines K-Typ-Thermoelements aus.

Die Formel zur Bestimmung der gemessenen Temperatur lautetTtc = ((Vout - 2.05) * 0.005)°C

Geben Sie hier die Bildbeschreibung ein

Ich denke daran, zwei 1K Ohm zu verwenden, um die Ausgangsspannung durch 2 zu teilen, damit sie in die maximale Eingangsspannung von Arduino von 5 V passt.]

Geben Sie hier die Bildbeschreibung ein

Frage: Sind für maximale Genauigkeit bei der Temperaturbestimmung 1K-Ohm-Widerstände geeignet, oder sollten wir deren Widerstand erhöhen/verringern?

Link zum Produkt

Wie hoch ist die Ausgangsimpedanz des Verstärkers?
Ich kann die Ausgangsimpedanz nicht aus dem Datenblatt finden, aktualisierter Originalbeitrag mit Link zum Produkt.
8,8 V / 2 kOhm = 4,4 mA. Kann Ihr Verstärker mit 4,4 mA belastet werden? Am anderen Ende, mit welcher maximalen Quellenimpedanz benötigt das Arduino analoge Eingänge, mit denen es betrieben werden kann? Mit Ihrem vorgeschlagenen Setup werden es 500 Ohm sein.
Seite 10 des in der Schaltung verwendeten Verstärkers zeigt die Abbildung: "Output Voltage Swing vs. Load Resistance" und "Output Voltage Swing vs. Output Current", die zeigt, dass bei Ausgangswiderständen unter 3 kOhm oder Strömen über 1 mA die Ausgangsschwankung zunimmt Beginnen Sie mit der Reduzierung, und dies führt zu einem direkten Fehler bei Ihrer Messung.

Antworten (1)

Die Verwendung von Widerstandsteilern in Abtastsystemen in dieser Konfiguration (mit einem getakteten ADC) ist nicht ratsam. Die Widerstände erzeugen an Ihrem Eingang weißes Rauschen. Das Problem ist, wenn Ihr System diese Rauschspannung abtastet, erscheint die Rauschleistung im gesamten Frequenzspektrum in Ihrem Basisband und verschlechtert Ihre Messung. Die Lösung hierfür besteht darin, ein Tiefpass-RC-Netzwerk (ein Parallelkondensator zu R2) hinzuzufügen, das die Hochfrequenzkomponenten filtert und die Rauschfrequenzen (und die Signalfrequenzen) auf das gewünschte Betriebsband begrenzt. Die Zeitkonstante dieses RC-Netzwerks sollte durch die Frequenz des Eingangssignals bestimmt werden.

Da Sie Ihr Eingangssignal mit R2 / (R2 + R1) skalieren werden, ist auch die Anpassung dieser Widerstandswerte etwas wichtig. Andernfalls machen Sie einen linearen Fehler, den Sie später digital korrigieren können. Es gibt auch andere Probleme (nichtlineare Widerstandsänderungen mit Strom oder Temperatur), aber wenn man bedenkt, dass Sie den Arduino ADC verwenden werden, der im Bereich von 10-12 Bit liegen sollte, bezweifle ich, dass dies zu einer merklichen Ungenauigkeit führen wird dein Fall.

Das Rauschen wird jedoch weniger problematisch, wenn Sie mitteln oder dezimieren.
Sie verlieren Auflösung, wenn Sie dezimieren. Sie werden nicht, wenn Sie mitteln, aber die Mittelung im digitalen Bereich ist im Grunde ohnehin das Äquivalent zur Tiefpassfilterung im analogen Bereich.
Die Dezimierung kann verwendet werden, um die Auflösung auf Kosten der Zeit zu erhöhen. Aber die Temperatur ist eines dieser Dinge, die sich normalerweise nicht so schnell ändern.
Die Dezimierung kann verwendet werden, um die Auflösung zu erhöhen, wenn nur die Möglichkeit besteht, das Signal zu überabtasten (dh die Abtastrate zu verdoppeln). Der Arduino ADC hat höchstwahrscheinlich eine feste maximale Abtastrate, bei der weißes Rauschen und Quantisierungsdichte bei einem Frequenz-Bin sein werden auf das Minimum, von dem ich annahm, dass es in diesem Fall verwendet werden würde. Mein Kommentar zum Verlust der Auflösung durch Dezimierung bezog sich auf den Amplitudenbereich, von dem ich dachte, Sie würden anbieten, die lauten niederwertigsten Bits abzuschneiden.