Hallo zusammen,
bei meiner Schaltung geht es um eine einfache Methode einen
Temperaturwiderstand (PT1000 Sensor) auszumessen, bitte nicht direkt
diesen Tab schließen, ich weiß dass solche Fragen schon oft behandelt
wurden.
Die Methoden welche hier im Forum immer auftauchen sind:
-> Ratiometrische Messung
Hierzu wird ein Controller benötigt, wo eine Referenzspannung angelegt
werden kann und ein möglichst genauer Widerstand als Spannungsteiler in
Reihe mit dem PT1000 (am besten 1000 Ohm??). Genauigkeit +-1°C??
-> Fertige Messwandler
Z.B. MAX31865, Genauigkeit aus dem Datenblatt 0,5°C. Großer Vorteil
hochauflösende 15+ Bit A/D Wandler, direktes digitales Signal per SPI
oder I²C.
-> OpAmp
Werden eingesetzt um den A/D Bereich voll auszunutzen, bei einer Messung
von 0-100°C für die linearisierte PT1000 Kurve der Bereich zwischen
1000-1386 Ohm. Können aber Abweichungen verursachen, da wiederum mehr
Bauteile in der Schaltung vorkommen.
Da für mich wahrscheinlich neben meiner Schaltung nur Variante 2 oder 3
des in Frage kommt, frage ich lieber hier nach bevor ich etwas übersehen
habe um evtl. genauere Messungen zu erlangen.
Meine Hardware:
-> Versorgung 3,3V mittels Li-Ion Batterie und 3,3V LDO
-> 10 Bit ADC
-> 1,25 oder 2,5V interne Referenzspannung
-> Schaltung getaktet über digitalen Ausgang (3,3V*0,95 = 3,135V)
Meine Schaltung:
1
----3,135V
2
|
3
R1
4
|
5
----AD0
6
|
7
R2
8
|
9
----AD1
10
|
11
PT1000
12
|
13
----GND
R1 = 3k9, R2 = 1k, I_max ~ 0,531mA
Die Schaltung misst jede Sekunde 4 mal im 100 ms Takt um die Werte in
der Software zu mitteln. Genutzt wird die 1,25V Referenzspannung um
genauer auflösen zu können. Hiermit erziele ich eine Genauigkeit von
+-0,8°C (Mitteln der 4 Samples). Berechnung vom PT1000 Widerstand:
(AD1*1000)/(AD0-AD1), sprich V_Ref ist für die Berechnung egal =>
ratiometrische Messung würde nicht genauer ausfallen. Nach der Formel
würde ein Bit also AD1 = 512 bzw. AD1 = 513 bereits 1°C (AD0 = 1024)
ausmachen, was ja berücksichtigt werden muss wenn der A/D gerade
zwischen zwei Stufen misst.
Jetzt meine Frage, mit der gegebenen Hardware wäre doch nur noch
Variante 2 bzw. 3 möglich um die Genauigkeit der Messung zu verbessern?
Welchen OpAmp könnte man einsetzen, würde man damit auf genauere
Messungen wie +-0,8°C kommen oder würde ein besser auflösender A/D
Wandler genügen?
Der PT1000 ist ein Klasse A Element also 0,15+0,002*|T| Abweichung.
Ich verwend jeweils eine 2.5V Referenz, und einen 10k Widerstand mit
0.01% in Serie zu einem PT1000. Zum Messen dann einen externen Wandler
wie einen AD7799 oder aehnlich.
Da steht eigentlich alles:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32
Sogar schön als Beispiel durchgerechnet.
Als Hinweis: Messe nicht mit zu viel Strom. Sonst verfälschst du dein
Ergebnis durch die Eigenerwärmung des PT1000.
Oder mach den Strom durch den PT1000 abschaltbar und schalte nur zur
Messung ein paar ms ein.
Felix schrieb:> Nach der Formel würde ein Bit also AD1 = 512 bzw. AD1 = 513 bereits 1°C> (AD0 = 1024) ausmachen, was ja berücksichtigt werden muss wenn der A/D> gerade zwischen zwei Stufen misst.
Und dabei hat man dann auch noch blauäugig angenommen, dass der ADC
ideal ist und ohne Drift und Linearitätfehler arbeitet... ;-)
> Die Schaltung misst jede Sekunde 4 mal im 100 ms Takt um die Werte in> der Software zu mitteln. Genutzt wird die 1,25V Referenzspannung um> genauer auflösen zu können. Hiermit erziele ich eine Genauigkeit von> +-0,8°C (Mitteln der 4 Samples).
Mach das mal mit 256 Samples im 2ms Takt. Denn dieses Oversampling ist
eine probate Methode, ein Rauschen wegzubekommen und sich
"Zwischenschritte" zwischen den ADC-Bits herzuzaubern:
https://www.all-electronics.de/wp-content/uploads/migrated/article-pdf/74144/ei06-04-057.pdf> Welchen OpAmp könnte man einsetzen, würde man damit auf genauere> Messungen wie +-0,8°C kommen
Wenn du schon knapp vor dem Ziel stehst, dann würde ich es mit mehr
Samples und anschließender Filterung versuchen:
http://www.lothar-miller.de/s9y/categories/21-Filter> oder würde ein besser auflösender A/D Wandler genügen?
Hilft zusammen mit einem guten Layout und einer ratiometrischen Messung
sicher. Das dürfte dann auch ein Grund sein, dass die fertigen Bausteine
mit mehr so vielen Bits arbeiten.
Danke für die informativen Links!
Udo S. schrieb:> Als Hinweis: Messe nicht mit zu viel Strom. Sonst verfälschst du dein> Ergebnis durch die Eigenerwärmung des PT1000.> Oder mach den Strom durch den PT1000 abschaltbar und schalte nur zur> Messung ein paar ms ein.
Der PT1000 wird zur Messung in eine große metallische Fläche
eingeschraubt, wodurch die Eigenerwärmung keine Rolle spielen sollte.
Außerdem wird die ganze Schaltung getaktet betrieben. Der Sensor wird
zyklisch von der Batterie getrennt.
Lothar M. schrieb:>> Die Schaltung misst jede Sekunde 4 mal im 100 ms Takt um die Werte in>> der Software zu mitteln. Genutzt wird die 1,25V Referenzspannung um>> genauer auflösen zu können. Hiermit erziele ich eine Genauigkeit von>> +-0,8°C (Mitteln der 4 Samples).> Mach das mal mit 256 Samples im 2ms Takt. Denn dieses Oversampling ist> eine probate Methode, ein Rauschen wegzubekommen und sich> "Zwischenschritte" zwischen den ADC-Bits herzuzaubern:
Eine noch schnellere Taktung der A/D Wandlung bekomme ich bei meiner
Hardware leider nicht hin, da die Werte des µC gleichzeitig per RF
übertragen werden. Was ich aber machen könnte wäre den letzten offenen
A/D Eingang mit an den PT1000 so können 8 Samples im Sekundentakt
gemittelt werden.
>> Welchen OpAmp könnte man einsetzen, würde man damit auf genauere>> Messungen wie +-0,8°C kommen> Wenn du schon knapp vor dem Ziel stehst, dann würde ich es mit mehr> Samples und anschließender Filterung versuchen:> http://www.lothar-miller.de/s9y/categories/21-Filter
Evtl. in der Schaltung einen Hardware RC-Filter vor jeden A/D Eingang?
Die Signale an den Eingängen werden bereits mit 100nF Elkos gepuffert.
Felix schrieb:> Jetzt meine Frage, mit der gegebenen Hardware wäre doch nur noch> Variante 2 bzw. 3 möglich um die Genauigkeit der Messung zu verbessern?> Welchen OpAmp könnte man einsetzen, würde man damit auf genauere> Messungen wie +-0,8°C kommen oder würde ein besser auflösender A/D> Wandler genügen?> Der PT1000 ist ein Klasse A Element also 0,15+0,002*|T| Abweichung.
Nun ja, wenn man eine höher auflösenden A/D-Wandler vwerwendet, braucht
man gar keinen OpAmp.
Wenn man auf (besser als) 0.15% (Temperatur) genau messen will, braucht
man einen Vergleichswiderstand von besser als 0.05%. Kann man kaufen,
geht ins Geld.
Bei OpAmps und den üblichen 0.33V am Pt1000 (nicht deinen eher hohen
0.53V) macht schon eine Eingangsoffsetspannung von 50uV dein
Mesergebnis zu nichte. Glücklicherweise gibt es genauere OpAmps, wie
TLC2652 (1uV
http://www.ebay.de/itm/TLC2652-Chopper-Amplifier-Module-DC-Signal-Amplifiers-Weak-Acquisition-Module-/191848843270
)
LTC2051HV/LTC2052HV (3uV zerodrift bis 12V Reichelt)
LTC2057HV (4uV zerodrift bis 60V)
LMP2021 (5uV max)
ICL/TC7650/7651/7652 (5uV max chopper, TME 2.12 EUR)
LTC1050/LTC1250 (5uV chopper)
MCP6V11 (8uV zerodrift 1.6-5.5V, Reichelt)
TSZ121 (8uV, ST, 1.8-5.5V)
LTC1049/LTC1152 (10uV zerodrift, Ladungspumpe, Reichelt)
AD8551 (1uV typ 10uV max, zero drift, Reichelt 2.7-5.5V)
AD8622 (10uV)
NCS333 (10uV 1.8..5.5V, 30uV in dual und quad Versionen)
LMP2015/LMP2016 (800nV typ. 10uV max. 2.7..5.25V)
EC6761 (15uV 2.2-5.5V R2R auch dual)
AD8671 (20uV, Reichelt)
Aber der OpAmp muss um Widerstände ergänzt werden zur
Verstärkungseinstellung, die keine 0.05% habne dürfen, sonst bleibt für
den OpAmp ja keine Toleranz übrig.
0.025% oder gar 0.01% Widerstände sind aber Exoten. Ich sage mal: Die
Schaltung macht keinen Sinn für die geforderte
Temperaturmessgenauigkeit.
Nimm einen höher auflösenden (externen) A/D-Wandler.
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32