Goto page 1, 2 Next
Robbo
Guest
Fri Dec 17, 2010 10:39 am
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.
Desoft
Guest
Fri Dec 17, 2010 11:17 am
Quote:
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.
Quote:
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.
Quote:
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.
Quote:
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.
Quote:
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
Piotr Gałka
Guest
Fri Dec 17, 2010 11:20 am
Użytkownik "Robbo" <yyy@mmm.com> napisał w wiadomości
news:4d0b2fb7$0$27044$65785112@news.neostrada.pl...
Quote:
Czy ktoś mógłby mi zaproponować jakąś
inną metodę?
Jakaś inna metoda - mierzyć cały okres, a nie pół
P.G.
Zbych
Guest
Fri Dec 17, 2010 11:23 am
W dniu 2010-12-17 11:17, Desoft pisze:
Quote:
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.
Michoo
Guest
Fri Dec 17, 2010 12:38 pm
W dniu 17.12.2010 10:39, Robbo pisze:
Quote:
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.
Quote:
Zapewne najłatwiej byłoby zliczać liczbę
okresów w jakimś czasie.
Zapewne.
Quote:
Niemniej to może
być rozwiązanie za wolne dla moich potrzeb.
Dlaczego?
Quote:
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
Quote:
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
Pszemol
Guest
Fri Dec 17, 2010 3:27 pm
"Robbo" <yyy@mmm.com> wrote in message
news:4d0b2fb7$0$27044$65785112@news.neostrada.pl...
Quote:
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.
VSS
Guest
Fri Dec 17, 2010 7:44 pm
W wiadomości:4d0b2fb7$0$27044$65785112@news.neostrada.pl,
Robbo <yyy@mmm.com> nastukał:
Quote:
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
Adam Wysocki
Guest
Sat Dec 18, 2010 2:45 am
VSS <vss@gazeta.pl> wrote:
Quote:
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
Adam Wysocki
Guest
Sat Dec 18, 2010 2:57 am
VSS <vss@gazeta.pl> wrote:
Quote:
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
VSS
Guest
Sat Dec 18, 2010 6:22 pm
W wiadomości:pme.1292633858@news.chmurka.net,
Adam Wysocki <gophi.at.chmurka.net@nospam.invalid> nastukał:
Quote:
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
J.F.
Guest
Sat Dec 18, 2010 8:38 pm
On Fri, 17 Dec 2010 19:44:14 +0100, VSS wrote:
Quote:
A jak zrobisz już ten miernik jest szansa na jedna sztuke która potrzfi
wykrywać 110,9Hz i wystawić 1 na jakies nózce ?
A jak dokladnie ma mierzyc ?
Moze sobie algorytm Goertzela zaprogramowac ?
J.
VSS
Guest
Sun Dec 19, 2010 4:01 pm
W wiadomości:nb3qg6l617rmhgoqt9ejnjfv77l5bacpat@4ax.com,
J.F. <jfox_xnospamx@poczta.onet.pl> nastukał:
Quote:
On Fri, 17 Dec 2010 19:44:14 +0100, VSS wrote:
A jak zrobisz już ten miernik jest szansa na jedna sztuke która
potrzfi wykrywać 110,9Hz i wystawić 1 na jakies nózce ?
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.
--
VSS
J.F.
Guest
Sun Dec 19, 2010 5:03 pm
On Sun, 19 Dec 2010 16:01:12 +0100, VSS wrote:
Quote:
J.F. <jfox_xnospamx@poczta.onet.pl> nastukał:
A jak dokladnie ma mierzyc ?
Moze sobie algorytm Goertzela zaprogramowac ?
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 ?
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.
VSS
Guest
Sun Dec 19, 2010 8:38 pm
W wiadomości:9uasg65b0s0kg2qo8druppm212lugqh87u@4ax.com,
J.F. <jfox_xnospamx@poczta.onet.pl> nastukał:
Quote:
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.
wystrczy 1/4 sekundy w 100%. czy przy rozdzielczości 4Hz można by skrócic
czas pomiaru.
--
VSS
Mirek
Guest
Sun Dec 19, 2010 8:44 pm
On nie, 19 gru 2010 17:03:33 in article news:<9uasg65b0s0kg2qo8druppm212lugqh87u@4ax.com>
J.F. wrote:
Quote:
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 ?
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.
Z bardzo dobrym sygnałem, to można zrobić na podstawie kilku próbek.
http://cache.freescale.com/files/dsp/doc/app_note/AN2384.pdf
Goto page 1, 2 Next