-
Data: 2009-09-10 20:46:18
Temat: Re: AVR i pomiar okresu
Od: "Zibias" <q...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Dariusz Zolna" <a...@u...com> napisał w wiadomości
news:h8bnls$jk0$1@inews.gazeta.pl...
Konop pisze:
> A jak zbocza sygnału?? Ostre?? Bo bez tego, to możesz mieć różny moment
> wejścia do przerwania... w czym piszesz? w C czy w gołym ASM? Są jakieś
> fragmenty kodu, na czas których blokujesz przerwania??
> Spróbuj od razu po wejściu do procedury przerwania przełączać jakiś pin...
> ciekawy jestem,czy ten przebieg też będzie stabilny...
> I napisz jeszcze z jaką częstotliwością popędzasz ten timer....
Sygnał jest uformowany, zbocza ostre. Piszę w gcc, przerwań nie blokuję
niczym innym oprócz ich własnych procedur. Kwarc 16MHz, dzielnik 256,
czyli zegar taktuję 62500Hz.
Z tym przełączaniem pinu dobry patent, podepnę drugi kanał i sprawdzę co
się dzieje.
Dariusz Żołna
Myślę, że najprościej to nie odejmować TCNT1, tylko odczytywać,
a dokładniej przepisać do pamięci, po czym wyzerować
TCNT1 i wyjść z obsługi przerwania. Licznik liczy od zera wtedy.
Druga ważna sprawa, TCNT1 jest 16bitowym czyli masz max 65535 zliczeń.
Trzeba tak dobrać preskaler zegara, żeby dla tych 2kHz liczba zliczeń
taktów zegarowych była "spora" czyli w okolicach powiedzmy 60000.
Nie napisałeś jaki masz zegar w tym ATmega. Najlepiej jakiś stabilny
kwarc. Masz do wyboru podział na: 1,8,64,256,1024
Zakładając, ze masz zegar 8MHz to okres dla 2kHz to 0,0005s
Dla preskalera przez 1 czyli dla zegara bezpośrednio da to zaledwie
4000 zliczeń.co daje rozdzielczość ok. 0,5Hz
Jak dasz kwarc 16Mhz to będziesz miał 2 razy więcej zliczeń.
Osiągniesz wtedy 0,25Hz
Ale oczywiście o ile sygnał jest stabilny.
Druga metoda, to w przerwaniu zliczasz określoną liczbę impulsów,
na przykład 16. Dopiero po zliczeniu odczytujesz licznik i go zerujesz
do następnego pomiaru. Wtedy dla zegara 8MHz dostaniesz 64000zliczeń.
Wtedy rozdzielczość będziesz miał większą, ale kosztem czasu pomiaru.
Ale pomiar będzie trwał "tylko" 0,008sek. Może to wystarczy
Zbyszek
(pisałem to wcześniej ale się nie wysłało...)
Następne wpisy z tego wątku
- 10.09.09 20:48 Zibias
- 10.09.09 21:14 Dariusz Zolna
- 10.09.09 21:23 mk
- 11.09.09 14:11 Konop
- 11.09.09 14:22 Dariusz Zolna
Najnowsze wątki z tej grupy
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
Najnowsze wątki
- 2025-06-07 Warszawa => Administrator Systemów OSS <=
- 2025-06-06 Takich niestrzeżonych przejazdów kolejowych są w Polsce setki, a tysiące w Europie
- 2025-06-06 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-06-06 Gdynia => MLOps Engineer <=
- 2025-06-06 Białystok => NMS System Administrator <=
- 2025-06-06 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-06 Znowu nasze zuchy z Policji.
- 2025-06-06 mBank a składka z polisy OC - za rok 2020 pobrana teraz
- 2025-06-06 Patrioci? Wolność słowa?
- 2025-06-05 Czy estakada w Chorzowie to sprawa polityczna ? Zakończyły się wybory i zamknięto estakadę
- 2025-06-05 Warszawa => Support Engineer <=
- 2025-06-05 Lublin => Programista Delphi <=
- 2025-06-05 Warszawa => IT Recruiter <=
- 2025-06-05 Warszawa => Strategic Account Manager <=
- 2025-06-05 Warszawa => Software Engineer .Net <=