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



Teraz jest 3 sty 2025, o 01:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 30 mar 2014, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Mam problem z zakupionym modułem zawierającym zegar DS1307 oraz pamięć EEPROM at24cp.
Moduł ten wygląda tak:
Obrazek
Problem polega na tym, że po odcięciu zasilania moduł nie przełącza się na zasilanie bateryjne.
Zegar się zatrzymuje, zaś wyświetlacz LCD zamiera, pokazując ostatnie wartości.

Napięcie na baterii wynosi 4,0 V (choć na niej pisze 3,6V) - nie wiem, czy ja jestem kiepskim mierniczym, czy miernik jakiś taki nijaki (~30 zł).

Czy może chodzi o coś innego.

Poniżej schemat elektryczny tego modułu:
Obrazek

Patrząc na ten schemat - nie wiem czy myślę dobrze - ale prąd z tej baterii jest straszliwie ograniczany rezystorami R4 i R6. Dioda D1 zabezpiecza przed zasilaniem układu. Ale ja jestem początkujący i ogarniam mało co.

Mam świadomość, że u góry tego schematu pisze:
Aby korzystać z baterii 2032, usuń R5, D1, R4, R6. Zamień R6 na zworkę.
Czy to oznacza, że mam z niego wydrapać wyżej wymienione. To bez sensu. Dla mnie ma to działać jako zasilanie awaryjne.

Za wszelkie sugestie z góry dziękuję.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2014, o 21:15 
Offline
Użytkownik
Avatar użytkownika

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

Witam

Jeżeli używasz baterii typu CR2032 to musisz usunąć elementy opisane w tej notatce na schemacie a rezystor R6 zastąpić zworką.
Jeżeli korzystasz z akumulatorka to wszystkie elementy mają zostać.
Ten moduł jest uniwersalny i to końcowy użytkownik decyduje z jakiej baterii będzie korzystał a więc też które elementy pozostaną.

A możesz zmierzyć napięcie baterii odłączonej od układu. Coś mi się wydaje, że odłączenie napięcia tak naprawdę go nie odłącza od układu.

Aha DS1307 ma w rejestrze sekund najstarszy bit który musisz mieć ustawiony na 0 bo inaczej wewnętrzny oscylator przestaje pracować i zegar staje


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2014, o 21:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Kuźnia napisał(a):
A możesz zmierzyć napięcie baterii odłączonej od układu. Coś mi się wydaje, że odłączenie napięcia tak naprawdę go nie odłącza od układu.

Podane napięcie to napięcie baterii po wyjęciu z układu.

Kuźnia napisał(a):
Aha DS1307 ma w rejestrze sekund najstarszy bit który musisz mieć ustawiony na 0 bo inaczej wewnętrzny oscylator przestaje pracować i zegar staje

I chyba właśnie o to chodziło.
Zmieniłem ten bit tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście kod nie mój - adaptacja, choć mam nadzieję, że dobra.
Tak robiąc próby na szybko widzę, że po odłączeniu zasilania od RTC, zamiera wyświetlacz, zaś po przywróceniu tego zasilania do RTC uaktualnia się godzina, zaś wyświetlacz wznawia pracę (zmienia sekundy i minuty), a poprzednio wyświetlał jakieś kompletne głupoty na stałe i nie zmieniał sekund (ani oczywiście minut itd).
Zatem postęp jest.
Czy to rozwiązuje problem napiszę jutro. Na razie dziękuję.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2014, o 11:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Wyłączyłem cały układ na noc (mikrokontroler i zegar połączone na płytce stykowej).
Zasilane wszystko z portu USB komputera poprzez programator USBASP (mam jeden port USB i nie mam rozgałęźnika).
Rano po włączeniu całości (czyli w praktyce komputera) zegar pokazuje głupoty.

Po ponownym nastawieniu go i odłączeniu zasilania (GND+VCC) tylko od zegara, zauważyłem taką ciekawostkę:
a) jeśli najpierw włączę w płytkę kabel GND od zegara, a następnie kabel VCC, wszystko działa jak należy (na wyświetlaczu pojawia się poprawna - uaktualniona godzina).
b) jeśli najpierw włączę w płytkę kabel VCC zasilający zegar, a następnie kabel GND, zegar pokazuje głupoty i wymaga zresetowania.

Wniosek jest taki:
Bateria podtrzymuje działanie zegara.
Tylko muszę jeszcze zwalczyć problemy powstałe przy przywracaniu napięcia zewnętrznego.
Wszelkie sugestie mile widziane.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2014, o 13:39 
Offline
Użytkownik
Avatar użytkownika

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

Patrząc na Twoje wnioski unikałbym odłączania masy. Jak podłączasz najpierw Vcc a masę masz odłączoną od DS1307 to skąd ten układ ma sobie wziąć punkt odniesienia ? Pewnie prąd szuka sobie do przepłynięcia jakiejś najprostszej w tej sytuacji drogi i DS1307 wariuje.

Też wielokrotnie zasilało się układy z tym DS-em poprzez USBAsp i po włączaniu komputera wszystko działało jak należy - oczywiście pod warunkiem, że program był bezbłędny.

Spróbuj wykorzystać gotową bibliotekę do obsługi I2C, wgraj do procka i sprawdź czy wszystko chodzi jak należy. Wtedy zaczniemy wykluczać ewentualne uszkodzenia lub błędy. Jak spróbujesz zrobić to jak napisane to będziemy wiedzieli, że moduł z DS1307 i pamięcią 24xx masz sprawny i bedziemy szukali dalej. Krok po kroku eleiminując podejrzane elementy składowe urządzenia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2014, o 20:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Kuźnia napisał(a):
Patrząc na Twoje wnioski unikałbym odłączania masy. Jak podłączasz najpierw Vcc a masę masz odłączoną od DS1307 to skąd ten układ ma sobie wziąć punkt odniesienia ? Pewnie prąd szuka sobie do przepłynięcia jakiejś najprostszej w tej sytuacji drogi i DS1307 wariuje.

No oczywiście nie jest to sposób jaki należałoby naśladować. Pisząc tak, opisałem konkretną sytuację, której doświadczyłem i to co piszesz jest oczywistością.

Kuźnia napisał(a):
Też wielokrotnie zasilało się układy z tym DS-em poprzez USBAsp i po włączaniu komputera wszystko działało jak należy - oczywiście pod warunkiem, że program był bezbłędny.

Też prawda, ale u mnie wisi za dużo tego, jak sądzę: i wyświetlacz i jakieś migające diody i inne cuda podpięte na jednej płytce stykowej.

Kuźnia napisał(a):
Spróbuj wykorzystać gotową bibliotekę do obsługi I2C, wgraj do procka i sprawdź czy wszystko chodzi jak należy. Wtedy zaczniemy wykluczać ewentualne uszkodzenia lub błędy. Jak spróbujesz zrobić to jak napisane to będziemy wiedzieli, że moduł z DS1307 i pamięcią 24xx masz sprawny i będziemy szukali dalej. Krok po kroku eliminując podejrzane elementy składowe urządzenia.

Oczywiście, że tak zrobię, ale teraz bawię się jeszcze czyniąc eksperymenty na żywym organiźmie, korzystając z innej biblioteki niż p. Mirka (bo ta początkowo wydawała mi się za trudna).
Za kilka dni najdalej napiszę, jak postępy i jakie dalsze wnioski.
Teraz dziękuję za już przekazane sugestie.

_________________
Ad augusta per angusta



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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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