-
Data: 2010-12-17 11:38:52
Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=