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



Teraz jest 11 lut 2026, o 10:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 26 lis 2015, o 21:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Witam, mam prosty problem. Dlaczego sekunda nie jest sekundą? W moim projekcie dioda się lekko śpieszy i mruga częściej niż raz/sekundę.
Dodam, że mam Atmega8 w eclipsie jak i w mkAVR ustawione na 8000000hz.

Daję podział sygnału przez 256 ==> 8mhz/256=31250
Następnie przepełnienie co 125 ==> 250
i co te 250 impulsów zmieniam stan diody.

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

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Ostatnio edytowano 27 lis 2015, o 21:23 przez norniiica, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 21:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Bo tak jest... Nawet z kwarcem procki mają często odchyłkę o jakiś procent. Pocieszające jest to, że w pewnych partiach jest to stały błąd i w ostatnim projekcie musiałem lekko przyspieszyć wykonywanie się przerwania, bo mi się zegarek późnił -zamiast 199 wpisałem 197 dla CTC i dokładność skoczyła drastycznie. Po kilku godzinach nie zauważyłem znacznej odchyłki, ale tak dużej dokładności to mi nawet nie było potrzeba :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 21:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Myślałem, że coś źle napisałem, bo na 1 minucie już jestem w stanie zauważyć różnicę w diodzie w porównaniu ze stoperem. Ze zaczyna go wyprzedzać..

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 22:27 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

norniiica napisał(a):
Dodam, że mam Atmega8 w eclipsie jak i w mkAVR ustawione na 8000000hz.


- a dodałeś czy masz kwarc zewn czy oscylator RC wewnętrzny ?
- a wiesz, że wewnętrzny oscylator RC to może być rozrzut nawet do ok 5% ?
- a wiesz, że zegarków się nie robi w ten sposób?
- a wiesz, że są takie układy jak RTC ?
- a wiesz, że jak już robić zegarek na procku to zwykle używa się kwarców zegarkowych 32,768 kHz ? ale i tak z dokładnością będzie problem ?
- a wiesz, że jak chcesz mieć dokładny zegarek to warto zainwestować w DOKŁADNY RTC np DS3231 ?
http://mirekk36.blogspot.com/2013/11/rt ... ek-na.html

- a wiesz, że warto sobie np synchronizować czas np przez WiFi ? Polecam ci obejrzeć ten cykl poradników - zaczynający się od tego:
https://www.youtube.com/watch?v=ibIy789sr2M

wtedy będziesz miał dokładny czas

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 23:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Jest też możliwość synchronizacji zegarka wykorzystując sygnał radiowy DCF77 nadawany z Niemiec, który obejmuje również Polskę. W sygnale tym zawarta jest informacja o aktualnym czasie. Niektóre samonastawne zegary wykorzystują ten sygnał. Stronki na ten temat:
https://pl.wikipedia.org/wiki/DCF77
http://www.dcf77.comxa.com/budowa.php
Chciałbym kiedyś zrobić jakieś urządzonko które będzie słuchało sobie tej stacji radiowej ;)
Czy ktoś z forumowiczów bawił się tym? Ciekaw jestem jak by to działało.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 23:31 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

wojtekr51 napisał(a):
Czy ktoś z forumowiczów bawił się tym? Ciekaw jestem jak by to działało.

A czy nie zaglądasz do naszego działu DIY ? przecież masz i to nawet świeży projekt ... niedawno w sumie wrzucony
topic13575.html

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 23:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Właśnie przed chwilką zobaczyłem, że temat już istnieje na forum. Jestem tu od niedawna, dlatego narpiew napisałem a potem pomyślałem :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2015, o 17:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Korzystam z wewnętrznego oscylatora.

Oprogramowuję czujnik odległości, w którym to należy badać ile czasu utrzymuje się stan wysoki na wyjściu Echo.

Skoro jestem w stanie zauważyć różnicę w sekundach pomyślałem, że coś źle napisałem. W projekcie bada się w us!! ( distance [cm] = ( high level time [us] * 34 ) / 1000 / 2 ) a tam takie różnice mogą mieć znaczenie.

Podepnę zewnętrzny kwarc i zobaczę jak to działa.

Dziękuję za podpowiedź ;)

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2015, o 18:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

ojej, pamiętaj, że wewnętrzny rezonator może mieć dość spore odchyłki i to różne zależnie od egzemplarza, do tego dochodzi spory dryft temperaturowy, ogólnie rzecz biorąc te rezonatory chodzą niestabilnie i zakres ich zastosowań przez to jest okrojony. W wielu projektach wystarczy, ale w bardziej wymagających - jak Twój zupełnie się nie sprawdzi.
Minimum to rezonator kwarcowy i to jeszcze można się pokusić o wyselekcjonowanie tego idealnego.
A może lepiej zamiast rezonatora po prostu generator kwarcowy? Wtedy podpinasz pod jedną nóżkę XTAL1.
To byłoby najlepsze rozwiązanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2015, o 22:37 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

zoom napisał(a):
pamiętaj, że wewnętrzny rezonator

Najpierw sprostowanie - to kolega też musi zapamiętać - że jak "wewnętrzny" to nie rezonator, wewnętrzny w procku to jest oscylator RC - to dość istotne

zoom napisał(a):
ogólnie rzecz biorąc te rezonatory chodzą niestabilnie i zakres ich zastosowań przez to jest okrojony.

Bez przesady można mnóstwo projektów na nich zrealizować ;)

zoom napisał(a):
jak Twój zupełnie się nie sprawdzi.

Z tym bym się nie zgodził ;) - moim zdaniem zdecydowanie przy takim projekcie sprawdzi się wewn. oscylator ....

trzeba zrozumieć - że pomiar tak długich czasów jak cała SEKUNDA, która jest wręcz wiecznością dla procesora taktowanego 8 MHz to CAŁKIEM co innego niż pomiary krótkich mikro sekundowych czasów ....

Wystarczy pomyśleć - jak człowiek będzie chciał odliczać odcinki czasu np co 100 lat ... to jaką różnicę zrobi nawet jeden dzień ?

Za to jeśli będzie chciał odliczać odcinki czasowe powiedzmy co jedną minutę to jaka będzie różnica jeśli wynik będzie się różnił również o 0,01%

Dlatego np do pomiaru odległości za pomocą prostych czujników ultrdźwiękowych, które same z siebie obarczone są o wiele większą niedokładnością - nie będzie to miało znaczenia

Tak samo niektórzy piszą - bez zewn kwarca nie da się zrobić dekodowania podczerwieni bo np trzeba odmierzać odcinki czasowe mierzone w mikrosekundach ;) dla RC5 to np ok 866 us ... więc co będzie tragedia ? - ŻADNA TRAGEDIA - będzie to działać na wewn. oscylatorze i to bardzo dobrze! co więcej nawet przy drastycznych zmianach temperatury i dużym dryfcie tegoż oscylatora ;)

ALE - .... no ale np dla asynchronicznej komunikacji RS232 wewn oscylator może się bardzo mocno nie sprawdzić - dlatego wtedy już jest wyraźny powód kiedy trzeba sięgnąć po kwarca .....

A więc nieuprawnione są takie popularne siane po necie przez początkujących opinie - że rzekomo wbudowane oscylatory RC są "niedokładne" i że zawsze trzeba używać kwarca zewnętrznego ;) .... Wyżej wyjaśniam mniej więcej dlaczego są to mity ... ok?

Dla autora płynie jedna nauka z tego - jak chcesz mierzyć czasy mikro sekundowe to nie dokonuj prób na czasach tysiące razy większych ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

mirekk36 napisał(a):
Najpierw sprostowanie - to kolega też musi zapamiętać - że jak "wewnętrzny" to nie rezonator, wewnętrzny w procku to jest oscylator RC - to dość istotne

Oczywiście, jak najbardziej, to moja pomyłka :oops:

mirekk36 napisał(a):
Bez przesady można mnóstwo projektów na nich zrealizować ;)

Jasne, dlatego kawałek dalej pisałem
zoom napisał(a):
W wielu projektach wystarczy


Co do reszty masz pewnie absolutną rację, faktycznie nie pomyślałem o tym w ten sposób :roll: Dobrze wiedzieć, pewnie w wielu projektach bez zastanowienia wrzuca się niepotrzebnie rezonator, co zajmuje i miejsce i piny.
Tu wystarczy przeliczyć o ile zmieni nam się pomiar odległości dla skrajnego rozstrojenia oscylatora. Poza tym na wynik takiego pomiaru faktycznie sama odchyłka taktowania będzie miała najmniejszy wpływ. Większy pewnie będą miały właściwości rozchodzenia się fal akustycznych - a to już zależy od aktualnych cech medium, czyli tu powietrza - wilgotność itp.

To przepraszam za zamieszanie ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lis 2015, o 13:28 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

zoom napisał(a):
To przepraszam za zamieszanie

Ale za co przepraszać - takie dyskusje bardzo się przydają - a skorzysta z nich wiele osób .... po prostu czasem właśnie wystarczy troszkę głębiej przeanalizować temat .... Poza tym wiesz - pomiar pomiarowi nie równy - i gdyby mówić o jakichś precyzyjnych wojskowych albo medycznych zastosowaniach to pewnie bez kwarca po prostu by się nie obyło ..

zoom napisał(a):
pewnie w wielu projektach bez zastanowienia wrzuca się niepotrzebnie rezonator, co zajmuje i miejsce i piny.

I to jest ważny wniosek

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lis 2015, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

Powiem więcej, osobiście unikam zewnętrznych kwarców do granic możliwości, a stosuję je tylko w sytuacjach gdzie muszę pogonić procka większą częstotliwością niż 8MHz (wtedy zazwyczaj potrzebna jest większa dokładność, którą dostaję w pakiecie...) lub dla potrzeb transmisji wymagane jest specyficzne taktowanie :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2015, o 22:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Atmega 8 cd.

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


Działa jedna, albo druga. Obie na raz nie chcą (muszę kasować którąś) Da się to jakoś zmiksować?
A może po prostu 2 timer odpalić?

Mam sygnał, który wzrasta i następnie po czasie(który zamierzam pomierzyć) opada.
Potrafię już określić zbocza dzięki ICP1. Został już tylko pomiar czasu.
Odczytuję aktualny stan licznika TCNT1, brakuje mi tylko przerwania od przepełnień licznika TCNT1.

Obrazek

Korzystam z ICP1 i to działa wyśmienicie. Załączam diagram, na którym to wszystko jest jak mniemam.

Rozumiem, że mogę dokonać 4 rodzajów przerwań na atmedze8 timer1:
TIMER1_CAPT_vect
TIMER1_COMPA_vect
TIMER1_COMPB_vect
TIMER1_OVF_vect
czy tak? czy można stosować je na raz?

_________________
Złoty Szpadel od Pana Mirka! 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: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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