-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!plix.pl!newsfeed
1.plix.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!.POSTED!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
Date: Fri, 17 Dec 2010 12:38:52 +0100
Organization: http://onet.pl
Lines: 54
Message-ID: <iefejt$hn9$1@news.onet.pl>
References: <4d0b2fb7$0$27044$65785112@news.neostrada.pl>
NNTP-Posting-Host: smaug.int.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1292582333 18153 83.238.197.12 (17 Dec 2010 10:38:53 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 17 Dec 2010 10:38:53 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101030
Icedove/3.0.10
In-Reply-To: <4d0b2fb7$0$27044$65785112@news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:601162
[ ukryj nagłówki ]W dniu 17.12.2010 10:39, Robbo pisze:
> Witam,
>
> Chciałem za pomocą mikrokontrolera mierzyć
> częstotliwość przebiegu sinusoidalnego
> w zakresie od 0 do 150Hz występującą
> w danym momencie.
Żaden problem.
> Zapewne najłatwiej byłoby zliczać liczbę
> okresów w jakimś czasie.
Zapewne.
> Niemniej to może
> być rozwiązanie za wolne dla moich potrzeb.
Dlaczego?
> Im szybciej wyznaczę częstotliwość, tym lepiej.
> Wiem, że ktoś robił w ten sposób, że układem
> analogowym mierzył czas trwania połówki
> sinusoidy i w ten sposób określał częstotliwość.
> Tylko, że ta metoda może okazać się kłopotliwa
> we współpracy z mikrokontrolerem (jakoś trzeba
> ten sygnał podać do uC -- może za pomocą
> przetwornika A/C, tylko czy tu nie będzie jakichś
> problemów typu przekłamania, opóźnienia związane
> z czasem przetwarzania).
Tak, taka atmega ma 15 tysięcy próbek na sekundę. Tanie army od ST 10
razy tyle. To na pewno wprowadza ogromne opóźnienia przy sygnale 150Hz
> A może sinusoidę
> (poddaną "kwadratyzacji" ;) wprowadzać
> na uC, na przerwanie wyzwalane narastaniem
> i opadaniem zbocza, do tego wewnętrzny timer
> i w ten sposób obliczać czas trwania połówki.
> Czy ktoś mógłby mi zaproponować jakąś
> inną metodę?
Jeżeli sinusoida oscyluje wokół masy to albo ją przesuwasz, albo
prostujesz, albo ucinasz.
Próbkujesz sygnał za pomocą ADC - różnice między 2 kolejnymi próbkami
zapisujesz w buforze cyklicznym (np 30), trzymasz też sumę zawartości
bufora (bufor cykliczny pozwala uaktualniać ją w czasie stałym). W
momencie kiedy suma z dodatniej staje się ujemna lub z ujemnej dodatnia
to znaczy, że wykryłeś przejście przez max/min sinusa. W buforze
cyklicznym trzymasz czas między ostatnimi K min/max - K zależnie od tego
czy interesuje cię czas odpowiedzi, czy odporność na zakłócenia. Liczysz
średni czas i masz częstotliwość chwilową.
Zależnie od wymaganych parametrów masz odpowiedź w 1..10..100 okresów.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 17.12.10 14:27 Pszemol
- 17.12.10 18:44 VSS
- 18.12.10 00:45 Adam Wysocki
- 18.12.10 00:57 Adam Wysocki
- 18.12.10 17:22 VSS
- 18.12.10 19:38 J.F.
- 19.12.10 15:01 VSS
- 19.12.10 16:03 J.F.
- 19.12.10 18:44 Mirek
- 19.12.10 19:38 VSS
- 21.12.10 07:04 EM
- 21.12.10 13:05 J.F.
- 22.12.10 10:50 Kicer
Najnowsze wątki z tej grupy
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie