Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega162][C][WinAVR] Oszczędność energii a funkcja zegarka

20 Sie 2010 15:41 2281 12
  • Poziom 13  
    Witam

    Buduję komputer pokładowy, którego jedną z funkcji będzie zegarek. Przeglądając forum i inne źródła natrafiłem na wiele postów podnoszących kwestię nawet 7805 jako bardzo prądożernego (4mA). Obecnie mój układ pobiera 28mA, więc sporo, a w zimę wiadomo.... Podczas postoju samochodu wyświetlacz 2x16 i jego dioda będą wyłączone.

    W jaki sposób powinno się rozwiązać problem z poborem energii, może procesor przełączyć w tryb Extended Standby Mode? W tym trybie Timer1 będzie miał przerwanie TIMER1_OVR?

    Może jakiś RTC?

    Pozdrawiam
  • Poziom 38  
    tyle prądu przecież pobiera 1,5 diody :P Zasilasz to baterią czy czym?

    są stabilizatory z LM, które pobierają mniej energii
  • Moderator Mikrokontrolery Projektowanie
    Jeśli cały z wyświetlaczem i podświetleniem pobiera 28mA to nie jest źle. Jeśli sam procesor to tragedia. Jak go taktujesz? Podłącz pod timer zewnętrzny oscylator 32768Hz, z niego możesz też taktować procesor. Pomiędzy wyświetleniami dawaj go w sleep, przerwanie timera go wybudzi. Sam procesor powinien brać <1mA (mówię o jakimś z serii A lub low power). Możesz go zasilić zenerką + rezystor i kondensator, który podtrzyma napięcie. LCD zasil z jakiejś przetwornicy impulsowej z wejściem inhibit. LMy biorą w trybie uśpienia prąd rzędu 50uA.
  • Poziom 13  
    Witam

    Zmierzyłem dokładnie miernikiem w obecnej konfiguracji zużycie energii i tak:

    z wyświetlaczem LCD 2x16 z podświetleniem (wersja black line / czarne tło, zielone znaki), kwarcem 11059200Hz, stabilizatorem 78T05 pobiera 31,3mA.

    Aktualnie do celów testowych układ zasilam zasilaczem 12V, docelowo będzie to akumulator samochodowy 45Ah.

    Procesor Atmega162 jest w wersji DIP, procesor ten, jest specjalnie wybrany ze względu na 2 porty RS232, mogłem dobrać kwarc ~7Mhz (nie pamiętam dokładnie), ale z innych projektów miałem już gotowe metody z kwarcem 110592000Hz ...

    Pozdrawiam
  • Poziom 26  
    elektronik12z napisał:
    Witam

    Zmierzyłem dokładnie miernikiem w obecnej konfiguracji zużycie energii i tak:

    z wyświetlaczem LCD 2x16 z podświetleniem (wersja black line / czarne tło, zielone znaki), kwarcem 11059200Hz, stabilizatorem 78T05 pobiera 31,3mA.

    Aktualnie do celów testowych układ zasilam zasilaczem 12V, docelowo będzie to akumulator samochodowy 45Ah.

    Procesor Atmega162 jest w wersji DIP, procesor ten, jest specjalnie wybrany ze względu na 2 porty RS232, mogłem dobrać kwarc ~7Mhz (nie pamiętam dokładnie), ale z innych projektów miałem już gotowe metody z kwarcem 110592000Hz ...

    Pozdrawiam


    31,3mA pobiera z 12V, czy za stabilizatorem?

    Ogólnie wywali stabilizator i zastosuj przetwornicę stepdown. Zmniejszy się pobór prądu o ok. połowę. Poza tym najlepiej zastosować RTC np. PCF'a i do tego baterię pastylkową C2032 (czy jakoś tak 3V) i dwie diody 1n4148.

    W takiej konfiguracji podłączasz wszystko tak, żeby komputer działał tylko po przełączeniu stacyjki na zapłon. Bateria wystarczy na parę lat.

    Możesz też zrobić taki układzik, że tylko PCF będzie zasilany z aku jeżeli stacyjka nie będzie na zapłonie.

    Ja osobiście bym wybrał rozwiązanie z pastylką i PCF'em. Chyba że robisz coś co chcesz sprzedać w wielu egzemplarzach. Wtedy może warto po kodować wprowadzić sleepa i wykorzystać softwarowy RTC w atmedze.

    Pozdrawiam
  • Poziom 13  
    Witam

    Pobór prądu mierzę przed stabilizatorem, po przełączeniu procesora w tryb External power down, pobór spada do 6.9mA. Spróbuję dodać kwarc 32768kHz do nóżek TOSC1 i 2 i wykorzystać Timer2 do obliczania czasu. Pewnie po wymianie 7805 pobór prądu spadnie do ok. 3 mA, co już nie jest takie złe.

    Poza tym chcę wykorzystać stary telefon bez baterii, więc tam pobór prądu też jakiś będzie (trochę mi szkoda pieniędzy na Sim300).

    Pozdrawiam
  • Poziom 27  
    Z drugiej strony zastanów się czy rzeczywiście 31mA to dużo, zważywszy wydajność aku 45Ah nawet w zimie. Chyba że auto często stoi np. 2 tyg. bez jezdzenia. Przecież auta posiadają komputery, alarmy, które pobierają często dużo więcej. Ważniejszy jest stan aku, jak jest zajechany to i 0 poboru prądu nie pomoże jak przyjdą mrozy.
  • Poziom 13  
    Witam

    Pewnie, że jak na aku samochodowy to nie jest to dużo, ale z braku czasu nie chiałbym, wracać do już zrobionego układu, po prostu chciałbym zrobić to jak najlepiej można.

    Podłączyłem kwarc 32.768kHz pod TOSC1 i TOSC2, prescaler na 1024, włączyłem bit AS2 w ASSR, przerwanie Timer2_Ovr_Vector i oczywiście zegarek bardzo ładnie chodzi, niestety jest jedno ale, przechodząc w tryb uśpienia, po wystąpieniu ww. przerwania wychodzi z trybu uśpienia :(

    Jest jakiś sposób, aby przerwanie przepełnienia Timera2 zachodziło nieustannie, ale procesor nie wychodził z trybu uśpienia przy jego przepełnieniu?.

    PCF może to dobry sposób, ale niestety nigdy nie podłączałem do avr takiego układu.

    Pozdrawiam
  • Moderator Mikrokontrolery Projektowanie
    Zastanów się. Przecież to co chcesz osiągnąć jest bez sensu - jak procesor ma wykonać obsługę przerwania nie wychodząc z uśpienia? Ma lunatykować? Zrób w przerwaniu co masz do zrobienia i uśpij go ponownie. Te mikrosekundy, które zajmie obsługa przerwania nie obciążą znacząco akumulatora.
  • Poziom 26  
    No jeżeli nie chcesz modyfikować układu to zrób tak jak Tobie mówi tmf. Sumaryczny pobór prądu się dużo nie zmieni.

    Jak chcesz osiągnąć największą wygodę i zerowy pobór prądu bez zapłonu wykorzystaj PCF'a z baterią. Podłącza się go wg noty katalogowej dwa rezystory 10k pull up na SCL i SDA + 2 diody (1n1418 lub podobne), a na elektrodzie nie jedną bibliotekę do jego obsługi znajdziesz. Jak poradziłeś sobie z LCD i konfiguracją timera, to poradzisz sobie z PCF'em i I2C.

    Zalety:
    - zegar zawsze działa o ile bateria jest żywa.
    - dodatkowo masz 240bajtów ramu podtrzymywanego przez baterię na jakieś ustawienia.
    - pobór prądu z aku jest zerowy (podłączasz urządzenie pod zapłon).


    Z tego co wiem w normalnej osobówce pobór prądu przez wszystkie urządzenia nie powinien przekraczać 50mA bez kluczyka w stacyjce. Pewnie znajdzie się kilka osób które się z tym nie zgodzą :)

    Pozdrawiam
  • Moderator Mikrokontrolery Projektowanie
    10k w samochodzie dla I2C to będzie za dużo. Pewnie wyjdzie coś koło 2-4k, a to już nam daje 2-4mA na same pull upy. Poza tym procesor w takim układzie i tak będzie zasilany i będzie brał prąd. Więc bez sensu jest dodawać kolejny scalak, który nic nie wnosi. Chyba, że zasilanie tego układu będzie odłączane przy braku kluczyka - ale to też wymaga zmian w układzie. Normalnie działający procesor powinien brać koło kulkuset mikroA, więc to absolutnie nie stanowi żadnego problemu dla akumulatora. Pewnie zwykła upływność elektryki w samochodzie jest większa.
  • Poziom 13  
    Witam

    Zrobiłem tak jak napisał tmf, na moim układzie testowym zmierzyłem pobór prądu - 4.9mA. Po zmianie 7805 na coś bardziej energooszczędnego będzie ok.


    Pozdrawiam
  • Moderator Mikrokontrolery Projektowanie
    Wrzuć małą przetwornicę step down - elementów zewnętrznych nie ma to więcej niż klasyczny stabilizator liniowy, a sprawność bez problemu osiągniesz na poziomie 80%. Na liniowym 30% to i tak byłaby rewelacja.