Jak mierzyć temperaturę za pomocą termistora NTC?

17

Mam termistor NTC TTC103 . Ma rezystancję zerowej mocy 10 kΩ przy 25 ° C i wartość B25 / 50 4050. Jak używać go do pomiaru temperatury?

AndrejaKo
źródło
Hej, mam dokładnie ten sam termistor :)
abdullah kahraman

Odpowiedzi:

12

Termistory NTC (ujemny współczynnik temperaturowy) zmieniają efektywną rezystancję względem temperatury. Najczęstszym równaniem stosowanym do modelowania tej zmiany jest równanie Steinharta-Harta . Wykorzystuje trzy współczynniki do charakteryzowania materiału NTC z wielką dokładnością.

Równanie Steinhart-Hart jest model rezystancji półprzewodnika w różnych temperaturach. Równanie to:

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

gdzie:

  • to temperatura (w stopniach Kelvina)T
  • oznacza rezystancję w T (w omach)RT
  • , B i C towspółczynniki Steinharta – Harta,które różnią się w zależności od typu i modelu termistora oraz interesującego zakresu temperatur. (Najbardziej ogólna postać zastosowanego równania zawierawarunek ( ln ( R ) ) 2 , ale jest to często pomijane, ponieważ zazwyczaj jest znacznie mniejsze niż inne współczynniki, a zatem nie jest pokazane powyżej.)ABC(ln(R))2

- Równanie Steinharta-Harta - Wikipedia, wolna encyklopedia

Wielu producentów dostarcza uwagi aplikacyjne (np. Tutaj ) szczegółowo opisujące sposób kalibracji danego NTC, jeśli chcesz dokładności lepszej niż podana tolerancja produkcyjna.

Podany współczynnik B można zastosować w uproszczonym równaniu Steinharta-Harta, jak opisano w artykule na temat termistora w Wikipedii w części „Równanie parametru B” .

Nick T.
źródło
1
Wszystkie trzy odpowiedzi wyglądają dobrze, ale ta najbardziej mi pomogła.
AndrejaKo
1
Jak sobie radziłeś z ? ln
abdullah kahraman
2
Dlaczego muszę przejść do Wikipedii, aby uzyskać równanie? Nie możesz tego tutaj podać?
Federico Russo,
Mówisz o tolerancji produkcyjnej. Ale jak mogę opracować tolerancję, jeśli mam tylko B, tolerancję B, tolerancję R25? Jak NTCLE203
thexeno
@thexeno podłącz maksimum i minimum do arkusza kalkulacyjnego i oblicz go w żądanym zakresie temperatur.
Nick T
13

Użyj go jako jednej nogi (powiedzmy „górnej” nogi) w obwodzie dzielnika napięcia, przy czym druga noga stanowi znany opór. Zmierz napięcie w punkcie środkowym dzielnika (np. Za pomocą przetwornika analogowo-cyfrowego). Wnioskuj opór termistora na podstawie zmierzonego napięcia jako:

Rthermistor=(VccVmeasured1)×Rknown

Użyj równania:

T=Bln(RthermistorR0×eBT0)

R0=10000B=4050T0=(273+25)=298

Przeczytaj ten artykuł na Wikipedii, aby uzyskać więcej informacji.

vicatcu
źródło
1
Tak, muszę zapytać :) Jak wykonujesz te obliczenia za pomocą 8-bitowego mikrokontrolera?
abdullah kahraman
2
@abdullahkahraman użyjesz kombinacji tabeli wyszukiwania i interpolacji między wartościami tabeli wyszukiwania. Załóżmy, że masz 10-bitowy ADC; to 1024 możliwe wartości z ADC. Możesz zapisać 1024 przekonwertowane wartości lub 512 (co drugi) lub 256 (co 4) itd. W zależności od pamięci. Interpolacja to duży temat, podobnie jak nadpróbkowanie lub „pasmowanie”, które można wykorzystać do zwiększenia dokładności.
akohlsmith,
@AndrewKohlsmith jak oversampling zwiększa rozdzielczość?
abdullah kahraman
@abdullahkahraman pobieranie próbek z tabeli odnośników może być nierównomierne w dziedzinie danych wejściowych ... przechowywanie większej liczby próbek krzywej w miejscu, w którym jest ona „krzywizną”, a zastosowanie interpolacji może dać lepszą charakterystykę błędu
vicatcu
1
@ thexeno zadaj nowe pytanie.
Nick T
6

