Schaltung Temperaturmessung PT100

Hallo,

ich möchte Temperaturen über einen PT100 auslesen da der Temperaturbereich einen DS18B20 bspw. deutlich übersteigt und es sich am Ende um ca. 400 C° betragen wird. Bei der Genauigkeit habe ich mir +-3C° vorgestellt, wenn es +-5C° sind wäre es auch noch ok. Der PT100 soll an ein Rohr angebracht werden.

Die Kalibrierung wollte ich mit einem DS18B20 vornehmen. Für diesen Sensor steht auch schon der Sketch. Da der DS18B20 max. bis 125C° geht wollte ich den Abgleich von 0-100C° machen und dann eine Funktion ermitteln bzw. sollte sich der PT100 ja nahezu linear verhalten.

Ich wollte es mit folgender Schaltung realisieren: http://www.mikrocontroller.net/attachment/59272/bau_eines_Pt100_Me_verst_rkersmsy0000-8726.pdf

Die LM324 und LM317 hab ich.

Jedoch brauch ich den Impedanzwandler und die Offseteinstellung unbedingt für meine angedachte Genauigkeit?

Dann wäre da noch die Sache mit der Schutzbeschaltung in Punkt 7. Welche Diodenart eignet sich dafür am besten?

Für eure Hilfe bin ich euch sehr dankbar.

Arnold

Hast Du diesen Satz auch beachtet?

Dieser Fehler von rund 2 % entsteht aufgrund der Nichtlinearität des PT100.

2% von 400°C sind 8°C und somit ausserhalb Deiner Toleranz. Ohne den Impedanzwandler und die Offseteinstellung dürfte sich dieser Wert noch mehr vergrössern, womit der Sensor für Deine Anwendung dann komplett ausfallen würde. Du kannst dies ändern, wenn Du die quadratische Gleichung der Nichtlinearität des PT100 auflöst und die korrekten Werte berechnest (also nicht von einer Linearität des PT100 ausgehst). Ich würde aber die komplette Schaltung umsetzen, die Ops hast Du ja sowieso im LM324 drin und die paar Widerstände sind nicht der Rede Wert. Die Schutzschaltung würde ich auf jeden Fall machen, da Du sonst Deinen Arduino-Eingang killen kannst (er verträgt Spannungen über 5V5 relativ schlecht). Aber auch hier: das sind Bauteile für wenige Cent, da würde ich nicht mal einen Gedanken daran verschwenden.

