Wie misst man die Temperatur mit einem NTC-Thermistor?

17

Ich habe einen TTC103 NTC-Thermistor. Es hat einen Nullleistungswiderstand von 10 kΩ bei 25 ° C und einen B25 / 50-Wert von 4050. Wie messe ich damit die Temperatur?

AndrejaKo
quelle
Hey, ich habe genau den gleichen Thermistor :)
Abdullah Kahraman

Antworten:

12

NTC-Thermistoren (negativer Temperaturkoeffizient) ändern ihren effektiven Widerstand über der Temperatur. Die am häufigsten verwendete Gleichung zur Modellierung dieser Änderung ist die Steinhart-Hart-Gleichung . Es verwendet drei Koeffizienten, um das NTC-Material mit großer Genauigkeit zu charakterisieren.

Die Steinhart-Hart-Gleichung ist ein Modell für den Widerstand eines Halbleiters bei verschiedenen Temperaturen. Die Gleichung lautet:

1T=EIN+Bln(R)+C(ln(R))3

wo:

  • T ist die Temperatur (in Kelvin)
  • R ist der Widerstand bei (in Ohm)T
  • B C ( ln ( R ) ) 2EIN , und sind die Steinhart-Hart-Koeffizienten, die je nach Typ und Modell des Thermistors und dem interessierenden Temperaturbereich variieren. (Die allgemeinste Form der angewendeten Gleichung enthält einen Term , dieser wird jedoch häufig vernachlässigt, da er typischerweise viel kleiner als die anderen Koeffizienten ist und daher oben nicht gezeigt ist.)BC(ln(R))2

- Steinhart-Hart-Gleichung - Wikipedia, die freie Enzyklopädie

Viele Hersteller bieten Anwendungshinweise an (z. B. hier ), in denen erläutert wird, wie ein bestimmter NTC zu kalibrieren ist, wenn Sie eine Genauigkeit wünschen, die besser ist als die angegebene Fertigungstoleranz.

Der bereitgestellte B-Koeffizient kann in einer vereinfachten Steinhart-Hart-Gleichung verwendet werden, wie im Wikipedia-Thermistor-Artikel unter "B-Parametergleichung" beschrieben .

Nick T
quelle
1
Alle drei Antworten sehen gut aus, aber diese hat mir am meisten geholfen.
AndrejaKo
1
Wie sind Sie mit dem ? ln
Abdullah Kahraman
2
Warum muss ich für die Gleichung zu Wikipedia gehen? Kannst du es nicht hier geben?
Federico Russo
Sie sprechen über die Fertigungstoleranz. Aber wie kann ich die Toleranz bestimmen, wenn ich nur B, Toleranz von B, Toleranz von R25 habe? Wie der NTCLE203
thexeno 16.10.17
@thexeno Stecke das Maximum und das Minimum in eine Tabelle und berechne es über den gewünschten Temperaturbereich.
Nick T
13

Verwenden Sie es als einen Zweig (sagen wir den "oberen" Zweig) in einer Spannungsteilerschaltung, wobei der andere Zweig ein bekannter Widerstand ist. Messen Sie die Spannung am Mittelpunkt des Teilers (z. B. mit einem Analog-Digital-Wandler). Schliessen Sie den Thermistorwiderstand aus der gemessenen Spannung wie folgt:

Rthermistor=(VccVmeasured1)×Rknown

Verwenden Sie die Gleichung:

T=Bln(RthermistorR0×eBT0)

in Ihrem Fall ist , B = 4050 und T 0 = ( 273 + 25 ) = 298 . Stecken Sie diese Zahlen plus den gemessenen Widerstand des Thermistors in die Gleichung und geben Sie eine Temperatur in Kelvin aus.R0=10000B=4050T0=(273+25)=298

Lesen Sie diesen Wikipedia-Artikel für weitere Details.

vicatcu
quelle
1
Ja, ich muss fragen :) Wie werden diese Berechnungen mit einem 8-Bit-Mikrocontroller durchgeführt?
Abdullah Kahraman
2
@abdullahkahraman Sie würden eine Kombination aus einer Nachschlagetabelle und einer Interpolation zwischen Nachschlagetabellenwerten verwenden. Angenommen, Sie haben einen 10-Bit-ADC. Das sind 1024 mögliche Werte vom ADC. Sie könnten 1024 konvertierte Werte im Speicher speichern, oder Sie könnten 512 (alle anderen) oder 256 (alle vierten) usw. speichern, je nach Speicher. Interpolation ist ein großes Thema, ebenso wie Oversampling oder "Banding", mit dem Sie die Genauigkeit erhöhen können.
Akohlsmith
@ Andrew Kohlsmith Wie erhöht Oversampling die Auflösung?
Abdullah Kahraman
@abdullahkahraman Ihre Lookup - Tabelle Probenahme könnte nicht gleichmäßig über die Domäne des Eingangs ... mehr Proben der Kurve zu speichern , wo es „kurvige“ und Anwenden Interpolation können Ihnen eine bessere Fehlercharakteristik geben
vicatcu
1
@thexeno eine neue Frage stellen.
Nick T
6

