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.

atmega128 z zegarem pcf w module propox (mmega01)

RafalM 17 Wrz 2006 01:28 1278 9
  • #1 17 Wrz 2006 01:28
    RafalM
    Poziom 10  

    witam

    Dalej walcze z uruchomieniem zegara w tym module.
    Mam pytanie co moze powodowac taki objaw:

    Gdy uruchomie program zczytywania adresu kości pcf8583 to wynik jest 160, natomiast w momencie wpisania programu zczytywania czasu z kości otrzymuje same zera?

    Czy ktoś uruchomił w tym module ten zegar?

    Sprawdzilem juz wszystko i juz nie mam pojecia??

    czy przyczyną może byc problem wersji biblioteki i2c??, a jezeli tak to z kąd ściągnąć stara biblioteke i2c

    korzystam z ostatniej wersji demo bascomu zściągniętej ze strony mcs

    za podpowiedzi dziękuje

    pozdr RafalM

    0 9
  • #2 17 Wrz 2006 10:32
    august_a
    Poziom 21  

    Witam,
    W czym piszesz??
    Musi działać, programowałem już ok 70 tych mod. i wszystko zawsze było ok.
    Pozdrawiam

    0
  • #3 17 Wrz 2006 10:49
    RafalM
    Poziom 10  

    cześć

    Standartowy program w bascomie. Skoro już tyle tego oprogramowałeś
    to mam szczerą ochotę wysłać ci ten mój moduł do przetestowania, żeby wykluczyć jego awaryjność.

    pozdr RafalM

    0
  • Pomocny post
    #4 17 Wrz 2006 10:56
    august_a
    Poziom 21  

    Code:
    Sub Odczytaj_pcf8583
    
       Dzien = Makedec(dzien)
       Miesiac = Makedec(miesiac)
       H = Makedec(h)
       M = Makedec(m)
       S = Makedec(s)
       I2cstart                                             
       I2cwbyte &HA0                                       
       I2cwbyte 2                                           
       I2cstart                                             
       I2cwbyte &HA1                                       
       I2crbyte S , Ack                                       
       I2crbyte M , Ack                                     
       I2crbyte H , Ack                                   
       I2crbyte Dzien , Ack                               
       I2crbyte Miesiac , Nack                             
       I2cstop                                           
       I2cstart                                         
       I2cwbyte &HA0                                       
       I2cwbyte 100                                     
       I2cstart                                             
       I2cwbyte &HA1                                       




       I2crbyte Ha , Ack                                       
       I2crbyte Ma , Nack                                   
       I2cstop
    End Sub


    'Zapis czasu do PCF8583(RTC)
    Sub Zapisz_pcf8583

        I2cstart                                               
        I2cwbyte &HA0                                           
        I2cwbyte 0                                         
        I2cwbyte 8                                   
        I2cstop                                             
        I2cstart                                           
        I2cwbyte &HA0                                     
        I2cwbyte 2                                           
        I2cwbyte S                                           
        I2cwbyte M                                           
        I2cwbyte H                                         
        I2cwbyte Dzien                                       
        I2cwbyte Miesiac                                       
        I2cstop
        I2cstart                                             
        I2cwbyte &HA0                                       
        I2cwbyte 100                                       
        I2cwbyte Ha
        I2cwbyte Ma
        I2cstop

    End Sub


    To działa na 100%.

    0
  • #5 19 Wrz 2006 08:09
    RafalM
    Poziom 10  

    Witam

    Na początku bradzo ci dziękuje august_a za pomoc.

    Wykorzystałem Twój kod zapisu i czytania z zegarka pcf8583, niestety nic to nie pomogło, ale tak nie do końca. Stwiedziłem, że wszystko działa poprawnie tzn:

    -uC komunikuje sie poprawnie z tą kostka zegarka
    -prawidłowo zczytuje adres z kości tzn 160
    -poprawnie wpisuje wartości (skorzystałem z procedury zapisu)
    -poprawnie wpisane wartości odczytuje.

    Ale problem tkwi w tym, że zegar stoi, zastanawiam sie czy nie wymienić kwarcu na zegarku??, czekałem cała dobę, żeby zobaczyc czy np zmieni się kolejny dzień, niestety nic takiego nie nastąpiło.

    zapisane w kości dane tkwią tam bez zmian.

    Jeszcze raz dziękuje za pomoc, pozdrowienia RafalM

    Moderowany przez MirekCz:

    Tekst był skopiowany dwa razy.. poprawiłem.

    0
  • #6 19 Wrz 2006 12:19
    august_a
    Poziom 21  

    Jak masz moduł MMmega - nowy to wyślij go na gwarancji, wymienią na nowy, lub go naprawią, jedyny minus to czas :) Ale jak kto woli.
    Pozdrawiam

    0
  • #7 20 Wrz 2006 21:40
    RafalM
    Poziom 10  

    Witam

    Kolego August_a zegar wreszcie ruszył okazało się, że na module przy lutowaniu kwarcu przy pcf8583 nastąpiło rozlanie cyny i zwarcie nóżek kwarcu. Wada była niewidoczna, dopiero użycie lupy pozwoliło na zauważenie tego i usunięcie defektu.

    Zegar chodzi - kosztowało mnie to sporo nerwów.
    Całe szczęście, że człek ze mnie uparty.
    Dalej zasiadam do poznawania tego modułu - przede mną pamieć.

    PANOWIE UPÓR TO DEWIZA MIKROSUKCESU

    Pozdrowienia RafalM

    0
  • #8 20 Wrz 2006 22:11
    august_a
    Poziom 21  

    Czasami i tak bywa ja miałem troche lepszy przypadek: na płycie ewalucyjnej miałem wszystkie diody odwrotnie wlutowane :| i troche mnie to czasu kosztowało - reklamowałem :).
    Pozdrawiam

    0
  • #9 16 Paź 2007 17:56
    DosinskY
    Poziom 18  

    Witam,

    Około pół roku temu zakupiłem moduł o którym mowa. Do tej pory nie korzystałem z PCF8583 modułu aż do dzisiaj. Rejestry da się zapisać oraz odczytać ale zegar stoi. Zwarcia w obwodzie kwarcu nie stwierdziłem...połączenia wydają się wyglądać poprawnie. Niestety nie mam jak sprawdzić czy kwarc coś generuje. Jakieś sugestie?

    Pozdrawiam
    Dosinsky

    p.s. Control/status register ustawiony prawidłowo...

    0
  • #10 21 Lis 2007 13:27
    DosinskY
    Poziom 18  

    Witam ponownie,

    Problem odłożyłem na później ale przyszedł czas, że muszę go wreszcie rozwikłać. Wymiana kwarcu nic nie dała. Zegar stoi jak stał. Nadal czekam na pomysły i za każdy dziękuję.

    Usterka usunięta. Przyczyną okazał się kondensator w obwodzie kwarcu. Zamiast 30pF zalutowano 100n.

    Znalazłem jeszcze coś: źle zalutowany kondensator na zasilaniu pcf-ki, przez co zegar spieszył się niemal dwukrotnie. Coś nie przyłożyli sie do mojego modułu. Uruchamiającym proponuję bardzo dokładne oględziny przed siadaniem do software ;)

    0