Oszczędzanie energii w teorii i w praktyce (3)

Oszczędzanie energii w teorii i w praktyce (3)

W poprzedniej części cyklu przyjrzeliśmy się możliwościom ograniczenia poboru prądu przez współczesne mikrokontrolery. Choć skupiliśmy się głównie na produktach firmy Microchip, inni producenci oferują równie oszczędne układy.

W wielu aplikacjach peryferia wbudowane w mikrokontroler mogą okazać się niewystarczające – lub nie oferować odpowiednich parametrów. W takich sytuacjach zachodzi potrzeba sięgnięcia po układy zewnętrzne. Za dobry przykład niech posłużą tu czujniki położenia i przyspieszenia używane w smartwatchach czy opaskach sportowych do monitorowania aktywności fizycznej. Kolejną grupę stanowią układy monitorujące tętno i natlenienie krwi użytkownika takiej opaski sportowej czy monitora kondycji. Innym przykładem mogą być czujniki środowiskowe do monitorowania pogody. W aplikacjach zasilanych bateryjnie układy takie nie tylko muszą wykazać się ekstremalną oszczędnością energii, ale także – zależnie od kontekstu – powinny pozwalać mikrokontrolerowi na wyłączenie bądź też wykazywać zdolność, by wspomniany mikrokontroler w razie potrzeby obudzić. Oczywiście, wybór dostępnych komponentów z omawianej kategorii jest równie szeroki, jak oferta mikrokontrolerów, warto więc przyjrzeć się choćby kilku z nich, by poznać ich parametry i możliwości – oraz ograniczenia.

Układy IMU

Na początek weźmy pod lupę prawdopodobnie najciekawsze komponenty stworzone dzięki zaawansowaniu technologii produkcji półprzewodników – sensory mierzące zmiany prędkości i orientację w przestrzeni. Technologia MEMS (ang. microelectromechanical system) pozwoliła na stworzenie akcelerometrów i żyroskopów mieszczących się w strukturze układu scalonego. Dzięki temu duże i kosztowne dotychczas urządzenia elektromechaniczne stały się integralną częścią m.in. smartfonów, smartwatchy i opasek sportowych. Ważną (i pożądaną) cechą układów IMU jest ich energooszczędność – w końcu pracują głównie w urządzeniach zasilanych bateryjnie.

Typowy układ IMU ma akcelerometr oraz żyroskop. Opcjonalnie może mieć wbudowany również magnetometr, choć on akurat w większości układów jest zewnętrznym komponentem dołączonym do IMU z użyciem pomocniczego interfejsu. Magnetometr pozwala na wskazanie bezwzględnej orientacji czujnika względem bieguna magnetycznego Ziemi – oraz zmian tej orientacji. Dodatkowo zapobiega on powolnemu dryftowi czujnika, spowodowanemu efektem Coriolisa. Nie zawsze jest to potrzebne, dlatego na rynku nie brakuje sensorów IMU pozbawionych magnetometru. Omawiane czujniki dostarczają zazwyczaj surowych danych o przyspieszeniu, zmianach prędkości kątowej i – opcjonalnie – intensywności pola magnetycznego. Często wyposażane są też we własny, wewnętrzny procesor, który zajmuje się przetwarzaniem surowych danych i generowaniem różnych przerwań lub rozpoznawaniem gestów czy aktywności, przy założeniu, że czujnik umocowany jest na nadgarstku (w opasce sportowej bądź w smartwatchu). Układ będzie generował wybrane przez programistę przerwania, które mogą wybudzać główny mikrokontroler celem podjęcia jakiejś akcji. Oznacza to, że układ IMU będzie musiał pracować cały czas.

