Przez lata w szufladzie każdego elektronika gromadzą się różnego typu termistory NTC (o ujemnym współczynniku temperaturowym) i PTC (o dodatnim współczynniku temperaturowym). Niestety, większość z nich nie posiada odpowiednich oznaczeń, co sprawia, że trudno wykorzystać je w jakichkolwiek urządzeniach ze względu na nieznajomość podstawowych ich parametrów. Autor więc postanowił zbudować prosty układ, który pozwala automatycznie rejestrować krzywe zależności rezystancji termistora od temperatury, na podstawie których łatwo wyznaczyć później podstawowe parametry termistora.
Poniżej przedstawiono schemat układu, który może być wykorzystany do takich właśnie pomiarów. Zarówno do sterowania układem, jak i do odczytu danych można wykorzystać mikrokontroler (choćby popularną platformę Arduino).
Tranzystor MOSFET (w zaprezentowanym rozwiązaniu typu IRFZ22) pracuje jako obciążenie aktywne. Napięcie bramki ograniczone jest do 4,7V z wykorzystaniem diody Zenera (np. 1N4732). Jest to istotne – zgodnie z kartą katalogową tranzystora IRFZ22 ograniczenie napięcia bramki do 4,7V powoduje ograniczenie maksymalnego prądu dren-źródło (Ids) do około 2 amperów. W urządzeniu może na dobrą sprawę pracować każdy tranzystor MOSFET mocy, pod warunkiem, że będzie ograniczane napięcie bramka-źródło (Vgs), co uniemożliwi uszkodzenie tranzystora. Mały radiator został użyty jako powierzchnia grzejna. Bramka tranzystora sterowana jest sygnałem o modulowanej szerokości impulsów (PWM). Dobierając odpowiednie wypełnienie impulsów sygnału, można dobrać właściwą ilość mocy rozpraszanej w tranzystorze MOSFET i przez to programowo sterować temperaturą radiatora.
Precyzyjny czujnik temperatury typu LM335 przymocowany jest do radiatora, co pozwala mierzyć jego temperaturę. Jeśli zostanie wykorzystany zamknięty układ sterowania (np. typu PID), temperaturę radiatora będzie można ustalić w sposób bardziej precyzyjny. Autor urządzenie zmontował na płytce uniwersalnej, co można zobaczyć poniżej:
Podczas pomiarów termistorów (zarówno PTC jak i NTC), należy dobrać odpowiednią wartość rezystora R2 tak, aby uzyskać odpowiednie zmiany spadku napięcia na termistorze wraz ze zmianami temperatury, a jednocześnie zminimalizować ciepło wydzielane przez sam termistor.
Krzywa oporność termistora-temperatura może zostać zarejestrowana następująco:
- należy przymocować badany termistor w bezpośrednim pobliżu czujnika LM335. Termistor musi dokładnie stykać się z radiatorem, aby jego temperatura była taka sama, jak czujnika LM335;
- powoli zwiększając wypełnienie impulsów podawanych na bramkę tranzystora należy uzyskać łagodne zmiany temperatury rejestrowanej przez czujnik LM335 (np. 1 stopień na minutę). Narost musi zmieniać się powoli, by czujnik i termistor znajdowały się w tej samej temperaturze;
- należy rejestrować zmiany temperatury na czujniku LM335 (wyjście Vout1) i oporność termistora (wyjście Vout2) w funkcji temperatury, na przykład za pomocą mikroprocesora.
Używając zaprezentowanego układu można osiągać temperatury do ok. 121°C, co jest wartością wystarczającą do cechowania większości termistorów.
Należy pamiętać, aby w czasie pomiarów umocować badany element (R1) tak, by miał on te samą temperaturę, co czujnik LM335. Rezystor ograniczający prąd (R2) powinien być dobrany tak, aby uzyskać jak najlepszą rozdzielczość pomiaru spadku napięcia, a jednocześnie móc pominąć wpływ ciepła wydzielanego przez sam termistor na pomiar.
Autor do testów użył kilku termistorów NTC, które w temperaturze pokojowej miały oporności 8, 10 i 18 kΩ. Jako rezystorów ograniczających prąd użyto odpowiednio rezystorów 1,783; 2,643 i 2,164 kΩ.
Sygnał sterujący PWM i pomiar napięć wykonywany był za pomocą płytki Arduino. W zależności od przewodności cieplnej materiału, z którego wykonany jest radiator, osiągnięcie stabilnej temperatury jego powierzchni może nieco potrwać – dlatego narost temperatury powinien być powolny. Zastosowanie sterowania PID pozwoli na dokładniejsze sterowanie temperaturą, ale skomplikuje obsługę urządzenia – sterownik PID wymaga dokładnej kalibracji parametrów, aby uniknąć przeregulowania czy oscylacji wartości.
Autor napisał prosty program do obsługi pomiaru. Wraz ze wzrostem wypełnienia impulsów osiąga się szybszy narost temperatury. Skutkuje to tym, że ogólny narost temperatury tranzystora ma charakter raczej wykładniczy niż liniowy. Może to skutkować błędami pomiarowymi – dla wyższych temperatur rejestrowanych jest mniej punktów pomiarowych. W przypadku stosowania procesora ATMega328 jest to jednak fakt mniej istotny, bo głównym źródłem ewentualnych błędów jest przetwornik A/D o rozdzielczości zaledwie 10 bitów.
Wyniki pomiarów przesyłane są do komputera za pomocą portu szeregowego. Dane są zbierane w komputerze i mogą być dalej obrobione za pomocą np. programu MATLAB. Dane mają postać dwu kolumn, pierwsza z nich to temperatura, a druga – oporność termistora.
Typowy termistor NTC ma charakterystykę opisaną wzorem $$R=r_\infty e^{\frac{B}{T}$$. Matlab nie oferuje gotowego dopasowania dla takiej funkcji, ale fitowanie można z łatwością przeprowadzić za pomocą funkcji wykładniczej $$f(x)=ae^{bx}+ce^{dx}$$. Można wykorzystywać też inne funkcje, pamiętając jednak, by błędy dopasowania były jak najmniejsze. W Matlabie powyższe dopasowanie można wywołać poleceniami:
Na poniższych wykresach pokazano przykładowe, zarejestrowane krzywe (odpowiednio dla termistorów o oporności w temperaturze pokojowej 8, 10 i 18 kΩ). Parametry wynoszą odpowiednio:
- a: 17,94; 28,68 i 40
- b: -0,05082; -0,04817 i -0,04112
- c: 8,424; 2,544 i 4,416
- d: -0,02041; -0,02274 i -0,01477
Źródło: 1, 2.
Fajne? Ranking DIY
