Czujniki - generacja sygnałów, ich przetwarzanie i wykorzystywanie

| Technika

Czujniki to urządzenia pozwalające wykrywać i mierzyć wielkości lub rozróżniać stany fizyczne ośrodków, materiałów czy podzespołów przez wykorzystanie swoich właściwości fizycznych. Śledząc łatwy do obserwowania parametr można wnioskować o wartości innego parametru, trudnego do obserwowania. Czujniki mogą służyć do pomiaru niemal dowolnych parametrów. Najczęściej jest to temperatura, ciśnienie, przyspieszenie, wilgotność, położenie, pH, ale także setki innych. Ich zastosowania rozciągają się od najprostszych, do najbardziej wyrafinowanych. A ich użytkownicy chętnie ponoszą związane z nimi koszty ze względu na korzyści, które przynoszą. Jest to potężne i dochodowe powiązanie potrzeb, możliwości technicznych i efektów ekonomicznych, z którego narodziła się później nowa klasa urządzeń, czujniki inteligentne.

Czujniki - generacja sygnałów, ich przetwarzanie i wykorzystywanie

Błędy próbkowania, reprezentacji liczb

Zamiana sygnału analogowego na wielkość cyfrową zawsze wiąże się z pojawieniem się błędów próbkowania, wynikających z reprezentowana sygnału przez skończoną liczbę bitów. Nawet przy znacznej rozdzielczości przetwornika A/C niemal wszystkie wartości napięcia sygnału (za wyjątkiem punktów próbkowania) są obarczone błędem.

Błędy te można uważać za sygnał szumów, nałożony na rzeczywistą wartość sygnału, co ilustrują rysunek 4 i rysunek 5. Zależnie od sposobu digitalizacji, przez zaokrąglanie wartości mierzonej (rys. 4) czy przez obcinanie (rys. 5), szum będzie trójkątny lub piłozębny. Efektu tego wyeliminować się nie da, ale można go wydatnie ograniczyć przez użycie stosunkowo dużej liczby bitów (np. 16 lub 32, zależnie od zastosowania).

Skutkiem digitalizacji są także niedokładności wynikające ze skończonych liczb reprezentujących ciągłą wielkość analogową i skończonego rozmiaru rejestru, w którym musi się ona zmieścić. Z rozmiarem rejestru jest powiązane wykonywanie powtarzalnych działań matematycznych na liczbach reprezentowanych skończoną liczbą bitów, co może powodować przepełnienie akumulatora w procesorze.

Można to pokazać na prostym przykładzie. Jeśli założyć, że aplikacja przetwarza cyfrowy 16-bitowy sygnał wejściowy i że procesor ma 16-bitowy akumulator, to próba uśrednienia dwóch próbek o wielkości ¾ zakresu digitalizacji w akumulatorze 16-bitowym, da wynik nie 17FFEh, tylko 7FFEh, ponieważ bit najbardziej znaczący zostanie obcięty.

Można co prawda użyć większego akumulatora (o większej liczbie bitów), ale problem pozostaje nieodłączny od systemu i pogarsza się, gdy używa się operacji mnożenia. Zastosowanie odpowiednich sposobów wewnętrznego przedstawiania wartości numerycznych i uważne posługiwanie się przypadkami nadmiaru i niedomiaru może łagodzić skutki ograniczonej wielkości rejestrów, ale zawsze niezbędna jest dbałość o unikanie katastrofalnych awarii systemu.

Nadpróbkowanie i opóźnienia

Rys. 5. Błąd digitalizacji sygnału spowodowany obcinaniem

Chcąc uniknąć aliasingu, projektant musi zapewnić, aby próbkowanie sygnału wejściowego było minimum dwukrotnie szybsze od najwyższej częstotliwości sygnału wejściowego. Niemniej rzeczywiste przetworniki A/C na tyle różnią się od idealnych, że sygnały wejściowe powinny być próbkowane co najmniej cztery do pięciu razy szybciej (nadpróbkowanie) od najwyższej częstotliwości zawartej w sygnale wejściowym.

Rozsuwa to próbkowane widma, minimalizując interakcje pomiędzy nimi. Innym problemem jest opóźnienie pomiędzy sygnałem wyjściowym a wejściowym filtra, powstające zarówno w filtrach cyfrowych, jak i analogowych. Zwykle im sygnał jest silniej filtrowany, tym opóźnienie to jest większe.