NTCs sind nichtlinear und Sie werden ziemlich unangenehme Formeln sehen, die die Beziehung Temperaturbeständigkeit ausdrücken.
Wenn Sie ein Paar gewöhnlicher Widerstände hinzufügen, können Sie deren Verhalten linearisieren, sodass diese Beziehung durch eine einfache lineare Gleichung der Form angenähert wird . Das folgende Beispiel stammt aus dieser Epcos-Appnote . y=einx+b

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Die Kurve ist von 0 ° C bis 60 ° C praktisch gerade, was für viele Anwendungen ausreichend ist.

In dieser Antwort zeige ich, wie Sie in einigen Fällen eine nahezu perfekte lineare Kurve (15 ppm) über einen begrenzten Bereich mit nur einem Vorwiderstand erhalten können.

bearbeiten
Wenn Sie nicht das Geld für einen Widerstand haben werden Sie entweder die Steinhart-Hart-Gleichung Nick und Vicatcu verwenden müssen , um sich auf, oder eine Lookup - Tabelle und Interpolation verwendet werden . Beide haben den Nachteil, dass sie mehr Speicher benötigen: Steinhart-Hart enthält einen Logarithmus, für den Sie eine Gleitkomma-Bibliothek benötigen (ich nehme an, Ihr Mikrocontroller verfügt nicht über eine Gleitkomma-ALU). Die Nachschlagetabelle benötigt ebenfalls Speicher und bietet möglicherweise keine bessere Genauigkeit als die linearisierte Funktion, wenn Sie diese interpolieren müssen.

stevenvh
quelle
Linearisieren Sie nicht, es sei denn, Sie verwenden nur analoge Schaltungen!
Jason S
Und bitte bearbeite deinen Beitrag aus Genauigkeitsgründen: Die Beziehung wird nicht zu einer einfachen linearen Gleichung. Die Beziehung nähert sich einer linearen Gleichung über einen bestimmten Temperaturbereich an.
Jason S
4
Jason: Kannst du das näher erläutern? Warum nicht in digitalen Schaltkreisen linearisieren?
Stephen Collings
App-Hinweis sagt, dass diese Konfiguration ein wenig an Empfindlichkeit leiden wird.
Abdullah Kahraman
2
@abdullah - das meinte ich ironischerweise :-). Aber anscheinend bevorzugen mehr Benutzer die komplexere Situation, was mir nichts ausmacht, aber der einzige Grund, warum ich daran denken kann, die einfachere Lösung zu verwerfen, ist, dass der Widerstand zu teuer wäre. :-)
Stevenvh
4

Ein NTC reagiert nicht linear auf die Temperatur.

R

Angenommen, Sie haben eine 5-V-Versorgung und verwenden einen 1-k-Widerstand in Reihe mit dem NTC. Wenn Sie 0,5 V messen, teilen Sie einfach 1 k durch 0,5 V und erhalten 10 k Ohm als Widerstand.

T0RÖ

Geben Sie diese Details in diese Gleichung ein, um Tdie Temperatur zu ermitteln.

T=11TÖ+(1BlnRRÖ)

Thomas O.
quelle
Bitte bestätigen Sie, dass ich die Gleichung korrekt neu geschrieben habe.
Abdullah Kahraman
3

Es gibt eine Reihe von Möglichkeiten (sowohl in Bezug auf analoge Schaltungen als auch in Bezug auf Software-Berechnungen), Thermistoren zur Temperaturmessung zu verwenden.

Die kurze Antwort lautet ungefähr wie folgt:

  • Verwenden Sie den Thermistor und einen Referenzwiderstand, um einen Spannungsteiler zu erstellen.
  • Nehmen Sie die Mitte des Spannungsteilers und speisen Sie ihn in einen Analog-Digital-Wandler ein.
  • Messen Sie die ADC-Spannung in der Software.
  • Verwenden Sie Ihr Wissen über den Referenzwiderstand und die R / T-Kurve des Thermistors, um die ADC-Zählwerte in die Temperatur umzurechnen.

Es gibt hier eine Reihe von Feinheiten, daher möchten Sie diesen Artikel zur Thermistorsignal-Konditionierung lesen - ich hoffe, das hilft!

Jason S
quelle
Der Artikel sieht gut aus!
AndrejaKo