Hallo, eine solche Schaltung bis 400°C mit einer ungenauigkeit durch die nichtliniarität würde mich auch Intressieren. ( Da ich nur bei 260°C etwas genauer sein muss "+/-3°C würde ich das einfach im Program Kalibrieren. )

Leider habe ich Max 10V zu Verfügung habe :~

Grüße Ratlos

OK und welche Dioden sollte ich verwenden? Also ich würde halt Gleichrichterdioden nehmen. Die Angabe von U und I bezieht sich bestimmt darauf was sie maximal in Sperrrichtung verträgt oder? Also könnte einfach die bspw. nehmen? http://www.conrad.de/ce/de/product/162388/1N-Gleichrichter-Diode-3-A-Diotec-1N5402-Gehaeuseart-DO-201-IF-3-A-Sperrspannung-UR-200-V

Ne einfache 1N4148 tut's allemal.

Hallo,

mein Tipp. Nimm einen MAX6675 (0 bis 1024°C) oder ähnliches, schließe ein K Thermocouple an und lies den MAX6675 mittels SPI aus. Die gesamte Meßwertberechnung macht der MAX und gibt Dir nur noch den richtigen Meßwert rüber. Die Dinger funktionieren wunderbar und reagieren auf Grund der geringen Thermocouple Trägheit sehr schnell auf Temperaturänderungen.

Hab da noch ne kleine Frage, in dem eingangs erwähnten Schaltplan ist ein Kondensator, aber welche Aufgabe hat der in der Schaltung so richtig? Und welche sind da aus kapazitiver Sicht geeignet?

@Klaus_ww Danke für den Tipp mit den Dioden

@Doc_Arduino Danke für den Tipp mit dem MAX6675 und dem K Thermocouple. Ich denke das werde ich mal ausprobieren nachdem ich die andere Schaltung versucht habe.

Arnold324: Hab da noch ne kleine Frage, in dem eingangs erwähnten Schaltplan ist ein Kondensator, aber welche Aufgabe hat der in der Schaltung so richtig? Und welche sind da aus kapazitiver Sicht geeignet?

Der hat zwei Aufgaben: 1. Signalfilterung. Damit nicht jede kleine Störung zum Prozessorpin durchschlägt. Er bildet mit zusammen mit dem 4.7k Widerstand einen Tiefpaß. 2. Pufferung. Wenn der AD wandelt muss er seine internen Kapazitäten laden. Dies kann er aus dem Kondensator tun. Deshalb sollte dieser auch so nahe wie möglich am Prozessor sitzen.

Als Wert kann du einen Keramischen Kondensator mit 100nF nehmen. Der paßt.

Aber das mit dem Thermoelement würde ich mir mal überlegen. Am besten mit dem MAX31855 (das ist der Nachfolger des MAX6675), kann man auch fertig kaufen, z.b. bei adafruit: Thermocouple Amplifier Das ist deutlich einfacher und sicherlich auch genauer. (Max31822 Error + TC Error = 4,2°C)

Ich denke, die Genauigkeit deines Messverstärkers wird da deutlich schlechter sein. LM317A: 1%; Die Verstärkungsbestimmenden Widerstände an OP2 und 3: 2% und dann ist aufgrund der Schaltung auch 1:1 die Genauigkeit deiner AD-Referenzspannung drin, weil hier nicht ratiometrisch gemessen wird. Und die Trimmpotentiometer, die drin sind neigen zu sehr hohen Temperaturkoeffizienten. Alles in allem ist das eine Schaltung, die taugt zum Basteln und zum kennenlernen von Operationsverstärkern (Das ist ja wohl auch der Sinn des Dokumentes), aber für eine dauerhafte, betriebssichere Lösung würde ich auf eine integrierte Lösung ausweichen.

Grüße

Gunther

@guntherb danke für deine ausführliche Erklärung.

Hab da trotzdem mal noch eine weitere Frage, kann man die Temperatur die durch den Stromfluss am PT100 entsteht auch dadurch reduzieren in dem man zum Messen immer nur einen Impuls schickt?

Denn dann müsste ja nicht ein Stromteiler realisiert werden und ich könnte es rein weg über einen Spannungsteiler machen.

LG Arnold

So ganz verstehe ich deine Frage nicht.

Stromteiler?

Letztlich ist ein PT100 nichts anderes als Widerstand, der über die Temperatur seinen Wert ändert. Messe ich den Widerstand, weiß ich wie warm er ist.

Offtopic: ein PT100 hat einige Vorteile. Aber auch einen gewaltigen Nachteil: man kann ihn ohne aufwändige Schaltung nicht auswerten. Deshalb würde ich, wenn nicht andere Gründe dagegen sprechen, immer einen NTC verwenden, oder ein Thermoelement. /Backtopic

Den Widerstand zu messen kann ich auf zwei Varianten machen: a) einen bekannten Strom einprägen b) einen Spannungsteiler

Das kann ich natürlich auch gepulst machen. (wobei ich da keinen Vorteil sehe)

Reicht das?

Gunther

Beim nochmaligen lesen habe ich deine Frage erst verstanden: Du möchtest den Messstrom pulsen um die Eigenerwärmung zu redzieren, ich nehme an, dass du auch einen höheren Messstrom verwenden möchtest? Pulsen kannst du, brauchts aber nicht. Höhere Messströme würden vielleicht gehen, erzeugen aber immer ungenauigkeiten, weil eben eine Eigenerwärmung stattfindet, und du wirst nie sicher sein, ob der Messwert nicht schon verfälscht ist. Einen Spannungsteiler zu pulsen rate ich ab, da du in den zu messenden Zweig damit zusätzliche Elemente (FET o.ä. zum Schalten) einbringst, die die Messung verfälschen. Nochmal: PT100 sind schwierig zu handeln. Nimm lieber ein Thermoelement, die sind für diese hohen Temperaturen einfach besser geeignet.

Hallo,
leider habe ich keine richtige Ahnung von Schaltungen .
Aber wenn es ein PT100 sein muss… ( Warum auch immer )

Ist die Lösung mit den IC xtr105 + den RCV420 + einen DC/DC Wandler nicht was ?

xtr105 http://pdf1.alldatasheet.com/datasheet-pdf/view/56887/BURR-BROWN/XTR105.html
RCV http://pdf1.alldatasheet.com/datasheet-pdf/view/56856/BURR-BROWN/RCV420.html

