Jak poprawić wydajność baterii w urządzeniach IoT?
| TechnikaW 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.
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).
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.
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).
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).
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)
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