kwi 052015
 

Termistory to swojego rodzaju rezystory, których opór jest silnie zależny od temperatury (znacznie bardziej niż jesteśmy do tego przyzwyczajeni w przypadku standardowych oporników). Wykorzystanie tej cechy, która dla rezystorów jest zjawiskiem negatywnym w tym przypadku znalazło idealne zastosowanie do pomiarów temperatury ze stosunkowo dużą dokładnością.

Charakterystyka termistora

W sklepach elektronicznych możemy kupić czujniki temperatury takie jak LM35 czy DS18B20 – jednak w porównaniu do termistorów są droższe i mają większe obudowy. Oczywiście posiadają ogromną zaletę – mianowicie ich odpowiedź jest liniową funkcją temperatury. W przypadku termistorów nie jest tak przyjemnie. Zmiana rezystancji wraz ze zmianą temperatury rośnie (dla termistorów PTC) lub maleje (NTC), zgodnie ze wzorem:

R_{{T}}=R_{{0}}\cdot e^{\beta\left(\frac{1}{T}-\frac{1}{T_{{0}}}\right)}

R_{{T}} – rezystancja w temperaturze T
R_{{0}} – rezystancja w temperaturze odniesienia
T_{{0}} – rezystancja podawana zazwyczaj jako katalogowa (w moim przypadku jest to 10 kΩ)
\beta – stała materiałowa termistora – można ją wyznaczyć lub znaleźć w nocie katalogowej (u mnie 3950 K)
T_{{0}} – temperatura odniesienia (standardowo 298 K) UWAGA! Wszystkie temperatury podajemy w Kelwinach!

 Jak mierzyć rezystancję?

Pomiar rezystancji może być przeprowadzony wieloma metodami. Najczęściej używa się mostka Wheatstone’a >LINK< lub tzw. metody technicznej >LINK< – pomiar spadku napięcia przy znanym prądzie przepływającym przez opornik. Ja jednak zdecydowałem się na zastosowanie metody zbliżonej do metody technicznej, bazującej na dzielniku napięciowym >LINK<.

Pomiar rezystancji termistora z wykorzystaniem przetwornika ADC

Zastępując jeden z oporników w dzielniku termistorem otrzymamy układ przedstawiony na Rysunku 1. Dodatkowo wyjście dzielnika podłączymy do przetwornika analogowo-cyfrowego (ADC) mikrokontrolera ATmega8.

Thermistor

 Rys.1. Układ do pomiaru rezystancji termistora.

Teraz pozostaje nam jeszcze jakoś powiązać zmianę temperatury z odczytem wartości z przetwornika (zakładając, że będziemy korzystać z 8-bitowego przetwornika w ATmedze, przy napięciu odniesienia U_{{ref}}=U_{{zas}}=5V).

Z dzielnika otrzymujemy zależność (1) na napięcie wyjściowe:

U_{{dz}}=\frac{R}{R_{T}+R}\cdot<br /><br /><br /><br /><br /><br />
U_{{zas}}\hspace{25}(1)

 Wartość przetwornika możemy w przybliżeniu opisać zależnością (2):

ADC=\frac{U_{{dz}}}{U_{{zas}}}\cdot1024\hspace{25} (2)

Natomiast rezystancę termistora w funkcji temperatury (w Kelwinach) opisuje wzór (3):

R_{{T}}=R_{{0}}\cdot e^{\beta\left(\frac{1}{T}-\frac{1}{T_{{0}}}\right)}\hspace{25}(3)

Łącząc równania (1) i (2) otrzymujemy zależność (4) na rezystancję termistora w funkcji wartości z przetwornika:

R_{{T}}=f(ADC)=R\cdot\frac{1024-ADC}{ADC}\hspace{25}(4)

Korzystając z równań (3) i (4) możemy wyznaczyć zależność (5) temperatury od wartości z przetwornika:

T=\frac{\beta}{\ln\frac{R}{R_{{0}}}+\ln\frac{1024-ADC}{ADC}+\frac{\beta}{T_{{0}}}}\hspace{25}(5)

 Jeżeli chcemy uzyskać temperaturę w stopniach Celsjusza musimy zamienić Kelwiny na stopnie Celsjusza. Otrzymamy wówczas zależność (6):

t=\frac{\beta}{\ln\frac{R}{R_{{0}}}+\ln\frac{1024-ADC}{ADC}+\frac{\beta}{T_{{0}}}}-273,15\hspace{25}(6)

Taką funkcję możemy już zaimplementować do mikrokontrolera. Oczywiście musimy pamiętać, że operacje logarytmowania (zmiennoprzecinkowe) potrzebują sporej ilości wolnej pamięci ATmegi. Przykładowy program pokażę w następnym poście.

Enjoy!

Dla dociekliwych

Zastosowanie dzielnika napięciowego niesie za sobą pewne wady. Temperatura jest zależna również od wartości rezystora (R) użytego w dzielniku. Aby uprościć nieco wyrażenie (5) lub (6) możemy zastosować rezystor o oporze równym R=R_{{0}}, czyli wartości rezystancji termistora w temperaturze odniesienia. Wówczas stosunek tych wartości \frac{R}{R_{{0}}}=1 , a logarytm \ln\frac{R}{R_{{0}}}=0. Uprościł się nam jeden człon. Taki zabieg jest wystarczający, gdy chcemy „odciążyć” nieco nasz mikrokontroler (nie musi wykonywać jednej operacji) i nie zależy nam na dużej dokładności pomiarów.

Zmieniając wartość rezystancji R możemy wpływać wartość błędu odczytywanej temperatur. Poniżej zamieszczam plik Excela, który pozwoli dobrać optymalną wartość i tolerancję rezystora w zależności od wymaganego zakresu mierzonych temperatur. Wystarczy uzupełnić pola zaznaczone żółtym kolorem (Rys. 2.)  i odpowiednie dane można odczytać z wykresów.

Termistor <- plik Excel 2010

Rys.2. W żółte pola należy wpisać wartości użytych elementów.

 Rys.2. W żółte pola należy wpisać wartości użytych elementów.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>