Spójrzmy zatem na pobór prądu typowego przedstawiciela omawianej grupy czujników: BMI270 firmy Bosch. Wyposażony jest on jedynie w akcelerometr i żyroskop, ale udostępnia też dodatkowe funkcje, takie jak wykrywanie gestów nadgarstka, liczenie kroków czy rozpoznawanie podstawowych aktywności: brak ruchu/chodzenie/bieganie/inne. Układ został zoptymalizowany pod kątem pracy bateryjnej, dlatego w nocie podano pobór prądu dla napięcia zasilania 1,8 V. Maksymalnie układ pobiera 970 μA w trybie wysokiej wydajności akcelerometru i żyroskopu. W trybie niskiego poboru prądu z użyciem obu czujników MEMS pobór wynosi 420 μA, jeśli jednak zrezygnujemy z użycia żyroskopu, w trybie oszczędzania energii możemy osiągnąć pobór zaledwie 10 μA. W tym ostatnim trybie dane są zresztą aktualizowane 25 razy na sekundę, co wystarcza do wykrycia ruchu. Zaawansowane funkcje pobierają dodatkowo 3 μA dzięki optymalizacji wewnętrznego procesora pod konkretne zastosowania.

Inny przedstawiciel układów IMU to model LSM6DS3TR-C firmy STMicroelectronics. Układ oferuje podobne funkcje, co opisany wyżej, przy czym jest kompatybilny z urządzeniami opartymi na systemie operacyjnym Android, co pozwala na łatwą integrację ze smartfonami i smartwatchami bazującymi na tym systemie. Ciekawą funkcją odróżniającą opisywany układ od BMI270 jest opcja automatycznego wykrywania upadku – jednym z jej zastosowań może być sygnalizacja przewrócenia się osoby starszej. Nas jednak interesuje przede wszystkim zapotrzebowanie na energię. Maksymalny pobór prądu w trybie wysokiej wydajności wynosi 900 μA, w trybie normalnym 450 μA, a w trybie niskiego poboru prądu 290 μA. W ostatnim z wymienionych trybów dane z akcelerometru i żyroskopu odczytywane są z częstotliwością 52 Hz, czyli ponad dwa razy częściej niż w przypadku układu firmy Bosch. Rezygnacja z żyroskopu i ograniczenie częstotliwości próbkowania akcelerometru do 12,5 Hz obniża pobór prądu do zaledwie 9 μA.

Układ ICM-42670-P jest nowym produktem w ofercie TDK InvenSense. Nazwa ta może być znana hobbystom ze względu na niegdyś bardzo popularne moduły z układami MPU6050, wciąż dostępne za około 10 złotych. Układ ICM-42670-P oferuje akcelerometr i żyroskop MEMS o niskim poziomie szumów własnych, programowalne filtry cyfrowe oraz rozwiązanie o nazwie APEX Engine, które realizuje funkcje rozpoznawania gestów, liczenia kroków, itp. Pobór prądu jest dość niski: gdy pracuje akcelerometr i żyroskop, wynosi on 550 μA przy 1,8 V. Sam akcelerometr pobiera zaś 200 μA.

Wspomniany układ MPU6050 nie jest rekomendowany do nowych projektów, co może stanowić pewien problem, gdyż poza nim nie spotkamy na rynku tanich układów IMU zawierających wbudowany magnetometr. Podobnie sytuacja wygląda z układem ICM-20948 firmy TDK InvenSense. Producent chwali się technologią DMP występującą w wielu układach IMU tej firmy, czyli wbudowanym mikroprocesorem, do którego przygotowano firmware pozwalający przetwarzać dane lokalnie, bez udziału głównego mikrokontrolera. W efekcie układ rozpoznaje różne gesty, może automatycznie liczyć kroki i inne aktywności, wykrywać upadek czy też realizować inne funkcje, w tym automatyczną kalibrację w tle. DMP nie może jednak integrować surowych danych z sensorów – to zadanie wciąż należy do głównego mikrokontrolera. Co więcej, by używać DMP, trzeba przy każdym włączeniu zasilania załadować do niego firmware z nadrzędnego procesora. Producent chwali się też najniższym poborem prądu na świecie wśród układów IMU z magnetometrem. Przy użyciu wszystkich trzech sensorów i napięciu 1,8 V układ pobiera 3,11 mA. Sam żyroskop, przy próbkowaniu 102,3 Hz, pobiera 1,23 mA. Akcelerometr przy tej samej częstotliwości próbkowania w trybie oszczędności energii pobiera 68,9 μA, sam magnetometr zaś – przy próbkowaniu 8 Hz – pobiera 90 μA.

