Jak poprawić wydajność baterii w urządzeniach IoT?

| Technika

W artykule pokazano, w jaki sposób można poprawić wydajność energetyczną aplikacji Internetu Rzeczy (IoT). Proponowana metoda obejmuje usprawnienie systemu zarządzania zasilaniem oraz wykorzystanie trybów głębokiego uśpienia, w których pobór prądu jest nanoamperowy. Na bazie rozważań, zaprezentowano nowe rozwiązanie jednoukładowe, które jeszcze lepiej optymalizuje zasilanie z baterii, co prowadzi do mniejszego zużycia energii przy jednoczesnej mniejszej zajętości miejsca na płytce drukowanej w porównaniu z istniejącymi rozwiązaniami na elementach dyskretnych.

Jak poprawić wydajność baterii w urządzeniach IoT?

Komunikacja pełni dzisiaj kluczową rolę w aplikacjach IoT i dzięki niej aplikacje pełnią rolę połączonych w sieć węzłów, a dane z czujników mogę być przesyłane do serwera i dalej przetwarzane. W przypadku rozwiązań zasilanych z baterii, zarządzanie energią staje się jednym z najważniejszych obszarów, na których koncentruje się zwiększenie wydajności aplikacji IoT, gdyż żywotność baterii determinuje czas eksploatacji.

W większości zastosowań węzeł czujnikowy IoT (podstawowy element systemu akwizycji danych) jest umieszczony w odległej lokalizacji i jest zasilany z baterii. Żywotność tej baterii zależy od tego, jak wydajnie zostanie zaprojektowany system zasilania. Co do zasady, przez większość czasu węzeł czujnikowy pozostaje w trybie uśpienia. Przełącza się w tryb aktywny tylko na czas akwizycji danych. Cykl pracy tych aplikacji jest mały, to oznacza, że wybudzanie następuje tylko na krótką chwilę, a uśpienie trwa bardzo długo. Dlatego, aby zmaksymalizować żywotność baterii, najważniejsze jest zminimalizowanie prądu pobieranego przez aplikację IoT w czasie uśpienia.

Zarządzanie energią w IoT

W typowym systemie IoT, jaki pokazano na rysunku 1, bezprzewodowy węzeł czujnikowy jest zasilany z baterii, a zatem jego czas pracy jest z natury ograniczony przez jej pojemność. Aby zmaksymalizować żywotność działania, kluczowe jest podzielenie pracy na czas aktywny i nieaktywny tworzące razem cykl działania. Jest to powszechna praktyka oszczędzania energii. Chodzi o to, aby w stanie nieaktywnym ograniczyć działanie wszystkich obwodów które nie muszą być zasilane, gdyż takie niewyłączone komponenty są głównym źródłem strat. Oszacowanie zużycia energii bezprzewodowego węzła czujnikowego dotyczy trzech głównych komponentów:

  • Czujnik
  • Mikrokontroler
  • Transceiver radiowy

Czujnik dostarcza surowych danych, takich jak temperatura lub wilgotność i przesyła je do mikrokontrolera, który przetwarza je i przesyła do chmury lub głównego komputera w sieci za pomocą łącza radiowego. Stąd biorąc pod uwagę, że typowe aplikacje czujników działają w bardzo małych cyklach pracy (od 0,01% do 1%), czyli przez większość czasu są bezczynne, przyjęcie schematu zarządzania energią, w którym prąd uśpienia węzła czujnika jest bardzo mały, pozwala oszczędzić sporo energii baterii. Przykładem takiego zastosowania jest inteligentny system nawadniania, w którym węzeł czujnika mierzy wilgotność gleby tylko raz na godzinę (rys. 1).

 
Rys. 1. Schemat blokowy typowego systemu IoT

Uśpienie i tryb transportowy

Tryb transportowy (ship mode) i tryb uśpienia (sleep mode) są żargonem używanym przez projektantów aplikacji zasilanych z baterii i jednocześnie kluczowymi zagadnieniami zarządzania energią. Tryb transportowy to stan nanoenergetyczny, którego celem jest zapewnienie maksymalnej żywotności baterii na etapie wysyłki produktu i jego magazynowania przed sprzedażą do klienta końcowego. W tym trybie źródło zasilania jest elektrycznie odłączone od reszty systemu, aby zminimalizować pobór mocy, gdy produkt jest jeszcze nieużywany. Zadaniem trybu transportowego jest ochrona ładunku baterii. Wyjście z tego stanu następuje po naciśnięciu określonego przycisku, co rozpoczyna okres normalnej pracy urządzenia.

