Hallo, ich will mit meinen Teensy 3.5 einen PT-100 Messfühler auslesen, und das Ganze mit einem Spannungsteiler realisieren. Ich habe im Anhang mal eine Skizze und meinen Code mithochgeladen. Leider bringt er mir immmer eine Temperatur im Raum von ca. 42°C was leider nicht stimmt. Halte ich den PT-100 ins Wasser verändert sich die Temperatur, also im Grunde ist die Funktion gegeben. Hat von euch jemand eine Idee was mein Fehler ist? Danke & Gruß Alex
Alexander R. schrieb: > Hallo, > > ich will mit meinen Teensy 3.5 einen PT-100 Messfühler auslesen, und das > Ganze mit einem Spannungsteiler realisieren. > Ich habe im Anhang mal eine Skizze und meinen Code mithochgeladen. > Leider bringt er mir immmer eine Temperatur im Raum von ca. 42 "42" passt eigentlich fast immer: https://de.wikipedia.org/wiki/42_(Antwort)
Mario M. schrieb: > http://www.pt100.de/messfehler.htm#Eigenerw%E4rmung Das mit der Eigenerwärmung wusste ich, aber das das so eine große Abweichung ergibt dachte ich nicht, sind ja fast 20 Grad.
Die Rechnung ist falsch. Der Aufbau ergibt keinen linearen Zusammenhang zwischen Temperatur und gemessener Spannung, weil sich ja auch die Gesamptimpedanz des Spannungsteilers ändert. Löse mal nach dem Widerstand des PT100 auf, dann siehst du es.
:
Bearbeitet durch User
Alexander Raab schrieb: > Das mit der Eigenerwärmung wusste ich, aber das das so eine große > Abweichung ergibt dachte ich nicht, sind ja fast 20 Grad. du heizt ja auch mit rund 15mA - üblich sind eher 1mA oder weniger. Und die Verlustleistung wächst quadratisch mit dem Strom. Deine linearisierte Formel trägt dann bei Raumtemperatur nochmal mit einem zusätzlichen Fehler von rund 5 Grad zur Verfälschung bei.
So ganz primitiv mit Spannungsteiler wird das nix. Mache es gleich ordentlich mit einem MAX31865 o.ä. Wenn du den nicht magst wären OP-Schaltungen die Alternative, da ist aber einiges an Analog-Know-How gefragt.
Achim S. schrieb: > du heizt ja auch mit rund 15mA - üblich sind eher 1mA oder weniger. Da wäre dann ein PT1000 schon einfacher im obigen Spannungsteiler zusammen mit einem 1k (oder gern auch ein wenig mehr) Widerstand anzuwenden. Und dann würde ich eine kleine Tabelle mit ein paar Spannungs-Temperatur-Stützwerten anlegen und dazwischen einfach linear interpolieren...
:
Bearbeitet durch Moderator
Harald schrieb: > Mache es gleich > ordentlich mit einem MAX31865 o.ä. Es geht auch einfacher: Beitrag "Re: PT1000, einfache Auswertung mit AVR (ATmega328)" und auch mit Arduino.
Lothar M. schrieb: > Und dann würde ich eine kleine Tabelle mit ein paar > Spannungs-Temperatur-Stützwerten anlegen und dazwischen einfach linear > interpolieren... Ok, aber die exakte Formel implementieren mit 2 Stützstellen ist jetzt auch kein Hexenwerk ;)
Alexander R. schrieb: > ich will mit meinen Teensy 3.5 einen PT-100 Messfühler auslesen, und das > Ganze mit einem Spannungsteiler realisieren. Das geht so halt einfach nicht. http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32
m.n. schrieb: > Harald schrieb: >> Mache es gleich >> ordentlich mit einem MAX31865 o.ä. > > Es geht auch einfacher: > Beitrag "Re: PT1000, einfache Auswertung mit AVR (ATmega328)" > und auch mit Arduino. PT1000 ist aber nicht PT100. Ich habe es überflogen, bei 1000Ohm hat man natürlich eine bessere Chance (aber immer noch nicht ganz trivial)
Alexander R. schrieb: > er nicht stimmt. Halte ich den PT-100 ins Wasser verändert sich die > Temperatur, also im Grunde ist die Funktion gegeben. Die PT und NTC Tabellen haben mir schon öfter geholfen. http://afug-info.de/Download/
Danke für die vielen Tipps. Habe gerade mit einem Kollegen geredet der meint man könnte das auch über einen PT-100 Messwandler machen, wie er z.B hier vorhanden ist. http://www.suran-elektronik.de/produktgruppe-messumformer-pt100-pt1000.php (MU-PT100-U010) Der sollte dann normalerweise ein Signal von 0-10V ausgeben. Aber wie krieg ich das dann runter auf 0-5V? Weil mein Teensy 3.5 kann nur eine Analog Spannung von 5V lesen.
würde es mit einer KSQ umsetzen. Die KSQ (mit 2 Transistoren) treibt ein Strom von 1mA der durch den PT100/1000 fließt. Somit ist der Spannungsfall indirekt berechenbar. Dimensioniert man die Spannung zb auf PT100 4V bei 0°C = 100 Ohm (bei 20°C 3,9922V ) PT1000 4V bei 0°C = 1000 Ohm (bei 20°C 3,922V) Spannung am Kollektor zum ADC führen und die Differenz zu den 4V bilden. Diese Differenz durch 0,39 (3,9) Ohm/Grad teilen und man hat seine Temperatur recht grob. Jenachdem wie man die Differenz bildet kann man zwischen minus und plus Graden unterscheiden. Sicherlich muss man noch das ein oder andere fein justieren... Um die Eigenerwärmung gering zu halten wird die Transistorstufe 1 am Kollektor mit ca 590 Ohm zb vom Controller eingeschaltet Bsp: https://www.temperaturmesstechnik.de/fileadmin/user_upload/pdf/tmh_pt100_tabelle.pdf 4V - 3,9894V / 0,001mA = 10,6 Ohm / 0,39Ohm/Grad = 27,179°C = 110,6 Ohm https://www.temperaturmesstechnik.de/fileadmin/user_upload/pdf/tmh_pt1000_tabelle.pdf 4V - 3,938V / 0,001mA = 106 Ohm / 3,9Ohm/Grad = 27,179°C = 1106 Ohm
Vergiss die Konstantstromquelle. Die muss naemlich ein Stueck besser wie die 0.3% pro Grad des Pt Widerstandes sein. Ratiometrisch ist das einfachste und Genaueste mit marginalem aufwand.
Joggel E. schrieb: > Ratiometrisch ist das > einfachste und Genaueste mit marginalem Aufwand. Und wenn man noch einen freien Port hat, speist man den Spannungsteiler aus diesem. In einer Anwendung messe ich die Temperatur nur alle 20 Sekunden. Wegen der möglichen Eigenerwärmung schalte ich den Port auf high, messe die Spannung am Teiler und schalte wieder aus anstatt das Gebilde dauerhaft unter Strom zu halten.
Alexander R. schrieb: > Aber wie krieg ich das dann runter auf 0-5V? Noch nie von Spannungsteiler aus 2 Widerständen gehört ?
Michael B. schrieb: > Alexander R. schrieb: >> Aber wie krieg ich das dann runter auf 0-5V? > > Noch nie von Spannungsteiler aus 2 Widerständen gehört ? Alexander R. schrieb: > Der sollte dann normalerweise ein Signal von 0-10V ausgeben. Aber wie > krieg ich das dann runter auf 0-5V? Weil mein Teensy 3.5 kann nur eine > Analog Spannung von 5V lesen. Hat der wirklich 0..5V oder gar nur 0..3.3V? Im ersten Fall nimmst du zwei gleiche Widerstände (z.B. 10k) in Reihe gegen Masse, ansonsten oben einen 6.8k und unten einen 3.3k. An den unteren Widerstand parallel noch einen kleinen Kondensator parallel (100...1000nF), der dämpft Störungen und hält Ladung für das Sample&Hold im ADC vor.
Oder nehme einen Wandler mit Stromausgang 4..20mA. Dann brauchst nur einen Widerstand am Eingang gegen Masse, 180 Ohm bei 3.3V oder 250Ohm bei 5V. Über dem Widerstand fällt dann eine Spannung ab, die dem Strom entspricht.
Harald schrieb: > Oder nehme einen Wandler mit Stromausgang 4..20mA. Man kann auch einen Wandler mit I²C oder SPI Schnittstelle nehmen, dann kann man die Temperatur mit etwas Glück bei der Auswahl gleich in °C auslesen... Aber das ist eben so gesehen technischer Overkill. Alexander R. schrieb: > Leider bringt er mir immmer eine Temperatur im Raum von ca. 42°C was > leider nicht stimmt. Hast du sinnvollerweise mal die "Rohwerte" (Spannung und ADC Ergebnis) betrachtet? Was komt da raus? Welcher Temperatur entsprechen diese Werte? chris schrieb: > (bei 20°C 3,9922V ) Die Nachkommastellen hättest du auch großzügig wegrunden können, denn deine KSQ selbst ist dank der beiden "Referenzdioden" (BE von V1 und die V3) ein Thermometer, das abhängig von der Umgebungstemperatur einen bestimmten Strom generiert. Die Uf einer einzigen Diode fällt mit 2mV pro °C, bei 10K Temperaturunterschied hast du also 2*2mV/K*10K = 40mV Spannungsänderung und damit einen knapp 3% (40mV/1,3V) veringerten "Konstantstrom". Alexander R. schrieb: > Der sollte dann normalerweise ein Signal von 0-10V ausgeben. Aber wie > krieg ich das dann runter auf 0-5V? Weil mein Teensy 3.5 kann nur eine > Analog Spannung von 5V lesen. Lies mal die Doku zu dem Ding. So wie ich das überschlägig sehe, kann der nur bis maximal 3,3V am Pin ab ohne kaputt zu gehen: https://forum.pjrc.com/threads/55064-Can-teensy-3-5-board-take-5V-analog-input Und deshalb brauchst du dank Brain 1.0 einen Spannungsteiler, der die maximal 10V auf 3,3V herunterteilt:
1 | --4k7--4k7---o----> ADC |
2 | | |
3 | 0..10V 4k7 0..3,333V |
4 | | |
5 | GND -------------o----- GND |
Ich nehme da lauter 4k7 Widerstände, weil ich sonst einen 9k4 bräuchte, der aber nicht so arg leicht erhältlich ist. Und wenn die 4k7 vom selben Gurt sind, dann weichen deren Widerstände idR. gleich ab, sodass ich da auch überall 4k8 oder 4k6 einsetzen könnte, ohne dass sich das Teilervehältnis ändert.
Lothar M. schrieb: > Ich nehme da lauter 4k7 Widerstände, weil ich sonst einen 9k4 bräuchte, Ich würde den Spannungsteiler nicht so knapp dimensionieren, sondern eher auf ~11..12V. Fertige Meßwandler geben oft auch >10V aus, um Fehlerzustände zu signalisieren, z.B. Sensor-Break.
Peter D. schrieb: > Ich würde den Spannungsteiler nicht so knapp dimensionieren, sondern > eher auf ~11..12V. Ich in der brutalen Realität auch nicht... ;-) > Fertige Meßwandler geben oft auch >10V aus, um Fehlerzustände zu > signalisieren, z.B. Sensor-Break. Irgendwann muss man wie schon angemerkt dann tatsächlich mal die Datenblätter der verwendeten Bauteile anschauen. Und wenn man dann den Messbereich noch weiter einengen muss, dann kann man auch gleich beliebige Widerstände nehmen und das hinterher nach dem ADC einfach wieder "geraderechnen".
Alexander R. schrieb: > Habe gerade mit einem Kollegen geredet der meint man könnte das auch > über einen PT-100 Messwandler machen, wie er z.B hier vorhanden ist. > > http://www.suran-elektronik.de/produktgruppe-messumformer-pt100-pt1000.php > (MU-PT100-U010) Über Deine konkreten Anforderungen ist ja noch nichts bekannt. Natürlich kannst Du fertige Gerätschaften kaufen, die sicherlich auch höheren Anforderungen standhalten. Aber, wenn es nur um Messungen mit 1 K Auflösung bzw. Genauigkeit geht und Du eigene Erfahrungen machen möchtest, dürfte die Anschaffung eines PT1000 und direkter Anschluß an den vorhandenen Teensy erheblich kostengünstiger sein. Verrate doch mal, was es werden soll.
Am einfachsten lassen sich natürlich digitale Sensoren auslesen, z.B. DS18B20. Die gibt es auch fertig konfektioniert im Stahlrohr.
Peter D. schrieb: > Am einfachsten lassen sich natürlich digitale Sensoren auslesen, z.B. > DS18B20. Die gibt es auch fertig konfektioniert im Stahlrohr. Wie genau sind die denn bei 500° C?
m.n. schrieb: > Peter D. schrieb: >> Am einfachsten lassen sich natürlich digitale Sensoren auslesen, z.B. >> DS18B20. Die gibt es auch fertig konfektioniert im Stahlrohr. > > Wie genau sind die denn bei 500° C? Dieses aufblasen von Anforderungen auf Skalen, die der TO offensichtlich nicht hat, ist eine Seuche in diesem Forum. Könntest du das bitte lassen? Danke. Der TO möchte mit seinem Arduino und seinen zwei Widerständen ganz sicher keine Temperatur von 500°C messen. Richtig, er hat das nirgends gesagt, und richtig, es wäre cooler gewesen er hätte das getan -- aber in diesem (und vielen anderen Fällen) kann man auch einfach mal den gesunden Menschenverstand anwenden und das erraten. Genausowenig möchte er auf 10 mK genau messen. Selbst wenn er es will: die Diskussion hilft nicht. Helft doch erstmal, das Bestehende zum Laufen zu kriegen, und wenn es danach ein Folgeprojekt gibt, so sei es.
:
Bearbeitet durch User
Sven B. schrieb: > Der TO möchte mit seinem Arduino und seinen zwei Widerständen ganz > sicher keine Temperatur von 500°C messen. > ... > gesunden Menschenverstand anwenden und das erraten. So so, der gesunde Menschenverstand ist gefragt. Dessen Eigentümer bist Du? Könntest du das bitte lassen? Danke. Wenn Der TO zu einem PTx Fragen stellt, dann akzeptiere ich das und bleibe bei diesem Thema. Klar, es gibt andere Sensoren wie DS18, KTY oder NTC. Das war aber nicht die Frage. Auch werde ich daher kein anderes Board als Ersatz für seinen Teensy vorschlagen.
m.n. schrieb: > Wenn Der TO zu einem PTx Fragen stellt, dann akzeptiere ich das und > bleibe bei diesem Thema. Wenn der TO bei 500°C messen wollte, dann würde seine - über den Bereich 0°C..100°C linearisierte - Auswertung einen Fehler von ca. 200K machen. Ich finde die Vermutung von Sven, dass es dem TO nicht um Messungen bis 500°C geht, schon ziemlich naheliegend.
Achim S. schrieb: > Wenn der TO bei 500°C messen wollte, dann würde seine - über den Bereich > 0°C..100°C linearisierte - Auswertung einen Fehler von ca. 200K machen. Es ist nicht verboten, Fehler zu machen. Und niemand hat behauptet, der TO wolle 500° C messen. Aber genaues Lesen ist hier nicht jedermanns Sache. Warten wir doch einfach ab, was vom TO noch kommt.
Alexander R. schrieb: > Leider bringt er mir immmer eine Temperatur im Raum von ca. 42°C was > leider nicht stimmt. Das kommt ganz gut hin für einen Sensor mit einer Eigenerwärmung von etwa 500 K/W. Das wäre dann ein Sensor in einer Bauform ähnlich dieser: https://de.farnell.com/littelfuse/ppg101a6/rtd-sensor-pt100-200-to-600deg/dp/2888871?st=pt100 Da du ohnehin einen Mikrocontroller zur Auswertung benutzt, könntest du prinzipiell deinen Aufbau so lassen wie er ist, und sämtliche nichtlinearen Effekte (Spannungsteiler, PT100-Kennlinie und Eigenerwärmung) per Software kompensieren. Hast du eine genaue Typbezeichnung oder ein Datenblatt für deinen Sensor? Welcher Temperaturbereich soll abgedeckt werden?
:
Bearbeitet durch Moderator
Alexander ist schon länger nicht mehr dabei, vermutlich hat er einfach den fertigen Wandler genommen. Wie ich schon oben schrieb, diese ganzen OP-Schaltungen für PT100 sind tückisch. Referenz, Drift, Toleranzen u.v.a.m. ist nicht unbedingt was für Anfänger bzw. Nicht-Analog-Profis. Dazu kommt noch die Abhärtung gegen Falschbeschaltung (24V) und ESD, falls man darauf Wert legt. Ich kannte den MAX vorher auch nicht, was mir auf Anbieb sehr gut gefiel ist die Abhärtung gegen +/-45V am Eingang. Von daher würde ich in Zukunft den nehmen oder eben einen fertigen Wandlerbaustein vom etablierten Hersteller. Aber wie man sieht wird jeder PT100 Thread hier im Forum immer lang und emotional.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.