W skrajnych przypadkach (zależnie od aplikacji) przefiltrowany sygnał wyjściowy może okazać się bezużyteczny, gdyż pojawia się w systemie zbyt późno. Nadpróbkowanie, czyli próbkowanie sygnału znacznie szybsze niż jest to niezbędne, może być stosowane wraz z silną filtracją bez zbyt wielkich opóźnień w systemie.

Tak przetworzone sygnały mogą być wykorzystywane w innych częściach systemu, ale z uwzględnieniem opóźnienia. Takie podejście wymaga jednak większej mocy obliczeniowej do obsługi wyższej przepływności, co podwyższa koszt układu i zużycie energii.

Analiza zastosowań sygnałów czujników

Przy analizowaniu specjalnych układów przetwarzania sygnałów czujników niezbędne jest rozumienie aspektów systemu jak m.in. rodzaju mierzonej wielkości fizycznej, zależności rejestrowanego parametru od mierzonej wielkości fizycznej, oczekiwanego widma częstotliwości sygnału oraz wszystkich źródeł zakłócających środowisko, fizycznych własności środowiska pomiarowego, uwarunkowań mogących powstawać błędów i właściwych sposobów im przeciwdziałania, wymagań kalibracyjnych i konserwacyjnych.

Zwykle rodzaj i ośrodek mierzonej wielkości fizycznej wyznaczają odpowiedni dla systemu czujnika sposób przetwarzania sygnału. Gdy na przykład mierzy się temperaturę znacznej masy metalu, podgrzewanej niewielkim grzejnikiem, można przyjąć, że widmo częstotliwości sygnału czujnika jest wąskie, ponieważ temperatura zmienia się powoli. Sygnał ten w celu ograniczenia szumów może być wtedy silnie filtrowany.

Natomiast temperatura czujnika monitorującego niewielki element ogrzewany laserem będzie się prawdopodobnie zmieniała bardzo szybko. Filtracja musi być wtedy delikatna, a do ograniczania zaburzeń w sygnale potrzebne są stosowne dodatkowe środki. Bardzo ważne jest również rozumienie zależności pomiędzy mierzoną wielkością fizyczną a związanym z nią parametrem, przekazywanym użytkownikowi i do systemu.

Czy parametr ten jest liniową funkcją mierzonej wielkości, czy nieliniową, jak w przypadku temperatury i napięcia termopary? Czy w razie nieliniowości tej zależności da się ją podzielić na kilka liniowych segmentów, dla uproszczenia obliczeń? Trzeba wreszcie pamiętać, że systemy czujnikowe działają w realnym świecie, w którym trudności zdarzają się w najbardziej niekorzystnych okolicznościach.

System musi szybko i skutecznie wykrywać najczęstsze błędy. Utrata czujnika w trakcie produkcji może zatrzymać całą linię produkcyjną, więc szybkie wykrywanie i usuwanie błędów ma wysoką rangę. Ważniejsza od ułatwionego serwisu jest zabezpieczająca przed awariami zdolność systemu do wykrywania zagrożeń przez sygnalizowanie i usuwania błędów.

Struktura oprogramowania musi być rzetelnie przystosowana do działania w czasie rzeczywistym, gdyż reakcja czujnika na sygnał wejściowy musi być deterministyczna, w ustalonym czasie, a przetwarzanie sygnału, przynajmniej w krytycznych sekcjach, kończone przed nadejściem kolejnego sygnału. Mniej krytyczne, choć ważne sekcje, jak na przykład program obsługi protokołu komunikacyjnego, mogą być mniej rygorystycznie uzależnione czasowo i ustępować w czasie sygnałom ważnym dla aplikacji.

Wykrywanie i analiza błędów

Zdolność wykrywania błędów w działaniu sensora, czujnika i wychodzenia z powstających zagrożeń staje się cechą wyróżniającą produkt spośród konkurencyjnych, zwłaszcza gdy skutki błędów mogą być katastrofalne. Prosta detekcja błędów sprowadza się do sprawdzania obecności czujnika i utrzymywania się wartości mierzonego parametru we właściwym zakresie.

Bardziej złożona detekcja polega na diagnozowaniu parametrów sygnału i ostrzeganiu systemu i nadzoru przed grożącą awarią. W przypadku nowoczesnych czujników zagadnieniu temu poświęca się wiele uwagi, a wielkość kodu oprogramowania diagnostycznego stanowi znaczącą część firmware'u. (KKP)