Pomiary za pośrednictwem nieliniowych czujników
| TechnikaPomiary za pomocą nieliniowego czujnika nie sprawiają żadnych trudności, jeśli są dokonywane w wąskim zakresie jego charakterystyki. W takim przypadku można dobrać prosty, dostosowany do czujnika, algorytm linearyzacyjny dla mikroprocesora. Jeżeli jest wymagane działanie w szerszym zakresie, można użyć analogowego obwodu linearyzacyjnego. Na przykład rezystor połączony równolegle lub w szereg z nieliniowym termistorem zlinearyzuje w pewnym zakresie część jego charakterystyki. W przypadku termistora ta zlinearyzowana część rozciąga się do około ±25°C (z dokładnością 10 bitów) wokół punktu przyjętego w układzie za środkowy. Punkt ten można dobrać za pomocą dodatkowego rezystora.
Pomiary za pomocą nieliniowego czujnika nie sprawiają żadnych trudności, jeśli są dokonywane w wąskim zakresie jego charakterystyki. W takim przypadku można dobrać prosty, dostosowany do czujnika, algorytm linearyzacyjny dla mikroprocesora. Jeżeli jest wymagane działanie w szerszym zakresie, można użyć analogowego obwodu linearyzacyjnego. Na przykład rezystor połączony równolegle lub w szereg z nieliniowym termistorem zlinearyzuje w pewnym zakresie część jego charakterystyki.
W przypadku termistora ta zlinearyzowana część rozciąga się do około ±25°C (z dokładnością 10 bitów) wokół punktu przyjętego w układzie za środkowy. Punkt ten można dobrać za pomocą dodatkowego rezystora.
Taki sposób dokonywania pomiarów wystarcza w wielu zastosowaniach, ale w razie potrzeby poszerzenia zakresu pomiarowego, można się posłużyć zaprogramowanym mikrokontrolerem i wzmacniaczem o programowalnym wzmocnieniu (PGA). Istnieją dwa rodzaje termistorów, o ujemnym (NTC) i dodatnim (PTC) współczynniku temperaturowym. Do dokładnych pomiarów temperatury lepiej nadają się termistory NTC, a PTC są używane w układach przełączających, na przykład bezpiecznikach lub zapłonnikach świetlówek.
Termistory NTC są stosowane w trzech różnych trybach, wykorzystujących ich charakterystyki rezystancyjno-temperaturowe, napięciowo-prądowe i prądowo-czasowe. W większości aplikacji korzysta się z trybu pierwszego. W przeciwieństwie do pozostałych, układy działające w trybie rezystancyjno temperaturowym pracują w warunkach „zerowej mocy”. Oznacza to, że nagrzewanie się termistora jest pomijalne. Na rys. 1 przedstawiono zależność rezystancji termistora NTC 10kΩ od temperatury. Zwykle rezystancja typowego termistora przy 25°C mieści się w przedziale od 1kΩ do 10MΩ.
Termistor jest rezystorem, musi więc zostać pobudzony prądem z wzorcowego zasilacza napięciowego lub prądowego. Parametry termistora z rys. 1 są powtarzalne w rozsądnych granicach, gdy wydzielana w nim energia jest utrzymywana w granicach jego zdolności do jej rozpraszania. W przeciwnym przypadku termistor będzie się nagrzewał, a jego rezystancja będzie się obniżała, fałszując odczyt. Wykres wykazuje znaczną nieliniowość rezystancji w funkcji temperatury. Nieliniowość ta może być korygowana za pomocą tabeli poprawek w mikrokontrolerze, a to wymaga przetwornika o wysokiej rozdzielczości. Można też przed digitalizacją zastosować sprzętowy sposób linearyzacji. Bardzo prostym, ale skutecznym sposobem linearyzacji jest włączenie rezystora w szereg pomiędzy termistorem a zapewniającym wzbudzenie zasilaczem, jak pokazano na rys. 2. Prąd płynący przez termistor jest na tyle mały, że wydzielane w nim ciepło nie ma ujemnego wpływu na dokładność pomiaru. Jeżeli wzmocnienie PGA wynosi +1V/V lub zamiast niego użyty zostanie wzmacniacz buforujący, układ może działać w ograniczonym zakresie (około ±25°C). Ograniczenie to nie jest narzucane przez wzmacniacz, lecz przez nieliniowość dzielnika napięcia, utworzonego z rezystora RA i termistora. Pomiary temperatury w szerszym zakresie, ze względu na małe zmiany napięcia, utrudniające dokładne przetwarzanie w postać cyfrową, wymagają przetwornika A/C o wysokiej rozdzielczości.
Na przykład, typowy zakres temperaturowy przykładowego termistora firmy BC Components rozciąga się od –40°C do +125°C. Rys. 2 pokazuje, że względna zmiana jego rezystancji, wywołana 10°C zmianą temperatury, w wysokiej temperaturze jest sporo większa niż w niskiej. Takie zmiany stosunku rezystancji do temperatury w zakresie pracy termistora są w analogowym obwodzie kłopotliwe. Widać, że w całym zakresie temperatury pracy nie wystarczy 10-bitowa rozdzielczość konwersji A/C. Można by albo ją zwiększyć, albo w obwodzie termistora użyć kilku przełączanych rezystorów RA. Jednak oba te sposoby komplikują układ i zwiększają jego koszt. Trzecim rozwiązaniem jest posłużenie się programowalnością PGA.
Jak widać na rys. 3, przy wyższych temperaturach zależność napięcia od temperatury staje się zbyt powolna. Jeżeli wzmocnienie PGA zostanie w tym zakresie temperaturowym zwiększone, sygnał wyjściowy wzmacniacza zostanie zwiększony w stopniu, pozwalającym przetwornikowi A/C rozróżniać temperaturę dokładnie. Przy takim podejściu wykorzystuje się zmiany w obwodzie nie sprzętowo, lecz programowo, w mikrokontrolerze. Zatem za dostosowanie układu płaci się jedynie wysiłkiem programisty. Na rys. 5 przedstawiono sieć działań algorytmu mikrokontrolera.
Sprzętowe oprogramowanie układu PIC16F684 działa w czasie rzeczywistym. Odczytuje wartość z przetwornika A/C i poddaje ją procedurze histerezy PGA, która uwzględnia zmiany wzmocnienia. W zależności od wzmocnienia PGA, mikrokontroler porównuje wartości w punktach przerzutu (rys. 4) z wartością otrzymaną z układu przetwornika A/C. Jeśli wartość ta przekracza punkt przerzutu, mikrokontroler zmienia wzmocnienie PGA na większe lub mniejsze. Po wykonaniu procedury histerezy PGA, program sprawdza, czy wzmocnienie zostało zmienione. Jeśli zmiany nie było, program kontynuuje dalsze działanie. Jeśli zmiana zaszła, program odczytuje ponownie wartość z przetwornika A/C. Ustalone wzmocnienie i wartość z A/C, są przekazywane do układowej procedury interpolacyjnej (UPI). Procedura ta pobiera poprawkę z odpowiadającej aktualnemu wzmocnieniu PGA tablicy przeglądowej, i przetwarza poprawioną 10-bitową wartość przetwornika A/C na 16-bitową wartość z ustalonym przecinkiem dziesiętnym, wyrażoną w dziesiątych stopnia Celsjusza. Na rys. 6 przedstawiono dokładność tego systemu. Format układowej interpolacji w dziesiątych stopnia zapewnia dobrą rozdzielczość. W ostatecznym rozwiązaniu projektant może wybrać prezentację wyników w dziesiątych stopnia lub tylko w stopniach.
Otrzymanie niezawodnych danych z nieliniowego czujnika zawsze było wyzwaniem dla projektanta. Linearyzacja jest zadaniem stosunkowo prostym chyba, że trzeba się zmierzyć z szerokim zakresem nieliniowości czujnika. Użycie mikrokontrolera i wzmacniacza o programowalnym wzmocnieniu pozwala przezwyciężyć nieliniowość termistora w szerokim zakresie temperatury. Sposób ten dobrze nadaje się do termistorów, ale może być stosowany także i do innych nieliniowych czujników.
Bonnie C. Baker, Microchip