Gdy urządzenie jest w stanie użycia, tryb uśpienia służy do wydłużenia czasu pracy z baterii. Wówczas wszystkie nieużywane obwody peryferyjne są wyłączone lub działają przy minimalnym zapotrzebowaniu na energię. Co do zasady, aplikacje IoT okresowo budzą się, wykonują określone zadanie (np. wykonują pomiar), a następnie wracają do trybu uśpienia. W zależności od potrzeb wyłącza się część bloków, a więc te aktualnie nieużywane a inne są zasilane. Taki tryb to uśpienie częściowe. W nim większość bloków, w tym komunikacja, zasilanie czujnika i układy cyfrowe, są wyłączone, a w trybie głębokiego uśpienia cały układ czujnika bezprzewodowego jest wyłączony.

Włączenie trybu głębokiego uśpienia umożliwia maksymalne wydłużenie żywotność baterii, dlatego optymalizacja prądu pobieranego w tym czasie jest kluczowym sposobem na poprawę bilansu energetycznego.

Cykl pracy umożliwiający włączenie trybu głębokiego uśpienia w IoT

Cykl pracy aplikacji IoT to jedna z popularnych technik wykorzystania trybu głębokiego uśpienia. Gdy węzeł czujnika bezprzewodowego jest w tym stanie, większość urządzeń peryferyjnych jest wyłączona łącznie z mikrokontrolerem lub znajduje się w trybie shutdown (stanie odcięcia zasilania), pobierając prąd o natężeniu nanoamperów. Za wybudzenie odpowiada zegar czasu rzeczywistego (RTC), który aktywuje moduł IoT o zaprogramowanym czasie. Wybudzanie zajmuje trochę czasu i tworzy czasem niepożądaną zwłokę w reakcji. Należy to uwzględnić dobierając współczynnik czasów dla aplikacji zależnie od charakterystyk czasowych dla węzłów i wymaganego czasu pracy w trybie aktywnym.

 
Rys. 2. Schemat blokowy przykładowego rozwiązania aplikacji IoT z komponentami dyskretnymi

Większość tradycyjnych rozwiązań wykorzystuje trzy elementy funkcjonalne zapewniające taką funkcjonalność: zegar RTC odmierzający czasy, przełącznik napięcia zasilania i przycisk aktywujący działanie nowokupionego urządzenia podłączony do układu sterującego (kontrolera).

W tradycyjnym rozwiązaniu wykorzystuje się osobny przełącznik napięcia zasilania i zegar RTC, które razem służą do włączania węzła czujnikowego w czasie aktywnym i wyłączania go w czasie uśpienia. Ma to taką zaletę, że cały czas zasilany jest tylko zegar RTC, co zmniejsza całkowity prąd spoczynkowy aplikacji do nanoamperowej wartości. Czas uśpienia można ustawić wykorzystując mikrokontroler znajdujący się aplikacji do zaprogramowania rejestrów RTC. Dla realizacji trybu transportowego do przełącznika zasilania trzeba podłączyć dodatkowy sterownik przycisku aktywującego działanie, który realizuje funkcję inicjacji normalnej pracy (rys. 2).

Tabela 1. Pobór prądu przez bloki funkcjonalne rozwiązania tradycyjnego
Funkcja Symbol Sleep Mode (nA) (typ) Shutdown (nA) (typ.)
RTC MAX31342 150 6
Przełącznik zasilania TPS22916 10 10
Blokada transportowa baterii MAX16150 10 10
Prąd całkowity (typ.) 170 26

Lepszy pomysł układowy

MAX16163/MAX16164 to kontrolery klasy "nanopower" produkowane przez Analog Devices pozwalające na zaprogramowanie czasu uśpienia aplikacji w zadanym cyklu. Układy te mają też wbudowany przełącznik zasilania o maksymalnej wydajności 200 mA i zastępują w sumie trzy komponenty dyskretne z rysunku 2, ograniczając koszty realizacji.

