Monitor żywotności baterii w obwodzie PIC

10

Mam mały obwód za pomocą mikrokontrolera PIC18F14F50, który loguje dane do zewnętrznego układu EEPROM przez interfejs i2c (który później mogę odczytać przez interfejs USB). Jedna próbka jest rejestrowana co 15 minut i nie musi być szczególnie dokładnie mierzona.

Jest ok, jeśli próbki są pomijane lub źle mierzone podczas wymiany baterii, ale nie jest wspaniale, jeśli baterie tracą ważność i żadne dane nie są rejestrowane przez kilka dni, dopóki ktoś nie zauważy.

Chciałbym więc ostrzec użytkownika, gdy bateria będzie bliska wyczerpania, aby mógł je wymienić. Średni prąd wynosi poniżej 2 mA, a ja zasilam szeregowo 3 baterie alkaliczne AA, aby dać 4,5 woltów, więc spodziewam się, że będą działać całkiem sporo dni.

Ale zastanawiam się, jak wykryć niski poziom naładowania baterii? Zakładam, że napięcie spadnie, gdy akumulatory osiągną kres żywotności. Myślę, że ten PIC ma napięcie odniesienia 1.024 V, więc mogę podzielić napięcie zasilające i podać je na wejście analogowe, a kiedy podzielone napięcie spadnie poniżej, wywoła ostrzeżenie.

Ale nie wiem wystarczająco dużo o bateriach, aby wiedzieć, jak dobrze to zadziała? I nie wiem, jakie napięcie wybrać, co wskazywałoby, że może pozostało 10-20% czasu pracy baterii. Czy to w ogóle zadziała? Czy istnieje lepsze podejście?

To wcale nie musi być dokładne, chcę tylko dać dobre ostrzeżenie w jak najkrótszym czasie, nie zmuszając ludzi do odrzucenia baterii, które wciąż mają w sobie życie.

Ponieważ moje obecne użycie jest dość stałe, czy prosty zegar byłby rozsądny, gdybym mógł obliczyć, jak długo wystarczają baterie, a następnie wybrać 85% tego czasu, zanim ostrzeżę? A może żywotność baterii różni się bardziej?

Wszelkie myśli byłyby mile widziane.

John Burton
źródło
1
Jakiego napięcia potrzebuje Twój PIC?
Kortuk
1
Co uważasz za dużo czasu.
Kortuk
Ile prądu pobiera?
endolith

Odpowiedzi:

5

Po pierwsze, pozwól mi skomentować obwód timera. Będzie to działać, o ile wszystkie baterie będą w tym samym wieku i będą przechowywane w tych samych warunkach. Za 6 miesięcy, kiedy nadal będziesz go używać, a Twoje baterie będą starsze o 6 miesięcy, będziesz musiał zaktualizować stoper. Funkcjonalne rozwiązanie, ale nie najlepsze.

Możesz podzielić napięcie wejściowe za pomocą sieci rezystorowej, która ma wystarczająco wysokie napięcie, aby nie wpłynąć na twoje życie (możesz użyć sieci, która się ładuje, po prostu częściej wymieniasz baterie). Jest jeden haczyk, musisz załadować akumulator, aby zobaczyć prawdziwą wartość jego żywotności. Przekonasz się, że im bardziej naładowany akumulator, tym bardziej krzywa rozładowania wygląda jak linia. Nigdy nie będzie linii, nadal będą wyraźne fazy, ale możesz niezawodnie skorelować napięcie naładowanych akumulatorów z pozostałym życiem.

Jeśli Twój PIC jest włączony podczas pomiaru, prawdopodobnie uzyskasz przyzwoity pomiar. Niech pic poświęci czas na pomiar baterii i spójrz na wynikową krzywą napięcia, aż do śmierci urządzenia. Jeśli krzywa pozostanie względnie płaska, a następnie nagle spadnie, a baterie umrą, wówczas będziesz chciał użyć tranzystora i rezystora obciążenia, aby zwiększyć pobór prądu podczas pomiarów akumulatora. Istnieje wiele informacji na temat baterii na uniwersytecie baterii. Często mikrokontrolery nie pobierają wystarczającej ilości prądu, aby uzyskać krzywą nachyloną do końca (widziałem ten problem z ultra niską mocą uC, taką jak MSP430). Prawdopodobnie wszystko będzie w porządku z uruchomionym PIC.

