Pomiary za pośrednictwem nieliniowych czujników

| Technika

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.

Pomiary za pośrednictwem nieliniowych czujników

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.

Rys. 1. Do dokładnych pomiarów temperatury termistory są używane w warunkach „zerowej mocy”. Oznacza to, że z powodu małego natężenia przepływającego przez termistor prądu, nagrzewanie się czujnika ma pomijalny wpływ na jego rezystancję. Powyższy wykres przedstawia zależność rezystancji od temperatury termistora NTC 10kΩ typu 2322 640 55103 firmy Vishay/BC Components.
Rys. 2. RA zasilany w szereg z termistorem napięciem VDD linearyzuje charakterystykę termistora. Zewnętrzny filtr dolnoprzepustowy wygładza sygnał wejściowy. Wzmacniacz o programowalnym wzmocnieniu (PGA), MSP6S26, przesyła wzmocniony sygnał z wejścia CH0 do wyjścia. Sygnał ten jest następnie w PIC16F684 przetwarzany w cyfrowy przez 10-bitowy przetwornik A/C. Układ ten umożliwia korzystanie także z innych czujników, jak czujnik optyczny (CH1), czy krzemowy czujnik temperaturowy (CH2), których sygnały z wejść PGA (CH1, CH2, CH3, CH4 i CH5) są multipleksowane.
Rys. 3. Charakterystyka zespołu termistor + RA z rys. 2. Jest ona liniowa w zakresie ±25°C wokół temperatury, przy której obie rezystancje (NTC i RA) są równe. W zakresie tym błąd pomiaru nie przekracza ±1%.
Rys. 4. Sygnał z portu SPI mikrokontrolera przesyłany do PGA zmienia jego wzmocnienie. Programowalne wzmocnienie tego PGA może wynosić +1, +2, +4, +5, +8, +10, +16 i +32V/V. W opisanej aplikacji do rozszerzenia zakresu mierzonej temperatury jest używane wzmocnienie PGA, równe 1, 8 i 32V/V. Mikrokontroler wprowadza histerezę, zapewniającą stabilną i odporną na zakłócenia wartość temperatury.
Rys. 5. Przedstawiona sieć działań ilustruje sposób dobierania prawidłowego wzmocnienia PGA do przeliczania mierzonej temperatury. Jeśli wzmocnienie PGA jest zbyt duże, lub zbyt małe, do jego dobrania do wartości wyjściowej A/C mikrokontroler posługuje się sprzężeniem zwrotnym. Po upewnieniu się, że są one właściwe, wartość wyjściowa A/C jest linearyzowana za pomocą tablicy poprawek.
Rys. 6. Błąd pomiaru temperatury w zakresie pomiarowym w przypadku użycia MCP6S26 (PGA) przedstawia wykres 1, a w przypadku użycia wzmacniacza buforującego, wykres 2. Na błąd w wykresie 2 składają się: błąd rezystancji termistora (1%), błąd napięcia stałego ADC < ±3,5 LSB (bit najmniej znaczący), błąd wzmocnienia PGA < ±0,1%, błąd polaryzacji wejściowej PGA < ±1mV.

Bonnie C. Baker, Microchip

Zobacz również