Spannungsteiler und ADCs

Ich möchte eine Spannung von 0-30 V mit einem MCU-ADC lesen, der einen maximalen Eingang von 3 V hat.

Anfangs dachte ich daran, einen 100k-10k-Teiler zu verwenden (33 V entsprechen also 3 V), aber gemäß den Antworten auf die ADC-Eingangsimpedanz bei MCUs wird dies aufgrund des Eingangsleckstroms einen Fehler von 3% hinzufügen. Ich suche nach 0,5% Fehlermaximum. Bei niedrigeren Werten für den Teiler riskiere ich jedoch, die Eingänge der MCU aufgrund von Überspannung zu beschädigen (die Widerstände wirken zusammen mit den Klemmdioden am Eingang). Ich erhöhe auch die Verlustleistung in meinen Widerständen, bei denen es sich um winzige 0603-Geräte handelt, für die sie ausgelegt sind 0,063 W maximal. Wie kann ich das vermeiden? nb Eingangsimpedanz ist nicht kritisch.

Ich mache mir keine Sorgen um die Abtastgeschwindigkeit, es wird eine Batteriespannung mit maximal 100 Abtastungen pro Sekunde überwacht.

hast du den vorigen gebaut? 3 % waren ein Worst-Case-Wert, basierend auf Worst-Case-Leckagen. Wenn Sie nicht viele davon fabrizieren, können Sie sie kalibrieren.
Kortuk, denkst du, ich könnte einen der Widerstände um 3% anpassen oder in der Software handhaben (Skalierung um 1,03x?)
Sie sagen, Sie möchten hohe Präzision, geringen Stromverbrauch und sehr geringe Zusatzkosten. Ich bin mir nicht sicher, ob das möglich ist. Sie können in Software kalibrieren, wie Kortuk erwähnt hat, aber in einem fabelhaften Prozess, der Zeit kostet und Geld kostet.
Das Ansteuern eines MCU-ADC-Eingangs mit einer großen Impedanz ist sowieso schlecht. Es erhöht die Einschwingzeit und verursacht Verzerrungen usw. „Der ADC ist für analoge Signale mit einer Ausgangsimpedanz von ungefähr 10 kΩ oder weniger optimiert. Wenn eine solche Quelle verwendet wird, ist die Abtastzeit vernachlässigbar. Wenn eine Quelle mit höherer Impedanz verwendet wird verwendet wird, hängt die Abtastzeit davon ab, wie lange die Quelle benötigt, um den S/H-Kondensator aufzuladen, und kann stark variieren. Dem Benutzer wird empfohlen, nur niederohmige Quellen mit langsam variierenden Signalen zu verwenden, da dies den erforderlichen Ladungstransfer minimiert zur S/H-Kappe"

Antworten (2)

Verwenden Sie den Spannungsteiler mit Widerständen und danach einen Operationsverstärker. Verwenden Sie alternativ eine Operationsverstärkerschaltung, um die Spannung zu reduzieren, und Sie können eine Anti-Alias-Filterung in einer Stufe durchführen!

+1 Verwenden Sie den Operationsverstärker mit einer Verstärkung von 0,1 und machen Sie ihn doppelt zum Anti-Aliasing-Filter
Ich kann mir keinen Operationsverstärker leisten. Ich habe leider nicht genug Platz. Ich kann mir vielleicht einen Puffer-IC leisten, wenn sie klein genug sind und mit 8 Kanälen verfügbar sind.
Normalerweise kaufen Sie einfach einen winzigen Operationsverstärker und schließen ihn als Puffer an. national.com/mpf/LM/LMC7111.html SOT23 ist zu groß?
Oh, Sie wollen 8 Kanäle.
Wenn Sie immer noch den Spannungsteiler verwenden, haben Sie den Fehler, von dem er spricht. Ich glaube nicht, dass dies dazu beiträgt, seine Präzision überhaupt zu verbessern.
Die Verwendung von Widerständen mit höherer Präzision reduziert den Spannungsteilerfehler. Das zweite Problem besteht darin, dieses Signal in einen ADC zu treiben. Hier treten die Ungenauigkeiten auf, daher der Vorschlag, einen Puffer zu verwenden.
Was ist mit zwei LFSCP-Gehäusen, die 4,00 x 3,75 mm groß sind und jeweils vier Operationsverstärker in einem Gehäuse haben? Hier ist eines von analogen Geräten analog.com/en/amplifiers-and-comparators/…
Müssen alle Proben gleichzeitig genommen werden? Sie haben eine niedrige Abtastrate, Sie könnten die Eingänge durch einen Operationsverstärker-Chip zeitmultiplexen.

