eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaJak szybko mierzyć częstotliwość przy pomocy uC? › Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: