Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Podtrzymywanie bateryjne zegara dla mikrokontrolera

bremenpl 14 Sep 2012 11:50 3186 23
  • #1
    bremenpl
    Level 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.
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #2
    Błażej
    VIP Meritorious for electroda.pl
    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.
  • #4
    m.biruta
    Level 16  
    Zegar oraz jego podtrzymanie możesz zrobić chociażby na DS1307
  • #5
    bremenpl
    Level 13  
    O to mi chodzilo Dondu, dziekuje.
  • #6
    _jta_
    Electronics specialist
    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.
  • #7
    bremenpl
    Level 13  
    Z ukladem podanym na blogu spotykam sie 2gi raz. Czyli twoim zdaniem nie bedzie dzialal? Wydaje sie logiczny.
  • #9
    dondu
    Moderator on vacation ...
    bremenpl wrote:
    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_ wrote:
    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_ wrote:
    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_ wrote:
    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_ wrote:
    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_ wrote:
    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.
  • #10
    bremenpl
    Level 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?
  • #11
    dondu
    Moderator on vacation ...
    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ć.
  • #12
    bremenpl
    Level 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.
  • #13
    Urgon
    Editor
    AVE...

    A może coś takego z akumulatorkami NiMH?
    Podtrzymywanie bateryjne zegara dla mikrokontrolera
    Ładuje stałym prądem, jak to w zwyczaju wypada, a przy zaniku zasilania działa jak układ OR. Ważne, by diody miały jak najmniejsze napięcie przewodzenia i prąd wsteczny...
  • #14
    _jta_
    Electronics specialist
    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.
  • #15
    Urgon
    Editor
    AVE...

    Jeśli robisz układ na mikrokontrolerze i potrzebujesz układu RTC, to weź MCP7940N. Ma oddzielne wejście dla baterii, i pobiera z niej tylko 700nA, przy normalnym zasilaniu zaś pobiera 5uA maksymalnie...
  • #16
    bremenpl
    Level 13  
    Urgon, kupilem juz PCF8583P.
  • #17
    Urgon
    Editor
    AVE...

    1. Przepłaciłeś.
    2. Układ pobiera 2 razy więcej prądu, od tego, który ja zasugerowałem, i nie za bardzo jest dostosowany do pracy bateryjnej.
    3. Nie bój się SMD.
  • #18
    bremenpl
    Level 13  
    o to sie nie martw :P. Kupuje pdipy zeby zrobic prototyp z plytka stykowa. Sam uklad bedzie w wiekszosci smd :).
  • #19
    _jta_
    Electronics specialist
    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?
  • #20
    bremenpl
    Level 13  
    Pracuje nad i2c, po za ukladem do zegara musze do tej magistrali podlaczyc tez eeprom.
  • #21
    _jta_
    Electronics specialist
    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).
  • #22
    bremenpl
    Level 13  
    Dziekuje za pomoc! Bardzo chetnie skorzystam z twoich zrodel.
  • #23
    bremenpl
    Level 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.
  • #24
    dondu
    Moderator on vacation ...
    _jta_ wrote:
    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.
pcbway logo