NTC są nieliniowe i zobaczysz raczej paskudne formuły wyrażające zależność odporność na temperaturę.
Dodając parę zwykłych rezystorów, możesz zlinearyzować ich zachowanie, aby związek ten był aproksymowany prostym równaniem liniowym postaciy=zax+b. Poniższy przykład pochodzi z tej aplikacji Epcos .

enter image description here

enter image description here

Krzywa jest praktycznie prosta od 0 ° C do 60 ° C, co wystarcza do wielu zastosowań.

W tej odpowiedzi pokazuję, jak w niektórych przypadkach można uzyskać prawie idealną (15 ppm) krzywą liniową w ograniczonej dziedzinie za pomocą tylko rezystora szeregowego.

edytuj
Jeśli nie masz pieniędzy na rezystor, musisz albo użyć równania Steinharta-Harta, do którego odnoszą się Nick i Vicatcu, albo skorzystać z tabeli przeglądowej i interpolacji. Obie mają tę wadę, że potrzebują więcej pamięci: Steinhart-Hart zawiera logarytm, do którego potrzebujesz biblioteki zmiennoprzecinkowej (zakładam, że twój mikrokontroler nie ma zmiennoprzecinkowej ALU). Tabela przeglądowa również potrzebuje trochę pamięci i może nie dać ci większej precyzji niż funkcja linearyzowana, jeśli musisz ją interpolować.

stevenvh
źródło
Nie linearyzuj, chyba że używasz obwodów analogowych!
Jason S
I proszę edytować swój post dla dokładności: związek nie staje się prostym równaniem liniowym. Zależność aproksymuje równanie liniowe w określonym zakresie temperatur.
Jason S
4
Jason: możesz opracować? Dlaczego nie linearyzować w obwodach cyfrowych?
Stephen Collings
Notatka z aplikacji mówi, że ta konfiguracja nieco ucierpi z powodu wrażliwości.
abdullah kahraman
2
@abdullah - miałem na myśli ironicznie :-). Ale najwyraźniej więcej użytkowników wydaje się preferować bardziej złożoną sytuację, co nie mam nic przeciwko, ale to jedyny powód, dla którego mogę pomyśleć o odrzuceniu prostszego rozwiązania, jest to, że rezystor byłby zbyt drogi. :-)
stevenvh
4

NTC ma nieliniową odpowiedź na temperaturę.

Możesz obliczyć rezystancję termistora, mierząc napięcie na nim w obwodzie dzielnika potencjału. Następnie możesz uzyskać opórR z tego przy użyciu prawa Ohma.

Załóżmy na przykład, że masz zasilanie 5V, użyj rezystora 1k szeregowo z NTC, a jeśli mierzysz 0,5 V, po prostu podziel 1k przez 0,5V i uzyskaj rezystancję 10k omów.

Potrzebujesz również, T.0 i Ro, „stała” temperatura w stopniach Kelvina i przy tej temperaturze jej odporność. Zazwyczaj podaje się go w temperaturze pokojowej.

Następnie, biorąc pod uwagę te szczegóły, umieść to w tym równaniu, aby uzyskać Ttemperaturę.

T.=11T.o+(1blnRRo)

Thomas O
źródło
Potwierdź, że poprawnie przepisałem równanie.
abdullah kahraman
3

Istnieje wiele sposobów (zarówno pod względem obwodów analogowych, jak i obliczeń programowych) wykorzystania termistorów do pomiaru temperatury.

Krótka odpowiedź jest z grubsza następująca:

  • Użyj termistora i rezystora odniesienia, aby utworzyć dzielnik napięcia.
  • Weź środek dzielnika napięcia i wprowadź go do przetwornika analogowo-cyfrowego.
  • Zmierz napięcie ADC w oprogramowaniu.
  • Wykorzystując swoją wiedzę na temat rezystancji odniesienia i krzywej R vs. T termistora, przelicz z liczników ADC na temperaturę.

Istnieje tutaj wiele subtelności, więc w celu dalszego czytania możesz przeczytać mój artykuł na temat kondycjonowania sygnałów termistorowych - mam nadzieję, że to pomoże!

Jason S.
źródło
Artykuł wygląda dobrze!
AndrejaKo