Kolejnym układem IMU z magnetometrem jest BNO055 firmy Bosch, wyposażony w akcelerometr, żyroskop i magnetometr, a także automatycznie integrujący pozyskiwane z nich dane i dostarczający bezwzględnych wartości położenia i kierunku. Zwalnia to główny mikrokontroler z konieczności przeprowadzania wymienionych obliczeń, ale sam układ IMU nie jest już tak wysoko energooszczędny. Przy napięciu 3 V i częstotliwości aktualizacji wartości 100 Hz układ pobiera do 12,3 mA. W trybie oszczędzania energii pobór wynosi 2,72 mA, dopiero uśpienie sensorów ogranicza go do wciąż wysokiego poziomu 40 μA.

Zaprezentowane modele to zaledwie część dostępnych na rynku układów IMU, ale łatwo zauważyć, że są to układy relatywnie „prądożerne”, zwłaszcza jeśli chcemy uzyskać wysoką częstotliwość próbkowania i dużą precyzję. W praktycznych zastosowaniach można jednak ograniczyć się do sporo niższego taktowania (lub nawet używać tylko samego akcelerometru) celem redukcji poboru prądu. Układy te mają też w większości przypadków kolejkę FIFO o pojemności rzędu 1 kB, co pozwala przetwarzać dane pakietami, zamiast na bieżąco. Jeszcze bardziej energooszczędną opcją jest utrzymywanie układu IMU w stanie uśpienia i wybudzanie go 2...5 razy na sekundę celem dokonania pojedynczego pomiaru przyspieszenia, orientacji i zmian prędkości kątowej. W większości zastosowań nawet takie zgrubne pomiary powinny pozwolić zorientować się w położeniu czujnika. Oczywiście będzie to adekwatne, gdy mówimy o urządzeniu noszonym bądź używanym przez człowieka. Takie urządzenia, jak kontrolery ruchowe, zestawy AR/VR, drony czy stabilizatory kamer, wymagają jednak wysokiej częstotliwości próbkowania, a więc i wyższego poboru prądu. W tych aplikacjach jednak układ IMU czy główny mikrokontroler odpowiadają jedynie za niewielką część zapotrzebowania na energię.

Czujniki do pomiaru tętna i natlenienia krwi

W ostatniej dekadzie zarówno wzrost popularności opasek fitnessowych, jak i pandemia COVID-19 przyczyniły się do rozwoju tanich, scalonych czujników biometrycznych. Sensory te przede wszystkim mierzą puls i poziom natlenienia krwi. Pomiar odbywa się metodą optyczną – diody LED przezskórnie oświetlają naczynia krwionośne, a fotodioda (bądź fotodiody) rejestrują niewielkie zmiany jasności światła odbitego i zaabsorbowanego przez krew. Te nieznaczne zmiany intensywności promieniowania pozwalają na pomiar nie tylko pulsacji krwi w naczyniu, ale też stopnia jej natlenienia. Konstrukcyjnie najczęściej spotyka się rozwiązanie, w którym układ scalony sterujący diodami i dokonujący pomiarów jest oddzielony od układu zawierającego diody oraz fotodiody. Istnieją jednak układy, które łączą część sterująco-przetwarzającą z zestawem diod i fotodiod w jednej obudowie.

W celu ograniczenia poboru prądu diody LED nie są aktywne cały czas, lecz sterowane krótkimi impulsami, trwającymi od kilkunastu do kilkuset mikrosekund. Okazuje się, że to wystarcza do dokonania adekwatnego pomiaru. W przypadku urządzeń zasilanych bateryjnie, jak opaski fitnessowe, dodatkowo pomiar tętna i natlenienia nie jest realizowany w czasie rzeczywistym, lecz – zależnie od potrzeby – co minutę lub rzadziej. Ze względu na używanie diod LED – nawet przy pracy impulsowej – czujnik tętna i natlenienia pobiera sporo energii, dlatego redukcja częstotliwości pomiaru do kilku razy dziennie może wydłużyć pracę opaski nawet dziesięciokrotnie.

