Wczoraj po południu zostawiłem Arduino na świeżej baterii alkalicznej 9V (+ podłączony do Vin, - podłączony do GND). Dzisiaj rano (16 godzin później) wyświetlacz LCD nie był już widoczny, a kiedy zmierzyłem napięcie, zauważyłem, że bateria wyczerpała się ku mojemu zaskoczeniu - jej napięcie jałowe wynosiło tylko 7 V.
Moje urządzenie to Arduino Uno z wyświetlaczem LCD 2x16 z podświetleniem LCD i 2 czujnikami DS18B20. Czy to normalne, że takie urządzenie tak szybko wyczerpuje baterię 9V?
Przeczytałem odpowiedź na pytanie Jakie są (lub jak korzystać) opcje oszczędzania energii Arduino w celu przedłużenia żywotności baterii? pytanie i myślę, że to, co widzę, może być z tym związane, jednak nie jestem pewien. Jeśli tak, to czy istnieją jakieś popularne schematy łączenia Arduino w celu efektywnego zasilania baterią?
Odpowiedzi:
Pobór energii
Płytki Arduino zużywają sporo mocy w porównaniu do innych systemów wbudowanych o podobnej funkcjonalności.
Istnieją trzy główne czynniki:
Regulator liniowy NCP1117 ( arkusz danych ) 5 V w Arduino UNO R3 ( schemat ) ma prąd spoczynkowy około 6 mA.
ATMega328P ( arkusz danych ) pobiera około 5 mA przy 8 MHz i 5 V i prawdopodobnie ponad dwukrotnie więcej niż przy 16 MHz.
user2973: ATMega16U2 używany do komunikacji USB pobiera również około 13 mA.
Diody LED i inne urządzenia peryferyjne również pobierają prąd. W twoim obwodzie podświetlenie LCD prawdopodobnie pobiera również 4 mA.
Podczas spadku napięcia 9 V do 5 V za pomocą regulatora liniowego prawie połowa mocy jest tracona przez regulator z powodu spadku o 4 V. Duncan komentuje, że prawie podwaja to pobór mocy spoczynkowej z 9 V, a także moc potrzebną do każdego mA 5 V, ponieważ 4/9 energii jest marnowane na ciepło przez regulator napięcia. Wydajny regulator przełączający wyłączyłby 5 V przy niewielkiej marnowanej energii, skutecznie zmniejszając pobór prądu widziany przez akumulator o 4 / 9th.
Bateria 9 V duracell ( arkusz danych ) spada z 9 V do 7 V w ciągu około 7,5 godziny przy poborze prądu 50 mA. Dlatego z grubsza przypuszczasz, że obwód pobiera około 25 mA, co brzmi właściwie na podstawie opisu obwodu.
Uwaga: żywotność baterii alkalicznych jest nieliniowa w odniesieniu do prądu. Dla bardzo małych prądów (<1mA) żywotność alkaliczna zbliża się do żywotności baterii litowej.
Zmniejszanie prądu
Oto kilka wskazówek, jak zmniejszyć bieżące zużycie:
Regulator: Zastąp regulator regulatorem o niskim prądzie spoczynkowym lub jeszcze lepiej regulatorem przełączającym (również o niskim prądzie spoczynkowym). Regulator przełączający wykorzystuje „impulsy” prądu oraz niektóre zewnętrzne cewki indukcyjne i kondensatory, aby uzyskać rozsądnie stabilne napięcie wyjściowe. Nie marnuje energii, jak w przypadku spadku napięcia regulatora liniowego i możliwa jest wysoka wydajność w wysokości 90%.
ATMega328P: Zamiast używać
delay
timingu i wirowania wloop
nieskończonym oczekiwaniu na coś, ponownie napisz swój kod, aby spał między odczytami czujnika itp. Istnieje kilka bibliotek o niskiej mocy , które używają timera watchdoga do okresowe wybudzanie ze snu, które są przydatne. Możesz uzyskać bieżące zużycie ATMega328P poniżej 0,1 mA podczas snu.LCD: Wyłącz podświetlenie, a nawet cały wyświetlacz LCD. Dodaj przycisk do projektu, który użytkownik może nacisnąć, aby aktywować wyświetlacz LCD i wyłączyć go po określonym czasie bezczynności.
Urządzenia peryferyjne: Większość układów peryferyjnych ma również tryb uśpienia, który drastycznie zmniejsza zużycie energii. Usuń diody LED zasilania i inne wskaźniki, które nie są konieczne.
ATMegu16U2: user2973 komentarze Wygląda na to, że ten układ jest dość energochłonny ( user2973 ). Można go usunąć, aby oszczędzać energię i zamiast tego użyć UART, ale wydaje się to przesadą. Są płyty Arduino Pro, które są tylko gołymi kośćmi Arduino bez interfejsu USB, którego można użyć zamiast UNO.
Baterie: inne ogniwa alkaliczne mają znacznie większą pojemność. Na przykład 1,5 V AA ma ponad 2000 mAh dla niskich prądów. Zastosowanie ogniw AA i konwertera podwyższającego może wydłużyć czas przed wymianą baterii. Użyj komórek D (16000 mAh) i będzie działać przez dłuższy czas. :RE
streszczenie
Przy odpowiednim zasilaniu i kodowaniu można uzyskać rozsądną żywotność baterii. Stosując powyższe zasady, stworzyłem płytkę pochodną Arduino, która mierzy kilka czujników i zapisuje odczyty na karcie SD co pół sekundy. Może działać przez około 4 miesiące na 2 bateriach AA, więc zdecydowanie można mieć małą moc i pozostać w ekosystemie Arduino.
Układ, którego użyłem do małej mocy na mojej płycie, to LTC3525-3.3V. Przybiera napięcie wejściowe wynoszące zaledwie 0,8 V i zwiększa do 3,3 V, dostępna jest również wersja 5 V. Zaprojektowałem płytkę drukowaną dla tego układu, ponieważ nie było gotowego przebicia, aw arkuszu danych znajdują się projekty referencyjne. Głównym kryterium wyboru tego układu było to, że wciąż miał wysoką wydajność przy bardzo niskich prądach. Niektóre inne konwertery wymagają niewielkiego poboru prądu minimalnego.
Największym odbiorcą energii na płycie ostatecznie była karta micro SD. Może wynosić od 0,1 mA do 1,5 mA prądu jałowego w zależności od producenta. Znalazłem karty Verbatim i Lexar, które zużywają najmniej energii. I będzie to EE.SE pytanie na bieżąco z wynikami moich badań Micro SD Card zużycia energii.
źródło
Myślę, że Arduino Uno nie nadaje się do takich projektów. Niektóre elementy na płycie pobierają zbyt wiele wzmacniaczy, jak słusznie wskazuje @geometrikal. Jeśli podejmiesz wyzwanie, radzę ci przenieść swój projekt na inny poziom i przejść od podstaw.
Sparkfun ma dobry artykuł o tym, jak zwiększyć żywotność baterii, używając ATmega328, który masz również w Arduino Uno: https://www.sparkfun.com/tutorials/309
Poszukaj sposobów na utworzenie obwodu zawierającego tylko te elementy, których naprawdę potrzebujesz, a mikrokontroler będzie spał tak długo, jak to możliwe.
źródło
Inną opcją jest poszukiwanie sprzętu (klon Arduino), który został do tego zaprojektowany, na przykład ta płyta: https://bitbucket.org/talk2/whisper-node-avr/overview
Łącząc taki sprzęt z energooszczędnymi technikami kodowymi, powinieneś być w stanie prowadzić projekty przez dość długi czas na bateriach!
źródło