Mit einem relativ genauen NTC (0,13°C) möchte ich einen Temperaturbereich erfassen und den gemessenen Analog-Wert an einen ADC (12-Bit) weiterleiten. Mit TINA-TI (Spice Simulator von TI) habe ich die Schaltung simuliert und aufgebaut, alles funktioniert soweit. Es gibt aber ein paar Anforderungen an die Schaltung und ich würde gerne von HW-erfahrenen wissen, ob das so in Ordnung ist oder Probleme geben kann. Der NTC ist an einem Kabel (Zwillingslitze) angeschlossen, dass diverse Meter lang ist. Demnach holt man sich auch (Brumm-)Störungen mit rein. Damit die aber keinen Einfluss haben, soll der NTC symmetrisch angeschlossen und gemessen werden, ich denke das das so funktioniert. Abgekuckt habe ich mir das übrigens aus dem schon wat älteren und langen Thread hier: Beitrag "Temperaturmessschaltung möglichst genau?" Da ging es aber um einen PT100, der im Gegensatz zum NTC eine lineare Temperaturkurve hat. Der OP ist ein 4-fach Rail-to-Rail Typ (In/Out) und der erste (A) Teil erzeugt den Konstantstrom, lt. Simulation 67,5 µA, was auch mit der Realität so ziemlich genau passt. Der NTC verändert seinen Widerstand im Temperaturbereich von 2725 bis 15460 Ohm. Die OP's (B) und (C) dienen der Auskopplung um den Messwert nicht zu verfälschen. Der D-Teil macht 2 Dinge, zum einen ein wenig Verstärkung (Faktor ca. 3,3) und zum anderen die Offset-Spannung möglichst nahe auf Null bringen (R4 = 2725 Ohm) um im gem. Temperaturbereich einen Spannungshub von annähernd 3V zu bekommen. Alles was mit der Messung zu tun hat wird mit der 3V Spannungsreferenz versorgt (Konstantstromquelle) und sind 0,1% Widerstände. Am Ausgang ist ein 12-Bit ADC angeschlossen. Die Temperatur soll mit einer Genauigkeit von 0,13°C erfasst werden evtl. wäre auch 0,2°C noch akzeptabel. Versorgt wird alles mit 3,3V (single supply). Ich weiß nicht, ob z. B. der Kondensator am Eingang (parallel zum NTC) sinnvoll ist oder ob man drauf verzichten kann oder, sollten aus irgendwelchen Gründen hohe Frequenzen ein Störfaktor sein, ob man einen Tiefpass irgendwo beim D-OP einbaut. Weil Temperaturänderungen relativ langsam sind, will ich mit vllt. einer Messung pro Minute messen, wobei es vllt. sein kann, dass z. B. 10x hintereinander Messwerte abgefragt werden und dann ein Mittelwert gebildet wird, mal sehen wie es wird. Dann ist da noch das Thema Störungen auf der Versorgungsspannung (3,3V). Muss da was dran getan werden? Fällte jemanden noch was auf, was suboptimal ist? Was übrigens nicht geht, sind Dinge wie ein manueller Nullpunktabgleich oder sowas.
Ich verstehe den Sinn der ganzen Schaltung nicht. Du betreibst da deinen NTC mit einem konstanten Strom und lieferst am Ausgang, wie viel Spannung an ihm abfällt. Das ist keineswegs linear. Wenn du sowieso schon mit dem nicht linearen Verhalten klar kommst, warum machst du es dann nicht ganz einfach so?:
1 | VDDA 10k NTC 10k |
2 | 3,3V o----[===]---+---[===]----| |
3 | | |
4 | +---[===]---| |
5 | | 100k |
6 | | |
7 | o |
8 | zum ADC |
Was da heraus kommt ist erheblich präziser, als deine Schaltung. Da sowohl Spannungsteiler als auch der ADC sich auf die gleichen 3,3V beziehen, kürzen sich Schwankungen der Spannungsversorgung automatisch raus. Mit dem zusätzlichen 100kΩ Widerstand bekommst du im Bereich um 25°C sogar eine fast lineare Ausgangsspannung mit soundoviel Volt pro Grad. Siehe Screenshot, da habe ich mal irgendeinen 10k NTC ausgewählt und dessen B-Wert eingegeben. Das ist zumindest für Raumthermometer gut genug. Wo man mehr Genauigkeit haben will, setzt man in der Regel Übersetzungstabellen ein, die man vorher anhand konkreter Probemessungen erstellt hat. Das entspricht dann den Thermometern jenseits der 200€ Marke. https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx http://www.controllersandpcs.de/lehrarchiv/pdfs/elektronik/pass01_03x.pdf
K. H. schrieb: > Mit einem relativ genauen NTC (0,13°C) Welchen denn? Und was bedeuten hier "0,13°C"? > Weil Temperaturänderungen relativ langsam sind Das kommt drauf an. Bei einer Atomexpolsion oder im Zylinder eines Verbrennungsmotors geht das ziemlich ratzfatz... > dass z. B. 10x hintereinander Messwerte abgefragt werden und dann ein > Mittelwert gebildet wird, mal sehen wie es wird. Mach es dem Controller einfach und nimm eine Zweierpotenz (2,4,8,16,32,64, usf). Das Blödeste, was man einem binären Rechner zumuten kann, ist eine Zehnerpotenz. Du würdest als Dezimalsystemliebhaber (weil du 10 Finger hast) ja auch nur ganz ungern in einem 7er-System rechnen, auch wenn Lebewesen mit 7 Fingers das ganz praktisch finden würden: 1 2 3 4 5 6 10 11 12 13 14 15 16 20 ... 55 56 60 61 62 63 64 65 66 100 101 Wieviel ist da 12-3? Oder 20-11? Richtig: 6!
Lothar M. schrieb: >> Weil Temperaturänderungen relativ langsam sind > Das kommt drauf an. Bei einer Atomexpolsion oder im Zylinder eines > Verbrennungsmotors geht das ziemlich ratzfatz... Dazu braucht man nicht einmal Explosionen. Schon in den Zylindern eines Stirling Motors wechselt die Temperatur in Bruchteilen von Sekunden vom Minimum zum Maximum.
Ich habe sehr gute Erfahrungen mit folgendem Konzept gemacht: NTC + Präzisionswiderstand. Dann auf einen genauen ADC. Keine Stromquelle. Keine Verstärker mit Widerständen. Macht alles Fehler, die zusammen mit der Verstärkung erst mal besser sein müssen, als ADC pur. Dann in µC und über Tabellen mit Interpolation oder Formeln in Grad C umgerechnet.
Mach einfach mal ne Fehlerrechnung und schau mal in's Datenblatt der Widerstände was die über Alterung und Temperatur so machen.
Stefan ⛄ F. schrieb: > Ich verstehe den Sinn der ganzen Schaltung nicht. Du betreibst da deinen > NTC mit einem konstanten Strom und lieferst am Ausgang, wie viel > Spannung an ihm abfällt. Oben im Bildchen siehste die Übertragungsfunktion. Die blaue Linie ist die Eingangspannung (NTC) und die grüne Linie ist die Ausgangsspannung. Die Eingangsspannung liegt bei (0,187...1,04) Volt und daraus wird (0,184...2,94) Volt. Die Übertragung ist linear, die zugehörige Funktion ist y = m * x + b mit Verstärkungsfaktor m = 3,32584 und Offset b = -0,5119 . Der Kernsinn ist, dass ich eine differenzielle Messung machen will, wegen Störungen auf der Messleitung. Stefan ⛄ F. schrieb: > Das ist keineswegs linear. Ich weiß, ich werde die Nichtlinearität des NTC's auch nicht weg bekommen, deswegen mache ich aus der Ausgangsspannung des Messverstärkers einen ADC-Wert im Bereich theoretisch von 0 bis 4095, real aber von ca. 124 bis 4077 Digits. Das sind letztendlich 400 verschiedene Werte und mit einer Lookup-Table wird den Digit-Werten der Temperaturwert zugeordnet. Berechnen ist nicht, weil der Prozessor keine Fließkommaeinheit hat, das Berechnen müsste also in SW erfolgen, was den Code um 10 kB aufbläst und das ist mir zu viel. Deswegen die Lookup-Table, weil ja der Strom durch den NTC konstant ist. Wenn ich also eine Eingangsspannung (NTC) von 0,6757 Volt habe, habe ich am Ausgang eine Spannung für den ADC von 1,7354 Volt und der ADC macht daraus 2369 Digits. In der Lookup-Table steht der Wert jetzt aber nicht drin sondern nur 2358 und 2372 und der Wert ist näher an 2369. Deswegen wird dann der Temperaturwert vom Digitwert 2372 übernommen und das wären dann 91 was 9,1°C entspricht. Und die 400 16-bit Wertezuordnungen = 800x 16-Bit Werte belegen weniger Speicherplatz als wenn ich das berechnen lassen würde, notfalls könnte man die Wertetabelle extern auslagern, ist ja statisch. Stefan ⛄ F. schrieb: > Wenn du sowieso schon mit dem nicht linearen Verhalten klar kommst, > warum machst du es dann nicht ganz einfach so?: Weil dann der NTC mit einem Bein an GND hängt und wegen den paar Meter Kabel zw. Eingang und NTC sind auch der nicht-GND Leitung jede Menge Störungen, die aus der Umgebung einstreuen. Das darf nicht sein, da messe ich dann nur noch Brummen und so'n Zeug. Stefan ⛄ F. schrieb: > Wo man mehr Genauigkeit haben will, setzt man in der Regel > Übersetzungstabellen ein, die man vorher anhand konkreter Probemessungen > erstellt hat. Das entspricht dann den Thermometern jenseits der 200€ > Marke. Und genau so eine Tabelle habe ich zu dem NTC. In der Tabelle stehen nur Widerstandswerte mit min./max. Abweichungen und das eben die Genauigkeit in einem gewissen Bereich bei 0,13°C liegt und außerhalb dessen etwas höher meine ich. Lothar M. schrieb: > Bei einer Atomexpolsion oder im Zylinder eines > Verbrennungsmotors geht das ziemlich ratzfatz... Ist mir schon klar aber in Bezug auf meine Messungen sind Temperaturänderungen im Gebäudeumfeld sehr sehr sehr langsam. Und sollten sie mal schnell sein, ist es auch schnurz, denn dann ist da wohl was wegexplodiert oder es brennt irgendwo und dann ist es die Messung egal. Lothar M. schrieb: > Mach es dem Controller einfach und nimm eine Zweierpotenz Das weiß ich, mit den 10 kann man es auch so machen: die Werte mit der positiv und negativ höchsten Abweichung fliegen raus, es bleiben 8 Werte über, alles zusammenrechnen und dann 3x nach rechts schifften und schon habe ich einen fließkommalosen Mittelwert. :D Lothar M. schrieb: > Welchen denn? Und was bedeuten hier "0,13°C"? Präzisions Temperatursensor TS-NTC 502 Datenblatt: Mittels einer einfachen Widerstandsmessung lässt sich so bei 25°C eine Genauigkeit von ±0,12 K erreichen. Im Temperaturbereich von -60 ... +85 °C beträgt der maximale Fehler ±0,5 K. Aber bis -60°C geht es nicht runter und auch nicht bis +85°C hoch.
K. H. schrieb: > Am Ausgang ist ein 12-Bit ADC angeschlossen Vergiss feine Schaltung. Lege den NTC in Reihe mit einem temperaturstabilen genauen Widerstand an die Referenzspannung die auch den ADC verwendet und rechne aus der Spannung die sich im Spannungsteiler bildet den Widerstandswert des NTC zurück und aus ihm die Temperatur. Alles andere macht mehr Aufwand und ergibt nur mehr Fehlrr. Nutzt man 3 ADC Eingänge, kann man auch Vierleitermessunng machen und die Messwerte korrigieren, wenn ADC0 nicht sowieso 0xFFF und ADC2 nicht 0x000 ergeben.
MaWin schrieb: > Lege den NTC in Reihe mit einem temperaturstabilen genauen Widerstand an > die Referenzspannung die auch den ADC verwendet und rechne aus der > Spannung die sich im Spannungsteiler bildet den Widerstandswert des NTC > zurück und aus ihm die Temperatur. So hatte ich das ursprünglich aber es kamen da keine vernünftigen ADC-Werte bei raus, weil der ADC durch Sample-Hold die relativ hochohmige Quelle NTC zu stark belastet. Ich muss also hinter dem NTC noch einen OP als Impendanzwandler schalten, da komme ich wohl nicht drumherum.
K. H. schrieb: > Oben im Bildchen siehste die Übertragungsfunktion. Die blaue Linie ist > die Eingangspannung (NTC) und die grüne Linie ist die Ausgangsspannung. Hast du die gemessen oder geraten? Welche Komponente hat denn da die Kennlinie des NTC linearisiert? K. H. schrieb: > Der Kernsinn ist, dass ich eine differenzielle Messung machen will, > wegen Störungen auf der Messleitung. Ok, angenommen. Ich würde allerdings eher versuchen, die Störungen weg zu bekommen. Das kann bei so niedrigen Frequenzen ja nicht schwer sein.
K. H. schrieb: > Weil dann der NTC mit einem Bein an GND hängt und wegen den paar Meter > Kabel zw. Eingang und NTC sind auch der nicht-GND Leitung jede Menge > Störungen, die aus der Umgebung einstreuen. Das darf nicht sein, da > messe ich dann nur noch Brummen und so'n Zeug. Kannst du die nicht einfach weg filtern? Die Frequenz deines Mess-Signals ist doch sicher viel niedriger, als die der Störungen. Ich denke immer daran, dass jede unnötige Bauteil selbst wieder Fehler hinzufügt und auch potentiell kaputt gehen kann. Du könntest auch einen ADC mit differentiellem Eingang verwenden. K. H. schrieb: > So hatte ich das ursprünglich aber es kamen da keine vernünftigen > ADC-Werte bei raus, weil der ADC durch Sample-Hold die relativ > hochohmige Quelle NTC zu stark belastet. Ich verstehe nicht. Alle mir bekannten erreichen die volle Genauigkeit bei 10kΩ Quell-Impedanz. Und mit einem kleinen Kondensator kannst du Quell-Impedanz auf annähernd null reduzieren und filterst zugleich die Störungen heraus. Dann darfst du allerdings nicht mehr jede Mikrosekunde messen, sondern musst deutliche Pausen einlegen. Von welchen Frequenzen reden wir denn?
K. H. schrieb: > So hatte ich das ursprünglich aber es kamen da keine vernünftigen > ADC-Werte bei raus, weil der ADC durch Sample-Hold die relativ > hochohmige Quelle NTC zu stark belastet. Sample& Hold heißt, es wird kurzfristig einen kleiner Kondensator durch die analoge Spannung aufgeladen. Dann schalte einen größeren Kondensator vom Analogeingang nach Masse.
Stefan ⛄ F. schrieb: > Hast du die gemessen oder geraten? Das sind die Werte aus der Simulation und die decken sich sehr gut mit der Realität = ich habe es auch gemessen. Stefan ⛄ F. schrieb: > Ich würde allerdings eher versuchen, die Störungen weg > zu bekommen. Das kann bei so niedrigen Frequenzen ja nicht schwer sein. Es ist aber sinnvoller, differentiell zu messen. Analoge Telefonleitungen oder der CAN-Bus funktionieren so und es ist einfacher, als einen Tiefpass mit 1 Hz Grenzfrequenz oder so einzubauen. Störungen kommen immer rein, da kann man nix gegen machen aber man kann durch bestimmte Maßnahmen, wie eben der symmetrischen Signalübertragung, die Störungen ganz ignorieren, weil sie die Messung nicht beeinflussen. Stefan ⛄ F. schrieb: > Kannst du die nicht einfach weg filtern? Man könnte es auch wegfiltern oder am besten von vornherein vermeiden, dass nicht gefiltert werden muss. Stefan ⛄ F. schrieb: > Du könntest auch einen > ADC mit differentiellem Eingang verwenden. Der ADC, der zur Verfügung steht, ist ein 12-Bit ADC, single ended. Da kann ich nichts dran ändern. Und von den ADC-Eingängen gibt es, wenn ich es richtig im Kopp habe, 5 Stück die noch frei sind, vllt. sind es auch ein bis zwei weniger. Stefan ⛄ F. schrieb: > Von welchen Frequenzen reden wir denn? Messfrequenz? Vllt. ein Messwert pro Minute, welcher aber aus vllt. 10 Messungen in einer Sekunde resultiert und dann ist eben 59 Sek. Pause. MaWin schrieb: > Sample& Hold heißt, es wird kurzfristig einen kleiner Kondensator durch > die analoge Spannung aufgeladen. Richtig. Genau so macht der ADC das. Und wenn ich mich recht entsinne, hatte ich das schonmal gemacht...
K. H. schrieb: >> Von welchen Frequenzen reden wir denn? > Messfrequenz? Vllt. ein Messwert pro Minute, welcher aber aus vllt. 10 > Messungen in einer Sekunde resultiert und dann ist eben 59 Sek. Pause. Dann würde ich mir den ganzen Aufwand sparen und mit einem simplen R/C Filter arbeiten. Aber jeder so so glücklich werden, wie er mag. Deine Schaltung wird ihren Zweck wohl auch erfüllen.
K. H. schrieb: > aber man kann durch > bestimmte Maßnahmen, wie eben der symmetrischen Signalübertragung, die > Störungen ganz ignorieren, weil sie die Messung nicht beeinflussen. Richtig. Aber: das gilt immer für Sender und Empfänger gleichermaßen. Also wo ist deine "symmetrische Stromquelle". Die Störunterdrückung am Empfänger nützt dir gar nichts wenn die Stromquelle bei Störungen wackelt. Ansonsten schreibst Du weder den OpAmp-Typ (offset drift) noch den genauen NTC (Selbsterwärmungskoeffizient). (wobei ich glaube daß bei dem geringen Strom die Selbsterwärmung kaum eine Rolle spielt). Stefan ⛄ F. schrieb: > Wenn du sowieso schon mit dem nicht linearen Verhalten klar kommst, > warum machst du es dann nicht ganz einfach so?: In dem Fall würde ich einen höherohmigen NTC verwenden um den Fehler durch Selbsterwärmung gering zu halten. (ich verwende normalerweise 33K als Kompromiß zwischen ADC Fehler und Selbsterwärmung). K. H. schrieb: > Messfrequenz? Vllt. ein Messwert pro Minute, welcher aber aus vllt. 10 > Messungen in einer Sekunde resultiert und dann ist eben 59 Sek. Pause. Wenn Du mit 50Hz Störungen rechnest. Warum erfolgt dann die Abtastung nicht über eine 50 Hz periode (20 ms). Z.B. 10-20 Messwerte gleichverteilt innerhalb 20 ms. Bei der Mittelwertbildung fallen dann 50 Hz Einstreuungen heraus. (Normal mode Unterdrückung). Die Bandbreite des ADC-Eingangs muß natürlich mit einem Anti-Aliasing Filter begrenzt sein (Zeitkonstante bei 1ms Abtastung >= 1 ms). Gruß Anja
Stefan ⛄ F. schrieb: > Welche Komponente hat denn da die Kennlinie des NTC linearisiert? Hatte ich übersehen.... Bei der Übertragungsfunktion sollte alles linear bleiben, damit die Kurve des NTC's nicht verfälscht wird. Es gibt also keine Linearisierung der Kennlinie. An der Grafik Eingangs-/Ausgangsspannung oben steht an der X-Achse die Poti-Stellung 0...100%. Ich habe den NTC simuliert mit einem Poti und einem Serienwiderstand dazu, wobei R den kleinsten NTC-Widerstandswert hat und R + R_Pmax = der maximale NTC-Wert ist. In dem Bereich sollte die Schaltung sich linear verhalten, was sie auch tut. Bei 0% Poti-Stellung => R_ges = min., ist die höchste Temperatur, bei R + R_Pmax = 100% die niedrigste Temperatur, dazwischen ist die Temperatureinteilung nicht linear mit den Prozenten. Stefan ⛄ F. schrieb: > Dann würde ich mir den ganzen Aufwand sparen und mit einem simplen R/C > Filter arbeiten. Wie sollte das dann aussehen, wenn ich über einer störungsbelasteten Verbindung messen will = differentielle Messung? Aber ich werde das mal checken mit den Werten, die https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx dazu ausgegeben hat. Da wird errechnet, das der Serienwiderstand 6277 Ohm haben soll und der Parallelwiderstand 62,77 kOhm => Ua = 0,863 V bis 2,04 V => dU = 1,177 V => nur ca. 40% des Messbereichs vom ADC benutze ich = 1606 Werte statt der möglichen 4095 = 10,65 ENOB (effective number of bits), unter 9 darf es nicht werden. Anja schrieb: > Richtig. Aber: das gilt immer für Sender und Empfänger gleichermaßen. > Also wo ist deine "symmetrische Stromquelle". Das soll der 1. OP in der Schaltung (U1A) sein, das habe ich aus der/den Schaltungen aus dem verlinkten Thread aufgegabelt (Beitrag "Temperaturmessschaltung möglichst genau?"). Da wird im weiteren Verlauf für einen PT100 genau so die Konstantstromquelle gebaut für einen symmetrische Aufbau. Anja schrieb: > Die Störunterdrückung am Empfänger nützt dir gar nichts wenn die > Stromquelle bei Störungen wackelt. Ich weiß, aber soweit ich das gemessen habe, sollte da nicht zu sehr wackeln. Anja schrieb: > Ansonsten schreibst Du weder den OpAmp-Typ (offset drift) noch den > genauen NTC (Selbsterwärmungskoeffizient). > (wobei ich glaube daß bei dem geringen Strom die Selbsterwärmung kaum > eine Rolle spielt). Der OP ist ein LMC6484, der hat einen Input-Offset von 0,9 mV (max. 2,0 mV). Wenn der OP mit einem Verstärkungsfaktor von 3,3 arbeitet, heißt das dann, dass die Ausgangsspannung um 0,9V x 3,3 = 2,97 mV wackeln kann? Ich habe extra den Strom bei ca. 70µA gewählt, weil bei 3V dass nur 0,21 mW sind für die Selbsterwärmung. Zudem wird der NTC nur zur Messung bestromt, während der Messpause ist der Sensor stromlos. Deswegen denke ich, ist Selbsterwärmung kein Thema. Die Selbsterwärmung ist übrigens angegeben mit 1,2 mW/K Anja schrieb: > Wenn Du mit 50Hz Störungen rechnest. Warum erfolgt dann die Abtastung > nicht über eine 50 Hz periode (20 ms). Z.B. 10-20 Messwerte > gleichverteilt innerhalb 20 ms. Ich habe bzgl. Timings noch garichts eingebaut, ich messe nur in einem x-beliebigen Abstand derzeit. Das kommt dann später mal, erstmal will ich einen vernünftige Messung hardwaremäßig ans laufen kriegen. Derzeit ist es so, dass ich mit obiger Schaltung fast richtig messe, aber nur fast. Die Referenz, die ich dazu benutze sind 5000 Ohm (2x10k/0,1% Widerstände parallel), die der NTC bei 25°C haben soll. Wenn ich die Schaltung mit R4 = 5k simuliere, dann sollte ich am Ausgang lt. Simulation eine Spannung von 612,2 mV messen. Mit einem Handmultimeter (0,05% Grundgenauigkeit + 3 Digits meine ich) messe ich 614,2 mV und das etwas genauere Keithley 2000 zeigt mir 611,x mV. Allerdings meint der ADC was anderes, da bekomme ich 609 mV zu sehen, was bei 100 Messungen Digit-Werte ergab von 826 bis 836 (= 605 bis 612 mV) bei eben 3,000V Referenzspannung (Handmultimeter 3,001 V, K2000 zeigt 2,9999.. V). Ein Digit bei dem 12-bit ADC sind 0,732 mV, 10 Digits "wackeln" sind also 7,32 mV, was ich viel finde und zudem entsprechen 10 Digits ca. 3,4 Bits, also von den 12-Bit stehen mir dadurch nur noch 12 Bit - 3,4 Bit = 8,6 Bit (ENOB) zur Verfügung und das ist zuwenig, weil ich 400 Werte habe (2^8,6 = 388) und dazu kommen ja noch andere Dinge, die die ENOB-Zahl sinken lassen. Woher das mit dem 10-Digits wackeln kommt, weiß ich noch nicht, vllt. ist es die Verbindung vom Messverstärker zum ADC, der Draht ist vllt. 10 cm lang. Vllt. hilft es auch, einen 10 nF Kondensator am Eingang des ADC zu packen. Vllt. ist das auch eine Ursache der Offsetspannung des OP's. Alternativ hätte ich noch ein LTC6081, der eine Offsetspannung von +/- 70µV hat. Allerdings weiß ich noch nicht, wie ich das Winzding auf eine Breakout-Adapter kriegen soll.
K. H. schrieb: > heißt > das dann, dass die Ausgangsspannung um 0,9V x 3,3 = 2,97 mV wackeln > kann? Nein das ist nur ein statischer Offset der bei Raumtemperatur des OPs auftritt. Im Extremfall addieren sich die Offsets aller 4 OPs auf (falscher Strom und falsche Spannung also rund 4 * den oben genannten Fehler im Extremfall bei 25 Grad C). Das wackeln kommt dann bei sich ändernder Umgebungstemperatur mit 4 * 1 uV / K das sich noch oben drauf addiert. K. H. schrieb: > Ein > Digit bei dem 12-bit ADC sind 0,732 mV, 10 Digits "wackeln" sind also > 7,32 mV, was ich viel finde Ist auch viel. Bei einem ordentlichen 12 Bit ADC und korrekter Masseverdrahtung und rauscharmer Versorgung darf der ADC nur beim Übergang von einem zum nächsten Digit wackeln. Interessant wird es dann wenn statt des 5K Festwiderstandes dann tatsächlich ein Sensor mit einer etwas längeren Leitung dran hängt und irgendwelche Störer (Led-Lampe, Handy) auf die Schaltung einwirken. K. H. schrieb: > Vllt. hilft es auch, einen 10 nF Kondensator am Eingang des ADC > zu packen. Viel Spaß: Im Datenblatt steht: "The LMC6484 can typically directly drive a 100 pF load with VS = 15V at unity gain without oscillating." Das reicht auch nicht für längere Leitungen je nach Schirmung hat man 33-100 pF/m Da brauchst Du noch einige Grundlagen wie z.B. "isolating capacitive loads" bevor das was wird. Gruß Anja
Anja schrieb: > Interessant wird es dann wenn statt des 5K Festwiderstandes dann > tatsächlich ein Sensor mit einer etwas längeren Leitung dran hängt und > irgendwelche Störer (Led-Lampe, Handy) auf die Schaltung einwirken. Das werde ich morgen mal checken. Aber genau um diese Störungen geht es, denn die sieht man ja nicht und können überall sein und auch durch Wände durch. Und das alles wegzufiltern ist dann ziemlich aufwändig würde ich sagen und wird wohl auch platzmäßig nicht gerade klein werden, wenn die Widerstände nicht größer als 100 kOhm sein sollen. Anja schrieb: >> Vllt. hilft es auch, einen 10 nF Kondensator am Eingang des ADC >> zu packen. > Viel Spaß: Im Datenblatt steht: > "The LMC6484 can typically directly drive a 100 pF load with > VS = 15V at unity gain without oscillating." Habe ich gelesen, aber in dem Fall geht es wohl um die Sprungantwort und das der OP das nicht auffangen kann und damit anfängt zu schwingen. Aber ich habe ja nur zeitlich sich langsam verändernde Signale und der OP läuft nicht mit 15V sondern nur mit 3V. Dennoch habe ich mal den Ausgang mal mit einem 10 nF versehen (ohne Widerstand) und - oh Wunder - die AD-Werte aka Digits schwanken nicht mehr so heftig. Jetzt habe ich das mal mit mehreren Kondensatoren versucht, 1 nF, 10 nF und 47 nF und da gibt es keinen großen Unterschied. In der 2. Runde habe ich auch einen 330R Widerstand (RC-Glied) zugefügt und das jetzt auch mal doppelt, also RCRC mit R = 330 R und 1. C mit 10 nF und 2. C mit 1 nF. Zudem stimmen jetzt der Mittelwert über 100 Messungen gut überein mit dem, was ich erwartet habe. Lt. meine Rechnung müsste ich 835 Digits = 611,7 mV kriegen, habe aber bei allen vier Varianten etwas weniger. Die Ergebnisse bzgl. Digits-Schwankungen am ADC: Ohne irgendwas am Ausgang: 10 Digits, Mittelwert 831,4 dig. = 609,1 mV mit 10 nF am Ausgang: 5 Digits, Mittelwert 833,7 dig. = 610,7 mV mit 330 R + 10 nF: 5 Digits, Mittelwert 833,7 dig. = 610,7 mV mit 330 R + 10 nF + 330R + 1nF: 3 Digits, Mittelwert 832,7 dig. = 610 mV (s. Bildchen oben) Am Eingang (R4, NTC) irgendwas mit Kondensatoren zu machen, z. B. parallel zu R4 oder von beiden Pins jeweils nach GND liefert Extremkäse = nicht tun. Warum weiß ich (noch) nicht.
K. H. schrieb: >> Welche Komponente hat denn da die Kennlinie des NTC linearisiert? > Hatte ich übersehen.... > Bei der Übertragungsfunktion sollte alles linear bleiben, damit die > Kurve des NTC's nicht verfälscht wird Das wurde klar, als du schriebst dass du mit Übersetzungstabellen arbeitest. Alles Ok. K. H. schrieb: > Wie sollte das dann aussehen, wenn ich über einer störungsbelasteten > Verbindung messen will = differentielle Messung? Wie gesagt würde ich versuchen, die Störungen mit einem simplen R/C Tiefpass zu filtern. Vielleicht ist das zu simpel, um einzuleuchten. Aber so bin ich halt.
K. H. schrieb: > z. B. > parallel zu R4 oder von beiden Pins jeweils nach GND liefert Extremkäse > = nicht tun. Vermutlich schwingt die Stromquelle. -> versuche mal einen kleinen Serienwiderstand zwischen Stromquellenausgang und NTC. Und ggf einen Kondensator zwischen Ausgang und negativem Eingang. (die Konstantstromquelle ist trotzdem immer noch nicht Symmetrisch!!!). wieso oder? Normal hat man einen großen X-Kondensator über dem Eingang und 2 kleine Y-Kondensatoren gegen Masse. (Eigentlich bei Leitungen von Außen ja gegen Metallgehäuse und nicht gegen GND). Gruß Anja
> Am Ausgang ist ein 12-Bit ADC angeschlossen. Die Temperatur soll mit
einer Genauigkeit von 0,13°C erfasst werden evtl. wäre auch 0,2°C noch
akzeptabel.
Erst mal sich den Unterschied zwischen Aufloesung und Genauigkeit
reinziehen. Und dann das Datenblatt zum NTC genauer anschauen. Dort gibt
es bei den Besseren eine Genauigkeit zum Beta-Wert, und einen für den
Widerstand. Ah. Ja, und dann gibt es noch eine Drift von locker 2K ueber
die Jahre.
Und sich dann ueberlegen was man genau wozu braucht. Ich baue zB
Temperaturregler, welche als Genauigkeit ca 2 Grad & als Stabilitaet
0.01Grad haben. Eigentlich waeren's 0.001 Grad, aber dann ist der Aufbau
fuer die Anwender zu anspruchsvoll.
Auch mit der Spannungsteiler Methode.
Anja schrieb: > Vermutlich schwingt die Stromquelle. -> versuche mal einen kleinen > Serienwiderstand zwischen Stromquellenausgang und NTC. Und ggf einen > Kondensator zwischen Ausgang und negativem Eingang. Dass die Stromquelle schwingt, kann sehr gut sein, denn ich hatte mit nur einem Kondensator am Eingang parallel zum NTC (R4) Digit-Werte, die waren jenseits von allem, was ich gebrauchen kann. Und in einem Fall hatte ich Werte, die waren innerhalb des Messbereichs, aber die Schwankungen lagen bei ca. 200 Digits. Wenn ich zwei Kondensatoren zufüge, mit jeweils einem Bein jeweils am NTC und dem anderen an GND (Gehäuse habe ich noch nicht), habe ich wieder Messwerte außerhalb des Bereichs. Im Bildchen oben habe ich mal deine Vorschläge reingemalt (rot). Ist das so richtig? Allerdings verstehe ich dann nicht, warum die Mimik anfängt zu schwingen, wenn ich den zusätzlich ein 100 nF Kondensator parallel zum NTC schalte (grün). Das ist doch eine Verbindung zwischen OP-Ausgang und OP-Minus-Eingang. Anja schrieb: > die Konstantstromquelle ist trotzdem immer noch nicht Symmetrisch!!! Kann sein, ich habe das Teil von dem alten Thread ja nur übernommen und da ging es um eine 4-Leiter PT100-Messung. Jetzt habe ich den Fred nochmal durchwühlt und da ist mir vom User 'Helmi' der Beitrag "Re: Temperaturmessschaltung möglichst genau?" mit dem PT100BOX.zip aufgefallen. Darin steht für den PT100 die obige Stromquelle eingemalt. Der beiden Ausgangspins für den Strom (4-Draht Messung) sind am Multiplexer (X, Y) angeschlossen. Ich habe nur den Teil jetzt mal rauskopiert und ich vermute mal, dass das schon eher eine symmetrische Konstantstromquelle ist. Allerdings weiß ich da nicht so genau, wie groß die Widerstände R1 und R2 in meinem Fall sein sollten. Ein PT100 hat ja nun mal 100 Ohm +/- ein paar zehntel aber mein NTC hat 5k@25°C und im Messbereich liegt der Wert zw. grob 2700 und 15kOhm. Dazu sind in dem Plan noch 3 Kondensatoren drin C1, C2 und C3. Das Teil sieht mir schon symmetrischer aus als mein Teil. Ich denke mal, ich werde meine Stromquellenabteilung noch mal ändern (müssen) und die Widerstände werden irgendwo in der Mitte vom Messbereich liegen. In meinem Plan habe ich einen 24k3 Widerstand auf dem Weg von OP-Ausgang nach Masse, also könnte ich den wohl aufteilen in 2x5k + 14k3, dann sollte der Strom gleich bleiben und zwischen den Widerständen dann den NTC klemmen wie im 3. Bildchen. Ist 2x5k ok oder eher Käse?
Pandur S. schrieb: > Erst mal sich den Unterschied zwischen Aufloesung und Genauigkeit > reinziehen. Die ist mir durchaus bekannt. Auflösung ist 400 Werte (Kelvin) auf 2^12 Bit = 4095 dig => 400K/4095dig = 4K/40,95dig ≅ 4K/40dig = 0,1K/dig. Genauigkeit: 0,1K bis 0,2K, wenns weniger werden soll, wirds schwierig. Pandur S. schrieb: > Und dann das Datenblatt zum NTC genauer anschauen. Dort gibt > es bei den Besseren eine Genauigkeit zum Beta-Wert, und einen für den > Widerstand. Für beide Werte steht da +/- 0,5%. Pandur S. schrieb: > und dann gibt es noch eine Drift von locker 2K ueber > die Jahre. Das heißt was? Dass der NTC in ein paar Jahren um 2K daneben misst? Was ist die Ursache dazu? Ich denke nicht, dass das alle betrifft. Im dem 2-Seiten Datenbladl steht leider nichts zum Langzeitverhalten. Pandur S. schrieb: > Auch mit der Spannungsteiler Methode. Kann man ja machen, aber wie gesagt, zwischen NTC und Messverstärker oder auch Spannungsteiler liegen ein paar Meter Kabel. Und bei so einer Konstellation ist die symmetrische Messung das Mittel der Wahl. Um einen Differenzverstärker komme ich also nicht drumherum bzw. man könnte auch 2 ADC-Eingänge nehmen und dann rechnerisch den Wert ermitteln aber es kann auch sein, dass ich nur ein ADC-Kanal von insgesamt 5 gebrauchen kann. Außerdem ist es SW-mäßig einfacher zu händeln, wenn man nur einen Kanal ausliest und nicht zwei direkt hintereinandder (das RTOS funkt dazwischen). Zudem habe ich mit Spannungsteiler nicht mehr den vollen Bereich des ADC. Wenn ich das durchrechne mit den Werten von https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx dann habe ich einen Spannungsbereich von 0,863 bis 2,04 Volt für den ADC => dU = 1,177 V = 1606 digits für 400 Messwerte = 4 dig/K = max. Auflösung 0,25 K.
K. H. schrieb: > Das heißt was? Dass der NTC in ein paar Jahren um 2K daneben misst? Schlichtes Ja. Vor kurzem ging unsere Buderustherme nach Brauchwasseranforderung in Störung mit Fehler : "Heizkreislauf überhitzt". Der Fühler für die Brauchwassertemperatur ist leicht zu finden und ergab einen Wert von 11K bei einem Sollwert von 8K. Das Gerät ist ca. 15 Jahre in Betrieb. Je nach persönlichem Temperament wird man das als "passt schon" oder "unmöglich" kommentieren. Ich jedenfalls hoffe, daß der Brenner es jetzt noch durch diesen Winter schafft :-) Gruß Rainer
Rainer V. schrieb: > Der Fühler für die Brauchwassertemperatur ist leicht zu > finden und ergab einen Wert von 11K bei einem Sollwert von 8K. Das Gerät > ist ca. 15 Jahre in Betrieb. Das heißt was konkret? Nach 15 Jahren weicht der NTC um 11K ab und der sollte nur um 8K abweichen, also 3K zuviel? Aber 15 Jahre ist schon eine lange Zeit und ich denke, wenn der NTC, den ich gebrauche die nächsten 5 Jahre ohne großartig extreme Bedingungen (T = -10°C bis 60°C) deutlich unter 2K abweicht. Neues zum Messverstärker: Das Ding läuft und liefert vernümpftige Werte. SO MUSS DAS! Dazu habe ich die Schaltung noch verändert. Die Y-Kondensatoren C1 und C2 (Schaltung oben) sind nicht drin, die bringen in meinem Aufbau eher Störungen rein, am Ausgang ist ein Doppel-RC (330R + 10nF und 464R + 100 nF) am wirken was allerdings zur Folge hat, dass die Digits vom ADC im Schnitt um einen Digit niedriger wurden, das habe ich in der SW dazu gerechnet und es passt, am Ausgangs-OP ist zwischen Ausgang und Minus-Eingang ein 100 nF parallel zum R8 gekommen. Die Widerstände R3, R11 und R12 von der Konstantstromquelle haben andere Werte bekommen als das, was da oben steht und dazu noch ein Widerstand (R6 am U1C) hat 50 Ohm noch dazu bekommen. Danach wieder eine neue Tabelle bauen (Digits-Temperatur) und das war es. Getestet habe ich es mit 2 Meter Zwillingslitze in Standard-Umgebung und neben in Betrieb befindlichen Geräten und das ganze nochmal mit 15 Meter Kabel, wobei das Kabel entlang von diversen Geräten ging. Bei den Digits gab es keine Ausreißer in den Messwerten, nur die üblichen Schwankungen (+/-2 Digits). Im Bildchen oben die blaue Kurve die Digit-Werte (linke Y-Achse) und die daraus resultierende Temperatur (rote Kurve, rechte Y-Achse) zu dem 1000 Messungen (ca. 15 Minuten Messdauer). Übrigens hatten bei einer Referenzmessung (5000 Ohm Wid. anstatt NTC = 25,0°C) bei 100 Messwerten ca. 70% der Messwerte den Idealwert von 828 Digits, die max. Abweichung war 826 bis 830 Digits = +/-2 Digits.
:
Bearbeitet durch User
K. H. schrieb: > Das heißt was konkret? Nach 15 Jahren weicht der NTC um 11K ab und der > sollte nur um 8K abweichen, also 3K zuviel? Das sollte dich auch nicht abhalten, mit einem NTC zu arbeiten. Ich fand die Änderung schon erstaunlich. Und es ist 8KOhm der Widerstand bei 25°C (Raumtemperatur). 11KOhm hat er jetzt nach 15 Jahren. Das wären immerhin 10% pro 5 Jahre! Habe auf die Schnelle auf dem Tisch mit Lötkolben und einem NTC aus der Bastelkiste überprüft, dass die Temperaturabhängigkeit aber noch vorhanden ist. Die Kurve scheint also nur "gewandert" zu sein. Problem habe ich jetzt mangels passendem NTC erst mal durch Absenken der Brauchwasser-Solltemperatur am Regler gelöst :-) Gruß Rainer
Rainer V. schrieb: > 8KOhm der Widerstand bei 25°C > (Raumtemperatur). 11KOhm hat er jetzt nach 15 Jahren. Ach so, 8K heißt bei dir 8kOhm. Bei mir heißt 8K acht Kelvin, weil K = Kelvin und k = kilo. So ist das gemeint. Und bei einem "Ofen" kommt es auch auf ein paar Kelvin nicht so an, sollte die Temp.-Kurve sich verschieben. Aber ich könnte vllt. mal bei Hersteller nachfragen bzw. erst mal guhgeln, wie das mit der Alterung bei dem Teil konkret aussieht. Aber ich denke mal, so'n Präzisions-NTC sollte in nicht extremen Temperaturbereich schon ca. 5 Jahre durchhalten, zumal der NTC einen Temperaturbereich von -60°C bis +150°C ab kann. im Datenbladl steht übrigens dazu: "Das Bauteil ist auch sehr gut für langzeitstabile, industrielle Thermometer oder Laborgeräte geeignet, die geeicht werden können.". Vllt. ist es auch nur Werbung.
K. H. schrieb: > Ach so, 8K heißt bei dir 8kOhm Ja, sorry. Und ich habe es auch nur erwähnt, weil ich die Änderung schon bemerkenswert finde. Nun ist bei der Therme natürlich "Alles" irgendwie gealtert. Manches wird sich vielleicht gegenseitig aufheben, Anderes eher nicht. Hatte übrigens gerade wieder diese Störung, diesmal allerdings ohne Brauchwasseranforderung! D.h. der Fühler im Heizkreislauf ist auch weggelaufen. Leider kommt man an den nicht so einfach und auch nicht im Betrieb ran. Diesen Fehler konnte ich beheben indem ich den Regler für die Flammenmodulation runtergedreht habe. Vielleicht hat ja auch schon das Drehen allein geholfen. Das mußte ich jetzt mal loswerden... Gruß Rainer
Gegen eingekoppelte Hochfrequenz Stoerungen hilft im einfachsten Fall fuer Gleichtaktstoerungen ein 10nF von jedem Stecker Pin gegen GND, welcher dann auch grad am Metallgehaeuse ist. Und fuer gegentakt stoerungen 10nF oder 100nF zwischen den Signalleitern. Bei der Spannungsteiler Loesung muss man sich den Fehler, hervorgerufen durch den Widerstand des Kabels anschauen. Kupfer hat einen Widerstand von 17 mOhm * meter / mm^2. Bedeutet bei 10m (hin und zurueck) mit 0.5 ^2, ergibt sich ein Widerstand von weniger als 0.8 Ohm, was gegen 10k des NTC nicht so dramatisch ist.
K. H. schrieb: > im Datenbladl steht übrigens dazu: "Das Bauteil ist auch sehr > gut für langzeitstabile, industrielle Thermometer oder Laborgeräte > geeignet, die geeicht werden können.". Vllt. ist es auch nur Werbung. Ich denke, dass die Hersteller hier bestimmt Formeln haben, mit denen sie sowas wie Langzeitstabilität hochrechnen können. Und wenn man z.B. alle 2 Jahre kalibriert, dann ist die Änderung des NTC in Grenzen sowieso egal. Vom Gefühl her würde ich sagen, dass für Langzeitstabilität Thermoelemente am Besten sind. Gruß Rainer
Rainer V. schrieb: > Und ich habe es auch nur erwähnt, weil ich die Änderung schon > bemerkenswert finde. Bist du sicher, dass die Messung der reine NTC war und nicht noch irgendwelche Dinge dazu, z. B. Parallelwiderstand oder Poti? Rainer V. schrieb: > Diesen Fehler konnte ich beheben > indem ich den Regler für die Flammenmodulation runtergedreht habe. > Vielleicht hat ja auch schon das Drehen allein geholfen. Das ist ein Standardfehler bei Potis. Auf einmal erhöht sich der Übergangswiderstand im Poti von der Schleifbahn zum Schleifer. Das hatte ich mit dem mir geschenketen Liedel-Tohster auch. Auf einmal wurde das Tohstbrot verbrannt, obwohl das Poti auf 3,5 stand. Einmal etwas dran drehen, Problem behoben. Fragt sich nur, wie lange. So ist das mit dem preiswerten Zeug. zott schrieb: > Gegen eingekoppelte Hochfrequenz Stoerungen hilft im einfachsten Fall > fuer Gleichtaktstoerungen ein 10nF von jedem Stecker Pin gegen GND, > welcher dann auch grad am Metallgehaeuse ist. Und genau die beiden Kondensatoren habe ich rausgeworfen. Zum einen habe ich kein Metallgehäuse und das wird es wahrscheinlich auch nie werden und zum anderen frage ich mich, inwieweit meine Messung überhaupt auf hochfrequentere Störungen empfindlich ist. Wenn ich die beiden Kondesatoren drin habe und ich verbinde die mit GND, dann werden die Störungen mehr. zott schrieb: > Bei der Spannungsteiler Loesung muss man sich den Fehler, hervorgerufen > durch den Widerstand des Kabels anschauen. Auch bei meiner 2-Draht Messung müsste ich den Leitungswiderstand mit einrechnen, denn ich messe an den Klemmen (2-polig) und messe sozusagen an strombelasteten Kabel, was alles andere als genial ist. Aber der NTC hat irgendwas ab 2700 Ohm aufwärts und das Kabel nur ein paar Milliohm und der Strom übers Kabel ist 67 µA, daher fällt das nicht auf. Bei meiner letzten Messung mit ca. 14 Meter Kabel wäre der Leitungswiderstand ca. 1,8 Ohm gewesen. Rainer V. schrieb: > Ich denke, dass die Hersteller hier bestimmt Formeln haben, mit denen > sie sowas wie Langzeitstabilität hochrechnen können. Zu dem Thema steht da leider nix. Aber ich gehe mal davon aus, dass der NTC wesentlich länger hält. Warum? Mir ist eingefallen, dass ich noch ein rel. altes digitales Thermometer habe, das letztens den Geist aufgegeben hat. Das Dink ist sicher über 20 Jahre alt aber die angezeigte Temperatur passte immer sehr gut und als Messaufnehmer ist bei dem Teil zwei NTC's verbaut (Innen- und Außenfühler). Und als ich den NTC im Sommer bei warmer Raumtemperatur gemessen habe, hat das Ding einen Wert von 9,xx kOhm angezeigt. Ich denke, bei 25°C hat das Teil 10 kOhm. Und Thermoelemente... ich weiß nicht, ob das was bringt außer dass es vllt. ne Ecke teurer wird. Der 2-3 Euro NTC muss gehen PUNKT :D
K. H. schrieb: > Bist du sicher, dass die Messung der reine NTC war und nicht noch > irgendwelche Dinge dazu, z. B. Parallelwiderstand oder Poti? Ja...diesen Fühler holst du mit einem Draht aus dem Rohr, was im Brauchwasserspeicher steckt. Dieser Fühler samt Anschlußstecker kostet als Ersatzteil schlappe 45€...Und der Potieffekt ist auch klar. Ist so wie bei unseren guten, alten Autos. Bei Problemen immer erst mal alle AMP-Stecker abziehen und wieder draufstecken...meist war der Fehler dann weg :-) Gruß Rainer
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.