Pokrewne
menu      Moja stronka - komunikatory.ovh.org
menu      Creative T6060 + Audigy SE
menu      Wyświetlanie wielkości pliku przy pobieraniu
menu      Wybory prezydenckie 2005 - II Tura
menu      Zlecę skonfigurowanie serwera dedykowanego
menu      Witam
menu      Problem z instalacją X-FI Music
menu      spice
menu      Pytanie o książkę ze schematami połączeń stojanów silników.
menu      Ocena zestawu
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • aniadka.keep
  • DS1307 + Mega16





    Jazzstar - 01-05-2007 21:45
    DS1307 + Mega16
      Witam.
    Mam taki problem. Napisałem krótki programik podający adres układu I2C. Z
    układem PCF8583 działa prawidłowo ale jak podepne DS1307 niewidzi go.
    Niewiem już w czym może tkwić problem. Może jakoś pomożecie?

    '-------------------------------------------------------------------------------
    ' DS1307.BAS
    ' Moje ds1307 clock on the Mega16 futurlec board
    '-------------------------------------------------------------------------------
    $regfile = "m16def.dat"
    $lib "I2C.LBX"
    $lib "Ds1307clock.lib"
    $crystal = 8000000

    '***LCD***
    Config Lcdbus = 4
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 =
    Portd.5 , E = Portd.1 , Rs = Portd.0

    Config Sda = Portb.1
    Config Scl = Portb.0
    Config I2cdelay = 100

    Dim Adres As Byte
    Dim Adres2 As Byte

    Lcd "Start poszukiwania"
    Adres2 = 0
    Cls
    Lcd "Start"
    Cls
    For Adres = 0 To 254 Step 2
    I2cstart
    I2cwbyte Adres
    I2cstop

    If Err = 0 Then
    Lcd "uklad pod: " ; Adres
    Adres2 = Adres
    Else
    Cls
    Lcd "Brak ukladu: " ; Adres
    End If
    Waitms 500
    Next Adres
    Cls
    Lcd "uklad pod " ; Adres2
    Waitms 500
    Lowerline
    Lcd "Koniec"
    Cursor Off
    End





    lwh - 01-05-2007 21:45

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f184d9$jvh$1@nemesis.news.tpi.pl...
    > Niewiem już w czym może tkwić problem. Może jakoś pomożecie?

    Masz podpiętą baterię lub kondensator ?
    Scalak był choć raz aktywowany ?
    Jeśli nie to najpierw trzeba mu ustawić bit CH, bo inaczej nie zgłosi się




    Jazzstar - 02-05-2007 00:45

     
    Użytkownik "lwh" <l@vp.pl> napisał w wiadomości
    news:f184qj$vo0$2@news.onet.pl...
    >
    > Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    > news:f184d9$jvh$1@nemesis.news.tpi.pl...
    >> Niewiem już w czym może tkwić problem. Może jakoś pomożecie?
    >
    > Masz podpiętą baterię lub kondensator ?
    > Scalak był choć raz aktywowany ?
    > Jeśli nie to najpierw trzeba mu ustawić bit CH, bo inaczej nie zgłosi się
    >

    Bateria jest podpięta, ,układ niebył nigdy jeszcze wykożystywany.
    Możesz podpowiedzieć jak ten bit ustawić ??




    lwh - 02-05-2007 00:45

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f18d7p$e8n$1@nemesis.news.tpi.pl...
    > Możesz podpowiedzieć jak ten bit ustawić ??

    Na 8 stronie wytłuszczonym drukiem pisze by go wyzerować przy pierwszej
    inicjacji (i po każdym zaniku zasilania rezerwowego).

    Jednak mam wątpliwość, czy to to, bo twój program ma zapewne wykrywać
    odpowiedź ACK na kolejno wysyłany adres, bo by cokolwiek ustawiać musi
    najpierw odpowiedzieć zerem na adres 208.

    Masz go dobrze podłączony ? Częstotliwość I2C nie jest zbyt wielka ?
    Program nie może być zły skoro inne wykrywał.





    Jazzstar - 02-05-2007 01:46

     
    Użytkownik "lwh" <l@vp.pl> napisał w wiadomości
    news:f18f1b$r71$1@news.onet.pl...
    >
    > Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    > news:f18d7p$e8n$1@nemesis.news.tpi.pl...
    >> Możesz podpowiedzieć jak ten bit ustawić ??
    >
    > Na 8 stronie wytłuszczonym drukiem pisze by go wyzerować przy pierwszej
    > inicjacji (i po każdym zaniku zasilania rezerwowego).
    >
    > Jednak mam wątpliwość, czy to to, bo twój program ma zapewne wykrywać
    > odpowiedź ACK na kolejno wysyłany adres, bo by cokolwiek ustawiać musi
    > najpierw odpowiedzieć zerem na adres 208.
    >
    > Masz go dobrze podłączony ? Częstotliwość I2C nie jest zbyt wielka ?
    > Program nie może być zły skoro inne wykrywał.
    >

    Podłączony jest OK. 1-2 pin kwarc (32,768kHz), 3 - aku (3V6), 4 - GND, 5-
    PB.1, 6 - PB.0, oba z rezystorami podciągającymi 4k7, 8 - Vcc z
    kondensatorem 100n. Częstotliwość chyba nie jest za duża (ustawione
    i2cdelay=100) ale nieznam na tyle bascoma.




    lwh - 02-05-2007 01:46

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f18gmt$js1$1@nemesis.news.tpi.pl...
    > i2cdelay=100) ale nieznam na tyle bascoma.

    Oscyloskop masz ?




    Jazzstar - 02-05-2007 12:45

     
    Użytkownik "lwh" <l@vp.pl> napisał w wiadomości
    news:f18jjo$3a2$1@news.onet.pl...
    >
    > Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    > news:f18gmt$js1$1@nemesis.news.tpi.pl...
    >> i2cdelay=100) ale nieznam na tyle bascoma.
    >
    > Oscyloskop masz ?

    No właśnie cały problem polega na tym, że niemam pod ręką. Tylko mierniczek
    uniwersalny.




    lwh - 02-05-2007 16:45

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f19okl$7dm$1@atlantis.news.tpi.pl...
    > No właśnie cały problem polega na tym, że niemam pod ręką. Tylko
    > mierniczek uniwersalny.

    Czyli możemy jedynie zgadywać, co jest źle.
    Nie bawię się we wróżbitę.

    Spróbuj np. wpisać ten delay maksymalny, by to bardzo wolno działało i może
    na karcie dźwiękowej robiącej za oscyloskop coc tam zobaczysz, co hasa po
    pinach zegara i danych.
    Wymuś ciągłe podawanie adresu 208 (identyfikator DS1307)




    Jazzstar - 02-05-2007 18:45

     
    Użytkownik "lwh" <l@vp.pl> napisał w wiadomości
    news:f1a53b$ahu$1@news.onet.pl...
    >
    > Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    > news:f19okl$7dm$1@atlantis.news.tpi.pl...
    >> No właśnie cały problem polega na tym, że niemam pod ręką. Tylko
    >> mierniczek uniwersalny.
    >
    > Czyli możemy jedynie zgadywać, co jest źle.
    > Nie bawię się we wróżbitę.
    >
    > Spróbuj np. wpisać ten delay maksymalny, by to bardzo wolno działało i
    > może na karcie dźwiękowej robiącej za oscyloskop coc tam zobaczysz, co
    > hasa po pinach zegara i danych.
    > Wymuś ciągłe podawanie adresu 208 (identyfikator DS1307)
    >

    Wyjaśniło się, wylutowałem aku i ruszyło. Ktoś spaprał projekt, najwyraźniej
    ten układ nietoleruje 3,6V




    lwh - 02-05-2007 20:45

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f1aeis$j04$1@nemesis.news.tpi.pl...
    > Wyjaśniło się, wylutowałem aku i ruszyło. Ktoś spaprał projekt,
    > najwyraźniej ten układ nietoleruje 3,6V

    Hmmm...Tego nie testowałem.
    Używam ich z faradowym kondensatorem - kto by tam gmyrał po latach w
    bateriach:-)
    Niby on jest przewidziany dla 3V baterii litowych
    Max dopuszczalne napięcie baterii to 3,5V
    Aż mi się wierzyć nie chce, że 0,1V jest dla niego tak krytyczne, chociaż
    może świadomie Dallas wiedział co pisze :-)




    Jazzstar - 02-05-2007 21:45

     
    Użytkownik "lwh" <l@vp.pl> napisał w wiadomości
    news:f1alb1$k3j$1@news.onet.pl...
    >
    > Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    > news:f1aeis$j04$1@nemesis.news.tpi.pl...
    >> Wyjaśniło się, wylutowałem aku i ruszyło. Ktoś spaprał projekt,
    >> najwyraźniej ten układ nietoleruje 3,6V
    >
    > Hmmm...Tego nie testowałem.
    > Używam ich z faradowym kondensatorem - kto by tam gmyrał po latach w
    > bateriach:-)
    > Niby on jest przewidziany dla 3V baterii litowych
    > Max dopuszczalne napięcie baterii to 3,5V
    > Aż mi się wierzyć nie chce, że 0,1V jest dla niego tak krytyczne, chociaż
    > może świadomie Dallas wiedział co pisze :-)

    Dokładnie to wygląda tak, akumlatorek jest 3,6V ale napięcie na nim jest
    4,1V. Wylutowałem ten aku i podpiąłem potencjometr, przy napięciu 3,8V
    jeszcze chodzi, 3,9 juz nie. Jakoś wcześniej nieprzyszło mi do głowy
    sprawdzić to napięcie.




    Wiktor S. - 02-05-2007 21:45

      > Mam taki problem. Napisałem krótki programik podający adres układu
    > I2C. Z układem PCF8583 działa prawidłowo ale jak podepne DS1307
    > niewidzi go. Niewiem już w czym może tkwić problem. Może jakoś
    > pomożecie?

    Pierwszy problem polega na tym, że program piszesz ciurkiem, przez co nie
    widać co się w nim dzieje:

    [...]

    Dim Adres As Byte
    Dim Adres2 As Byte

    Lcd "Start poszukiwania"
    Adres2 = 0
    Cls
    Lcd "Start"
    Cls
    For Adres = 0 To 254 Step 2
    I2cstart
    I2cwbyte Adres
    I2cstop
    If Err = 0 Then
    Lcd "uklad pod: " ; Adres
    Adres2 = Adres
    Else
    Cls
    Lcd "Brak ukladu: " ; Adres
    End If
    Waitms 500
    Next Adres
    Cls
    Lcd "uklad pod " ; Adres2
    Waitms 500
    Lowerline
    Lcd "Koniec"
    Cursor Off
    End

    prawda, że czytelniej?

    --
    Azarien




    lwh - 02-05-2007 21:45

     
    Użytkownik "Jazzstar" <jazzstar@o2.pl> napisał w wiadomości
    news:f1amkv$sr4$1@atlantis.news.tpi.pl...
    > jeszcze chodzi, 3,9 juz nie. Jakoś wcześniej nieprzyszło mi do głowy
    > sprawdzić to napięcie.

    Zgodnie z prawami Murphy'ego?:
    trywialny problem jest tam, gdzie się go najmniej spodziewamy i poszukiwania
    zajmą mnóstwo czasu :-)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • konstruktor.keep.pl
  • Design by flankerds.com