DC/DC http://de.rs-online.com/web/p/dc-dc-wandler-isoliert/6728861/
Ist dieser DC/DC OK ???

ODER Denke ich da falsch ?

Wenn mal jemand die komplette Schaltung von der 5V Spannungsversorung erstellen könnte
DAS wäre was.
Den Temperaturbereich kann man dann ja anhand des Datenblattes “xtr105” selbst bestimmen

Grüße
Ratlos

Ratlos: Wenn mal jemand die komplette Schaltung von der 5V Spannungsversorung erstellen könnte DAS wäre was.

5V Versorgungsschaltungen gibt es wie Sand am Meer!

Hier wird das Prinzip der Regler und was beim Aufbau zu beachten ist recht gut (allerdings auch anspruchsvoll) erklärt: http://www.ti.com/lit/an/snva558/snva558.pdf

Oder du nimmst dir das Datenblatt des Reglers deiner Wahl, da sind meist auch Application Notes verfügbar, oder einfach mal suchen nach linear voltage regulator 5V application note

Gunther

Hallo Gunther,
habe mich da etwas falsch ausgedrückt.

Meinte eine Schaltung nach der 5V Gleichspannung.

Also ab 5V out bis zu den 0-5V Arduino Eingang

~13,7V → 5V → PT100 “Schaltung” → Arduino Analog Eingang

Grüße
Ratlos

Hallo Ratlos,

die von dir verlinkten Bauteile haben damit garnichts zu tun. die oberen beiden sind Treiber für eine Stromschnittstelle. Das ist eine Schnittstelle, die gerne in der Industrie verwendet wird um Signale in stark gestörter Umgebung über größere Entfernung zu übertragen. Dazu brauchst du aber erstmal ein brauchbares Signal, dass dann übertragen werden kann.

Und der letzt ist ein Spannungswandler, der aus 5V +/-12V macht.

Es tut mir leid, ich verstehe deine Gedankengänge nicht.

letztlich ist es so, wie weiter oben schon beschrieben: ich brauche eine Stromquelle, oder einen Spannungsteiler, um dem PT100 ein Signal zu entlocken. (Mit der Stromquelle ist das Ausgangssignal linearer.) Allerdings ist das ein Signal, dass sich im Bereich 100mV bis 300mV bewegt, und daher nicht direkt vom Controller auswertet werden kann. (die Änderung von einem Bit würde dann 10°C entsprechen!)

Deshalb ist der Löwenanteil der Schaltung dafür da, das kleine Signal zu verstärken und den Offset rauszunehmen, damit der AD-Wandler ein Signal bekommt, mit dem er was Anfangen kann.

Daher auch meine Preferenz für NTCs: Die geben mit einem einfachen Widerstand bereits ein wunderschönes Signal von 0-5V ab. Und die Liniearisierung ist für den Controller ein Kinderspiel! Und wenn die nicht gehen, dann Thermoelemente, für die gibts fertige ICs oder Schaltungen zu kaufen, die das alles machen. Aber ich fange an mich zu wiederholen.... :blush:

Gunther

Hi,

wenns denn unbedingt ein PT100 sein muss, dann schau dir mal den Messverstärker an. Löten solltest du dafür können. http://www.pollin.de/shop/dt/MzI4OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_PT100_Messwandler.html Da brauchst du nur Versorgungsspannung, und den PT-Fühler anschliessen. Und dann noch das Ausgangssignal an den Arduino.

Ich hab gerade ähnliches aufgebaut(-30°C...150°C). Allerdings hab ich einen PT1000 und dafür dann auch die PT1000-Version genommen. Den Messverstärker musst du halt noch kalibrieren, und die Nichtlinearität hab ich im Arduino rausgerechnet. Ist eh nur ein Polynom 2.ten Grades. (Ja, ich weiss, Im Negativen ist es ein Polynom 4.Grades, aber das ist rechnerisch zu vernachlässigen) Allerdings wirst du es nicht schaffen, von 0-5V zu kommen. Ich hab da die Grenzen etwas runtergenommen, und hab für meine beiden Messendwerte dann den Bereich 0,1..4,6V gewählt. Das ergibt einen Spannungsbereich von 4,5V. Das sind bei meinem Messbereich ca. 0,2K Auflösung.