Implementacja charakterytyk czujników w podwójnie logarytmicznym układzie wpółrzędnych w ytemach mikroproceorowych Wzelkiego rodzaju czujniki wielkości nieelektrycznych tanowią łakomy kąek nawet dla mało doświadczonych elektroników. Dużą część pracy związanej ze przętem załatwiają gotowce w potaci Arduino Rapberry Pi czy wielu innych podobnych ytemów. Decydując ię na pomiar konkretnej wielkości fizycznej w wielu przypadkach można nawet dobrać odpowiedni dla danej platformy moduł czujnika. Do pełni zczęścia pozotaje więc tylko napianie kawałka kodu. Z tym kodem też tragedii nie ma gdyż dotawcy przętu udotępniają częto gotowe biblioteki obługi modułów zawierających wybrane czujniki. Jeśli nawet nie to z pewnością pomoże olbrzymia połeczność zebrana wokół danej platformy. Wynika z tego że wytarczy ptryknąć palcami a układ zrobi ię am. Jeteśmy już bliko takiego tanu ale jezcze nie dziiaj. Poza tym jet jezcze grupa kontruktorów być może już na wymarciu która lubi zrobić wzytko włanymi rękami od początku do końca. Przytępując do kontruowania urządzenia elektronicznego w którym mają być zatoowane różnego rodzaju enory zwykle przeglądamy litę dotępnych na rynku elementów. Przy odrobinie zczęścia udaje ię znaleźć czujniki w których zintegrowano odpowiedni układ pomiarowy (analogowy) blok akwizycji danych i wtępnej ich obróbki oraz co najmniej jeden z popularnych interfejów komunikacyjnych za pośrednictwem którego dane już w potaci cyfrowej ą przeyłane do ytemu nadrzędnego. Zadanie kontruktora w takim przypadku ogranicza ię w zaadzie do zapoznania ię z rejetrami czujnika kładnią komend zapiujących i odczytujących rejetry oraz trukturą przeyłanych danych. Same problemy Nieco gorzej prawa wygląda z czujnikami wyłącznie analogowymi. Konieczne jet wówcza zaprojektowanie odpowiedniego interfeju przętowego oraz napianie kodu który dane cyfrowe uzykane w wyniku próbkowania ygnałów analogowych z czujnika przeliczy na odpowiednią wielkość fizyczną. Typowym przykładem czujników tego rodzaju ą enory gazów. Stwarzają one problemy dwojakiego rodzaju. Po pierwze ich charakterytyki ą bardzo jezcze raz powtórzę bardzo ilnie nieliniowe. Po drugie parametr wyjściowy tężenie gazu nie zależy wprot od bezpośrednio zmierzonego parametru czujnika jakim najczęściej jet rezytancja. Do wyznaczenia wielkości mierzonej konieczne jet zmierzenie rezytancji czujnika w badanym środowiku (R S ) i obliczenie tounku tej rezytancji do rezytancji czujnika w środowiku odnieienia (R O ). Same problemy. Jak zmierzyć rezytancję czujnika? Nie o tym w tym artykule nie będzie mowy gdyż koncentrujemy ię na zupełnie innym zagadnieniu. Zakładamy że rezytancję jakoś potrafimy zmierzyć. Obliczenie tounku R S z matematycznego punktu widzenie nie powinno twarzać problemów. Pod warunkiem jednak że znamy R O a mamy jedynie mglite pojęcie o tej wielkości. Wyznaczanie R O też nie jet tematem tego artykułu. Można jedynie powiedzieć że R O daje ię wyznaczyć podcza kalibracji w czytej atmoferze a co gorze jet to parametr zmieniający ię w dużym zakreie nawet w obrębie elementów jednego typu. Z tego powodu producenci zwykle nie podają w danych katalogowych konkretnej wartości R O. Można ię jedynie dozukać zakreu rozrzutu tego parametru. Załóżmy że jakoś przebrnęliśmy przez problemy mierzenia rezytancji i wyznaczania R O dla konkretnego egzemplarza czujnika. Problemy na tym ię nie kończą gdyż końcową wielkość mierzoną tężenie gazu wyrażane w jednotkach ppm (part per milion) lub g/m 3 należy obliczyć z charakterytyki czujnika udotępnianej w jego dokumentacji technicznej. Problem zaadniczy I tu ujawnia ię problem zaadniczy gdyż charakterytyki ą udotępniane jedynie w potaci wykreów zamiezczanych w PDF-ach. To trochę tak jakbyśmy je mieli tylko na papierze. Konieczne jet więc przenieienie ich do potaci cyfrowej tak aby można je było zaimplementować np. w programie mikrokontrolera zatoowanego w urządzeniu. Jak to zrobić? Przykładowe metody opiano niżej wcześniej jednak jezcze jedna itotna uwaga. Charakterytyki opiują zależność R S w funkcji tężenia gazu (ryunek 1a) a my będziemy wykonywać operację odwrotną. W rzeczywitym układzie pomiarowym mierzony będzie tounek R S i na tej podtawie mikrokontroler obliczy tężenie gazu. Oznaczmy je literą C. Dla wygody więc wykre również odwrócimy tak aby oie zamieniły ię miejcami. Dalze czynności będą dotyczyły wyłącznie ryunku obróconego (ryunek 1b). Metoda 1 tablicowanie Pierwza metoda to tablicowanie. Itne zaleńtwo. Taka metoda może doprowadzić do zapchania całej pamięci jeśli nie będzie jej zbyt wiele na przykład w małych mikrokontrolerkach ATtiny. Z definicji charakterytyka tak przenieiona będzie miała charakter dykretny to znaczy będzie ię kładała jedynie z pewnego zbioru punktów. Prawdopodobnie konieczna więc będzie interpolacja polegająca na ztucznym wtawianiu punktów nie uwzględnionych w tablicy. Ręczne tablicowanie charakterytyki która najczęściej jet podawana w podwójnie logarytmicznym układzie wpółrzędnych oznacza dodatkowe czynności przy przeliczaniu liczb. Metoda 2 bezpośrednie wyznaczenie formuły matematycznej Tak nazwałem tę metodę gdyż będzie ona polegać na wyznaczeniu wyrażenia matematycznego opiującego charakterytykę wprot 92 ELEKTRONIKA PRAKTYCZNA 8/2018
Implementacja charakterytyk czujników w podwójnie logarytmicznym układzie wpółrzędnych w ytemach mikroproceorowych Ryunek 1. Charakterytyka czujnika gazu MQ-7 a) prota b) odwrócona z wykreu zamiezczonego w dokumentacji. Mamy tu jeden czynnik komplikujący zagadnienie i jeden ułatwiający. Komplikującym jet podwójnie logarytmiczny układ wpółrzędnych obie oie (rzędnych i odciętych) mają kalę logarytmiczną. Odczytywanie danych liczbowych nie będzie więc prote. Czynnikiem ułatwiającym jet fakt że charakterytyki podawane w takim układzie wpółrzędnych ą w dużym topniu liniowe. Jeśli nawet nie w całym zakreie to można przyjąć kilka przedziałów dla których mogą być tak traktowane. Na ryunku 1a przedtawiono przykładową charakterytykę czujnika gazu MQ-7. Jak widać jet on mniej lub bardziej wrażliwy na kilka rodzajów gazu. Na będzie intereować tlenek węgla (CO). Jet to granatowa krzywa z punktami w kztałcie rombów. Załóżmy że w całym zakreie pomiarowym charakterytyka ta jet liniowa. Przymykamy oko na niewielkie odchylenie okolic punktu odpowiadającego tężeniu 400 ppm. (ryunek 2). Teraz muimy nauczyć ię odczytywać dane z wykreu. Chcielibyśmy robić to jak najdokładniej mimo że będzie to pewną niekonekwencją wobec wcześniejzego zlekceważenia małej nieliniowości. Metoda na oko raczej odpada a do pomiarów użyjemy linijki. Pierwze co należy zrobić to pomiar zerokości dekad na obu oiach. Wyniki będą wyrażone w centymetrach. Teoretycznie dyponując linijką z najmniejzą działką równą 1 mm powinienem podawać wyniki Ryunek 2. Kontrola liniowości charakterytyki Ryunek 3. Pomiar rozmiarów dekad na wykreie z logarytmicznymi kalami oi ELEKTRONIKA PRAKTYCZNA 8/2018 93
Ryunek 4. Obliczenie parametrów punktu P1 Ryunek 6. Obliczenie parametrów punktu P4 z taką właśnie dokładnością. Zakładam jednak że jetem w tanie określić wynik z dokładnością do 05 mm. Z pomiarów przedtawionych na ryunku 3 wynika że dekada na oi odciętych ma zerokość równą 255 cm a na oi rzędnych 375 cm. Liczby te należy zapamiętać. Odczytajmy teraz parametry punktu oznaczonego cyfrą 1. Jet to punkt położony dokładnie na linii wyznaczającej tężenie 50 ppm. Odtępy między liniami w pierwzej dekadzie na oi odciętych wynozą 10 w drugiej 100 itd. Ponieważ punkt leży dokładnie na linii nie będą potrzebne żadne przeliczenia dla tej rzędnej. Należy natomiat Ryunek 5. Obliczenie parametrów punktu P3 wyznaczyć odpowiadający temu tężeniu tounek R S. Mierzymy więc odległość punktu 1 od najbliżzej linii rozpoczynającej dekadę w której ten punkt leży a więc od linii o odciętej 1. Odległość ta jet równa 05 cm (ryunek 4) a zatem R S jet w tym punkcie równe: R R o 05255 / 10 157 Punkt 1 jet opiany jako P1(157 50). Punkt 2 nie wymaga obliczeń gdyż leży na przecięciu linii. Dane odczytujemy wprot: P2(1 100). Dla punktu 3 potępujemy podobnie jak w punkcie 1. Rzędna jet równa 400 a odległość na linii odciętych od punktu 01 jet równa 15 cm (ryunek 5). R S obliczamy z zależności: R 10 (/ 15 255 ) 387 Ro ale pamiętając że punkt leży w dekadzie 01 otatecznie R S jet równe 0387. Zatem punkt 3 jet opiany jako: P3(0387 400). Analogicznie dla punktu 4 (ryunek 6) mamy R 10 ( 085255 / ) 215 Ro ale pamiętając że punkt leży w dekadzie 01 otatecznie R S jet równe 0215. Zatem punkt 4 jet opiany jako: P4(0215 1000). Otatni punkt 5 leży na przecięciu linii dane wyznaczamy wprot z wykreu: P5(009 4000). Dane punktów P1...P5 będą potrzebne w innych operacjach a teraz już jet ten moment w którym można wyprowadzić wyrażenie matematyczne opiujące charakterytykę czujnika dla gazu CO. Założyliśmy już że w układzie podwójnie logarytmicznym mamy do czynienia z wykreem liniowym dla którego w normalnym układzie obowiązywałoby znane z matematyki wyrażenie y=a*x+b. Uwzględniając kale logarytmiczne wyrażenie to przyjmuje potać: log(c)=a*log(r S )+log(b) Wpółczynnik a jet równy tangenowi nachylenia charakterytyki i obliczamy 94 ELEKTRONIKA PRAKTYCZNA 8/2018
Implementacja charakterytyk czujników w podwójnie logarytmicznym układzie wpółrzędnych w ytemach mikroproceorowych Mamy już wzytkie dane do tego by wyznaczyć otateczną formułę opiującą charakterytykę. Konieczne ą małe przekztałcenia wyrażenia przedtawionego wcześniej a więc: Ryunek 7. Wyznaczenie nachylenia charakterytyki go graficznie z wykreu tak jak to przedtawiono na ryunku 7. Pamiętamy jednak o konieczności normalizowania linijkowych pomiarów parametrów m i n do zerokości dekad pozczególnych oi. Mamy więc a=m/n gdzie zmierzone linijką parametry m i n po normalizacji ą równe odpowiednio 72 cm/375=192 i 32 cm/255=1255. Zatem uwzględniając że wykre jet malejący a= 192/1255= 1530. Pozotaje jedynie obliczyć przeunięcie wykreu w oi pionowej a więc log(b). Korzytamy ze znajomości wartości funkcji C(R S ) w dowolnie wybranym jej punkcie. Niech to będzie punkt P2(1100). Podtawiając te wartości do formuły opiującej funkcję mamy: log(100)= 153*log(1)+log(b) z czego wynika że log(b)=log(100) ( 153)*log(1)=2+153*0=2. R log( C) 153 log 2 Ro z czego wynika końcowe równanie: C R Ro 10 153 log 2 Mikrokontroler mierząc zmieniającą ię w zależności od tężenia gazu rezytancję R S odnoi ją do znanej na podtawie kalibracji rezytancji R O a natępnie korzytając z powyżzej formuły oblicza tężenie gazu C wyrażane w jednotkach ppm. Na ryunku 8 przedtawiono weryfikację takiego obliczenia wykonaną w Excelu. Niebieki wykre powtał na podtawie danych o 5 punktach przenieionych z PDF-a czerwony wykre natomiat jet wynikiem obliczenia które będzie wykonywał mikrokontroler toując powyżzą formułę. Jak widać niedokładności ą niewielkie a wynikają głównie z ograniczonej dokładności przenozenia punktów z wykreu do arkuza i przyjętych przybliżeń. Drugim czynnikiem jet również fakt że zotała zignorowana mała nieliniowość charakterytyki zamiezczonej w dokumentacji. Na ryunku 8 charakterytykę naryowano dla porównania w układzie liniowym i log-log. Ryunek 9. Wybór krzywej regreji w Excelu Ryunek 8. Weryfikacja wyznaczenia równania opiującego charakterytykę metodą bezpośrednią ELEKTRONIKA PRAKTYCZNA 8/2018 95
Ryunek 10. Wyznaczenie i weryfikacja równania opiującego charakterytykę metodą pośrednią Metoda 3 pośrednie wyznaczenie formuły matematycznej W tej metodzie korzytamy również z Excela przy czym tym razem nie będzie on weryfikował danych a połuży do wyznaczenia formuły opiującej wykre. Pierwzą czynnością jet przenieienie danych do arkuza. To już potrafimy co więcej mamy to już zrobione (ryunek 8). Przy takiej nieliniowości charakterytyki z jaką mamy do czynienia 5 punktów może ię okazać liczbą niewytarczającą. Poznanymi metodami dodajmy jezcze ze dwa trzy punkty. Na przykład: P6(0609 200) P7(0296 600) i P8(0144 2000). Natępnie tworzymy na podtawie tych punktów wykre punktowy z wygładzonymi liniami. Kolejną czynnością jet dodanie linii trendu typu potęgowego koniecznie z opcją wyświetlania równania na wykreie (ryunek 9). Otatecznie arkuz będzie zawierał dane liczbowe i wykrey ale na najbardziej będzie intereowało równanie opiujące linię trendu (ryunek 10). Linia ta z niezłą dokładnością odwzorowuje charakterytykę czujnika. W tym przypadku równanie ma potać: R C 96 74 Ro 1 5356 w którym C odpowiada zmiennej y z Excela a R S zmiennej x. Otrzymane równanie ma protzą potać niż to które uzykaliśmy w metodzie poprzedniej. Dokładność jet porównywalna z tym że do wyznaczenia równania w metodzie bezpośredniej wytarczyłyby zaadniczo dwa punkty a w metodzie pośredniej warto wyznaczać ich jak najwięcej. Uzykuje ię wówcza widoczną poprawę dokładności zczególnie na końcach wykreu. Jak już było powiedziane oobnym zagadnieniem jet pomiar rezytancji czujnika ale więkzym wyzwaniem jet bardzo duży przedział zmian mierzonych parametrów. W zależności od czujników może ię on zawierać w dwóch a nawet trzech dekadach. Należy wówcza myśleć o wprowadzeniu ręcznie lub automatycznie przełączanych zakreach pomiarowych urządzenia. Jaroław Dolińki EP REKLAMA SKLEP FIRMOWY (przedaż na miejcu obługa zamówień z odbiorem oobitym): tel.: 22 257 84 66 Sklep tacjonarny ul. Lezczynowa 11 Warzawa Żerań http://klep.avt.pl czynny w godzinach: poniedziałek piatek: 08:00 16:45 (czwartek do 17:45) obota: 10:00 13:45 96 ELEKTRONIKA PRAKTYCZNA 8/2018