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.

ATmega164PA - pobór prądu

04 Kwi 2013 16:17 3864 28
  • Poziom 9  
    Witam. Interesuje mnie pobór prądu przez układ jak w temacie. Znalazłem tylko taki lakoniczny datasheet w którym prawie nic nie ma oprócz jakichś szczątkowych informacji na temat poboru prądu na pierwszej stronie.

    Interesuje mnie pobór prądu przy taktowaniu 4MHz i zasilaniu 1,8V w trybach active oraz idle.

    Czy prąd w trybie active mogę sobie w przybliżeniu założyć jako 1,6mA skoro właśnie na pierwszej stronie jest napisane że przy 1MHz i 1,8V układ pobiera 0,4mA?

    W każdym razie nie mam skąd wydedukować poboru prądu w trybie idle.
  • Poziom 9  
    Dzięki, ale jakieś te informacje z wykresów są podejrzane. Wychodzi na to że przy 1.8V i 4MHz w trybie active układ nie pobierze nawet 1mA (wykres na str. 342). Z tego samego wykresu jak go dobrze powiększyć i linijką zmierzyć można odczytać że przy 1MHz i 1,8V układ pobiera mniej niż 0,3mA co przeczy informacjom z początku datasheeta (no chyba że tam podali maksymalny przypadek). W każym razie jak widać pobór prądu zwiększa się mniej niż czterokrotnie przy podkręceniu zegara z 1 do 4MHz. Czy to nie jest błąd na wykresie? Może to jest związane z jakimiś peryferiami które pobierają znaczny prąd niezależnie od taktowania? W sumie to możliwe bo jak przedłużyć ten wykres (praktycznie idealna linia prosta) to nie przechodzi przez zero tylko coś koło 0,1mA.

    W każdym razie jeśli wierzyć wykresom układ pobierze około 150uA w trybie idle przy 1,8V i 4MHz co już spełnia moje oczekiwania.
  • Moderator Mikrokontrolery Projektowanie
    Nie ma błędów. Wszystkie informacje są prawidłowe. Wykresy są najważniejszym źródłem danych. To co pisze na początku to tylko wybrane dane.

    Dobrze także się domyślasz, że niektóre peryferia można wyłączyć. Na przykład komparator jest domyślnie włączony.
  • Poziom 9  
    Czy więc mogę się spodziewać że jak to wszystko wyłączę to przy 1,8V i 4MHz w trybie idle prąd spadnie ze 150uA do 50uA?
    Zakładam że spadnie o 100uA bo jak już mówiłem wcześniej wykres dla zerowej czestotliwości przechodzi mniej więcej przez 100uA.
  • Użytkownik usunął konto  
  • Moderator Mikrokontrolery Projektowanie
    jarek4700 napisał:
    Czy więc mogę się spodziewać że jak to wszystko wyłączę to przy 1,8V i 4MHz w trybie idle prąd spadnie ze 150uA do 50uA?
    Zakładam że spadnie o 100uA bo jak już mówiłem wcześniej wykres dla zerowej czestotliwości przechodzi mniej więcej przez 100uA.

    Podaj numery wykresów na podstawie, których wnioskujesz: http://www.atmel.com/Images/doc8152.pdf
  • Poziom 9  
    Chodzi mi o Figure 28.7 na stronie 345
    Fakt że się pomyliłem pisząc że przedłużenie przechodzi przez 100uA - tak naprawdę przechodzi przez jakieś 60uA.
    Czy zatem prąd w trybie idle 4MHz i 1,8V będzie 150uA (z tego samego wykresu) minus 60uA = 90uA?
  • Moderator Mikrokontrolery Projektowanie
    Wykres ten pokazuje, że dla trybu IDLE przy 4MHz i 1,8V, prąd pobierany przez uC będzie miał około 180-200uA.
    Można zadać pytanie, jakie działające peryferia są wtedy brane pod uwagę. W tym zakresie odpowiedź można znaleźć tutaj:

    Cytat:
    28. Typical Characteristics

    The following charts show typical behavior. These figures are not tested during manufacturing.
    All current consumption measurements are performed with all I/O pins configured as inputs and
    with internal pull-ups enabled. A sine wave generator with rail-to-rail output is used as clock
    source.
    All Active- and Idle current consumption measurements are done with all bits in the PRR registers set and thus, the corresponding I/O modules are turned off. Also the Analog Comparator is
    disabled during these measurements. The power consumption in Power-down mode is independent of clock selection.
    The current consumption is a function of several factors such as: operating voltage, operating
    frequency, loading of I/O pins, switching rate of I/O pins, code executed and ambient temperature. The dominating factors are operating voltage and frequency.
    The current drawn from capacitive loaded pins may be estimated (for one pin) as CL
    *V
    CC*f where
    CL
    = load capacitance, VCC = operating voltage and f = average switching frequency of I/O pin.
    The parts are characterized at frequencies higher than test limits. Parts are not guaranteed to
    function properly at frequencies higher than the ordering code indicates.
    The difference between current consumption in Power-down mode with Watchdog Timer
    enabled and Power-down mode with Watchdog Timer disabled represents the differential current drawn by the Watchdog Timer.
  • Poziom 9  
    W trybie idle nie będzie u mnie problemu żeby wszystkie I/O były wejściami pull-up. W active oczywiście tak nie będzie ale ten tryb będzie najrzadziej wykorzystywany.
    Nie rozumiem tylko tego fragmentu:
    "All Active- and Idle current consumption measurements are done with all bits in the PRR register set and thus, the corresponding I/O modules are turned off".
    Czym są te "corresponding I/O modules"?
    Czy w takim razie może pracować licznik w trybie przechwytywania?

    Doszedłem teraz do wniosku że wyrobię się przy mniejszej ilości wyprowadzeń procka a kod i tak by nie przekroczył 8kB więc wystarczy mi ATmega88pa która pobiera znacznie mniej prądu w trybie idle. atmega88pa datasheet
    Figure 29.53 str.354 pokazuje około 100uA przy 1,8V i 4MHz.

    P.S. Czy istnieją w ogóle jakieś w miarę dostępne baterie na 1,8V (nie akumulatorki)?
  • Poziom 1  
  • Moderator Mikrokontrolery Projektowanie
    jarek4700 napisał:
    Nie rozumiem tylko tego fragmentu:
    "All Active- and Idle current consumption measurements are done with all bits in the PRR register set and thus, the corresponding I/O modules are turned off".
    Czym są te "corresponding I/O modules"?

    Przeczytaj opis rejestru PRR – Power Reduction Register a zrozumiesz co to oznacza.

    jarek4700 napisał:
    Czy istnieją w ogóle jakieś w miarę dostępne baterie na 1,8V (nie akumulatorki)?

    Raczej nie.

    Marek_Skalski napisał:
    Inny sposób, to procek sam się odcina od zasilania (poprzez tranzystor włączony szeregowo w linię zasilania i sterowany z portu uC) i tylko zewnętrzny sygnał (przycisk, RTC lub inne urządzenie) załącza zasilanie kiedy jest to potrzebne. Zaletą jest praktycznie zerowy pobór prądu, ...

    No niezupełnie. Wszystko zależy, jaki mikrokontroler zastosujemy. Na przykład bardzo popularne i tanie PIC'e z technologią XLP, w trybie najgłębszego snu, pobierają zaledwie 20nA. W takiej sytuacji rozwiązanie z tranzystorem jest kompletnie nieopłacalne, ze względu na prąd upływu tranzystora Zero Gate Voltage Drain Current, który wynosi znacznie więcej np. 1µA.


    Marek_Skalski napisał:
    ... tylko zewnętrzny sygnał (przycisk, RTC lub inne urządzenie) załącza zasilanie kiedy jest to potrzebne. Zaletą jest praktycznie zerowy pobór prądu, ew. 200nA dla RTC ...

    Jeżeli dobrze rozumie, masz na myśli zewnętrzny RTC. Jeżeli tak to czy możesz podać konkretny przykład o takim poborze prądu?
    Pytam ponieważ PIC'e mają wbudowany RTC, który pobiera około 600-700nA.


    Marek_Skalski napisał:
    Układy zasilane z baterii nie muszą mieć stabilizatorów. Mając baterię w stylu 2x1,2V, 2x1,5V (ew. 1x3,7V) zasilasz układ bezpośrednio, aż do rozładowania baterii.

    Owszem tak można projektować i często tak się robi. Jednakże w zależności od rodzaju i pojemności baterii, gdy napięcie na niej spadnie poniżej wartości niezbędnej do pracy mikrokontrolera, nadal zawiera ona sporo energii, która idzie do kosza wraz z baterią. Dlatego można układ zasilania zrobić inaczej.

    Na przykład zamiast baterii 3V, dajemy 1,5V ale o 2x większej pojemności. Do tego dodajemy układ przetwornicy napięcia dedykowanej dla takich rozwiązań, np. MCP1640. Przetwornica ta generuje napięcie jakie chcemy nawet wtedy, gdy napięcie na baterii spadnie do 0,35V. Innymi słowy "wysysa baterię prawie do końca": http://ww1.microchip.com/downloads/en/DeviceDoc/22234B.pdf

    Oczywiście nie ma nic za darmo. Przetwornica ma swoją sprawność i także upływność gdy jest wyłączona. Dlatego w takich przypadkach należy dokonać szczegółowego bilansu energetycznego i/lub posiłkować się eksperymentami. No i oczywiście liczyć koszty :)


    Szkoda, że nie podajesz co projektujesz. Wygląda na to, że to urządzenie ma masę pracy, skoro jedyny tryb snu jaki przewidujesz to IDLE. Napisz coś więcej, bo być może zabierasz się do projektu w niewłaściwy sposób.
  • Poziom 1  
  • Użytkownik usunął konto  
  • Poziom 1  
  • Moderator Mikrokontrolery Projektowanie
    Marek_Skalski napisał:
    Nie było moją intencją opisywanie wszystkich możliwości redukcji poboru prądu czy inaczej rozumianego oszczędania energii w aplikacjach bateryjnych.

    Dlatego ja podałem alternatywne rozwiązania.


    Marek_Skalski napisał:
    Nie zawsze można zapakować na pokład PICa z serii XLP. Czasami potrzebny jest uC z większą ilością sprzętu, pinów, a układy ...

    PIC był tylko przykładem. Inni producenci mają swoje technologie w tym zakresie.

    Marek_Skalski napisał:
    Wtedy właśnie odłącza się cały układ, podtrzymując tylko RTC z drugiej baterii, który o zadanej porze włączy układ ponownie lub stosuje się czujnik typu żyroskop/akcelerometr, który włączy układ kiedy to jest potrzebne, a później uC przejmuje kontrolę na kluczem ...

    Kombinowanie oczywiście jest wskazane, a to zależy od wielu czynników.

    Marek_Skalski napisał:
    W przypadku akumulatora nie zaleca się takich praktyk, ponieważ niszczy to jego trwałość i pojemność.

    Autor tematu pytał o baterię, a nie akumulator.

    Marek_Skalski napisał:
    A ten 1uA prądu upływu to jednak przesada.

    Żadna przesada. To normalny bilans energetyczny danego projektu, który wydłuża wielokrotnie okres użytkowania urządzenia. W tym wypadku (20nA do 1uA, aż 50-krotnie).


    Marek_Skalski napisał:
    Są tranzystory bipolarne (BC807-16), które mają prąd zerowy kolektora na poziomie 100nA, a prąd bazy jest wtedy już z natury pomijalny, baza jest na potencjale emitera.

    100nA to nadal kilka razy więcej niż możliwości mikrokontrolera w tym zakresie (np. 5 razy więcej niż PIC z XLP).

    Zastosowanie tranzystora bipolarnego do tego celu może być jeszcze gorszym rozwiązaniem, ponieważ do jego sterowania niezbędny jest prąd bazy liczony w mikroamperach lub nawet w miliamperach, a to czysta strata energii baterii:

    ATmega164PA - pobór prądu

    Wszystko zależy oczywiście od proporcji czasu uśpienia do czasu pracy.


    Reasumując, nie ma jednej jedynie słusznej drogi i z każdym projektem należy kombinować i znaleźć swój kompromis :)
  • Poziom 9  
    Fakt że chyba niepotrzebnie zastanawiam się nad tym poborem prądu.
    Ogólnie to projektuję na zaliczenie przedmiotu traktującego o programowaniu mikrokontrolerów uniwersalny pilot zdalnego sterowania z możliwością tzw. "uczenia się". To znaczy nie będzie to taki całkiem uniwersalny pilot bo będzie obsługiwał tylko te najbardziej znane standardy no i to co się nauczy.
    Ogólnie to w błąd wprowadził mnie ten dokument który przypadkiem znalazłem w sieci. Piszą tam jakie to te MSP są fajne i jak mało mikroamperów pobierają. Wiadomo że podczas wysyłania komend pilot nie ma wiele do roboty oprócz odliczania czasów co można zrobić licznikami i dlatego piszę o trybie idle. Ogólnie wstępnie źle założyłem że prąd diody będzie w impulsie 12mA co w standardzie RC5 z wypełnieniem nośnej 25% daje tylko ok. 270uA prądu średniego. Chciałem żeby prąd pobierany przez uC był tak ze dwa razy mniejszy żeby sprawność była sensowna.
    No ale teraz się dopatrzyłem że w tamtym linku dioda pobiera jakieś 360mA w impulsie co daje około 8mA średniego prądu w standardzie RC5 z wypełnieniem nośnej 25%. Zastanawiam się więc po co tam w ogóle podawali jaki prąd pobiera mikrokontroler skoro to i tak jest do zaniedbania.
    Inna sprawa to pobór w trybie power down kiedy pilot czeka na naciśnięcie przycisku. Policzyłem jednak że pojemność baterii 1000mAh wystarczyłaby na 10 milionów godzin przy poborze prądu 0.1uA. Przecież to jest ponad 1100 lat!
    Zatem nie ma różnicy czy pilot w spoczynku będzie pobierał 0.1uA czy też 10uA bo i tak żadne baterie nie wytrzymają więcej niż 11lat ze względu na trwałość, prawda?
    Nie wiem więc jaki jest sens tamtego dokumentu. Wychodzi na to że każdy pilot jest tak samo oszczędny bo jest to zdeterminowane przez pobór prądu przez diodę.


    Zastanawia mnie jednak ta przetwornica:
    dondu napisał:


    Na przykład zamiast baterii 3V, dajemy 1,5V ale o 2x większej pojemności. Do tego dodajemy układ przetwornicy napięcia dedykowanej dla takich rozwiązań, np. MCP1640. Przetwornica ta generuje napięcie jakie chcemy nawet wtedy, gdy napięcie na baterii spadnie do 0,35V. Innymi słowy "wysysa baterię prawie do końca": http://ww1.microchip.com/downloads/en/DeviceDoc/22234B.pdf

    [/b]

    Ogólnie okazuje sie że nie mogę zasilać układu z 1,8V bo wyświetlacz lcd jaki użyję będzie z nokii3310 ze względu na koszty. On potrzebuje co najmniej 2,7V. Ponadto w układzie będzie też odbiornik podczerwieni którego nie udało mi się znaleźć na tak niskie napięcie.
    Zastanawiam się więc czy jeśli dam 2 baterie AAA 1,5V to czy opłaca się je wysysać kiedy napięcie spadnie poniżej 2,7V? Ile energii w nich jeszcze zostanie?

    I jak to zrobić z tym wysysaniem do 0,35V? Przetwornica chyba musiałaby być cały czas włączona. Nie da się jej wyłączyć ponieważ wtedy na wyjściu może dać albo tyle co ma na wejściu albo odizolować się od wejścia. Nie rozumiem więc jak procesor w trybie power-down zasilany napięciem 0,35V miałby ją znowu włączyć. Quiescent current tej przetwornicy (włączonej) to 19uA. Ogólnie to zastanawia mnie teraz czy pilot podziałałby więcej lat z tą przetwornicą czy bez.

    Np dla średniego prądu diody 8mA jedna sekunda pracy pilota to tyle samo poboru energii co 80 tys. sekund czuwania (0,1 uA) czyli 22h. Użytkownik będzie raczej częściej naciskał przyciski z czego wynika że nie ma co sobie zawracać głowy czuwaniem.
    Ale jak dołożymy tą przetwornicę to wychodzi że jedna sekunda pracy jest równoważna tylko 7 minut czuwania! Z drugiej strony układ z przetwornicą wyssie baterie do końca. Nie wiem teraz tylko jaki średni czas używania pilota założyć żeby to jakoś oszacować czy się opłaca czy nie.

    Ogólnie nie jest to jakiś ważny problem ponieważ na zaliczeniu przedmiotu nikt nie będzie się wgłębiał w kwestie zasilania tylko w kod ale chciałem przy okazji mieć potem coś co mi się w domu przyda.
  • Użytkownik usunął konto  
  • Poziom 9  
    No dobra ale czy przypadkiem nie oszukują trochę czytelników? Bo ultra-low power ir transmitter wydaje się nie istnieć jeśli ktoś chce mieć sensowny zasięg.
  • Moderator Mikrokontrolery Projektowanie
    jarek4700 napisał:
    Zatem nie ma różnicy czy pilot w spoczynku będzie pobierał 0.1uA czy też 10uA bo i tak żadne baterie nie wytrzymają więcej niż 11lat ze względu na trwałość, prawda?

    Ależ jest różnica i to kolosalna. Pomyśl o ile mniejsza i tańsza może być bateria, a w konsekwencji cały pilot :)
    W Twoim przypadku oczywiście może nie mieć znaczenia, jeżeli pilot jest intensywnie użytkowany.

    Baterie - są takie co wytrzymują nawet sporo powyżej 20 lat: http://mikrokontrolery.blogspot.com/2011/01/bateria-zasila-mikrokontroler-czesc-3.html
  • Poziom 1  
  • Moderator Mikrokontrolery Projektowanie
    Marek_Skalski napisał:
    I ponownie ta nieszczęsna optymalizacja (produktu) na każdym kroku? Kto z nas korzysta dzisiaj z telewizora, telefonu albo innego sprzętu wyprodukowanego przed 1993? Jarek4700 ma rację. Nie ma to dzisiaj żadnego znaczenia czy ten pilot będzie pracował na baterii 1100 lat czy 11 lat.

    Chyba nie czytałeś dokładnie co napisałem:

    dondu napisał:
    jarek4700 napisał:
    Zatem nie ma różnicy czy pilot w spoczynku będzie pobierał 0.1uA czy też 10uA bo i tak żadne baterie nie wytrzymają więcej niż 11lat ze względu na trwałość, prawda?

    Ależ jest różnica i to kolosalna. Pomyśl o ile mniejsza i tańsza może być bateria, a w konsekwencji cały pilot :)
    W Twoim przypadku oczywiście może nie mieć znaczenia, jeżeli pilot jest intensywnie użytkowany.



    Marek_Skalski napisał:
    Nawet w produktach komercyjnych wymiana baterii co roku nie jest problemem, z którym warto walczyć. Warto mieć świadomość ograniczeń, ale też rozsądnie wybierać warianty rozwiązań technicznych. Takie upieranie się przy maksymalizacji efektywności funkcjonowania prowadzi do tego, że my ciągle mamy coś w fazie projektu, a Chińczycy już produkują, sprzedają, zarabiają i tworzą kolejne generacje produktów. Na tym polega postęp, a my (Europa) w tym wyścigu zostajemy w tyle, bo za bardzo kombinujemy.

    Każdy argument jest ważny i należy znaleźć właściwy kompromis, dlatego toczenie dyskusji jest wartościowe, ale i tak na rynku znajdą się produkty tanie i nieoptymalnie zaprojektowane, byle szybko i tanio dla producenta oraz takie które są zaprojektowane do granic możliwości. Dla jednego kupującego wymiana baterii co roku zamiast co 5 lat może mieć znaczenie, a dla drugiego nie. Ale dla producenta urządzenia informacja o tym, że jego produkt pracuje na tej samej baterii 5X dłużej niż konkurencji może mieć bardzo istotne znaczenie marketingowe (np. telefony komórkowe - czas pracy, to jeden z najistotniejszych argumentów marketingowych).

    Pomijam już ekologię :)

    Ale czy oznacza to, że jeżeli autor tematu pyta, to należy mu wpajać, że ma wykonywać urządzenie nie patrząc na zużycie prądu? Moim zdaniem nie po to tutaj jesteśmy. Jesteśmy po to, by pokazać różne możliwości, a autor wybierze swój kompromis i po czasie będzie z niego zadowolony lub nie.
  • Poziom 9  
    Zastanawiam się jaki prąd diody w impulsie przyjąć. To stanowi w sumie punkt wyjścia aby się zdecydować czy warto kombinować z oszczędzaniem prądu przez resztę układu. W dokumencie TI jest tak 360mA co daje ok. 8mA średniego ale zmierzyłem średni pobór pilota rc5 który mam w domu i daje 18mA. Czyli tamten od TI faktycznie jest trochę energooszczędny ale kosztem zasięgu pewnie.
    Zrobiłem też taki eksperyment: dioda IR zasilana bezpośrednio z portu mikrokontrolera przez rezystor 220ohm co daje zaledwie 16mA w impulsie. Jakkolwiek do starego TV Philips czy też tunera DVB-T trzeba podchodzić na kilkadziesiąt centymetrów to o dziwo z TV LG Flatron (modelu nie pamiętam) działa przyzwoicie z kilku metrów. Model ten ma jakiś nietypowy odbiornik podczerwieni (przezroczysty walec z metalową kratką wewnątrz).
    To ma być pilot uniwersalny, dlatego obawiam się że jednak ten prąd powinien być znacznie większy niż w dokumencie TI. Nawiasem mówiąc pilot który zmierzyłem to oryginalny pilot od tego LG, od starego Philipsa pobiera średnio 36mA i jest zasilany z baterii AA.
  • Poziom 1  
  • Moderator Mikrokontrolery Projektowanie
    Marek_Skalski napisał:
    Sposoby redukcji poboru prądu omawialiśmy już wcześniej. Teraz toczymy dyskusję na temat konkretnego przypadku - inteligentnego pilota.

    Jak widać nie, skoro w temacie jest "ATmega164PA - pobór prądu", a autor nadal pyta o prądy.

    @jarek4700
    Jeżeli masz wolny jeden pin to możesz zrobić regulację mocy diody.
    Zakładając, że anodę masz podłączoną do + zasilania:
    - jeden z pinów będzie podłączony rezystorem z katodą diody i zapewniał małą moc pracy,
    - drugi pin niech steruje bramką tranzystora MOSFET typu N, a ten drenem przez rezystor katodę diody.
    Reszta to tylko kwestia programu.
  • Poziom 9  
    No nie bardzo da się tak zrobić ponieważ nośna jest wytwarzana sprzętowo i musi być podpięta do OC1A. Trzeba by bardziej kombinować, jakieś klucze analogowe itp, ale chyba lepiej dać jakiś większy prąd skoro w komercyjnych pilotach tak jest i mieć spokój.
  • Poziom 9  
    No tak, ale jak to teraz by miało wyglądać: co trzecią/czwartą paczkę wysyłać z większą mocą?
    Przestawianie tego byłoby denerwujące.