NTC Widerstandswerte

Gast #3539831
Lesenswert?

Hallo!

Ich will mit folgendem NTC eine Temperaturmessung durchführen:
http://at.mouser.com/ProductDetail/Murata-Electronics/NXFT15WB473FA1B150/?qs=MY6wChARw2zH6fHzHxCaIA==

Mein verwendeter Sensor ist der NXFT15WB473FA1B150 (siehe Datenblatt 
Seite 25), also jener, der bei 25°C einen R von 47kOhm hat.

Ich würde das ganz einfach mit einem Spannungsteiler (fixer 
Vorwiderstand zum NTC) machen, und die Spannung am NTC (parallel dazu 
ein kleiner C) zu einem ADC Eingang führen.

Ich will die Temperatur in einem Bereich von 0°C bis 30°C messen. Um den 
Vorwiderstand so einzustellen, dass ich die optimale Auflösung des ADC 
ausnutze, benötige ich die Widerstandswerte des NTC bei gegebener 
Temperatur. Wie kann ich die berechnen? Kann ich hier einfach die Formel 
für T von Wikipedia unter "Grundlagen"
http://de.wikipedia.org/wiki/Hei%C3%9Fleiter
hernehmen, und einen B-Wert von 4050 annehmen?

Dann könnte ich aus dieser Gleichung die beiden Punkte 0° und 30°C 
einsetzen und mir daraus den Vorwiderstand berechnen. Kann ich das so 
machen?
#3539850
Lesenswert?

Werner13 schrieb:
> Kann ich hier einfach die Formel
> für T von Wikipedia unter "Grundlagen"
> http://de.wikipedia.org/wiki/Hei%C3%9Fleiter
> hernehmen, und einen B-Wert von 4050 annehmen?

Ganz so einfach wird es nicht werden. Du wirst zumindest 
Referenzmessungen machen müssen und daraus dann die Materialkonstante 
genau deines NTCs ermitteln.
Warum nimmst du nicht einen DS18B20, einfacher und genauer gehts (ohne 
größeren Aufwand) fast nicht.

Für verschiedenste Messmethoden siehe auch:
Temperatursensor
Gast #3539866
Lesenswert?

OK, hab ich das richtig verstanden, dass ich die Materialkonstante 
bestimmen muss, weil Sie von Sensor zu Sensor verschieden ist 
(Toleranzen)? D.h. jedesmal, wenn ich einen neuen Sensor einsetze 
(theoretisch), müsste ich die Konstante neu bestimmen?

Wenn ich aber die Konstante einmal berechnet habe, dann kann ich diese 
immer für die Berechnung der Temperatur hernehmen?
Gast #3540069
Lesenswert?

Wenn ich die beiden Werte für 23 und 0°C in die Formel einsetze, bekomme 
ich für B einen Wert von 4024 raus. Das liegt im gegebenen Bereich. Da 
die Messtemperaturen auch ungefähr in dem Bereich liegen (0-30°), werde 
ich diesen Wert für B heranziehen.