Porównajmy zatem dwa układy scalone, oba z oferty Analog Devices/Maxim: MAX30101 i MAX30112. MAX30101 integruje w swojej strukturze diody LED i fotodiodę, podczas gdy MAX30112 używa zewnętrznych komponentów, zazwyczaj zintegrowanych w gotowy moduł, jak na przykład NJL5513R firmy Nisshinbo Micro Devices. Układ MAX30101 w trakcie pomiaru tętna i natlenienia z częstotliwością próbkowania wynoszącą 50 sps pobiera typowo 600 μA, maksymalnie zaś 1,1 mA. MAX30112 przy podobnej konfiguracji pobiera 304 μA na potrzeby diod LED i dodatkowe 40 μA do samego pomiaru. Tak duża różnica w poborze prądu wynika z faktu, że układ MAX30101 używa czterech diod LED, podczas gdy MAX30112 – tylko dwóch. Podane wartości uśredniono, gdyż w rzeczywistości diody LED są zasilane krótkimi impulsami prądowymi o wartości nawet 200 mA. W dobrych warunkach (sensor dobrze dociśnięty do skóry, brak silnych źródeł światła) można jeszcze wyraźniej obniżyć prąd diod, a tym samym średni pobór prądu przez układy.

Istnieje jednak inna metoda pomiaru tętna, stosowana niegdyś m.in. przez firmę Garmin. Opiera się ona na bezpośrednim pomiarze EKG. Użytkownik takiego rozwiązania zakłada specjalny pasek na klatkę piersiową. Przednia część paska ma dwa klipsy do przypięcia zasilanego bateryjnie modułu pomiarowego – klipsy połączone są z dwiema elektrodami, wykonanymi z przewodzącej gumy. Sam moduł realizuje funkcję dwuelektrodowego pomiaru EKG, konwertuje pomiar na tętno, a na końcu przesyła jego wartości do odbiornika za pomocą protokołu ANT+. Choć na pierwszy rzut oka pomiar wydaje się prosty, to w rzeczywistości trzeba wziąć pod uwagę amplitudę mierzonego sygnału bioelektrycznej aktywności serca. Amplituda ta wynosi od 0,5 mV do 5 mV – i nakłada się na nią relatywnie duże napięcie niezrównoważenia ±300 mV, powstające na styku elektrod ze skórą. Standardowe pasmo przenoszenia aparatów EKG stosowanych w służbie zdrowia wynosi 0,05…100 Hz. Na rysunku 1 pokazano typowy przebieg sygnału EKG. Do pomiaru tętna wystarczy zmierzyć odstęp między kolejnymi załamkami R w zespole QRS.

Rysunek 1. Składowe elementy typowego przebiegu EKG

Zaprojektowanie analogowego wzmacniacza do pomiarów EKG nie powinno nastręczać dużych problemów. Można jednak skorzystać z zaprojektowanego specjalnie do tego celu układu, jakim jest AD8232 firmy Analog Devices. Układ ten pozwala na pomiar tętna z użyciem dwóch lub trzech elektrod. Nota katalogowa prezentuje rozwiązanie układowe przeznaczone do użycia z opisanym wyżej paskiem, co uwidocznione zostało na schemacie na rysunku 2.

Rysunek 2. Standardowa aplikacja AD8232 w konfiguracji dwuelektrodowej

Sygnał wyjściowy z układu można mierzyć za pomocą wewnętrznego przetwornika ADC mikrokontrolera lub zastosować komparator do wytwarzania impulsów odpowiadających załamkom R, które mikrokontroler może zliczać celem pomiaru częstotliwości uderzeń serca. Jedną z użytecznych funkcji jest wykrywanie, czy elektrody zostały prawidłowo umocowane na skórze – została ona zrealizowana za pomocą dwóch wewnętrznych komparatorów. Sam układ AD8232 pobiera typowo 170 μA, maksymalnie zaś 230 μA. W stanie uśpienia natomiast maksymalny pobór prądu nie przekracza 500 nA. Na znanym portalu aukcyjnym dostępne są gotowe, chińskie moduły, które do pomiaru EKG używają jednorazowych elektrod samoprzylepnych.

Czujniki środowiskowe, cyfrowe i analogowe

Nie tylko opaski fitnessowe muszą być energooszczędne. Istnieje szeroka gama urządzeń monitorujących środowisko, którym stawia się wymóg energooszczędności. Najprostszy przykład to zwykła stacja pogodowa. W takim wypadku optymalnym rozwiązaniem może okazać się zastosowanie scalonego czujnika temperatury i wilgotności – na przykład układu SHT40 firmy Sensirion. Model ten pozwala mierzyć temperaturę z dokładnością do ±0,2°C, a wilgotność względną z dokładnością do ±1% RH. Poza samymi sensorami, układ ma wszystkie niezbędne komponenty, w tym przetwornik ADC i interfejs I2C. Nota katalogowa podaje od razu uśredniony pobór prądu przy pomiarze raz na sekundę i różnych ustawieniach dokładności pomiaru. Przy największej dokładności układ pobiera średnio 2,2 μA, przy najmniejszej 0,4 μA. Typowy prąd w stanie czuwania wynosi jedynie 80 nA. Za to w czasie pomiaru czujnik pobiera aż 320 μA. Układ ma też niewielki element grzejny, którego zadaniem jest osuszanie czujnika w razie zalania lub w środowisku o wysokiej wilgotności. Element ten włączany jest na maksymalnie sekundę, ale pobiera wtedy relatywnie duży prąd, nawet 60 mA.

Gdy interesuje nas wyłącznie pomiar temperatury, rozwiązaniem może okazać się użycie popularnego wśród hobbystów czujnika DS18B20 firmy Maxim. Oryginalny układ jest dość kosztowny, dlatego hobbyści najczęściej używają chińskich kopii kosztujących grosze. Układ pozwala na pomiar temperatury z rozdzielczością od 0,5°C (9 bitów) do 0,0625°C (12 bitów), przy czym dokładność samego czujnika wynosi ±0,5°C. Pobór prądu w trakcie pomiaru przy napięciu zasilania 5 V wynosi 1 mA, ale przy pomiarze 9-bitowym uśredniony pobór prądu wynosi tylko około 94 μA. Gdy czujnik czuwa, pobiera tylko 750 nA. Ogromną wadą opisywanego układu jest minimalne napięcie zasilania wynoszące 3 V, co ogranicza opcje dostępnych źródeł zasilania urządzenia do akumulatorów litowo-jonowych lub minimum trzech zwykłych baterii, przy czym w tym drugim wypadku nie zostaną one w pełni wykorzystane.

Alternatywnie można dodać niewielką przetwornicę typu Boost, ale jest to dodatkowy koszt i dodatkowa komplikacja układu.