Badania nad chemią baterii AA przyniosły pewne wyniki. Wygląda na to, że wykazują dość płaskie krzywe rozładowania przy niskich prądach (<500 mA). Oznacza to, że prawdopodobnie będziesz potrzebować obwodu rozładowania rezystora połączonego z tranzystorem, aby pomiary napięcia były bardziej wartościowe.

Proszę wybacz mi, jeśli nie było to wystarczająco jasne. Jeśli komentujesz, pytania lub sugestie zaktualizuję to.

Kortuk
źródło
dodano dodatkowe informacje dotyczące AA.
Kortuk
Jeśli interesuje Cię tylko konkretny początek awarii, możesz obserwować ostatnią zmianę rozładowania napięcia na końcu i moment, w którym zaczyna się ostrzeżenie.
Kortuk
Dzięki za to i inne odpowiedzi, dałem mi wystarczająco dużo do przeczytania :)
John Burton
Jeśli chcesz zaakceptować błąd w czasie wymiany baterii, powinieneś być w stanie skorzystać z timera i po prostu skalibrować nowe baterie co kilka miesięcy.
Kortuk
5

Tak, napięcie akumulatora spadnie, ale spadek jest niewielki, powiedzmy pół wolta:

alternatywny tekst

Jeśli używasz dzielnika napięcia, aby wprowadzić go do zakresu ADC, również dzielisz zakres. Sądzę, że jest to nadal mierzalne bezpośrednio w ADC. 5 V / (2 ^ 10) = 0,005 V, z błędami przesunięcia i wzmocnienia ± 3 LSb, więc nadal istnieje wiele poziomów pomiaru między pełnym a pustym?

Aby dokładnie zmierzyć ładowanie i rozładowywanie akumulatora, ludzie rejestrują, ile prądu pobiera rezystor wykrywający prąd, i decydują, że poziom naładowania akumulatora jest niski po upływie określonego poziomu naładowania. Jeśli twoje aktualne losowanie jest względnie stałe, to tak, możesz po prostu użyć timera, aby zrobić to samo. Uruchom go kilka razy, zmierz czas, aż uznasz, że bateria jest wyczerpana, a następnie użyj licznika czasu w przyszłości, aby odgadnąć, kiedy ma umrzeć. Za każdym razem używasz nowych baterii?

endolit
źródło
1
stosowanie układu scalonego do monitorowania ładowania jest tak naprawdę wymagane tylko w przypadku systemów z ładowaniem i rozładowaniem o bardzo dużych pojemnościach. Użyłem metody monitorowania napięcia z 10-bitowym ADC i zadziałało bardzo dobrze. Ważną częścią systemu jest ładowanie baterii.
Kortuk
1
metoda timera nie jest dobrym rozwiązaniem długoterminowym, wiek i warunki temperaturowe baterii znacznie wpływają na ładowanie. Niedawno kupiliśmy 2k baterii od amerykańskiego dostawcy, a rok wcześniej wyraźnie kupili od chińskiego dostawcy, ponieważ działali znacznie gorzej niż nasze trzyletnie ciasta z kontrolowaną temperaturą i żadne z nich nie porównuje się z nowymi bateriami.
Kortuk
Ten obraz jest przy wyładowaniu 100mA, jeśli zwiększysz rozładowanie, napięcie będzie przebiegać bardziej liniowo. widzisz również ostatnią kroplę wcześniej i możesz włączyć powiadomienia i przestać testować baterię, aby przedłużyć żywotność.
Kortuk
@Endolith - Jakie jest twoje źródło tego obrazu? Alkaliczna aplikacja Energizera: data.energizer.com/PDFs/alkaline_appman.pdf ma podobną krzywą (ich czas vs. napięcie, a nie ładunek vs. napięcie, patrz rys. 12 strona 10), ale spadek jest znacznie bardziej stopniowy. Zwłaszcza jeśli urządzenie jest zasilane przez regulator liniowy, spadek napięcia nie wpłynie zbytnio na urządzenie.
Kevin Vermeer
Co rozumiesz przez „bardziej stopniowy”? Ich wykres wydaje mi się trochę bardziej stromy.
endolith,
2