Zasilanie węzła czujnikowego jest w tym rozwiązaniu podłączone do baterii poprzez MAX16162/ MAX16163, a czas uśpienia może być zaprogramowany przez mikrokontroler i interfejs I²C lub ustawiony za pomocą zewnętrznego rezystora na pinie PB/SLP. Podobnie jak w rozwiązaniu dyskretnym do zakończenia trybu blokady transportowej baterii służy specjalny przycisk (rys. 3).

 
Rys. 3. Zintegrowane rozwiązanie z MAX16163

Porównanie wydajności

Porównanie parametrów obu rozwiązań zależy od ustalonego cyklu pracy aplikacji IoT. Gdy czas uśpienia jest bardzo długi, prąd który w tym stanie jest pobierany z baterii jest poniekąd miarą wydajności energetycznej aplikacji. Natomiast pobór prądu w trybie shutdown (wyłączenia) miarą zużycia energii w trybie transportowym. Do symulacji wybrany został układ RTC z najmniejszym na rynku prądem spoczynkowym tj. MAX31342, kontroler blokady transportowej baterii MAX16150 i "mały" przełącznik zasilania TPS22916. RTC jest programowany za pomocą I²C, którym ustawia się czas uśpienia aplikacji IoT. Timer wystawia sygnał przerwania na pinie PBIN i jednocześnie ustawia stan wysoki na wyjściu OUT załączając zasilanie. W czasie uśpienia tylko TPS22916, MAX31342 i MAX16150 są pod napięciem (rys. 4).

 
Rys. 4. Schemat ideowy rozwiązania na elementach dyskretnych

Następnie dokonano eksperymentu oceny żywotności baterii dla dwóch rozwiązań: tradycyjnego oraz zintegrowanego bazującego na układzie MAX16163. Żywotność baterii można obliczyć jako stosunek pojemności baterii i średniego prądu obciążenia.

Z kolei średni prąd obciążenia można obliczyć na podstawie wybranego cyklu pracy.

Średni prąd obciążenia = Prąd zasilania w stanie aktywnym × D + Prąd zasilania w stanie spoczynkowym × (1–D)

 
Rys. 5. Wykres przedstawiający żywotność baterii w funkcji cyklu pracy

Prąd zasilania w stanie aktywnym jest pobierany w trakcie działania czujnika. Załóżmy, że system budzi się raz na dwie godziny, wykonuje określone zadanie, a następnie przechodzi w tryb uśpienia. Aktywny prąd zasilania wynosi 5 mA. Żywotność baterii zależy od czasu wykonania zadań pomiarowych w cyklu aktywnym. Rysunek 5 przedstawia wykres żywotności baterii dla dwóch układów i różnych cykli pracy od 0,005% do 0,015%.

Jak widzimy na wykresie optymalizacja poboru prądu w trybach shutdown i uśpienia jest jednym z najlepszych sposobów na poprawę żywotności baterii. Układ MAX16163 Analog Devices zapewnia mniejsze wartości, co wydłuża żywotność baterii o około 20% (dla schematu działania z 0,007% współczynnikiem wypełnienia) i zmniejsza rozmiar rozwiązania do 60% w porównaniu z konwencjonalnym podejściem na elementach dyskretnych.

Tabela 2. Porównanie parametrów użytkowych dwóch rozwiązań
Parametr Elementy dyskretne, takie jak MAX31342, MAX16150 i TPS22916 Zintegrowany układ MAX16163
Pojemność ogniwa 250 mAh 250 mAh
Prąd pobierany w stanie shutdown 146 nA 30 nA
Prąd w stanie uśpienia 170 nA 10 nA
Liczba układów 3 (RTC + przełącznik zasilania + blokada transportowa baterii) 1 (MAX16163)
Oscylator kwarcowy Wymagany Niewymagany
Zajmowane miejsce na PCB 130 mm² (typowo) 50 mm² (typowo)

Suryash Rai, Product Applications Engineer

 

Arrow Electronics Poland
tel. 22 558 82 66
www.arrow.com