Tanią, choć nie do końca dokładną metodą pomiaru temperatury byłoby zastosowanie analogowego rozwiązania, czyli pomiar napięcia przewodzenia diody krzemowej lub pomiar z użyciem termistora. Rozwiązanie z diodą często jest integrowane w mikrokontrolerach, ale ciepło generowane przez sam mikrokontroler może nieznacznie zawyżyć wynik. Z kolei użycie termistora okazuje się nieco problematyczne, gdyż trzeba uwzględnić jego nieliniową charakterystykę zależności oporu od temperatury, jednocześnie ograniczając też zjawisko samonagrzewania się termistora. Osobną kwestię stanowi bardzo szeroki zakres zmian rezystancji termistora w funkcji temperatury – na przykład termistor NTC 100 kΩ w temperaturze –55°C ma opór ponad 11 MΩ, a w temperaturze 125°C już tylko 3 kΩ. Tak duży przedział wartości może być problematyczny, lecz istnieje praktyczne rozwiązanie pozwalające na dość dokładny pomiar, zwłaszcza jeśli do interpretacji użyje się tabeli wyników skopiowanej z noty katalogowej termistora. Rysunek 3 pokazuje przykładowe rozwiązanie układowe korzystające ze źródła napięcia odniesienia MCP1501T-10E. Źródło to dostarcza napięcie 1,024 V, które jest używane zarówno przez moduł ADC mikrokontrolera PIC16LF1507, jak i przez dzielnik składający się z rezystora R1 o wartości 100 kΩ oraz termistora NTC, również 100 kΩ. Układ może zawierać tyle dzielników, ile dostępnych wejść analogowych ma mikrokontroler. Przy temperaturze –55°C na termistorze będzie panować napięcie 1,015 V, a przy 125°C – tylko 0,030 V. Maksymalny pobór prądu wyniesie niecałe 10 μA na dzielnik, średni zaś połowę tej wartości. Na schemacie uwzględniono opcję wyłączenia źródła napięcia odniesienia, co ogranicza pobór prądu ze 140 μA do 205 nA. Przy wykonywaniu pomiaru z użyciem ADC należy pamiętać o tym, że – ze względu na ładowanie wewnętrznego kondensatora S/H o typowej pojemności 15...22 pF – przetwornik oczekuje źródła o impedancji 10 kΩ, a w tym rozwiązaniu impedancja jest 10 razy większa. By pomiar był dokładny, należy zredukować zegar przetwornika ADC tak, by cykl ładowania kondensatora trwał przynajmniej 2,5 μs.

Układ z rysunku 3 można też z powodzeniem zastosować do pomiarów jasności otoczenia, używając fotodiody PIN zamiast termistora. Wartość rezystora dobiera się wówczas dla maksymalnego prądu wstecznego oświetlonej diody – tak, by napięcie na niej wynosiło kilka miliwoltów. Następnie oblicza się wartość napięcia na diodzie dla prądu ciemnego. Takie rozwiązanie okaże się wystarczające do pomiaru jasności otoczenia fotodiody, gdyż – zależnie od wartości rezystora – będzie ona potrzebować setek mikrosekund na reakcję po pojawieniu się światła. Podobnie potrzebny będzie pewien czas od pojawienia się napięcia zasilania obwodu do ustalenia się napięcia na fotodiodzie. Jeśli zatem chcemy mierzyć szybkie zmiany światła, fotodioda PIN musi współpracować ze wzmacniaczem transimpedancyjnym. Rysunek 4 pokazuje przykładowe rozwiązanie z noty aplikacyjnej AN951 Microchip.

Rysunek 3. Przykładowy układ pomiaru temperatury z użyciem termistora i źródła napięcia odniesienia
Rysunek 4. Fotodioda PIN współpracująca ze wzmacniaczem transimpedancyjnym w celu uzyskania lepszego czasu reakcji i filtracji szumów

Rozwiązanie takie pozwala fotodiodzie PIN znacznie szybciej reagować na zmiany jasności. Czytelnik mógłby zapytać, dlaczego by nie użyć zwykłego fotorezystora? Można – i byłoby to rozwiązanie bardzo dobre. Ograniczeniem technicznym zastosowania fotorezystorów jest czas reakcji, typowo 20...50 milisekund, przy czym fotorezystory zwykle wolniej reagują na spadek jasności. Drugi problem stanowi mocno nieliniowa charakterystyka pracy i duży rozrzut parametrów (dla przykładu: fotorezystor PGM5526 firmy Token ma rezystancję w mroku 1 MΩ, ale przy 10 lx spada ona do 8...20 kΩ, czyli 50...125 razy). Problemem długofalowym w użytkowaniu fotorezystorów okazuje się dodatkowo dyrektywa RoHS – komponenty te używają związków kadmu, selenu i ołowiu, przez co podlegają restrykcjom w stosowaniu na terenie UE. Z tego względu zasadniczo odradza się uwzględnianie ich w nowych projektach.

Czujniki ciśnienia MEMS są w teorii prostymi komponentami. Używając materiału piezorezystywnego (którego rezystancja zależy od naprężeń nań działających), naniesionego na membranę, tworzy się mostek Wheatstone’a. Zależnie od zastosowania obie strony membrany mogą być wyprowadzone na zewnątrz za pomocą przyłączy do wężyków lub otworów w obudowie – może też być tylko jeden otwór, pozwalający na oddziaływanie ciśnienia na membranę, podczas gdy po jej drugiej stronie panuje próżnia.

