Guten Tag zusammen,
für ein Insitutsprojekt im Rahmen meines Hiwi-Jobs habe ich eine Platine
entworfen und aufgebaut, deren Zweck es ist, mit sehr hoher
Eingansimpedanz (~200 MOhm) die Selbstentladung von Batterizellen zu
messen.
Die Zellen werden für die Messung nacheinander über Relais mit einem
Widerstandsteiler (2x100 MOhm) verbunden, um die maximal 4,2V
Zellspannung auf unter 3,3V zu bringen.
Dieser Widerstandsteiler ist mit einem als Impedanzwandler verschalteten
Operationsverstärker (OPA377, < 1pA Input-Bias-Strom) verbunden, damit
der Messstrom das Ergebnis nicht verfälscht.
Dieser Teil scheint eigentlich redlich gut zu funktionieren, ich habe
das Testweise mit einem Multimeter und einer
Kalibrierungsspannungsquelle geprüft und es ergibt sich in der Tat ein
stabiler, linearer Zusammenhang.
Am Ausgang des Operationesverstärkers befindet sich ein RC-Filter, der
mit dem Eingang des ADCs (MAX11200) über einen mechanischen Umschalter
verbunden ist.
Das war zunächst ein recht naiver Schaltungsentwurf mit einer sehr
niedrigen Grenzfrequenz für den Tiefpass (15 Hz).
Der Schalter dient dazu, Gain und Offset des ADCs zu kalibrieren, indem
Referenzspannung und BAT- an den Eingang angelegt werden können.
Es gibt hierfür laut Datenblatt zwei Modi: Selbstkalibrierung und
"System Calibration", für letztere wir der Schalter verwendet.
Die Eingangsbuffer des ADC, welche den Messstrom drastisch verringern
sollen, sind aktiviert.
R16 im Schaltplan ist übrigens nicht aufgelötet.
BAT- ist über einen Sternpunkt mit AGND verbunden.
Nun zum Problem:
Im Großen und Ganzen funktioniert die Schaltung, der ADC misst die
angelegten Spannungen, ABER: Die Qualtität der Messung ist sehr
unbefriedigend. Zum einen rauscht die Messung sehr stark, mit einer
Amplitude von ca. 1mV, das ist allerdings nicht weiter tragisch. Das
Hauptproblem ist jedoch, dass ein größerer Messfehler von ca. 5mV in
Abhängigkeit von der angelegten Spannung besteht. Soweit ich das sehen
kann, besteht kein linearer Zusammenhang, sondern bei manchen Spannungen
wird dieser Messfehler plötzlich sehr klein oder sehr groß.
Ich hänge eine Auswertung an, die das verdeutlichen soll. Blau sind
eingestellte und gemessene Spannung, auf der rechten, roten y-Achse ist
der Messfehler aufgetragen. Der lineare Anstieg ist zu erwarten und
erklärt sich durch die Toleranz der Widerstände, aber um ca. 1,5V herum
ist ein Verlauf, den ich mir nicht erklären kann.
Hat jemand eine Idee, wodurch das verursacht werden könnte?
Liegt das eventuell am Kickback-Effekt?
Dinge, die ich bereits erwogen/probiert habe:
- Ganz zu Anfang, mit den im Schaltplan angegebenen Werten für R15 und
C8 war beim Start der Messung selbst mit Multimeter ein kurzer Anstieg
der Spannung an AINP zu sehen. Mit deaktivierten Buffern war die ein
deutlich sichtbarer Abfall der Spannung. Nach kurzer Zeit stabilisierte
sich die Spannung an AIN wieder.
- Der RC-Tiefpass wurde deutlich verkleinert. R ist jetz 15 Ohm, C ist
bei ca 50pF. Dadurch sind diese Spannungstransienten deutlich
zurückgegangen und kaum mehr erkennbar.
- C3 an AVDD wurde auf 10µF vergrößert.
- Unter dem ADC und parallel zu den Messleitungen verlaufen auch
I2C-Leitungen (ging nicht anders, das Board ist sehr länglich). Aber
dadurch würde ich keinen deterministischen, spannungsabhängigen Fehler
erwarten.
- Die 3V-Referenz ist, soweit ich es beurteilen kann, sehr stabil.
- Die 3V3A-Versorgung für AVDD ebenfalls.
- Nach dem Schileßen des Relais wird lang genug abgewartet, damit sich
die Leitungskapazitäten am Abgriff des Spannungsteilers aufladen kann.
- Das Problem tritt auch auf, wenn ich die Spannungsquelle direkt an den
ADC anschließe und den Rest der Schaltung (RC-Filter, OpAmp) außen vor
lasse.
- Gemessen wird im Single-Cycle-Conversion-Modus mit der geringsten
Sample-Rate (1SPS)
- Es hat keinen sichtbaren Efinluss auf das Problem, die verschiedenen
Kalibrierungsstufen zu aktivieren oder zu dekativieren.
Hat noch jemand Ideen oder Vorschläge, was man tun könnte, um denm
Problem zu begegnen?
Vielen Dank im Voraus!
Vielleicht noch einen kleinen Nachtrag, da ich vergessen hatte, es zu
erwähnen:
Wir haben das Board insgesamt dreimal und mit Rakelschablone aufgebaut,
aber das Problem tritt bei allen Exemplaren auf, d. h. es ist vermutlich
kein Problem mit einer Lötstelle.
Analoge und Digitale Versorgung sind übrigens getrennt: DVDD und AVDD
haben jeweils einen eigenen DC/DC. Im Falle von AVDD gibt dieser 3,7V
aus, die mit einem Low-Dropout-LDO auf 3,3V gebracht werden.
Bei Bedarf kann ich hier auch noch den Schaltplan des kompletten Boards
reinstellen.
Falls ich sonst noch etwas nachliefern kann, lasst es mich gerne wissen
:)
XChalo schrieb:> Bei Bedarf kann ich hier auch noch den Schaltplan des kompletten Boards> reinstellen.
Und wenn es um saubere Abtastung hochohmiger Signale geht, ist das
Layout mindestens genauso wichtig.
Ein Inhaltsverzeichnis zu deinem Posting wäre auch nicht schlecht ;-)
Hi Wolfgang, danke für deine Antwort!
Ich hänge mal das Layout vom ADC an und zur Orientierung auch eine
3D-Ansicht.
Das ganze Board wäre vermutlich etwas zu unübersichtlich, weil es
konzeptbedingt sehr lang und schmal ist.
Was vermutlich zuerst auffällt: Die AGND-Anbindung der Kondensatoren an
AVDD ist nicht sehr gut, was wahrscheinlich der Signalqualität nicht
gerade zuträglich ist.
Diesen spannungsabhängigen, deterministischen Fehler kann ich mir
dadurch allerdings nicht erklären, dabei bereitet der mir am meisten
Kopfzerbrechen :/
Hat da jemand eine Idee, woran das liegen kann?
> Ein Inhaltsverzeichnis zu deinem Posting wäre auch nicht schlecht
Da hast du Recht... Die Sache ist, ich schreibe erst Forenposts, wenn
ich mit Nachdenken, Google und Ausprobieren nicht mehr weiterkomme,
dadurch hat sich eingiges gesammelt :/
Hallo,
ein Foto von der realen Platine / Aufbau wären schon mal nicht schlecht.
Dann mal eine gute Spannungsquelle anschliessen und stufig durchfahren.
In einer Tabelle Eigangsspannung, erechnete Spannung und den Rohwert
eintragen, damit man sieht welcher Fehler wo ensteht.
Ludger
Die Verwendung eines 24-Bit ADC ist nur sinnvoll, wenn die
Referenzspannung eine noch höhere Genauigkeit und Langzeitstabilität
hat. Ein LDO hat meist eine geringere Auflösung (oft weniger als 1%). !%
Genauigkeit liefert schon ein 8-Bit ADC. Ein 10-Bit ADC hat bei einer
Referenzspannung von 3,3 V eine Auflösung von 3mV, ein 12-Bit ADC eine
von 0,75 mV. Bei Leiterplatten ist es schwierig, Rauschspannungen unter
5 mV zu erreichen, wenn Digitalschnittstellen für die Datenübertragung
verwendet werden. Das schaffen nur gute Experten, ein sorgfältiges
Layout unter Beachtung üblicher Regeln reicht da oftmals nicht.
Mein Rat: Eine bessere Referenz verwenden als einen LDO und als AD
keinen Sigma-Delta-Typ verwenden, da auch dieser durch sein
Wandelungsverfahren Störspannungen erzeugen kann. Beim
Eingangsmultiplexer die Signaleingänge mit Kondensatoren absieben und
diese sehr kurz mit dem Ref- Anschluss als Sternpunkt verbinden, damit
auf die Leitungen keine Spannungsabfälle durch "Fremdströme" eingeprägt
werden.
Hallo Günni, auch dir danke für deine Antwort!
Der LDO dient wirklich nur zur Versorgung, die Referenzspannung wird
durch ein dediziertes Bauteil (MCP1501T-30E/CHY) erzeugt.
Beim Durchsehen des Schaltplans war mir allerdings eine Sache
aufgefallen. In der ersten Revision der Platine war die kapazitive Last
am Ausgang der Referenzspannung viel zu groß, die haben wir dann zur
aktuellen Version deutlich verkleiner.
Allerdings habe ich erst jetzt gesehen, dass am AREF-Eingang des ADCs ja
auch noch 100nF-Kondensatoren sind, sodass die Referenzspannungsquelle
mit ~200nF belastet wurde; erlaubt sind allerdings nur 300pF. Ups. Da
habe ich den Wald vor lauter Bäumen nicht gesehen...
Ich hab zuhause noch die erste Revision der Platine liegen und hab
schnell alle Kapazitäten aus AREF ausgelötet (laut Datenblatt geht es
auch ohne).
Und siehe da: Die Schwankung (zumindest in einem Messpunkt) liegt unter
200µV, meist sogar unter 100µV. Und das, obwohl sonst nichts angepasst
wurde...
Mal schauen, ob das auch das Problem mit der Nichtlinearität löst, bin
gerade fleißig Messpunkte am Aufnehmen. Sieht aber schon
vielversprechend aus (siehe Anhang).
Es lässt sich auf jeden Fall deutlich besser fitten. Diese Sprünge
irriteren mich noch ein wenig, aber das liegt vielleicht an meinem
billigen Netzteil, was besseres habe ich zuhause nicht :(
>Mein Rat: Eine bessere Referenz verwenden als einen LDO und als AD>keinen Sigma-Delta-Typ verwenden, da auch dieser durch sein>Wandelungsverfahren Störspannungen erzeugen kann.
Das wäre unter Umständen für die Zukunft eine Überlegung wert. Welche
Topologie würdest du empfehlen?
> Beim Eingangsmultiplexer die Signaleingänge mit Kondensatoren absieben und> diese sehr kurz mit dem Ref- Anschluss als Sternpunkt verbinden, damit> auf die Leitungen keine Spannungsabfälle durch "Fremdströme" eingeprägt> werden.
Einen Eingangsmultiplexer haben wird nicht, diese Funktion wird durch
die Relais miterfüllt.
Der Rest sollte passen, die negative analoge Eingang hat ein eigenes
Netz mit Sternpunkt, sodass über die Leitung sonst nichts ließen sollte.
XChalo schrieb:> für ein Insitutsprojekt im Rahmen meines Hiwi-Jobs habe ich eine Platine> entworfen und aufgebaut, deren Zweck es ist, mit sehr hoher> Eingansimpedanz (~200 MOhm) die Selbstentladung von Batterizellen zu> messen.
Wenn ich was von "200 MOhm" und "< 1pA Input-Bias-Strom)" lese, dann
fällt mir ein Artikel von Bob Pease ein:
"What's All This Teflon Stuff, Anyhow?
Once upon a time, a long time ago, a friend of mine, Arnie Liberman,
designed a really good operational amplifier with a very low bias
current - less than 0.1 pA. [...]"
Wenn du in ein amtliches Multimeter rein schaust (HP, Fluke, ...), dann
findest mitunter Teflonstützpunkte, z.B. in die Platine eingelassen. Und
das hat sicher seinen Grund.