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



Teraz jest 18 cze 2026, o 19:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 4 sty 2015, o 14:04 
Offline
Użytkownik

Dołączył(a): 25 lut 2014
Posty: 69
Pomógł: 6

Witam wszystkich, jakiś czas temu zrobiłem sobie zegarek na wyświetlaczach 7segmentowych - zresztą dzięki pomysłowi z forum, jeśli chodzi o użycie dwóch przerwań itp. Tamten projekt był na kwarcu zegarkowym 32,768kHz. Teraz wpadłem na pomysł, żeby to zrobić na kwarcu 8MHz. Pozmieniałem przerwania i ... się okazuje że program nie działa tak jak bym chciał, tzn. sekunda nie trwa sekundy tylko ok 12-13sekund...
Pomógłby ktoś znaleźć babola?

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


d_led.c
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: 4 sty 2015, o 14:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Nie wiem jakiego procka używasz ale w tych, które znam bity WGM13 i WGM12 nie leżą w rejestrze ICRx tylko w TCCR1A lub/i TCCR1B.
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: 4 sty 2015, o 14:39 
Offline
Użytkownik

Dołączył(a): 25 lut 2014
Posty: 69
Pomógł: 6

Oczywiście zapomniałem z pośpiechu dodać że procek to Atmega32...
Timer1 ustawiłem tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i ISR(TIMER1_COMPB_vect)
ale nadal zliczanie sekund odbywa się błędnie;/

------------------------ [ Dodano po: 55 minutach ]

Udało się znaleźć błąd. Poprawny Timer1 powinien miec takie ustawienia
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: 4 sty 2015, o 15:40 
Offline
Nowy
Avatar użytkownika

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

Cześć,
masz zły podział dla procka 8MHz jeżeli ma się wykonywać przerwanie co 0.5s.
Obecnie jest OCR1B = 15625 czyli przerwanie wykonuję się co 0,2s = 5 Hz,
Zmień OCR1B =3906 wtedy będziesz mieć przerwanie ok 0,5s = 2Hz

PS To rozwiązanie co podałeś wyżej również się sprawdzi
pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 16:16 
Offline
Użytkownik

Dołączył(a): 25 lut 2014
Posty: 69
Pomógł: 6

Dzięki wszystkim za pomoc w znalezieniu błędu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 17:30 
Offline
Użytkownik

Dołączył(a): 01 mar 2014
Posty: 117
Lokalizacja: Kraków
Zbananowany użytkownik

Pomógł: 1

Mam przeczucie, że nie będziesz zadowolony ze swojego zegarka. Jednak po coś się produkuje kwarce "zegarkowe"...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 17:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

A najdokladniej bedzie uzyc kwarca zegarkowego i np pcfa i z niego wyciagnac sygnal do procka pod np int0 i miec idealna sek z przerwania.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 17:42 
Offline
Użytkownik

Dołączył(a): 01 mar 2014
Posty: 117
Lokalizacja: Kraków
Zbananowany użytkownik

Pomógł: 1

majster napisał(a):
A najdokladniej bedzie uzyc kwarca zegarkowego i np pcfa i z niego wyciagnac sygnal do procka pod np int0 i miec idealna sek z przerwania.

Jasna sprawa:)

A nie można było do AVRa podłączyć drugiego kwarcu zegarkowego i generować przerwania od niego? Zerknę do dokumentacji...

------------------------ [ Dodano po: 3 minutach ]

ATMega88 pdf napisał(a):
The device can operate its Timer/Counter2 from an external 32.768kHz watch crystal or a external
clock source. The Timer/Counter Oscillator Pins (TOSC1 and TOSC2) are shared with
XTAL1 and XTAL2. This means that the Timer/Counter Oscillator can only be used when an
internal RC Oscillator is selected as system clock source."



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2015, o 11:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

kudzu napisał(a):

A nie można było do AVRa podłączyć drugiego kwarcu zegarkowego i generować przerwania od niego? Zerknę do dokumentacji...


Owszem można ale w tym momencie zależy jak napiszesz program. Bo gdy on będzie blokujący to i przerwanie będzie nie dokładne. Sam zanim zaczalem używać do tego celu peryferiów to bawiłem się w taki sposób jak ty i generalnie na ok 1 miesiac czasu działania softu różnica czasu wynosiła ok 1 min na rok dawało to 12 minut a z pcfa nigdy nie było różnicy no chyba że działał na bateri i gdy batera była słabsza to i pcf był mniej dokładny.

Mozliwość zegarkowa z avr to tak samo jak touch z adc avr.

Oczywiście możesz potestować i się pobawić nie mniej po coś te peryferia zewnętrzne wymyślono.



Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2015, o 13:40 
Offline
Użytkownik

Dołączył(a): 01 mar 2014
Posty: 117
Lokalizacja: Kraków
Zbananowany użytkownik

Pomógł: 1

majster napisał(a):
Sam zanim zaczalem używać do tego celu peryferiów to bawiłem się w taki sposób jak ty


Zacytowałeś mnie, więc sprostuję tylko, że to nie jest mój wątek. Autor kombinuje z zegarkiem bez zewnętrznego RTC, dlatego podpowiedziałem alternatywne rozwiązanie, umożliwiające szybką pracę procesora na 8 MHz z jednoczesnym stosunkowo dokładnym pomiarem czasu na kwarcu zegarkowym.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2015, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Owszem zgadzam się z tobą można i tak również napisałem wyżej że tak się da ale nie jest to aż tak dokładne rozwiązanie jak użycie zewnętrznego rtc.

Wszystko zależy do czego autor potrzebuje zegarek :)

Ja osobiście kończę testową wersję zegarka czekam tylko na pocięcie pleksi no i musze dopisać jeszcze parę funkcji nie mniej może już dziś zaprezentuję go w dziale diy.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



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

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