Innym powszechnie stosowanym rozwiązaniem technologicznym jest pomiar pojemności kondensatora, którego jedną z elektrod stanowi membrana uginającą się pod ciśnieniem. Dostępne są zarówno czujniki analogowe, wymagające zewnętrznych układów zasilania mostka i wzmacniania sygnału różnicowego, jak i warianty wyposażone w swojej strukturze w analogowy front-end – a często też przetwornik ADC i układ sterujący, komunikujący się szeregowo z mikrokontrolerem. Absolutne czujniki ciśnienia nie tylko mogą mierzyć powolne jego zmiany zależne od warunków pogodowych, ale także mają wystarczającą czułość i prędkość działania, by reagować na zmianę wysokości czujnika, mierzyć prędkość i kierunek ruchu w pionie, a nawet określać piętro budynku na podstawie nieznacznych różnic ciśnienia atmosferycznego. Przykładem takiego czujnika może być BMP581 firmy Bosch: mierzy on bezwzględne ciśnienie atmosferyczne w zakresie od 300 hPa do 1250 hPa. Dokładność bezwzględna wynosi ±0,5 hPa, ale przy pomiarach względnych zmian ciśnienia osiąga ona wartość ±0,08 hPa. Wbudowany czujnik temperatury ma dokładność ±0,5°C, a rozdzielczość 1°C. Jest on używany do linearyzacji i kompensacji temperaturowej czujnika ciśnienia. Nota podaje maksymalny pobór prądu czujnika 260 μA, ale uśredniony pobór prądu w trybie low power – przy częstotliwości pomiaru 1 Hz – wynosi tylko 1,3 μA, w trybie wysokiej rozdzielczości – przy 30 Hz – rośnie on do 75 μA. Pobór między pomiarami, przy napięciu zasilania 1,8 V, wynosi 1 μA, a w trybie głębokiego uśpienia spada do 550 nA.

Dla porównania spójrzmy na układ ICP-10101 firmy TDK InvenSense. Pozwala on na pomiar ciśnienia w zakresie od 300 hPa do 1100 hPa oraz względnych jego zmian z dokładnością do ±1 Pa, co wg producenta pozwala zmierzyć zmianę wysokości czujnika o 8,5 cm, czyli mniej niż wynosi wysokość pojedynczego stopnia schodów. Dla pomiarów bezwzględnych ciśnienia atmosferycznego w typowych warunkach dokładność wynosi ±1 hPa. Zintegrowany czujnik temperatury ma dokładność ±0,4°C. Pobór prądu w czasie pomiaru wynosi 210 μA przy napięciu 1,8 V, uśredniony pobór w trybie low power wynosi 1,3 μA, a w trybie low noise 5,2 μA – w obu przypadkach częstotliwość pomiaru wynosi 1 Hz. W stanie czuwania układ pobiera 1 μA. Układu nie można uśpić.

Firma NXP Semiconductors oferuje zgoła odmienny czujnik pomiaru ciśnienia, nastawiony raczej na monitorowanie warunków pogodowych niż na obserwowanie zmiany wysokości nad poziomem morza. MPL3150A2S, bo o nim mowa, jest czujnikiem piezorezystywnym, w pełni skalibrowanym w zakresie 700...1500 hPa. Mimo to bezwzględna dokładność wynosi ledwo ±4 hPa, co oznacza konieczność kalibracji każdego czujnika (za to dokładność względna wynosi ±0,5 hPa). Wbudowany czujnik temperatury ma dokładność w pełnym zakresie pomiaru równą ±3°C. Pobór prądu też nie prezentuje się najlepiej: przy napięciu 2,5 V i częstotliwości próbkowania 1 Hz w trybie szybkim układ pobiera średnio 8,5 μA, w standardowym z oversamplingiem 16×40 μA, a w trybie wysokiej rozdzielczości – aż 285 μA. W czasie pojedynczego pomiaru układ pobierze 2 mA, zaś w trybie czuwania układ pobiera 2 μA, czyli też więcej niż konkurencja. Te liczne wady kompensuje jednak dość rozbudowany układ kontrolny. MPL3150A2S potrafi pracować autonomicznie, dokonując pomiarów w interwałach od jednej sekundy do dziewięciu godzin. Wewnętrzna kolejka FIFO pozwala zachować 32 pomiary, co przekłada się nawet na 12 dni autonomicznej pracy, zaś rozbudowany system przerwań z dwoma niezależnymi wyjściami pozwala sygnalizować przekroczenie któregoś z progów ciśnienia lub temperatury, osiągnięcie wartości w zadanym zakresie, konkretnej wartości czy w końcu zmiany o zadany krok. Możliwość długotrwałej pracy bez nadzoru mikrokontrolera, który sam może pobierać więcej prądu w trakcie wykonywania programu, czyni ten układ atrakcyjnym dla projektantów zdalnych monitorów pogody.