Okay, aufgrund Ihrer Antwort auf meinen Kommentar denke ich, dass ich mit einer vollständigen Antwort mehr helfen kann.

Baue es!

Bauen Sie Ihren einfachen Widerstandsteiler. Das hat viele Vorteile, für die eine Größe sind die Kosten eine andere.

Charakterisieren Sie es!

Jetzt werden Sie auch einen Mikrocontroller verwenden, hier müssen Sie Ihren Fehler charakterisieren. Verwenden Sie einen sehr genauen Spannungsgenerator, überprüfen Sie jetzt die Spannungen und sehen Sie, welchen Fehler der uC tatsächlich misst.

Analysieren Sie es!

Jetzt wird es lustig. Es gibt eine Reihe von Dingen, die Sie messen könnten.

Genauigkeit und Präzision

Das Wichtigste, was hier zu messen ist, ist, ob der Fehler an den Punkten wiederholbar ist. WENN Sie bei jedem Sweep einen anderen Fehler erhalten oder wenn Ihr Sweep, das einem anderen Pfad folgt, am selben Punkt einen anderen Fehler ergibt, ist dies keine Option. Dies geschieht häufig bei Leckströmen. Der wichtige Teil hier ist, dass Sie keine hohe Genauigkeit benötigen, sondern nur ein hohes Maß an Präzision. Wenn Sie Ihren Fehler charakterisieren können, kann Ihr uC ihn korrigieren. Wenn Sie eine große Varianz haben, müssen Sie Ihre Lösung ändern.

Was ist eine X-Punkt-Kalibrierung?

Wenn Sie nun, wie zuvor besprochen, eine hohe Genauigkeit haben, können Sie mit der Korrektur der Genauigkeit fortfahren. Wenn Sie nun Ihre Eingangsspannung gegenüber Ihrer Ausgangsspannung grafisch darstellen, müssen Sie die Anzahl der benötigten "Referenzpunkte" festlegen. Schöne Geräte erlauben einen 1-Punkt (oder Nullpunkt, keine Kalibrierung erforderlich). Viele Temperaturfühler.

Ein-Punkt-Kalibrierung

Beide Linien haben die gleiche Steigung, aber einen Offset, also müssen Sie nur den Wert finden, den Sie zu einem Datenpunkt addieren müssen, um ihn zu korrigieren. Dies ist eine ideale Situation, da jede neue Kalibrierung nur einen einzigen Datenpunkt benötigt, um erneut zu kalibrieren.

Zweipunktkalibrierung

beide lineare Kurven, möglicherweise ein Offset und es gibt eine Neigungsdifferenz, Sie benötigen nur zwei Referenzpunkte und eine lineare Interpolation, um Ihren Offset zu extrahieren. Dies ist immer noch relativ einfach, Sie nehmen einfach einen beliebigen Punkt, multiplizieren ihn mit einem Skalar und addieren einen Offset.

Wie Sie sehen können, wird es umso chaotischer, je mehr Punkte Sie benötigen. Irgendwann ist es einfacher, einfach jeden Datenpunkt zu nehmen und mit dem tatsächlichen Wert zu korrelieren. Wenn Sie beispielsweise feststellen, dass 0000 1 V, 0001 2 V und 0002 1,5 V beträgt. Das ist chaotisch und funktioniert immer noch nur, wenn die Offsets wiederholbar sind. Dies kann jedoch passieren.

Zusammenfassend

Ich hoffe, das hilft, sagen Sie mir, wenn Sie mehr Klarheit brauchen. Wenn Sie am Ende einen variierenden Leckstrom haben, der nicht zuverlässig ist, ist es an der Zeit, sich einfach mit der Notwendigkeit eines Puffers oder ähnlichem zu befassen.

Ich sehe die Möglichkeit eines hohen Fehlers durch Leckage, aber ich würde wetten, dass der Fehler über den größten Teil des Bereichs relativ gering ist und wenn er vorhanden ist, leicht korrigiert werden kann.

Als Randbemerkung: Dies scheint eine Menge Arbeit zu sein, aber es ist tatsächlich eine relativ kleine Menge an Arbeit, um die Komponentenkosten niedrig zu halten.
Guter Kommentar! eine brillante Möglichkeit, dies in Software zu tun. Ihre endgültige Methode der Nachschlagetabelle ist wahrscheinlich die beste Methode. Einziger Nachteil ist das ROM, das es verbraucht, aber für einen 8-10-Bit-ADC auf einer MCU sollte es machbar sein.
Es hängt von den Daten ab, ich habe viele verschiedene Fälle, in denen eine 1-Punkt-Kalibrierung ausreichend war. Nur ein Versatz. Und dann zahlt sich der Einbau der Hardware zur automatischen Kalibrierung aus.