Zasilanie Arduino z baterii 9 V.

16

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ą?

Suma
źródło
Spróbowałbym podłączyć multimetr i zmierzyć prąd z akumulatora z całą rzeczą i przy odłączonym wyświetlaczu i czujnikach. Nie próbuj optymalizować arduino, jeśli coś innego pociąga za sobą większość mocy.
BowlOfRed
@ bowlofred „mierzy prąd z akumulatora” - wystarczy, ale najpierw muszę kupić nowe ogniwo 9 V. :)
Suma
1
Baterie 9 V są małe, tylko około 500 mAh. Sam podświetlenie LCD zabije go w ciągu kilku godzin.
hobbs
Bardziej radykalne podejście do oszczędzania energii: 1. Korzystanie z płytki TI MSP430 zamiast Arduino; 2. Korzystanie z regulatora nieliniowego; 3. Używanie LCD bez podświetlenia (jak w kalkulatorze).
Vi.
@bowlofred Cały prąd wynosi 61 mA. Bez podświetlenia wynosi 57 mA, bez wyświetlacza LCD i bez czujników - 56 mA.
Suma

Odpowiedzi:

21

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%.

    • Istnieją konwertery buck (step down), które pobierają baterię jako wejście, a następnie podłączają bezpośrednio do 5V i GND, omijając VIN i regulator. Ten z Pololu zarówno podwyższa, jak i obniża i ma prąd spoczynkowy 0,1 mA.
    • Alternatywnie można użyć baterii alkalicznych 1,5 V i przetwornika podwyższającego (podwyższającego), aby uzyskać napięcie do 5 V (np. Ten produkt firmy Sparkfun). Wydaje się, że konwertery podwyższające są częściej dostępne w magazynie.
    • Wreszcie możesz kupić akumulator litowy z osłoną ładującą. Zaletą tego jest to, że nie trzeba kupować nowych baterii, a dla baterii nieco większej niż bateria 9 V litowa ma znacznie większą pojemność. Naprawdę fajnym produktem jest wodoodporny zestaw Seeeduino Stalker, który zawiera obwód ładowania, akumulator, panel słoneczny i inne gadżety.
  • ATMega328P: Zamiast używać delaytimingu i wirowania w loopnieskoń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.

geometrikal
źródło
1
Dobra dokładna odpowiedź. Uwaga: zużycie energii przez USB do szeregowego atmega16u2, które będzie bardzo znaczące po rozwiązaniu innych problemów.
user2973
@ user2973 czy masz pojęcie, co to może być? Mogę uzyskać typowe cechy z arkusza danych, ale nie umieściłem go, ponieważ nie wiem, czy oprogramowanie układowe ma w nim coś do spania. Jeśli działa normalnie, wynosi 12 mA przy 5 V, co stanowi znaczny pobór.
geometrikal
@geometrikal, jak zasilasz Arduino 2 bateriami AA? To tylko 3 wolty, co jest poniżej minimum. Czy wspomniany zasilacz jest zasilaczem typu buck / boost? (Nawiasem mówiąc odpowiedź <głosowany>.)
Duncan C
1
@geometrikal, czy mógłbyś opublikować link do jednego ze wspomnianych zasilaczy Buck, takiego jak SparkFun? Właśnie przeszukałem i nie mogę go znaleźć. Dla długiej żywotności zasilanie typu buck wydaje się krytyczne, ponieważ prąd jałowy z konwencjonalnego regulatora napięcia jest znaczny.
Duncan C
1
@geometrikal, powiedziałeś „... Również przy spadku napięcia 9 V do 5 V za pomocą regulatora liniowego, prawie część mocy jest tracona przez regulator z powodu spadku 4 V” Czy nie oznacza to prawie dwukrotnego poboru mocy spoczynkowej z 9 V, a także moc potrzebna do każdego mA 5 V? (Ponieważ 4/9 energii jest marnowane przez regulator napięcia na ciepło.) Wydaje się, że lepiej byłoby uruchomić ją z konwertera złotówki, takiego jak TSR 1-2450
Duncan C
3

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.

Franklin
źródło
1

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!

Talk2
źródło