Ostatnim omawianym czujnikiem ciśnienia jest układ ENS220 firmy ScioSense. Producent chwali się bardzo niskim poborem prądu i wysoką dokładnością bezwzględną pomiaru ciśnienia i temperatury. Układ dokonuje pomiaru metodą pojemnościową i również może pracować autonomicznie. Zakres pomiaru ciśnienia sięga od 300 hPa do 1200 hPa, dokładność bezwzględna zaś wynosi ±0,5 hPa w zakresie 500...1100 hPa i w temperaturze od –5°C do 55°C. W pełnym zakresie pracy dokładność bezwzględna wynosi ±3 hPa. Względna dokładność pomiaru to ±2,5 Pa, rozdzielczość zaś 1/64 Pa. Dokładność pomiaru temperatury w pełnym zakresie oscyluje w graniach ±0,5°C, ale w zakresie od –5°C do 55°C wynosi typowo ±0,1°C, maksymalnie ±0,2°C. Przy napięciu zasilania 1,8 V układ pobiera 105 nA w trybie bezczynności, w czasie konwersji zaś pobór ten rośnie do 75 μA (przy oversamplingu 128×). Jeśli zrezygnować z oversamplingu, średni pobór prądu spadnie do ok. 0,6 μA, kosztem wyższego poziomu szumów czujnika, co ogranicza dokładność. Nota podaje, że przy jednej konwersji na minutę układ pobiera średnio tylko 0,8 μA. Podobnie jak poprzednik, ENS220 ma bufor FIFO o długości 32 pomiarów, możliwość pracy autonomicznej z maksymalnym interwałem wynoszącym 10 minut – oraz rozbudowany system przerwań, choć układ udostępnia tylko jeden pin przerwania, używany też jako wyjście SDO w trybie pracy SPI. Produkt ScioSense wydaje się zatem bardzo dobrym wyborem, gdy istotniejsze jest ograniczenie poboru prądu niż częsta akwizycja pomiarów. Ponownie możliwość dokonywania pomiarów nawet przez ponad pięć godzin, bez przekazywania danych do mikrokontrolera oraz programowalne przerwania czynią ten układ jeszcze atrakcyjniejszym z punktu widzenia monitorowania pogody, zwłaszcza przy uwzględnieniu bardzo niskiego poboru prądu w stanie czuwania.

Zakończenie

Komponenty, którym przyjrzeliśmy się w artykule, to tylko znikoma część spośród dostępnych na rynku czujników i układów pomiarowych możliwych do zastosowania w urządzeniu zasilanym bateryjnie. Oczywiście nie wyczerpaliśmy jeszcze tematu układów peryferyjnych. W następnej części cyklu spojrzymy na układy watchdog, nadzorujące zasilanie, RTCC, czy układy i rozwiązania analogowe zastępujące wewnętrzne peryferia mikrokontrolerów. Rozważymy też sensowność ich stosowania.

Paweł Kowalczyk, EP

Artykuł ukazał się w
Elektronika Praktyczna
sierpień 2024

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik październik 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień - październik 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje wrzesień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna październik 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich październik 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów