Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 2 wrz 2025, o 08:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 27 gru 2014, o 11:14 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 64
Pomógł: 1

Witam od kilku dni walczę z modułem DS 1307. http://electropark.pl/rtc-zegary-czasu-rzeczywistego/3076-modul-rtc-ds1307-at24c32-5901003076007.html.

Na razie nie potrafię uzyskać na wyjściu DS układu Ds1307 sygnału co 1 s.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Korzystam z bibliotek z niebieskiej książki.

Schemat układu http://www.hobbyist.co.nz/sites/default/files/docs/RTC/Tiny_RTC_schematic.pdf



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 12:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2013
Posty: 288
Ostrzeżenia: -2
Pomógł: 23

Masz złą inicjalizacje DS1307. Zaglądałeś do noty tego układu?
I proponuje zmienić nazwę adresu na DS1307 z PCF bo to sie dziwnie czyta.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Na czym to testujesz oprócz wspomnianego układu RTC?


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 12:35 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 64
Pomógł: 1

Zmieniłem kod ale dalej nie działa. układ testowany na atmega32 (8 Mhz) a sygnał z Ds sprawdzam na diodzie podłączonej do pinu Ds i do vcc przez rezystor.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 12:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2013
Posty: 288
Ostrzeżenia: -2
Pomógł: 23

Na razie uporządkuj kod.
Wyrzuć wszystko z kodu poza:
i2cSetBitrate(100);
inicjalizacją DS1307

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



krok po kroku dojedziemy do migania:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 13:14 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 64
Pomógł: 1

Zmieniłem i dalej nic , dioda nie mruga , na pinie ds w rtc jest cały czas około 5 v.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 13:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2013
Posty: 288
Ostrzeżenia: -2
Pomógł: 23

użyłeś to co wyżej podałem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 13:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 448
Lokalizacja: DKL
Pomógł: 53

A może masz jakiś problem z magistrala i2c? Złe podłączenie, brak podciągnięcia do VCC linii SCL, SDA, problem z rezonatorem przy DS-ie.
Możesz też wypróbować mój mały patent na debugowanie i2c :)
topic9839.html#p110357


Autor postu otrzymał pochwałę

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 13:36 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 10 maja 2014
Posty: 10
Pomógł: 3

Vitor Borba napisał(a):
Zmieniłem kod ale dalej nie działa. układ testowany na atmega32 (8 Mhz) a sygnał z Ds sprawdzam na diodzie podłączonej do pinu Ds i do vcc przez rezystor.


Jeżeli korzystasz z modułu który pokazałeś na stronie w pierwszym poście to nie dziwie się że ciągle pokazuje Ci 5V bo źle podpinasz diodę LED do pinu DS a on służy do odczytywania danych z czujnika temperatury którego tam pewnie nie masz wlutowanego, podepnij diodę LED przez rezystor do wyjścia SQ to wtedy powinno Ci mrygać co 1s

tutaj masz schemat modułu który podałeś na początku, zapoznaj się z nim
http://propix.com.pl/pl/p/file/588187c7 ... ps3FD1.pdf

PS Kod kolegi wyżej jest dobry bo sam kiedyś z tego korzystałem i mi działa do dziś


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2014, o 21:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 sty 2014
Posty: 178
Pomógł: 24

Witam

Walczyliśmy kiedyś z tym układem i okazał sie bardzo kapryśny.
Po pierwsze za nic na świecie nie chciał działać z programowym I2C.
Po drugie ustawienia w rejestrze kontrolnym (adres 0x07) nie dadzą żadnego rezultatu jeżeli bit 7 w rejestrze sekund (adres 0x00) nie będzie wyzerowany!!! Bit ten nazywa się Clock Halt i jego ustawienie na jeden powoduje zatrzymanie wewnętrznego oscylatora. Spośród kilku datascheet-ów w tym jest to najlepiej opisane https://www.sparkfun.com/datasheets/Com ... DS1307.pdf
(strona 4, akapit: CLOCK AND CALENDAR)

Finalnie w inicjalizacji DS1307 zastosowaliśmy sprawdzanie stanu tego bitu i jeżeli jest równy 1 to najpierw go zerujemy a następnie konfigurujemy rejestr kontrolny.

Oczywiscie weź pod uwagę to co koledzy napisali wcześniej odnośnie prawidłowego podłączenia szyny I2C

Pozdrawiam


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2014, o 21:10 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 64
Pomógł: 1

Ok teraz działa, powodem były przerwa na połączeniu w RTC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO