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

Zegar na Atmega32

Przemysl 18 Lip 2006 18:52 2904 23
  • #1 18 Lip 2006 18:52
    Przemysl
    Poziom 11  

    Witam...

    Wygrzebalem z szuflady w/w mikrokontroler i zachcialo mi sie zrobic na nim zegar. Mam tylko pytanie - jak sie ma dokladnosc takiego zegara do rzeczywistosci? Jaki kwarc najlepiej zastosowac? Da sie napisac taki program azeby uzyskac maksymalna dokladnosc takiego zegarka? Czy poza mikrokontrolerem jeszcze cosik zastosowac? (pomijam cala otoczke wyswietlania i ustawiania) Jakies sugestie co do dokladnosci... :)

    Pozdrawiam

    0 23
  • #2 18 Lip 2006 19:10
    Darekg
    Poziom 17  

    Ja bym zastosował zegarek RTC, jako osobny scalak (np. PCF8563), a Atmege wykorzystałbym, do sterowania wyświetlaczem, odczytu danych z zegarka, możę jakiś pomiar temperatury (zewnętrzna, wewnętrzna). Dalej prosi się o zrobienie jakiegoś budzika z załaczaniem zewnetrznych urządzeń...
    no cóz można tak ciagnąć w nieskończoność.
    Ale rozważ, to co na początku napisałem, czyli sam zegarek na specjalizowanym scalaku. Na pewno uzyskasz większą stabilność czasu.

    0
  • #3 18 Lip 2006 22:45
    greatlukas
    Poziom 13  

    Witam, można to zrobić np tak:
    podpinasz kwarc zegarkowy, ustawiasz odpowiednio timer, który zlicza ci sekundy (albo milisekundy, to zależy jak skonfigurujesz timer) i w pętli wyświetlasz to na LCD, proste :D

    0
  • #4 19 Lip 2006 06:28
    Przemysl
    Poziom 11  

    greatlukas napisał:
    podpinasz kwarc zegarkowy
    Chodzi Ci o ten 32,768MHz? Tylko niestety wedle datasheet'a do Atmegi32 moge podpiac max 16MHz... I co z tym fantem zrobic? Czy da to rade isc na tak wysokim krysztale?

    0
  • #5 19 Lip 2006 07:57
    janek1815
    Poziom 38  

    kolego a nie pomylił ci sie ten kwarc 32,768MHz bo według mnie to powinno być 32,768kHz i stąd biorą się nie działające urządzenia elektroniczne wystarczy przesunać przecinek lub mnożnik i co ... szukamy pół dnia czemu u mnie nie działa skoro u kumpla jest ok . :)

    0
  • #6 19 Lip 2006 13:35
    greatlukas
    Poziom 13  

    Nawet jak nie masz kwarcu zegarkowego, to zawsze można zastosować np 4MHz :]
    ustawiasz timer z prescalerem = 1 , czyli timer zwiększany będzie co 0,2500 us jeżeli ustawisz przerwanie od przepełnienia timera (timer 8bitowy np 0 lub 2) to przerwanie będziesz miał co 0,0640 ms, wystarczy w przerwaniu zliczać zmienną 16bitową, i gdy zliczy do 15625 wtedy dodajesz do zegara jedną sekunde. Proste :D

    0
  • #7 20 Lip 2006 14:43
    marek_Łódź
    Poziom 36  

    Była już taka dyskusja na elektrodzie co najmniej raz. Jak sobie obejrzysz datasheety kwarców (można znaleźć na stronach producentów), to zobaczysz, że kwarce zegarkowe 32768 Hz są w temperaturze pokojowej dokładniejsze i stabilniejsze od innych co najmniej o 2 rzędy. Tak więc lepiej zastosować taki element. Znając wspomniany parametr można wyznaczyć dokładność zegara.

    0
  • #8 22 Lip 2006 02:01
    omen_s
    Poziom 19  

    hmm... a czy na PCF8563 można zrobić coś takiego :
    podłączamy baterie podtrzymania do PCF8563
    ustawiamy zegarek
    wyłączamy zasilanie
    włączamy zasilanie, a procesor sam sobie odczyta godzinę z pcf'a ?
    bo jeśli nie to po co niby jest ta bateria do podtrzymania ?

    0
  • #9 22 Lip 2006 10:06
    janek1815
    Poziom 38  

    i wlasnie o to chodzi po to podtrzymujesz PCF bateria zeby po wlaczeniu zasilania procesora miec aktualny czas. procesor sobie odczyta z pcf czas date itp

    0
  • #10 30 Lip 2006 22:25
    Przemysl
    Poziom 11  

    A jak najlepiej wykonac wspolprace Atmegi z PCF'em? Mikrokontroler liczy po swojemu a PCF po swojemu i na przyklad raz na dobe nastepuje synchronizacja czy w petli nieskonczonej Atmega odczytuje wskazanie PCF'a? To drugie wydaje sie chyba lepsze ale czy na pewno?
    Nie mam za duzego obycia we wspolpracy mikrokontrolerow z innymi ukladami dlatego prosze o wyrozumialosc :)

    0
  • #11 31 Lip 2006 15:36
    duzamasa
    Poziom 14  

    W notach katalogowych PCF'a jest wszystko napisane. Dane przesyła się szeregowo. Ja ze swej strony dodam, że ATmega32 (i inne) także można zasilać z baterii. Przy odpowiednio ustawionym trybie oszczędzania energii można naprawdę długo podtrzymywać taki mikrokontroler (np. pobór prądu wynosi 20 µA dla trybu Power-Save). I nie jest potrzebny żaden dodatkowy scalak kosztujący prawie tyle, ile cały mikrokontroler.

    0
  • #12 31 Lip 2006 15:46
    janek1815
    Poziom 38  

    chyba to drugie rozwiazanie bedzie lepsze bo odciaza procek a pcf i tak jest dokladniejszy od atmega. kolega duzamasa tez podjal ciekawy temat z wprowadzeniem procka w tryb niskiego poboru pradu rzeczywiscie moze warto sprobowac

    0
  • #13 09 Sie 2006 19:13
    Przemysl
    Poziom 11  

    Witam...

    Zbudowalem ten zegar z wykorzystaniem PCF'a i chcialem dorzucic do niego podtrzymanie z baterii wg przepisu zamieszczonego tutaj ale wowczas zauwazylem ze PCF liczy czas jakby szybciej. Po zwarciu diody w obwodzie zasilania sekundnik zwolnil...:| Czyzbym cos robil nie tak? Prosze o rady...

    0
  • #14 10 Sie 2006 11:49
    alnus
    Poziom 28  

    przeczytaj co jest napisane w poście do którego umieściłeś link. jest tam wyjaśnienie sprawy. ( chodzi o ten cytat w białej ramce)
    ja używam DS1307 , nie trzeba kondensatorka przy kwarcu i ma po prostu wejście na baterię ( znów dioda niepotrzebna, choć bateria musi mieć 3 V ). poza tym liczy po kolei lata i nie trzeba robić przeliczania w programie. odczytujesz po prostu cały kalendarz.

    0
  • #15 10 Sie 2006 17:28
    Przemysl
    Poziom 11  

    alnus napisał:
    przeczytaj co jest napisane w poście do którego umieściłeś link. jest tam wyjaśnienie sprawy. ( chodzi o ten cytat w białej ramce)
    Rzeczywiscie... Slepota ze mnie :oops: Czyli to oznacza ze polaczenie 33pF z Vcc zlikwiduje ten problem?

    0
  • #17 11 Sie 2006 18:46
    cackoarek
    Poziom 25  

    Ja proponuję wziąć zegar DC1307 który ma juz wszsytko w sobie i tylko kwarc dołączamy i działa idealnie. I ponoć jest dokładniejszy od tego PCF'a...

    0
  • #18 11 Sie 2006 19:31
    Jacu$
    Poziom 27  

    :arrow: cackoarek
    Takie posty to raczej do działu "Humor" się nadają (DS dokładniejszy od PCF-a :D ).

    0
  • #19 11 Sie 2006 19:41
    alnus
    Poziom 28  

    nie słyszałem, ani nie czytałem by był dokładniejszy, ale osobiście wolę DS'a ze względu na kalendarz. nie trzeba przeliczać lat. dioda i kondensator nie kosztują majątku, więc tutaj różnica jest żadna. poza tym jak ktoś potrzebuje tylko zegara, to nie ma żadnej różnicy.

    0
  • #20 12 Sie 2006 08:50
    euromatic
    Poziom 21  

    Jest jeszcze inna możliwość, otóż MEGA32 ma wewętrzny licznik RTC i do tego służą porty pod które podłącza się "kwarc zegarkowy", wystarczy poczytać PDF od procka, dziwię się, że nikt nie zaproponował tego rozwiązania. Powód jest pewnie jeden, nie chce się wam poświęcić parę chwil na poznanie budowy mikrokontrollera.

    Jeżeli piszesz w popularnym dość Bascomie to masz tam przykład jak napisać zegar na mega32 przy użyciu RTC procka.
    UWAGA (czas zostanie zresetowany po każdym resecie procka).
    Pozdrawiam

    0
  • #21 12 Sie 2006 09:20
    alnus
    Poziom 28  

    nie wiem jak w mega 32, ale te wewnętrzne zegary w atmelkach tylko teoretycznie działają bez problemów.nawet w jakimś atmelowskim PDFie przeczytałem, ze należy np. obniżyć zasilanie procka do 4,5V i dopiero będzie działać. jeśli takie problemy dostrzega producent, to trudno się dziwić, że niezbyt chętnie korzysta się z takich udogodnień. ale możliwość oczywiście istnieje i nawet jest wspierana przez Bascom.

    0
  • #22 12 Sie 2006 13:50
    cackoarek
    Poziom 25  

    Takie rozwiązania to tylko dla tych co bardzo nie chcę pchać elemetnów na płytkę ! Myślę że zewnętrzny zegar jest lepszy i łatwiejszy w użyciu ze względu na możliwość podłączenia podtrzymania bateryjnego :)

    0
  • #23 12 Sie 2006 23:58
    alnus
    Poziom 28  

    podtrzymanie bateryjne na atmelu też da się zrobić, tyle, ze nikomu się nie chce i tak jak napisałem wcześniej tak naprawdę nie wiadomo czy się rzeczywiście uda bez problemów i odkrywania ameryki ( zasilania dziwnym napięciem zeby chodziło)

    0
  • #24 13 Sie 2006 10:56
    euromatic
    Poziom 21  

    Odpowiadam, dołączasz kwarc 32,768 kHz do mega 32, portc.6 i portc.7 i gotowe.
    nie ma żadnych problemów z zasilaniem i żadnych kombinacji.
    Zegar pracuje stabilniej niż PCF który potrafi kilkanaście minut na dobę odpłynąć.
    programowo to pikuś, mniej zabawy niż z pcf.

    0