Jak szybko mierzyć częstotliwość przy pomocy uC?

Dec 17, 2010 16 Replies

Witam,



Chciałem za pomocą mikrokontrolera mierzyć częstotliwość przebiegu sinusoidalnego w zakresie od 0 do 150Hz występującą w danym momencie. Zapewne najłatwiej byłoby zliczać liczbę okresów w jakimś czasie. Niemniej to może być rozwiązanie za wolne dla moich potrzeb. 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). 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ę? Z góry dziękuję za pomoc.



R.


Na razie jasne.

Mierz okres.

Bez sensu.

To ma sens. Z tą kwadratyzacją to może przesada. Wystarczy układ określajacy punkt na sinusoidzie. Takim szczególnym przypadkiem jest detektor przejścia przez zero. Tylko że występuje dwa razy w ciągu okresu.. ale cóż to jest dla uC.

Mierzyć miernikem częstotliwości, obrabiać dane - jak jest problem to z użyciem komputera PC i wysyłać do uC. :-)))))

Użytkownik "Robbo" snipped-for-privacy@mmm.com napisał w wiadomości news:4d0b2fb7$0$27044$ snipped-for-privacy@news.neostrada.pl...

Jakaś inna metoda - mierzyć cały okres, a nie pół ;-) P.G.

W dniu 2010-12-17 11:17, Desoft pisze:

Trzeba tylko wiedzieć, czy to jest czysty sinus, czy ze śmieciami, bo wtedy możesz mieć wiele przejść przez zero w każdym półokresie.

Filtr dolnoprzepustowy, nawet najprostszy układ RC który nam odfiltruje śmieci.

Potem komparator z którego wyjście dasz na wejście cyfrowe procesora. Przetwornik AC nie jest potrzebny jeśli sinusoida ma w miarę stałą amplitudę to komparator z ustawionym na stałe progiem wystarczy... I teraz po prostu mierzysz ilość taktów timera między przerwaniami.

Jeśli sinusoida ma zmienną amplitudę to można wciąż użyć komparatora z tym że zamiast progu na stałym poziomie napięcia można zadać próg utworzony z wyprostowanej jednopołówkowo i odfiltrowanej sinusoidy wejściowej nieco obsuniętej aby uniknąć wyzwalania szumem.

W wiadomości:4d0b2fb7$0$27044$ snipped-for-privacy@news.neostrada.pl, Robbo snipped-for-privacy@mmm.com nastukał:

A jak zrobisz już ten miernik jest szansa na jedna sztuke która potrzfi wykrywać 110,9Hz i wystawić 1 na jakies nózce ?

Robisz dekoder CTCSSu? Może zainteresuj się układem LM567?

Robisz detektor CTCSSu? Może zainteresuj się układem LM567?

W wiadomości: snipped-for-privacy@news.chmurka.net, Adam Wysocki snipped-for-privacy@nospam.invalid nastukał:

tak, uzywałem 567 ale problem polega na szerokości pasma, zbiera 2 tony w lewo i prawo :( dlatego potrzebuje cos dokładniejszego

A jak dokladnie ma mierzyc ? Moze sobie algorytm Goertzela zaprogramowac ?

J.

Tony CTCSS w okolicy 110,9Hz wyglądaja tak:

100,0 103,5 107,2 110,9 114,8 118,8 123,0

Dobrze by było aby łapal tylko 110,9Hz a nie łapał tych dwóch po bokach. Jest to możliwe ? Potrzeba jak najbardziej amatorska - przemiennik amatorski.

Oczywiscie ze jest, tylko ze wymaga rozdzielczosci 2Hz, wiec czas pomiaru to tak im dluzszy tym lepszy - z dobrym sygnalem moze by sie udalo zejsc do 1/8 sekundy (cwierc okresu roznicy), ale doradzalbym raczej nastawic sie na sekunde.

J.

Z bardzo dobrym sygnałem, to można zrobić na podstawie kilku próbek.

formatting link

W wiadomości: snipped-for-privacy@4ax.com, J.F. <jfox snipped-for-privacy@poczta.onet.pl> nastukał:

wystrczy 1/4 sekundy w 100%. czy przy rozdzielczości 4Hz można by skrócic czas pomiaru.

Użytkownik "VSS" snipped-for-privacy@gazeta.pl napisał w wiadomości news:ielmv2$nqh$ snipped-for-privacy@inews.gazeta.pl...

Jeśli da się uzyskać ładny przebieg cyfrowy, to można jego częstotliwość zmierzyć w ciągu 1 okresu i to z dokładnością znacznie przewyższającą 0,01Hz...

Użytkownik "EM" snipped-for-privacy@poczta.onet.pl> napisał w

Owszem, tylko musisz ten jeden okres zmierzyc z dokladnoscia do 1 us .. powiedzmy sam pomiar okresu nie jest problemem, mozna wielokrotnie dokladniej, natomiast czy nie bedzie problemem wyluskanie tego jednego okresu z taka dokladnoscia ..

J.

Może wzmacniacz wchodzący w nasycenie (tak żeby wyszedl prostokąt z tego sinusa), a potem avrka + wejście ICP?

pozdrawiam

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required