Forum: Mikrocontroller und Digitale Elektronik Pt1000 Vierleiter Ratiometrisch


von Nils A. (nonever)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
Ich habe mir etwas überlegt um einen Pt1000 Messfühler mit einem AtXmega 
auszuwerten. Dabei waren wenige externe Bauteile, -100°C bis 50°C 
Messbereich und Betrieb bei 1,8V wichtig.
Eine Gedankenstütze in Papierform habe ich mal angehängt, ich hoffe man 
kann meine Handschrift lesen...
Um Eigenerwärmung vorzubeugen können die 1,8V des Sensors schaltbar 
gemacht werden. Die Messgenauigkeit hängt somit nur von der Relativen 
Genauigkeit des Adc und dem Messwiderstand ab. Sowohl Vcc als auch Aref 
müssen nicht langzeitstabil sein. Wie auf der 2. Seite vorgerechnet 
können bei -100°C maximal 1,096V am Adc anliegen. Ich würde Vref also 
mit Vcc/1,6 (Interner Spannungsteiler) wählen. (ca. 1,125V) Da der Adc 
im differentiellen Modus nur
Signed misst, stehen dann 11bit zur Verfügung. Reicht dass um auf 0,5K 
(notfalls auch nur 1K) genauigkeit zu kommen? Eine Stufe am Adc beträgt 
dann ca. 0,55mV, aber wie rechne ich jetzt die mögliche Auflösung (nicht 
genauigkeit) der Widerstandsmessung aus? (Ich denke diese ist definitiv 
nicht konstant über den Messbereich)
Kann diese Idee (ich habe noch nirgendwo gesehen, dass man anders 
Vierleiter Ratiometrisch messen könnte..) funktionieren oder ist das 
Schwachsinn?

von Ulrich H. (lurchi)


Lesenswert?

Um mit möglichst wenig Teilen auszukommen ist das Verfahren so weit 
schon richtig. Wegen des Gleichtaktbereichs muss man ggf. noch etwas 
aufpassen, und nahe GND oder 1,8 V eventuell noch extra Widerstände 
einfügen. Die Auflösung wird dadurch noch etwas schlechter, weil die 
Spannung kleiner wird. Bei dem relativ kleinen Messbereich ändert sich 
die Auflösung auch noch nicht so sehr mit dem Messwert. Man sollte 
jeweils Werte so um 1000-1500 als ADC Ergebnis bekommen und damit ein 
Auflösung von eher 0,2 - 0,3 K bekommen. Wie genau der ADC dann ist, 
sollte das Datenblatt verraten - wobei die ersten XMegas ja einiges an 
Bugs beim AD hatten, da muss man also auch die Errata berücksichtigen.

Wegen der Eigenerwärmung wird man wohl eher den Strom abschalten müssen, 
denn knapp 1 mA ist für die meisten PT1000 reichlich und die 
Eigenerwärmung damit etwa 10 mal mehr als üblich.

Gegen HF Störungen (und ESD) sollten noch ein paar Kondensatoren ran, 
sofern der PT1000 extern ist.

von Oldie (Gast)


Lesenswert?

Vierleitermessung ist gut, um die Zuleitungsfehler
herauszurechnen. Die Temperatur der Zuleitung wird damit
auch vernachlässigbar.

Ansonsten kommt man bei ratiometrischer Messung im
Bereich -100 °C bis +50 °C nun mal nur auf eine Auflösung
von 0,7 ... 1,1°C bei 10 Bit.
11 Bit ergeben 0,35...0,56 °C
und 12 Bit ca. 0,16...0,29 °C.

Mach dir das doch einfach mal mit einer Tabellenkalkulation
klar! Ein wenig kann man noch optimieren, indem man den
Ref-Widerstand eher beim unteren, oder oberen Pt-1000-Wert
für den Messbereich wählt. Je nachdem, wo man es genauer
haben will...

Dazu muss aber die Temperatur des Referenzwiderstands
auch bekannt sein, um seinen TK herauszurechnen...
Sitzt der nahe beim µC, reicht eventuell die interne
Temperaturmessung des µCs (wenn er sie denn hat).

von Nils A. (nonever)


Lesenswert?

Mal ein kleines, dezentes: Push!
Hat sonst noch Jemand etwas dazu anzumerken? Oder weiß jemand einen 
kleinen ADC mit mehr als 12bit und 1,8V Vcc, den  man einsetzen könnte 
um die Messung genauer zu machen?

von Ich (Gast)


Lesenswert?

Was willst du bitte mit -100 C° messen?

von Nils A. (nonever)


Lesenswert?

Temperaturen in der Tropopause... Auch wenn -80°C dort wohl auch reichen 
würden aber sicher ist sicher...

von Oldie (Gast)


Lesenswert?

Mit den Xmega-µCs habe ich noch keine Erfahrungen gemacht.
Nach einem kurzen Blick ins Datenblatt frage ich mich aber:

Wieso willst du unbedingt im signed- / differential-mode
arbeiten? - Wäre das hier nicht machbar?

    +Ub -> AREF
     |
    R_ref
     |
     +---> ADCx    (12 Bit unsigned)
     |
    Leitungswiderstand (+)
     |
     +---> ADCy    (12 Bit unsigned)
     |
    Pt1000
     |
     +---> ADCz    (12 Bit unsigned)
     |
    Leitungswiderstand (-)
     |
    GND

Der Spannungsabfall am R_ref ist proportional zu 4095 - ADCx.
Der Spannungsabfall am Pt1000 ist proportional zu ADCy - ADCz.

Der Spannungsabfall an den Leitungswiderständen - wenn er
deutlich kleiner, als R_ref + R_Pt1000 ist - verringert die
Auflösung nur um diesen Anteil.

Damit sollte eine Auflösung von < 0,5 K machbar sein.
Besonders, wenn die Temperaturmessung nicht sehr zeitkritisch
ist und ein Oversampling von 8 ... 64 Messungen kein
Problem darstellt.

Eine interne Temperaturerfassung ist auch vorhanden - wenn
R_ref dicht beim µC ist, kann man seinen TK noch kompensieren.

Gerade bei -100 °C ist es wichtig (Eigenerwärmung), den Messstrom
durch den Pt1000 nur für die Zeit der Messung anzulegen.
Über einen weiteren Port-Pin (noch besser: über einen davon
angesteuerten MOSFET (z.B. BS250) könntest du den Anschluss
+Ub nur für die Zeit der Messung einschalten.

von Ulrich H. (lurchi)


Lesenswert?

Mit dem extra Abschalten der Versorgung braucht man dann bei der 
unipolaren Messung dann doch einen Messpunkt mehr, denn der MOSFET oder 
IO Pin haben schon einen merklichen Widerstand, und ARef. sollte man 
nicht dauernd mit abschalten / zuschalten.

Wenn man schon den Strom schaltbar macht, könnte man bei der 
Differentiellen Messung auch beide Seiten schaltbar (über IO Pin) 
machen. Damit könnte man dann mit Wechselspannungsanregung messen, und 
der Offsetfehler des Differenzverstärkers fällt heraus und oversampling 
wird ggf. noch effektiver.

von Tom -. (-tom-tom-)


Angehängte Dateien:

Lesenswert?

Ich habe das mit dem PT1000 damals so gelöst, der Bauteilaufwand finde 
ich ist überschaubar.

Vielleicht hilfts ja, genau wars jedenfalls ;)

Die Formel für die Messwertermittlung stand im Datenblatt des ADCs

und die für das Umrechnen des Messwertes in °C war diese wenn ich mich 
nicht Irre:
t = (r * (255,8723 + r * (9,6 + r * 0,878))) °C

Gruß

von Nils A. (nonever)


Lesenswert?

Da der Xmega Adc sowieso völliger Kernschrott ist! (Bei unter 1,5V Vref 
und unter 0°C umgebungstemperatur hat man eine Adc genauigkeit von 
+-20LSB!, findet man in den Errata ganz unten im DB) Werde ich wohl doch 
auf einen externen Adc zurrückgreifen müssen. Für 1,8V schein es nichts 
brauchbares zu geben, deshalb hebe ich Vcc für alle Komponenten auf 2V 
an. Dann kann man nämlich dieses Schätzchen hier einsetzen:
http://www.ti.com/product/ADS1115/description
15bit echte Auflösung, 1LSB nichtlinearität! Offset error und Gain error 
sind für meine Messung eig nicht relevant da diese durch Umpolen des 
gesamten Sensornetzwerkes weggerechnet werden können. Ein bisschen 
Rechnen ergab: Wenn ich die letzten 5 LSB als ungenauigkeit betrachte, 
kann ich (bei theoretisch unendlich gutem Ref-Widerstand) 0,2°C 
Genauigkeit problemlos erreichen. Praktisch sollten die 0,5 hoffentlich 
möglich sein....

von Oldie (Gast)


Lesenswert?

Schön, dass du was für deine ungewöhnliche Betriebsspannung
von 2,0 V gefunden hast. Woher kommt dieser Wert - besonders,
wenn man ihn mal schnell von 1,8 auf 2,0 anheben kann?

Die Umpolungskompensation klingt interessant!
Verrätst du uns die Wirkungsweise?

Deine Auflösungsberechnung übrigens auch.
Sie hat noch Verbesserungspotential...

von W.S. (Gast)


Lesenswert?

Nils A. schrieb:
> Für 1,8V schein es nichts
> brauchbares zu geben, deshalb..

nimmst du lieber den o.g. MCP. Diese Dinger brauchen zwar mindestens 2.7 
Volt, aber da sie lediglich 120 Mikroampere schlucken, sollte es dir 
keine große Hürde sein, dafür eine Betriebsspannung per Rechteck am 
Portpin, 2 Kondensatoren und einer Doppeldiode zu bauen. Und wenn du als 
Referenzwiderstand so etwa 47k .. 68k nimmst, bleibt der Querstrom durch 
den PT auch überschaubar.

W.S.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.