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.

zegarek na PCF8583 śpieszy

martin819 28 Wrz 2004 09:16 4126 10
  • #1 28 Wrz 2004 09:16
    martin819
    Poziom 11  

    Witam
    Czy to możliwe że zegar na PCF8583 w ciągu 12 godzin przyśpiesza o 20 minut ?
    Takie właśnie zjawisko u mnie występuje. Układ współpracuje z 89C4051, kwarc przy zegarze: 32,768 kHz, przy procesorze 11,059.
    Dodatkowo procesor obsługuje termometr na DS1820 i steruje przez ULN2803 oświetleniem. Te układy działają bez zarzutów.
    Oto dwa kawałki programu: istotna część pętli głównej i podprogram odczytujący czas:
    Czy powinienem jeszcze coś podać ?

    --------------------------------------------------------------------------------
    Do
    If P3.1 = 0 Then
    Call Set_time
    End If
    Call Time
    Locate 1 , 5
    If H < 10 Then
    Lcd "0" ; H ; ":"
    Else
    Lcd H ; ":"
    End If
    If M < 10 Then
    Lcd "0" ; M ; ":"
    Else
    Lcd M ; ":"
    End If
    If S < 10 Then
    Lcd "0" ; S
    Else
    Lcd S
    End If
    If S = 0 Or S = 15 Or S = 30 Or S = 45 Then
    Call Temp
    End If
    Waitms 100
    Loop
    --------------------------------------------------------------------------------
    ...
    --------------------------------------------------------------------------------
    Sub Time()
    I2cstart
    I2cwbyte 160
    I2cwbyte 2
    I2cstart
    I2cwbyte 161
    I2crbyte S , Ack
    I2crbyte M , Ack
    I2crbyte H , Nack
    I2cstop
    Waitms 50
    S = Makedec(s)
    M = Makedec(m)
    H = Makedec(h)
    End Sub
    --------------------------------------------------------------------------------
    Dziękuję za wszelkie odpowiedzi.

    0 10
  • #2 28 Wrz 2004 09:28
    Czesiek
    Poziom 28  

    Problem może być związany z rezonatorem 32,768kHz. Dobrze byłoby pomierzyć właściwą częstotliwość. Może być on uszkodzony lub źle (ale aż tak?) dobrany kondensator - zwykle 33pF. :wink:

    0
  • #3 28 Wrz 2004 09:28
    elektrofil
    Poziom 17  

    nie szukaj błedu w procedurze odczytu, to sam układ zegarka szwankuje. pierwsza rzecz jaką wykonaj to podłącz zasilanie do 8583 przez diode krzemową, i dodaj kondensator tantalowy 10mikro. ostatecznie może być elektrolityczny. jeżeli to nie pomoże (u mnie zawsze wystarczyło) to wymien rezonator kwarcowy przy układzie zegarka. częstotliwość mikrokontrolera nie ma żadnego wpływu na pracę zegara pcf.

    0
  • #4 28 Wrz 2004 15:46
    martin819
    Poziom 11  

    OK będę próbował
    Dzięki

    0
  • #5 28 Wrz 2004 16:05
    ogr
    Poziom 14  

    Elektrolit na zasilaniu to podstawa, ponadto do kalibracji 8583 mozna podlaczyc trymerek,zobacz na aplikacje w PDF.
    Ja polecam Ci uklad troche drozszy ale duzo lepszy DS1307.

    0
  • #6 28 Wrz 2004 17:01
    elektryk
    Poziom 42  

    a czy podłaczyłeś dobrze kondensatory do kwarcu? W 8583 podłącza się je między Vcc a wyprowadzenia kwarcu.

    0
  • #7 28 Wrz 2004 22:11
    Anonymous
    Użytkownik usunął konto  
  • #8 29 Wrz 2004 07:58
    martin819
    Poziom 11  

    OK już działa jak powinno, pomógł elektrolit na zasilaniu. WIELKIE DZIĘKI

    0
  • #9 07 Cze 2005 10:50
    Marcin8051
    Poziom 19  

    Mam podobny problem ale odwrotny:(. pcf8583 się późni jest normalnie zasilany 5V a po wyłączeniu zasilania 2,4 NIMH. Diody itd... standardowy układ. Na scalaku dałem 100nF + 100uf. kwarc zegarkowy 33p do V+. Zegarek się późni około 2s na dobre większość czasu na akumulatorku. Czy to że jest zasilany z 2.4 V może powodować późnienie? Czy jak zrobię taki sam układ to będzie tak samo ? Mogę wprowadzić poprawkę że np co tydzień doda 14s i będzie ok tylko nie wiem czy to powtarzalne z prototypem mogę przeeksperymentować z 2 tygodnie ale jakbym miał dawać poprawkę inną do każdego to koszmar. Układ ma notować datę awarii wiec nikt nie będzie zaglądał do niego normalnie a za jakiś rok to z moich obliczeń wynika że będzie błąd około 12 minut a to już problem. Wiecie jak to jest popatrzą na użądlenie “o późni się 12minut co za szajs mój zegarek z 5 zł jest dokładniejszy”.

    0
  • #10 24 Kwi 2006 08:48
    f_ranek
    Poziom 2  

    Czesiek napisał:
    Może być on uszkodzony lub źle (ale aż tak?) dobrany kondensator - zwykle 33pF.


    Zwracam Wam uwagę, że w dokumentacji jest napisane trymer 5 - 25 pF przy kwarcu. 5-25 to nie 33pF. Ja właśnie taki trymer dałem, co prawda do masy a nie do zasilania, i PCF działa dobrze. A kondensator blokujący zasilanie 100nF przy nóżkach układu to moim zdaniem podstawa.

    Pozdrawiam
    Boguś

    0
  • #11 25 Kwi 2006 21:17
    lechoo
    Poziom 39  

    @Marcin8051
    Na kwarcu zegarkowym nie da się uzyskać dokładności większej niż 1 sek na dobę, nawet przy dokładnym dostrojeniu trymerem.

    0