Myślę, że jedynym solidnym sposobem monitorowania takiego systemu jest rodzaj układu przypominającego strażnika: Poproś jakiś inny, oddzielnie zasilany system, sprawdzaj go od czasu do czasu (lub poczekaj na sygnał), a jeśli nie odpowiada, czuj się.

Możesz także użyć tego osobnego systemu do sprawdzenia baterii. Nie będzie cierpieć z powodu wyczerpania głównej baterii, co zabije każdy system monitorowania zasilany z głównej baterii. Jeśli możesz ustawić monitor baterii, który będzie działał na małej baterii, takiej jak ogniwo monety, i zagwarantuje, że przetrwa ona na głównej baterii, to powinno wystarczyć.

Jeśli nie chcesz lub nie możesz mieć drugiego źródła zasilania, pozostałe komentarze wydają się zawierać bardzo dobre sugestie dotyczące samokontroli.

XTL
źródło
To zdecydowanie najbardziej niezawodny sposób. Drugi system prawie nie musi działać: wystarczy ustawić szpilkę wysoko w obserwowanym systemie, ustawić przerwanie na obserwatorze i przejść w tryb głębokiego uśpienia. Następnie, gdy się zmieni, zacznij emitować sygnał dźwiękowy (lub cokolwiek to jest sygnał) co 5..10..30..60 minut itp.
Kevin Vermeer
To tak naprawdę dla mnie nie zadziała, poinformuje mnie, gdy będzie za późno, aby wymienić baterię na czas, a nie wcześniej.
John Burton,
Prawdopodobnie będziesz musiał monitorować baterię.
XTL,
2

Możesz uzyskać znacznie dokładniejsze napięcie odniesienia za pomocą wzmacniacza operacyjnego (użyj takiego ze stykiem aktywującym, aby można go było łatwo odłączyć) i po prostu dostrój obwód do zakresu napięcia, który chcesz zmierzyć: 0 V przy 0,8 V, i 3,3 V przy 1,1 V. Jeśli jest nasycony, wiesz, że masz dużo ładunków i nie potrzebujesz monitora, tylko alarm.

Upewnij się również, że mierzysz kilka razy (lub używasz rezystora czujnikowego prądu), zamiast zakładać, że spadek napięcia spowodowany jest przez wyczerpującą się baterię. Tak nie jest - napięcie akumulatora zależy zarówno od prądu rozładowania, jak i od pozostałego ładunku. Skok prądu może spowodować duży spadek napięcia, ale akumulator wyzdrowieje po wyjęciu. Zobacz rysunek 9 alkalicznej karty danych Energizer.

Kevin Vermeer
źródło
W końcu zrobiłem kilka różnych rzeczy. Przeprogramowałem oprogramowanie, aby właściwie ustawić mikrokontroler w tryb uśpienia między próbkami, co znacznie obniżyło średnie zużycie energii. Akumulatory, których użyłem, nadal mają zmierzone napięcie ponad 90% swojego oryginalnego po około 2 miesiącach. Ustawiłem poziom około 80%, aby zasygnalizować niski poziom naładowania baterii. Myślę, że pozostanie im jeszcze około 50%, ale da mi to dużo czasu na ich zmianę
John Burton,
O! Nie zdawałem sobie sprawy, że już tego nie robisz - i tak, tryb uśpienia jest świetną rzeczą.
Kevin Vermeer
0

Jeśli to możliwe, zmierz napięcie baterii alkalicznej AA tuż po jej obciążeniu przez normalne obciążenie (urządzenie) i zatrzymaj prąd obciążenia, gdy spadnie poniżej 0,9 V na baterię AA, twoje baterie są wyczerpane. Robię to, zaprojektowałem wiele produktów i działa idealnie. Normalne baterie alkaliczne odzyskają się po usunięciu obciążenia, ale zajmuje to czas w zależności od prądu obciążenia. Czasami mogą to być minuty lub nawet godziny w zależności od temperatury i prądu obciążenia. Mierząc go podczas ciągłego użytkowania małym prądem, będziesz musiał przyjąć wyższe napięcie w zależności od prądu, ale zwykle 1,2 V jest w porządku dla urządzenia wykorzystującego tylko 5 mA.

PaulHolland
źródło