Ich muss nun den Spannungsteiler so einstellen, dass ich möglichst den 
ganzen verfügbaren Spannungsbereich für die Messung nutzen kann (Die 
Referenzspannung beträgt 2.5V, als Spannungsversorgung für den U-Teiler 
stehen 3.3V zur Verfügung. Das heißt, für einen Extremwert (30°) soll 
möglichst wenig Spannung gemessen werden, bei 0° sollen gerade 2.5V am 
Messwiederstand abfallen, sodass ich bei 0° die maximale Spannung messe.

Kann man das überhaupt für beide Grenzwerte abstimmen oder muss ich 
einfach schaun, dass ich gerade bei 0° eine Spannung von 2.5V messe, der 
Wert für 30° ergibt sich dann?

Danke, lG
Gast #3540135
Lesenswert?

Welche beiden Widerstände müssen gleich sein? Und welche Formel soll ich 
nach was ableiten? Sorry, komm da nicht ganz mit...

Ich weiß, dass ich bei 0° einen Widerstand von 157kOhm und bei 30°C 
einen Widerstand von 37,5kOhm hab. Im ersten Fall soll nun die 
höchstmögliche Spannung (also idealerweise 2,5V) und im zweiten Fall die 
niedrigste Spannung (also idealerweise 0V) gemessen werde, um die 
Auflösung optimal auszunutzen.

Könnt Ihr mir einen Tip geben?

Danke, lG
Gast #3540197
Lesenswert?

Um den 2. Fall zu erfüllen müsstest du schon einen Operationsverstärker 
einsetzen oder den NTC an eine negative Spannung statt GND anschließen.

Ansonsten wirst du nicht drum herum kommen, dass bei 30° rund 0,6V an 
deinem Eingang anliegen.

Gruß
#3540205
Lesenswert?

Hallo Werner,

hier mal ein Beispiel falls du eine 5V Referenzspannung hast. Da reicht 
dann eine rein passive Schaltung.  Wenn du "nur" eine 2,5V Referenz 
hast, dann benötigt man halt einen Opamp.
Die untere Kurve ist die Ableitung die gibt an wie viel mV/°C du 
bekommst.

Um zu simulieren musst du dir LTspice von www.linear.com herunterladen. 
Das ist kostenlos. Meine Dateien nach C:\Test kopieren. Dann die .asc 
mit LTspice öffnen.

Gruß
Helmut

http://ltspice.linear-tech.com/software/LTspiceIV.exe
Angehängte Dateien:
Gast #3540258
Lesenswert?

Der Spannungsteiler kann auch aus nur zwei widerstaenden bestehen, dem 
47k NTC und einem 47k festwiderstand. Nehmen wir den festwiderstand 
unten :

Ua : = U0 *  Rntc/(Rntc+Rfest)

Nun Rntc einsetzen als R0* (...)(T)
Dann ableiten als dUa/dT = .. f(T)
Sowas rechnet man zB mit Mathematica, Maple, ...
Gast #3540424
Lesenswert?

@Thomas:
Hallo,

Ich hab den Wert für den Vorwiderstand berechnet, damit bei 0° 2,5V 
anliegen, es kommt 50,4 kOhm raus. Der Widerstand des NTC bei 30° 
beträgt 37,5kOhm, das ergibt dann eine Spannung von 1,4V. Ich würde 
damit also nur den Bereich von 1,4V bis 2,5V und somit weniger als 50% 
des nutzbaren Spannungsbereiches ausnutzen.

Wie kommst du auf 0,6V?

Als µC verwende ich den AT32UC3C1128C:
http://www.atmel.com/devices/at32uc3c1128c.aspx

Muss ich eigentlich für diese Berechnungen auch einen Eingangswiderstand 
des ADC berücksichtigen?

Weiters würde mich interessieren, ob mit dieser Dimensionierung (50kOhm 
Vorwiderstand, und z.B. 157kOhm Messwiderstand bei 0°) der ADC genug 
Strom bekommt? Auf Seite 1252 des Datenblatts (complete) steht, dass der 
ADC (ADCIFA) 7µA/MHz aufnimmt. Ich verwende 64 Mhz und komme damit auf 
448 µA.

@Helmut:
Was genau meinst du denn mit Referenz: Die Gesamtspannung für den 
Spannungsteiler oder die Referenzspannung für den ADC? Als Spannung für 
den U-Teiler stehen mir 3,3V zur Verfügung, als ADC Referenz 2,5V!

DANKE!
#3540434
Lesenswert?

> Was genau meinst du denn mit Referenz

Die gemessenen Spannung hängt von Spannung ab an der der Spannungsteiler 
angeschlossen ist. Wenn du die Versorgungsspannung nimmst, dann ist die 
gemessene Spannung eben proportional zur Versorgungsspannung. Du 
solltest dann einen zweiten rein Ohmschen Spannungsteiler machen an dem 
du die Versorgungsspannung misst. Da die ATmega mehrere ADC-Eingänge 
haben ist das kein Problem.

Wenn der Hub zu klein ist, dann muss man halt einen Opamp zur 
Verstärkung spendieren.
Gast #3540500
Lesenswert?

Hallo Helmut,
danke, deine Simulation habe ich runtergeladen. Wenn ich die Spannung 
auf meine 3,3V ändere, dann bin ich bei 0° bei 1,6V und bei 0° bei unter 
0,6V. Das passt mir derweil für versuchszwecke, später wird dann ein 
anderer NTC eingesetzt.

Brauch der ADC (siehe Datenblatt des µC in einem früheren Post) einen 
Mindeststrom? Ich mache mir bedenken wegen der hohen WIderstände?!

Danke, lG
Gast #3540511
Lesenswert?

Wenn ich die Widerstände mit 100k und 300k wähle ist bes noch etwas 
besser...

OK, dann messe ich die SPannung und aus diesem digitalen wert kann ich 
mir (da ich ja die Referenzspannung und die Auflösung kenne) den 
Widerstandswert des NTC berechnen. Aus diesem Wert kann ich mir mit der 
Formel aus Wikipedia (Artikel Heißleiter) die Temperatur ausrechnen (Den 
B-Wert habe ich messtechnisch ermittelt)?

Ist das eine gängige Vorgehensweise?
Gast #3540567
Lesenswert?

Ich wuerd einen NTC auswaehlen, der einen B Wert spezifiziert hat. zB 
auf 1%. Ist die absolute Genauigkeit denn wichtig? Ich wuerd's nicht 
nachmessen wollen. Ich wuerd auch einen niederohmigeren NTC auswaehlen 
und falls Stromaufnahme wichtig ist, schalten.
Gast #3540574
Lesenswert?

@radiofox:
Super link, danke!

Für meine Anwendung kommen für Rs 75k und für Rp 750k raus. Das schaut 
mit der LTSpice Simulation sehr linear aus und deckt auch einen relativ 
großen Spannungsbereich ab! Danke!
#3540600
Lesenswert?

Werner13 schrieb:
> @radiofox:
> Super link, danke!
>
> Für meine Anwendung kommen für Rs 75k und für Rp 750k raus. Das schaut
> mit der LTSpice Simulation sehr linear aus und deckt auch einen relativ
> großen Spannungsbereich ab! Danke!

Super.
Ein linearer Zusammenhang ist schon mal die halbe Miete.

Denn. Da würde ich nicht lange fackeln um mir den Widerstandswert des 
NTC auszurechnen. Denn im Grunde interessiert mich der ja nicht. Gesucht 
ist ja der Zusammenhang zwischen ADC Wert und Temperatur. Der ADC Wert 
ist linear zur gemessenen Spannung und die wiederrum ist linear zum 
Widerstandswert, welcher wiederrum linear zur Temperatur ist.

D.h. ich fasse all diese Umrechnungen zu einer einzigen zusammen.
Bei 3 (oder mehr) Temperaturen den ADC Wert messen und damit hab ich 
meinen Zusammenhang ohne mich um irgendwelche Materialparameter kümmern 
zu müssen. Im µC wird dann einfach aus dem ADC Wert direkt die 
Temperatur ermittelt. Da alle Umrechnungen linear sind, reicht es also 
aus, ein
1
   Temperatur = k * ADC_Wert + d
zu postulieren, bei dem einzig k und d unbekannt sind. Anhand der bei 
bestimmten Temperaturen festgestellten ADC_Werte lassen sich diese 
beiden Konstanten aber ermitteln.

(Mehr Messungen zwischen ADC_Wert und Temperatur sind deshalb gut, weil 
man die dann in ein Diagramm eintragen kann [zb. Excel] und nachsehen, 
wie linear die ganze Geschichte in der Praxis wirklich ist. Denn grau, 
lieber Freund, ist alle Theorie. Aus der Kurvenform im Diagramm sieht 
man dann auch sehr schnell, ob man mit einer Geraden wirklich 
durchkommt, oder ob man nicht zb eine Parabel [also eine Gleichung 2. 
Grades] oder vielleicht etwas noch höheres durch die Punkteschar 
durchlegt)
#3540683
Lesenswert?

Karl Heinz schrieb:

> Bei 3 (oder mehr) Temperaturen den ADC Wert messen

Es wäre sinnvoll, ca. 37° mit in den Meßbereich hineinzunehmen.
Auf diesen Wert kann man mit Hilfe der eigenen Armbeuge und
einem Fieberthermometer recht genau kalibrieren. Das gleiche
gilt für die 0° gemessen durch Rühren in Eiswasser. Nur mit
den Zwischenwerten wirds schwieriger. Wenn die Linearisierung
gut gelungen ist und die Genauigkeitsanforderungen nicht allzuhoch
sind, kann man ja vielleicht Zwischenwerte auch errechnen.
Gruss
Harald
#3540706
Lesenswert?

Harald Wilhelms schrieb:
> Es wäre sinnvoll, ca. 37° mit in den Meßbereich hineinzunehmen.
> Auf diesen Wert kann man mit Hilfe der eigenen Armbeuge und
> einem Fieberthermometer recht genau kalibrieren. Das gleiche
> gilt für die 0° gemessen durch Rühren in Eiswasser.

Ehe ihr so genau kalibrieren wollt, wie genau sind denn die NTCs des TOs

Werner13 schrieb:
> D.h. jedesmal, wenn ich einen neuen Sensor einsetze
> (theoretisch), müsste ich die Konstante neu bestimmen?

Keine Ahnung wie weit die Konstante von Einem zum Anderen abweicht. 
Interessant sind zumindest die Toleranzen:
http://www.schukat.com/schukat/schukat_cms_de.nsf/index/CMS1644A08A9DC28A99C1256D710038E16D?OpenDocument
Es gibt also 2%tige aber genauso 10 oder gar 20%ige.
Die Frage ist welche NTCs hast du und
Wie genau willst du messen?

ich hatte oben schon auf genauere einfach anzuwendende Sensoren wie 
DS18B20 hingewiesen, aber vom TO kam keinerlei Reaktion.
#3540758
Lesenswert?

Hallo zusammen,
ihr macht da ja eine ganz schöne Wissenschaft aus dem NTC, der nur für 
0..30°C eingesetzt werden soll...

Ich nehm mir mal den hier her:
http://www.reichelt.de/Heissleiter-Varistoren/NTC-0-2-47K/3//index.html?ACTION=3&GROUPID=3114&ARTICLE=13564&SEARCH=NTC%2047k&SHOW=1&OFFSET=16&;

Der NTC hat bei 25°C 47k (+- seiner Abweichung, aber dazu später mehr).
Die Mitte zwischen dem gewünschten Bereich 0..30°C ist bei 15°C und der 
NTC hat dann 70,2k. Nach diesem Wert wählst du deinen 
Vergleichswiderstand.

GND --- 70k --- [ADC] --- NTC --- VCC

Der ADC bekommt als Vref auch die VCC. Das heißt ich sehe nur das 
Widerstandsteiler-Verhältnis am ADC. Nichts was von der Spannung 
abhängt!
Der maximale Strom über dem NTC ist bei 30°C (39k). Bei 5V wären das 
(Untc * (5V/(70k+39k)) => 45µA über dem NTC, der 1,8V abbekommt. Also 
ganze 80µW am NTC, das ist dann wohl vernachlässigbar....

In erster Näherung bei 10Bit ADC macht eine Temperaturänderung von 10°C 
100ADC-Schritte am ADC aus. Einfach mal Excel-Tabelle mit 
Widerstandsteiler und den "idealen" Werten aus dem Datenblatt rechnen.
Im Programm rechnest du also Temp = 15°C + (ADC_Wert-512)/10
Das ist erst mal eine verdammt gute Näherung, wenn da der NTC und der 
Vergleichswiderstand nicht eine Abweichung hätte.
Die "512" in der Formel korrigierst du passend zu deinem tatsächlichen 
Wert des Vergleichswiderstandes.
Aber in der Regel reicht es schon eine reine Offset-Korrektur zu machen. 
Halte den NTC hübsch eingepackt in ein Wasser/Eiswürfelgemisch und 
bestimme den Offset. Bei einem Bereich von 0..30°C noch 
Linearitätsfehler zu korrigieren ist unnötig.
#3540837
Lesenswert?

Der C-Compiler kann doch Fließkomma. Damit kannst du direkt die Formel 
mit "log" auswerten um die Temperatur zu berechnen. Die Formeln stehen 
in meiner Schaltung. Das dauert zwar ein paar Millisekunden aber wenn 
der Prozessor sonst eh nichts zu tun hat stört das nicht. Ansonsten halt 
eine Tabelle im Flash ablegen, wenn es ganz schnell gehen muss.
#3540850
Lesenswert?

René B. schrieb:
> Hallo zusammen,
> ihr macht da ja eine ganz schöne Wissenschaft aus dem NTC, der nur für
> 0..30°C eingesetzt werden soll...

Was bitte ist am feststellen von 2 ADC Werten bei gleichzeitigem messen 
der Temperatur mit einem Thermometer eine Wissenschaft?

2 Wertepaare, daraus die beiden Koeffizienten für die Umrechnung 
bestimmt und ab damit ins Programm. Noch einfacher gehts nicht. Das 
einzige was aus Benutzersicht noch einfacher wäre, das wäre wenn er den 
Sensor auf eine bestimmte Temperatur gebracht hat (die er dem Programm 
einstellen kann) und er dann einen Knopf drückt. Das ganze 2 mal und das 
Programm rechnet sich dann selbst die Koeffizienten aus.

Und Bauteiltoleranzen sind mir dann auch völlig schnuppe, weil die 
Umrechnung dann nicht auf irgendwelchen Werten basiert, die am grünen 
Tisch bestimmt wurden sondern real, mit den realen Bauteilen, ermittelt 
wurden.
#3540857
Lesenswert?

Karl Heinz schrieb:
> René B. schrieb:
>> Hallo zusammen,
>> ihr macht da ja eine ganz schöne Wissenschaft aus dem NTC, der nur für
>> 0..30°C eingesetzt werden soll...
>
> Was bitte ist am feststellen von 2 ADC Werten bei gleichzeitigem messen
> der Temperatur mit einem Thermometer eine Wissenschaft?
>

Also in der Serienfertigung will man nichts über Temperatur abgleichen, 
weil das viel zu lange dauert bis man sicher ist, dass alles auf 0,1°C 
eingeschwungen ist.
#3540862
Lesenswert?

Karl Heinz schrieb:
> Und Bauteiltoleranzen sind mir dann auch völlig schnuppe

Nicht Drift/Alterung. :-)

Das wird mit einem NTC halt eher ein Schätzeisen. Solange einem die 
Grenzen klar sind ist das ja auch kein Problem, nur habe ich den 
Verdacht daß dem TO die Grenzen der Messung und der Unterschied zwischen 
Genauigkeit und Auflösung nicht ganz klar sind, sonst würde er sich 
weniger Gedanken darüber machen daß er nur die Hälfte des Messbereichs 
eines 10 Bit Wandlers nutzen kann.
#3540897
Lesenswert?

Wenn du einen einfachen Spannungsteiler aus einer Reihenschaltung

Vcc -> Festwiderstand -> NTC -> GND

verwendest, bekommst du den maximalen Spannungsunterschied zwischen 
deinen beiden Extremwerten bei bekannten Widerstandswerten
 und
 durch den Festwiderstand
Gast #3540922
Lesenswert?

Hallo alle,

die Variante von KarlHeinz mit der linearen Funktion finde ich super! 
Funktioniert perfekt, ist sogar ziemlich genau!

Ist richtig, der NTC ist natürlich nicht der beste. Ich habe den nur für 
Testzwecke verwendet, weil er billig ist. Später kommt da ein besserer, 
aber die Vorgehensweise der Auswertung wird dann die gleich sein.

Danke, lG
Gast #3541644
Lesenswert?

Hmmm... So linear ist das ganze doch nicht, wie du sagtest, Karl Heinz.

Nachdem ich zur Zeit noch keine genauen Werte brauche, reicht mir das 
aber... Es soll irgendwann tatsächlich für die Serie sein... Mit dem 
besseren Sensor werde ich dann ev. auf eine lineare Kennlinie kommen, 
ansonsten muss ich ein Modell höherer Ordnung wählen.

LG
#3541870
Lesenswert?

Werner13 schrieb:
> Hmmm... So linear ist das ganze doch nicht, wie du sagtest, Karl Heinz.

Ich?
Du hast doch gesagt, dass das in der Simulation schon schön linear 
aussieht.

Welche Kurvenform hast du denn wirklich?
Dann nimmst du eben anstelle von
1
  Temp = k * ADC_Wert + d

eine quadratische Gleichung
1
  Temp = l * ADC_Wert * ADC_Wert + k * ADC_Wert + d

und benutzt 3 Temperatur/ADC_Wert Pärchen um die Koeffizienten zu 
bestimmen.

Die Genauigkeit bzw. die Linearität wird ja nicht besser oder 
schlechter, wenn du alle Teilberechnungen zu einer einzigen 
zusammenfasst. Lediglich der Rechenaufwand ist geringer, weil du 
Zwischen-Werte, die du eigentlich nicht brauchst erst gar nicht 
ausrechnest.
#3542140
Lesenswert?

Eine quadratische Gleichung wäre dann gut, wenn die Ableitung eine 
Gerade wäre. Das ist sie aber nicht wie man in dem unteren Plot sieht. 
Du müsstest also eine Gleichung 3. Grades nehmen.

Ich habe mal T(Spannung) geplottet.
Fürs grobe eine Gerade (ca. 1°C systematischer Rechenfehler), als 
Verbesserung ein Polynom 3. Grades T(Spannung) fitten.


Was spricht gegen die Formel mit dem Logarithmus? Siehe die Formel als 
Kommentar in dem Schaltplan.
Angehängte Dateien:
Gast #3543621
Lesenswert?

Was meinst du damit?

Im Datenblatt des Sensors sind auch Widerstandwerte für bestimmte 
Temperaturen angegeben. Ich könnte die in einer Tabelle hinterlegen und 
dann linear zwischen den Punkten interpolieren. Was sagt ihr zu dieser 
Idee? Meinst du das damit?


LG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren