eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Jak szybko mierzyć częstotliwość przy pomocy uC?
Ilość wypowiedzi w tym wątku: 18

  • 1. Data: 2010-12-17 09:39:03
    Temat: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: "Robbo" <y...@m...com>

    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.


  • 2. Data: 2010-12-17 10:17:48
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: "Desoft" <D...@i...pl>

    > Chciałem za pomocą mikrokontrolera mierzyć
    > częstotliwość przebiegu sinusoidalnego
    > w zakresie od 0 do 150Hz występującą
    > w danym momencie.

    Na razie jasne.

    > Zapewne najłatwiej byłoby zliczać liczbę
    > okresów w jakimś czasie. Niemniej to może
    > być rozwiązanie za wolne dla moich potrzeb.

    Mierz okres.

    > 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).

    Bez sensu.

    > 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.

    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.

    > Czy ktoś mógłby mi zaproponować jakąś
    > inną metodę?

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

    --
    Desoft


  • 3. Data: 2010-12-17 10:20:41
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: Piotr Gałka <p...@C...pl>


    Użytkownik "Robbo" <y...@m...com> napisał w wiadomości
    news:4d0b2fb7$0$27044$65785112@news.neostrada.pl...
    > Czy ktoś mógłby mi zaproponować jakąś
    > inną metodę?

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


  • 4. Data: 2010-12-17 10:23:43
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: Zbych <a...@o...pl>

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

    >> 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.
    >
    > 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.


    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.


  • 5. Data: 2010-12-17 11:38:52
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: Michoo <m...@v...pl>

    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


  • 6. Data: 2010-12-17 14:27:16
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: "Pszemol" <P...@P...com>

    "Robbo" <y...@m...com> wrote in message
    news:4d0b2fb7$0$27044$65785112@news.neostrada.pl...
    > Chciałem za pomocą mikrokontrolera mierzyć
    > częstotliwość przebiegu sinusoidalnego
    > w zakresie od 0 do 150Hz występującą
    > w danym momencie.

    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.


  • 7. Data: 2010-12-17 18:44:14
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: "VSS" <v...@g...pl>

    W wiadomości:4d0b2fb7$0$27044$6...@n...neostrada.
    pl,
    Robbo <y...@m...com> nastukał:
    > Witam,
    >
    > Chciałem za pomocą mikrokontrolera mierzyć
    > częstotliwość przebiegu sinusoidalnego
    > w zakresie od 0 do 150Hz występującą
    > w danym momencie.

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

    --
    VSS



  • 8. Data: 2010-12-18 00:45:59
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: g...@n...invalid (Adam Wysocki)

    VSS <v...@g...pl> wrote:

    >> Chciałem za pomocą mikrokontrolera mierzyć
    >> częstotliwość przebiegu sinusoidalnego
    >> w zakresie od 0 do 150Hz występującą
    >> w danym momencie.
    >
    > 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?

    --
    gof


  • 9. Data: 2010-12-18 00:57:38
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: g...@n...invalid (Adam Wysocki)

    VSS <v...@g...pl> wrote:

    >> Chciałem za pomocą mikrokontrolera mierzyć
    >> częstotliwość przebiegu sinusoidalnego
    >> w zakresie od 0 do 150Hz występującą
    >> w danym momencie.
    >
    > 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 detektor CTCSSu? Może zainteresuj się układem LM567?

    --
    gof


  • 10. Data: 2010-12-18 17:22:20
    Temat: Re: Jak szybko mierzyć częstotliwość przy pomocy uC?
    Od: "VSS" <v...@g...pl>

    W wiadomości:p...@n...chmurka.net,
    Adam Wysocki <g...@n...invalid> nastukał:
    > Robisz detektor CTCSSu? Może zainteresuj się układem LM567?

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

    --
    VSS


strony : [ 1 ] . 2


Szukaj w grupach

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: