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



Teraz jest 25 mar 2026, o 19:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 31 mar 2015, o 21:34 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

Witam.
Potrzebuję sprawić, aby uc co 24 godziny przekazywał sygnał na wyjście przez ok 20 sek (potem 23h59min40s przerwy; aby codziennie o tej samej godzinie włączało.). Stwierdziłem czytając forum, że będzie niezbędny RTC (posiadam RTC DS1307) oraz uc, ja mam już atmega8.
Rozumiem że RTC podłączam do uc zgodnie złączami SCL i SDA przez rezystory. Oraz oczywiście zasilanie itp.
Tylko co teraz? O ile to co napisałem jest dobrze zrobione, jak to wszystko zaprogramować.
Dodam że do tej pory korzystam z USBASP i Eclispa.

Proszę o poradę, dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2015, o 21:52 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

Tak. "Programuję" (proste miganie diod, przyciski itp) w języku C. I właśnie nie wiem jak napisać program do komunikowania z rtc. Znalazłem tylko jak programują zegary (z wyświetlaczem) i to w języku bascom. A ja potrzebuję tylko sygnał co 24h, i nie wiem co wybrać z tego kodu, bo nic o bascom nie wiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2015, o 04:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Zainteresuj się tym
https://www.pjrc.com/teensy/td_libs_DS1307RTC.html
http://www.dfrobot.com/wiki/index.php/R ... DFR0151%29

------------------------ [ Dodano po: kąpieli błotnej]

I jeszcze to
http://www.i2cdevlib.com/devices/ds1307#source

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2015, o 13:27 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

Ciekawe jaka dokładność jest wymagana w tym układzie. Wydaje mi się, że układ RTC nie jest tu potrzebny. Wystarczy dać zewnętrzny kwarc do procesora i napisać prosty program z wykorzystaniem timerów do odpowiedniego odliczania czasu.
Programujesz timer tak aby wywoływał przerwanie co 1 sekundę i zliczasz sobie 86380 "tyknięć" - czyli 23h 59min 40s. Nastepnie ustawiasz wybrany pin procesora na 1 lub 0 (zależy jak jest podłączony do układu wykonawczego). Potem zliczasz 20 "tyknięć" i znowu przestawiasz stan pinu wyjściowego procesora. No i tu cykl się powtarza. Znów odliczasz 86380 "tyknięć".....itd.
No i tu wystarczył by jakiś mały procesorek z serii ATtiny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 kwi 2015, o 19:24 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

Dokładność to myślę, że wystarczyła by w granicach 1 minuty /na miesiąc. Ale im dokładniej tym lepiej oczywiście. A jak użyć ten taimer o którym mówisz i jaka będzie dokładność takiego układu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2015, o 14:20 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

Więc z zewnętrznym kwarcem będzie wystarczająca dokładność. Myślę, że sekundy na parę dni.
Napisałem taki przykładowy program, ale nie testowałem go w praktyce. Więc gdyby coś nie działało to weź pod uwagę , że mogłem się gdzieś pomylić. W każdym razie idea jest na pewno słuszna :-)

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2015, o 17:36 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

Dziękuję bardzo, niedługo sprawdzę czy działa.

A musi być to kwarc 1Mhz? bo akurat mam 4, 8, 12 i 16. Czy 1Mhz będzie najdokładniejszy?

I gdy ustawiłem sobie przykładowo czas długi zamiast 23h , 30sek, to nie powinno działać? Bo tak tylko mogę to w miarę szybko sprawdzić, jak nie to zaczekam do jutra.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2015, o 18:03 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Dla innego kwarcu musisz zmienić ustawienia tego "timera".

Kwarc 4Mhz jest 4x szybszy od 1 Mhz, czyli zamiast zliczyć 24h, zliczy 6h. I tak dalej ...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2015, o 18:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Skorzystaj z tego kalkulatora
http://impuls.elektroda.eu/joomla/index ... kalkulator

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2015, o 18:16 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

A o wyższej częstotliwości będzie dokładniejszy? Czy nie ma to znaczenia?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2015, o 08:55 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

To jaki kwarc raczej nie ma większego znaczenia. Musisz sobie tylko przeliczyć nastawy timera, tak jak napisał Kolega krzysssztof. Ja polecam mkavrkalkulator. Jest tam w zakładce narzędzia fajny kalkulator timerów. Pod spodem wyświetla się odrazu błąd nastawy przy zadanych parametrach częstotliwości i podziału. Trzeba dobrać taki, żeby błąd był = 0



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 kwi 2015, o 20:07 
Offline
Nowy

Dołączył(a): 31 mar 2015
Posty: 9
Pomógł: 0

Dziękuję za odpowiedzi. A jeszcze mam pytanie, ponieważ nie mogę w żaden sposób wymyślić jak to trzeba zrobić, a męczę się już z tym dość długi czas. Otóż potrzebuję, aby to 20 sek. nadawania sygnału na port oraz oczekiwanie 23h59min40sek następowało tylko gdy jest sygnał na danym wejściu. A jeśli był by jego brak, wówczas aby nastąpiło oczekiwanie 24h. A i będę używał prawdopodobnie kwarcu 12mhz, bo taki posiadam. Proszę bardzo, gdyby ktoś miał na tyle czasu aby wyjaśnić jak przerobić kod, z postu Janusza, pewnie dla Was to jest kilka minut. Chyba że wcześniej się z tym uporam to dam znać. Z góry dziękuję.



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

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