Guten Tag,
mit der angehängten Schaltung wird ein RTD (derzeit PT100) mittels
4-Drahtmessung ausgewertet (RTD zwischen PIN 1+2 und 3+4 des
Connectors).
Grundsätzlich funtkioniert die Auswertung des RTD auch bereits, nur
erhalte ich nicht die Werte die ich erechnet habe.
Der 24Bit ADC AD7719 gibt am Ausgang IOUT1 den Strom von 200µA aus.
Dieser durchläuft den Referenzwiderstand um die Referenzspannung zu
erzeugen. Diese liegt an den entsprechenden PINs des AD7719 auch an.
Um dem Datenblatt des AD7719 gerecht zu werden wird der Eingang AIN2
mittels des 510Ohm Widerstandes auf ein Level von AGND+100mV angehoben.
Auch dies ist mittels Messgerät geprüft. Gemessen wird im unipolaren
bufferd Mode mit einer Range von 320mV (fully differential).
Nun zum eigentlichen Problem. Der ADC liefert einen Messwert zurück der
einige tausend Schritte entfernt von dem erechneten theoretischem Wert
liegt. Also statt 1.060.591 wird der Wert 1.050.726 ausgegeben. Dies
allerdings Konstant. Verändere ich die Temperatur (RTD-Simulator steht
zur Verfügung) bleibt die Abweichung konstant bei 10.000 Schritten.
Verändere ich den Kondensator C1, ändert sich auch die Abweichung
massiv. Auch die Schwankungen werden deutlich größer (Abweichung +-
Schwankung).
Mit 15pF KerKo habe ich relativ kleine Schwankungen in der Messung. Bei
470 nF sind diese erheblich größer.
Was sich ebenfalls ändert sind die Abweichungen vom theoretischen Wert.
Bei 15pF die o.g. ca 10.000 Schritte zu wenig, jedoch akzeptable
Schwankungen. Bei 220nF sind die Werte fast identisch zu den
Theoretischen, jedoch die Schwankung zu groß. Bie 470nF passen die Werte
nicht und die Schwankungen sind viel zu groß.
Ich kann mir grade den Einfluss bzw. die Art des Einflusses vom
Kondensator nicht erklären.
Vielleicht hat hier ja jemand einen passenden Hinweis für mich.
Thomas schrieb:> Ich kann mir grade den Einfluss bzw. die Art des Einflusses vom> Kondensator nicht erklären.
Ja, das ist auch ein komplexes Thema.
Kurz: der externe Cext wird über den Innenwiderstand der Quelle Ri
geladen.
Bei jeder AD-Wandlung wird der Samplekondensator Cs auf die anliegende
Spannung geladen, der dabei eine kleine Menge Ladung aus dem externen
Kondensator entnimmt. Reicht nun die Zeitkonstante Ri*Cext nicht aus, um
den Ladungsverlust auszugleichen, ergibt sich eine konstante Ablage. Das
könnte dein Problem sein, die Größenordnung jedenfalls passt in etwa.
Mögliche Abhilfen:
- Abtastfrequenz langsamer als z.B. 1/(5*Ri*Cext)
- Spannung an Cext mit einem Spannungsfolger puffern
Es gibt dazu vereinzelt Applikationsschriften, ich meine von TI oder
auch von Analog Devices mal was gesehen zu haben. Leider habe ich keinen
Link oder einen Titel.
Hi,
@HildeK: Danke für die Guten Hinweise, Da werde ich jetzt mal einige
App-Notes durcharbeiten und ggf. die für mich passenden Lösung hier
posten.
Gruß
Thomas
Guten Tag,
vielen dank für die Hinweise bis dato.
Ich habe die AppNotes von Hilde geprüft.
In der Konfiguration des AD7719 habe ich die längste verfügbare
Konvertierungszeit eingestellt (T_ADC=186,77ms). Weiterhin verwerfe ich
die ersten 4 Messergebnisse nach einschalten des Messstromes. Will
meinen erst ab 0,75s werden die Messwerte aufgenommen. Ändere ich diese
auf kürzere Zeiten werden die Ergebnisse schlechter, wie es zu erwarten
war. Leider kann ich im Datenblatt (
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7719.pdf
) des AD7719 keine Info zur internen Kapazität bzw. der internen
Widerstände finden um die "Ladezeit" zu bestimmen.
Weiterhin habe ich den Hinweis von Matthias berücksichtigt und auch das
Platinenlayout angepasst. Anbei ein Screenshot des Layouts. Die Flächen
im Bereich des AD-Wandlers, sowohl Top wie auch Bottom, sind mit GNDA
verbunden. Diese haben nur eine Verbindung zum GND der restlichen
Platine (am Pin 25 GNDD). Um "lose Enden" der Flächen zu unterbinden
habe ich noch einzelne Dukos gesetzt. Es laufen keine Leiterbahnen
unterhalb des AD7719 hindurch, welche digitale Signale übertragen.
Ist hier noch etwas zu optimieren? Konstruktive Kritik ist erhofft,
erwünscht und erbeten.
Danke und Gruß
Thomas
GND-technisch sieht mir das ganz gut aus.
Was mich bei der Beschaltung irritiert, ist der sehr grosse (220nF)
Kondensator zwischen AINP und AINN, aber ich gebe zu, das ich das
Datenblatt jetzt nicht runtergeladen und auch die AppNotes nicht gelesen
habe. Wenn der C Teil eines RC Tiefpasses ist, fehlen da allerdings noch
die R - und deine analoge Quelle muss mit dieser kapazitiven Belastung
klarkommen.
Viele Leute fügen noch kleine Serienwiderstände in die SPI Leitungen ein
(33-100 Ohm), die als UHF Sperre und als Dämpfung agieren.
Sorry, nicht von Analog Devices.
Dr. GOOGLE findet es.
Ich denke, daß ich mich auch schon mit so einem Kondensator gespielt
habe,
habe ihn hinausgeworfen. Erwartest du einen deratigen "Mist" auf den
Leitungen, daß du so eine Beschaltung brauchst ?
Evtl hilft da - weiß es nicht, nur eine Idee - eine abgschirmte Leitung,
wo man dann überlegen kann, ob man den Schirm auf Gnd oder Erde legt.
lg Mario
Mario E. schrieb:> Erwartest du einen deratigen "Mist" auf den> Leitungen, daß du so eine Beschaltung brauchst ?
Der TE hatte ja schon im ersten Beitrag erklärt, das er mit dem C
rumexperimentiert hat, aber ich vermute, das nur das Symptom damit
bekämpft wurde.
Besser ist es imho, die Speisung bzw. die Referenz für die Brücke sauber
zu halten, also Pin 4 und Pin 1. Da die Signalübertragung symmetrisch
erfolgt, sind vom Signal zumindest keine grosse Störungen auf die
Messtrippe zu erwarten.
Thomas schrieb:> In der Konfiguration des AD7719 habe ich die längste verfügbare> Konvertierungszeit eingestellt (T_ADC=186,77ms).
Vielleicht hast du was missverstanden: ich meinte nicht die
Konvertierungszeit, sondern die Wartezeit zwischen zwei Samplevorgängen,
also die Abtastrate. Kann aber sein, dass du das selbe meinst.
Intern wäre nur die Kapazität des Samplekondensators interessant, aber
nur dann, wenn er direkt die Ladung aus dem externen Kondensator
entnimmt. Das ist üblich bei den AD-Wandlern, die in µCs eingebaut sind.
Hier sehe ich zumindest noch einen Buffer im Blockschaltbild, der das
entkoppelt. Und du hast ja auch den Buffered Mode gewählt, das sollte
dann doch nicht die Ursache sein.
Auch bez. GND-Führung kann ich mir einen fast konstanten Offset nicht
erklären, zumal sich bei differentielle Messung nicht mal
Spannungsabfälle an einem schlechten GND auswirken würden.
Ich fürchte, ich kann nichts weiter zur Klärung beitragen :-(
Hast du mal testweise den Ground-Lift auf 200mV hochgesetzt?
Die Stromquellen sind ja nicht so genau (Initial Tolerance typisch
+-10%), können die kalibriert werden?
Da erscheinen mir deine 102mV etwas knapp kalkuliert.
Arno
Guten Tag,
nach eingehender Lektüre der genannten App-notes und den Hinweisen hier
(vielen Dank dafür), kommt mir der Verdacht ich habe nicht nur ein
Problem mit dem Kondenasator, sondern auch mit meiner Lookup-Tabelle.
Den Ground-Lift habe ich an einer Platine einmal auf 200mV erhöht, was
jedoch auch nichts geändert hat. Trotzdem werde ich diese Änderung so
beibehalten. Rein aus Vorsicht.
Nun zur Lookuptabelle.
In einer Excel-Tabelle habe ich mir aus den Temperaturen(0,01°C
Schritte) die Widerstandswerten und daraus mittels Formel zur Bestimmung
des ADC-Codes eine Tabelle gebaut. Die Formel aus dem Datenblatt wage
ich zu bezweifeln.
Folgende Formel ist dort vermerkt (Seite 33):
Wenn ich diese mit gemessenen Werten (Multimeter) fülle, kommt bei 0°C
(100Ohm) der ADC-Wert 1057 heraus. (GAIN=8 N=24; GAIN ist so gesetzt, da
ggf. auch ein PT1000 zum Einsatz kommen kann)
Der ADC liefert jedoch als Ergebnis 1.049.809. Lässt man den Faktor 1024
in obiger Formel weg, liegt das rechnerische Ergebnis deutlich dichter
am ADC-Wert (1.082.401).
Habe ich den vermeindlichen Fehler der Formel im DB richtig erkannt?
Diese Formel lässt sich so umstellen, das man direkt mit den
Widerstandswerten rechnen kann.
Daraus folgt meiner Meinung nach:
Startet man nun in Excel eine Zielwertsuche und setzt den
Widerstandswert für den RTD fest und lässt den R_ref veränderbar, so
kommt dort ein Wert heraus der bei ca 12,7kOhm liegt Verändert man die
Temperatur beispielsweise auf 40°C und bemüht die Zielsuche erneut,
kommt ein R_Ref von ca 12,1kOhm heraus. Kann es sein das die Genauigkeit
von Excel hier nicht hinreichend ist ? (15 Stellen)
Aufgrund der Erkenntnisse hieraus habe ich die Referenzspannung
ebenfalls bei verschiedenen RTD-Widerständen nachgemessen. Auch hier war
eine Schwankung von ca. 2mV zu erkennen. Darauf habe ich den Strom
gemessen und festgestellt das dieser konstant ist bei den verschiedenen
Temperaturen (0 und 40 °C).
Da es sich ja im Grunde um eine Reihenschaltung handelt, kann ich mir
dies nicht erklären. Auch reichen meiner Meinugn nach die Leckströme des
Referenzeingangs und des analogen Eingangs nicht aus um diese Schwankung
zu erklären, zumal der Strom und der Widerstand als Konstant angesehen
werden können.
Hat jemand hier einen Hinweis für mich warum die Referenzspannung
schwankt? Bei einem konstanten Strom mit konstantem Widerstand kann ich
mir dies nicht erklären. Das Multimeter ist hinreichend genau (Fluke
8846A).
Diese Verhalten habe ich an 2 aufgebauten Platinen nachvollziehen könne.
Grüße und Danke im vorraus
Thomas
Hallo,
nur falls es jemanden interessiert. Ich habe auf dem steckbrett eine
Lösung, die anscheinend sauber funktioniert.
Zur Lösugn haben mich 2 App-Notes von TI geführt.
Zum Einem
Four-Wire PT100 Measurement Circuit With Low-Side Reference
(http://www.ti.com/lit/pdf/sbaa336)
und zum Anderen
RTD Ratiometric Measurements and Filtering Using the ADS1148 and ADS1248
(http://www.ti.com/lit/an/sbaa201/sbaa201.pdf).
Weiterhin sind in den Dokumenten des ADS1247/1248 weitere interessante
Dokumente zu diesem Thema.
Grundsätzliche Änderungen waren:
- Einfügen von Serienwiderständen sowohl bei den AIN-Pins wie auch den
Referenzpins
- Einfügen von Kondensatoren vom Eingangspin zu AGND
- Anpassen aller Werte um abgeglichene Filtereigenschaften zu erhalten
- Erhöhung des Messstroms von 200µA auf 400µA
Im Anhang nochmal ein Screenshot der Schaltung.
Hoffentlich funktioniert das nun auf der gefertigten Platine ebenfalls
so gut wie auf dem Steckbrett.
Gruß Thomas
Thomas schrieb:> Hoffentlich funktioniert das nun auf der gefertigten Platine ebenfalls> so gut wie auf dem Steckbrett.
Sieht für mich jedenfalls schon gut aus. Als alter HF-ler würde ich noch
eine Drossel in AVDD einfügen, um mit C3 einen LC Tiefpass zu bilden.