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

Podtrzymywanie bateryjne zegara dla mikrokontrolera

bremenpl 14 Wrz 2012 11:50 2877 23
  • #1 14 Wrz 2012 11:50
    bremenpl
    Poziom 13  

    Witam,
    Jestem w trakcie projektowania ukladu do odłączania napięcia o określonej godzinie. W tym momencie wiem juz jak wszystko zrobic/ zaprogramowac po za jedna rzecza- nie wiem w jaki sposob (jaki uklad) stworzyc podtrzymywany przez 3V plaska baterie obwod z ktorego w kazdym momencie mikrokontroler moglby pobrac aktualna godzine.

    Czy ktos juz pos takiego projektowal lub moze wie w jaki sposob robi sie takie rzeczy? Bede wdzieczny za kazda pomoc.

    0 23
  • Arrow Multisolution Day
  • #2 14 Wrz 2012 11:56
    Błażej
    VIP Zasłużony dla elektroda

    W niemal każdym schemacie zegara i innego sterownika masz obwód podtrzymania. Przejrzyj sobie.
    Zazwyczaj zasilanie jest rozbite na dwie gałęzie - procesor i wyświetlacz. Podtrzymanie zasila tylko procesor. Prosta sprawa do zrobienia. Do zrobienia na kilku diodach.

    0
  • Arrow Multisolution Day
  • #4 28 Wrz 2012 22:08
    m.biruta
    Poziom 16  

    Zegar oraz jego podtrzymanie możesz zrobić chociażby na DS1307

    0
  • #5 28 Wrz 2012 22:23
    bremenpl
    Poziom 13  

    O to mi chodzilo Dondu, dziekuje.

    0
  • #6 29 Wrz 2012 00:07
    _jta_
    Specjalista elektronik

    Oj, autor sporo rzeczy tam pomylił. Kondensator: ceramiczne należą do tych, które
    mają większe upływności, jakkolwiek praktycznie niemierzalne zwykłymi miernikami,
    a elektrolityczne mają dużo większe; naprawdę małą upływność mają styrofleksowe;
    ale elektrolityczne tantalowe o małych pojemnościach mają upływność poniżej 0.1uA,
    pewnie prąd zużywany przez mikrokontroler jest nieco większy?
    Diody: Schottky rzeczywiście są szybkie, ale to nie jest potrzebne w tym układzie,
    bo kondensator zapewni, nawet przy poborze prądu rzędu dziesiątek mA, około 1us
    podtrzymania - a diody impulsowe nie-Schottky mają czasy przełączania kilku ns,
    czyli i tak są ponad sto razy szybsze, niż trzeba; natomiast wadą diod Schottky jest
    duży prąd wsteczny, większy od upływności kondensatora elektrolitycznego...

    Zegar z podtrzymaniem jest prawie w każdym komputerze PC - w pierwszych PC
    go nie było, albo był na karcie rozszerzenia, zaczynając od PC/AT z procesorem
    286 jest na płycie głównej, zasilany bateriami litowymi w czasie, gdy komputer
    jest wyłączony - można sobie przekopiować schemat, bo jest opublikowany.
    A obecnie są dostępne superkondensatory (np. Goldcap), które mają bardzo dużą
    pojemność - mogą zasilać układ zegara przez wiele miesięcy, wystarczy dołączyć
    taki kondensator do układu zegara i zasilać go przez diodę - ale nie Schottky.

    0
  • #7 29 Wrz 2012 00:38
    bremenpl
    Poziom 13  

    Z ukladem podanym na blogu spotykam sie 2gi raz. Czyli twoim zdaniem nie bedzie dzialal? Wydaje sie logiczny.

    0
  • #8 29 Wrz 2012 01:01
    _jta_
    Specjalista elektronik

    Jest kwestia, jak będzie działał, i jak to będzie zależało od użytych elementów.
    Na przykład użycie diody Schottky może znacznie przyspieszyć zużycie baterii.

    0
  • #9 29 Wrz 2012 01:58
    dondu
    Moderator Mikrokontrolery Projektowanie

    bremenpl napisał:
    Z ukladem podanym na blogu spotykam sie 2gi raz. Czyli twoim zdaniem nie bedzie dzialal? Wydaje sie logiczny.

    Działa wszystkim i będzie działać u Ciebie. Układ stary jak dioda, bateria i INTEL 8035.

    Taki sposób podtrzymania zasilania znajdziesz także na przykład w TIPS'ach Microchipa:

    Podtrzymywanie bateryjne zegara dla mikrokontrolera


    Kolego _jta_
    Zastanów się nad tym, co komuś zarzucasz :)

    _jta_ napisał:
    Oj, autor sporo rzeczy tam pomylił. Kondensator: ceramiczne należą do tych, które mają większe upływności, jakkolwiek praktycznie niemierzalne zwykłymi miernikami, a elektrolityczne mają dużo większe; naprawdę małą upływność mają styrofleksowe;

    Polecam zaglądnąć do datasheetów ceramików np. w przystępnych cenach X7R i sprawdzić parametry upływności lub rezystancji izolacji, a później policzyć upływność i porównać z tym co napisałeś vs to co chcemy osiągnąć zarówno od strony długości pracy jak i ceny urządzenia.

    Podtrzymywanie bateryjne zegara dla mikrokontrolera


    BTW. Z chęcią zobaczyłbym urządzenie z mikrokontrolerem z filtrowaniem zasilania na styrofleksach :)


    _jta_ napisał:
    ale elektrolityczne tantalowe o małych pojemnościach mają upływność poniżej 0.1uA,
    pewnie prąd zużywany przez mikrokontroler jest nieco większy?

    Oj, kolego, 20nF w głębokim śnie - nie wierzymy polecam sprawdzić PICe :)

    _jta_ napisał:
    podtrzymania - a diody impulsowe nie-Schottky mają czasy przełączania kilku ns, czyli i tak są ponad sto razy szybsze, niż trzeba;

    Tak to prawda czas przełączania nie jest istotny tak bardzo. Istotniejsze jest mały spadek napięcia w kierunku przewodzenia, dlatego Schottky co można przeczytać zaznaczonym na czerwono tekstem z dokumentu Microchipa lub sprawdzić w datasheet diody, a dla tych, co to czytają Wikipedia: Dioda Schottky

    _jta_ napisał:
    natomiast wadą diod Schottky jest
    duży prąd wsteczny, większy od upływności kondensatora elektrolitycznego...

    Jakie to ma znaczenie w tym układzie?

    Takie?:
    _jta_ napisał:
    Na przykład użycie diody Schottky może znacznie przyspieszyć zużycie baterii.

    To przeczy mojej praktyce w tym zakresie, gdzie urządzenia działają już ponad 6lat na tego typu bateriach: http://mikrokontrolery.blogspot.com/2011/01/bateria-zasila-mikrokontroler-czesc-3.html , a spodziewam się co najmniej jeszcze 4 lat.

    0
  • #10 29 Wrz 2012 03:07
    bremenpl
    Poziom 13  

    Dziekuje za dodatkowe wyjasnienia, mam jednak pytanie- zalozmy ze ukontroler dziala pod 5V i chce go podtrzymywac z 3V baterii kiedy zasilacz jest odlaczony. Czy ukontroler bedzie wtedy poprawnie dzialal? Czy trzeba go wprowadzic w stan uspienia? Jezeli tak to czy mozna go w latwy sposob wybudzic np przerwaniem?

    0
  • #11 29 Wrz 2012 03:15
    dondu
    Moderator Mikrokontrolery Projektowanie

    To zależy jaki mikrokontroler. Każdy ma określony zakres napięć, przy której pracuje poprawnie. Niektóre mają bardzo szerokie zakresy. Sprawdzaj w datasheet. Czasami wręcz od tego trzeba zacząć ustalanie jaki mikrokontroler będziesz potrzebował do takiego projektu.

    Może się także zdarzyć, że dany mikrokontroler, ma różne wersje napięciowe - oznaczane dodatkowymi literkami.

    Uśpienie to tylko dodatek, który można i warto wykorzystać, ale nie trzeba.
    To zależy tylko od Ciebie i przeznaczenia.
    Zobacz ten ostatni link - tam są 3 artykuły na temat baterii i istoty usypiania mikrokontrolera w celu osiągnięcia maksymalnego czasu pracy na baterii.

    EDIT.
    Dodałem Ci 25pkt, bo masz mało, a mogą się przydać.

    0
  • #12 29 Wrz 2012 03:54
    bremenpl
    Poziom 13  

    Dziekuje bardzo.
    W sumie nie wzialem tego pod uwage i juz zaczalem konstruowac uklad pod atmega162 (wybralem ja ze wzgledu na to ze mozna ja programowac/ debuggowac przez jtag, no i dlatego ze ja mialem). Jak wstane to przejze karte katalogowa i sprawdze co pisza o napieciu zasilania.
    Jeszcze raz dziekuje za pomoc i pkt.

    0
  • #14 29 Wrz 2012 10:49
    _jta_
    Specjalista elektronik

    Sprawdź, na ile możesz ograniczyć pobór prądu, kiedy jest zasilany z baterii - typowe
    układy do zegarków mają znacznie poniżej 1uA, żeby mogły działać kilka lat na małej
    baterii pastylkowej. Jeśli zegar jest w uC, to trzeba wczytać się w jego datasheet, bo
    może producent wpadł na pomysł, żeby uC miał pin do podłączenia baterii do zegara.

    Jeśli robisz układ z diodami, z zasilacza masz 5V, a z baterii około 3V, to proponuję
    diodę Schottky od baterii, zwykłą diodę (ale nie prostowniczą) od zasilacza - wtedy
    przy braku zasilania sieciowego nie będzie znaczącego rozładowania baterii poprzez
    zasilacz. Należy jeszcze sprawdzić datasheety diody Schottky i baterii, bo ta dioda
    będzie trochę prądu przepuszczać, a litowe baterie nie lubią doładowywania - dla
    CR2032 widziałem informację, że dopuszczalny prąd doładowania to 1uA.

    Układ z NiMH (albo innymi akumulatorkami): niedogodnością jest to, że napięcie
    nie może być dowolne - powinno być dość precyzyjnie dobrane, najlepiej około
    1.42V/ogniwo - zasilanie przez diodę z +5V pewnie da odrobinę większe;
    no i NiMH mają duże samowyładowanie (z wyjątkiem tych w nowej technologii,
    które się ostatnio pojawiły), lepsze były NiCd. Jakieś baterie akumulatorków są
    dostępne w postaci pakietów do lutowania, można by posprawdzać ich dane.

    Jeszcze chciałbym zwrócić uwagę na jedną sprawę - montaż. Jeśli układ ma być
    przez dłuższy czas podtrzymywany z baterii o małej pojemności i zadbamy o to,
    by elementy nie zżerały nam za dużo, to może się okazać, że przez zabrudzenie
    płytki popłynie większy prąd, niż poprzez elementy...

    :arrow: dondu - Z danych, jakie podajesz, wynika że kondensator polistyrenowy
    ma znacznie mniejszą upływność od ceramicznego - zgodnie z tym, co pisałem.
    Na schemacie jest 100nF, miałem (i chyba mam) kondensatory styrofleksowe
    o takiej pojemności. A jakieś kondensatory tantalowe sam sprawdzałem, miały
    upływność mniejszą, niż prąd zużywany przez układ zegarkowy. Rzecz w tym,
    że nie należy oceniać metodą "element X jest be, a element Y cacy" i to biorąc
    pod uwagę tylko niektóre elementy - należy sprawdzać rzeczywiste parametry
    elementów i na tej podstawie oceniać, które do czego się nadają. Uproszczenie
    myślenia pozwala mniej wysilać umysł, ale często prowadzi do pomyłek.
    Może robisz układy, w których uC w stanie "standby" pobiera kilka uA, używasz
    diody Schottky o prądzie wstecznym pół uA, który nie ma dużego znaczenia,
    skraca czas pracy baterii o 10%. A ktoś inny będzie robił układ, w którym to, co
    potrzebuje podtrzymania będzie pobierać 0.1µA, trafi na diodę, która przepuści
    prawie 1µA, i będzie miał 10-krotne skrócenia czasu podtrzymania.

    0
  • #16 29 Wrz 2012 11:30
    bremenpl
    Poziom 13  

    Urgon, kupilem juz PCF8583P.

    0
  • #18 29 Wrz 2012 11:46
    bremenpl
    Poziom 13  

    o to sie nie martw :P. Kupuje pdipy zeby zrobic prototyp z plytka stykowa. Sam uklad bedzie w wiekszosci smd :).

    0
  • #19 29 Wrz 2012 14:12
    _jta_
    Specjalista elektronik

    Prawie 3 razy więcej prądu - 2uA. Jakby codziennie włączać zasilanie z sieci,
    to do podtrzymania może być niewielki Goldcap, np. 0.33F/2.4V, tylko trzeba
    pokombinować, żeby ten układ dostawał ponad 2.5V, kiedy jest zasilanie,
    a na Goldcapie było wtedy 2.4V - mam pomysł jak, Goldcap ma połączenie
    do masy przez opornik, przy zasilaniu z sieci płynie przez niego prąd, przy
    braku zasilania z sieci diody odcinają wszystko poza Golcapem i układem;
    oczywiście prąd zasilania układu płynie z Goldcapa przez ten sam opornik...
    Tylko jak któregoś dnia zapomnisz, to taki Goldcap na dwie doby nie starczy.
    Można oczywiście zrobić wersję z akumulatorkami - 2-3 NiCd/NiMH, już 2
    można ładować do 2.8V, ten układ przy tym napięciu będzie działał; albo
    nawet akumulatorek Li-ion - są takie na 3.6V, rozmiaru baterii CR2032.
    Mam nadzieję, że opanowałeś łączność przez magistralę I2C?

    0
  • #20 29 Wrz 2012 14:44
    bremenpl
    Poziom 13  

    Pracuje nad i2c, po za ukladem do zegara musze do tej magistrali podlaczyc tez eeprom.

    0
  • #21 29 Wrz 2012 18:29
    _jta_
    Specjalista elektronik

    Może jedna wskazówka będzie użyteczna: nie ma obowiązku śpieszenia się
    - I2C może działać statycznie, istotna jest tylko kolejność zmian sygnałów,
    nie czas - oczywiście jeśli zmiany są powolne; przy dużej szybkości urządzenia
    mogą działać w szybszym trybie, w którym czasy są istotne.
    Jak potrzebujesz, to mam proste (po kilka kB źródeł) programiki w C do I2C.
    Oczywiście funkcje "włącz zasilanie", "ustaw SCL", "ustaw SDA" musiałbyś
    podmienić, bo one są zależne od sprzętu (co masz na którym bicie I/O).
    Ten zegar ma jakąś małą pamięć CMOS (240 bajty).

    0
  • #22 29 Wrz 2012 19:07
    bremenpl
    Poziom 13  

    Dziekuje za pomoc! Bardzo chetnie skorzystam z twoich zrodel.

    0
  • #23 30 Wrz 2012 12:19
    bremenpl
    Poziom 13  

    Odnosnie i2c, a raczej twi- w utils/twi.h nie moge znalezc definicji rejestru TWCR. Chodzi o Atmel Studio 6. Proboje otworzyc plik utils/twi.h w atmel studio 4 aby je porownac, ale niestety nie wiem jak.
    Czy ktos moze wie dlaczego w atmel studio 6 nie ma takich definicji jak TWCR czy TWEA?

    Edit: Zdaje sie ze w atmega162 nie ma twi... :(, Zmienilem go na atmega1284, dobrze ze zauwazylem to teraz.

    0
  • #24 30 Wrz 2012 23:52
    dondu
    Moderator Mikrokontrolery Projektowanie

    _jta_ napisał:
    Rzecz w tym, że nie należy oceniać metodą "element X jest be, a element Y cacy" i to biorąc pod uwagę tylko niektóre elementy - należy sprawdzać rzeczywiste parametry elementów i na tej podstawie oceniać, które do czego się nadają. Uproszczenie myślenia pozwala mniej wysilać umysł, ale często prowadzi do pomyłek.

    Całkowicie się z Tobą zgadzam i dodam tam odpowiednie zdanie o tym mówiące.
    Natomiast uproszczenia są zamierzone, ze względu na adresata tych artykułów.

    0