Re: Odp: Pomiar f za pomocą pomiaru T na AT89C2051?

Jul 27, 2003 13 Replies


z obliczeń mi wynika że:


>okres dla 1500Hz wynosi 666,67us,
> a dla 1499Hz wynosi 667,11us
>czyli musiałbym wykrywać różnice okresu wynoszącą 440ns
>tyle conajmniej powinien wynosić zliczany okres wzorcowy, a jeszcze lepiej
>mniej dobrze myślę ?
>czyli 51' odpada, musiałby być jakiś AVR-ek :(

Mozesz liczyc czas kilku okresow.


Tu niestety wychodzi architektura '51 - kiepsko sie do tego nadaje.


J.


A moze cos takiego, tylko troszke pamieci do tego potrzeba :/

10 elementowa tablica unsigned int (10*2bajty): unsigned int tabl[10] i licznik pomocniczy unsigned char temp

co 100ms wywolujesz przerwanie w w ktorym: kasujesz licznik a to co tam jest wpisujesz do tabliczki pod indeksem temp; (licznik az sie prosi zeby hardware'owy wykorzystac, ale z tego co widze to jest juz zajety wiec liczyc bedziesz pewnie procedurka w przerwaniu...) temp zwiekszasz o 1 jesli (temp>9) => temp=0

jesli teraz chcesz obliczyc czestotliwosc to sumujesz wszystkie elementy tablicy

bedzie tam przeciez 10 ostatnich probek, powinno dzialac jak na moj rozum pytanie tylko czy masz tyle wolnej pamieci :/, zawsze mozna sie ograniczyc do 2-3 pomiarow na sek, a jesli nie mierzysz czestotliwosci powyzej 2550 Hz to mozna dac po tablice jednym bajcie (unsigned char)

pozdrawiam i powodzenia q00

trochę jeszcze mam, nie jest źle

muszę przemyśleć metodę, bo nie za bardzo (narazie) kumam o co ciebie chodzi

na tyle jeszcze mam

nie mierzę, wystarczy mi do 1500Hz

dzięki, przyda się na pewno :)

Pozdrawiam Tomek

oświeć mnie :)

przykład 1: sygnał 100Hz

Tab[0]=10 impulsów Tab[1]=10 impulsów Tab[2]=10 impulsów Tab[3]=10 impulsów Tab[4]=10 impulsów Tab[5]=10 impulsów Tab[6]=10 impulsów Tab[7]=10 impulsów Tab[8]=10 impulsów Tab[9]=10 impulsów

suma owszem daje 100Hz

przykład 2: sygnał 101Hz

Tab[0]=10 impulsów Tab[1]=10 impulsów Tab[2]=10 impulsów Tab[3]=10 impulsów Tab[4]=10 impulsów Tab[5]=10 impulsów Tab[6]=10 impulsów Tab[7]=10 impulsów Tab[8]=10 impulsów Tab[9]=10 impulsów

suma znowu daje 100Hz, a mierzymy przecież 101Hz

chyba nadal nie kumam

Pozdrawiam Tomek

skoro f=101Hz to w ciagu sekundy musi byc 101 impulsow i nie ma innej mozliwosci, czyz nie? a przecziez te 10 probek pochodzi dokladnie z ostatnich 1000ms w takim razie w jednej z tych tabliczek bedzie 11 :>

q00

aaa, teraz zrozumiałem o co koledze chodziło (mam cichą nadzieję :), ale sprawdziłem w praktyce i kicha, częstościomierz wkręca się na obroty w 10-ciu krokach do docelowej wartości, i w tylu samo opada

Pozdrawiam Tomek

faktycznie, o tym nie pomyslalem :/

pozdr. q00

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required