Elektroda.pl
Elektroda.pl
X
IGE-XAO
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik T2-miernik częstotliwości

13 Sty 2011 11:28 2380 7
  • Poziom 2  
    Witam, do zaprojektowania mam układ mikroprocesorowy mierzący częstotliwość okresowego sygnału za pomocą T2..... Może mógłby ktoś polecić jakąś dobrą pozycję do czytania na ten temat, najlepiej z jakimiś przykładami....


    Nigdy się czymś takim nie zajmowałem i nie wiem jak to ugryźć do zrobienia mam schemat elektryczny w którym są wszystkie niezbędne elementu, oraz algorytm całego programu...


    Jeżeli dostanę jakąkolwiek pomoc będę bardzo wdzięczny.
  • IGE-XAO
  • Poziom 23  
    Co to za sygnał który chcesz mierzyć ? Amplituda , jaka mniej więcej częstotliwość ?
    Sprecyzuj...
  • IGE-XAO
  • Pomocny post
    Poziom 30  
    Jaki uC określa dział;) To jaka będzie amplituda sygnału (oraz kształt) wymaga jedynie użycia odpowiednich elementów wejściowych. Do ustawienia rejestrów nic Ci bardziej nie pomoże jak dokumentacja techniczna - wpisz w googlach nazwę procka i odpal PDF'a (datasheet).
    Co do sposobu pomiaru częstotliwości to masz na szybko dwie metody - pomiar okresu sygnału lub pomiar ilości impulsów w okresie.

    Dodano po 1 [minuty]:

    Terminator napisał:
    Jaki uC ? i dlaczego T2 a nie np T1 albo T3 ? :)
    Co to za sygnał który chcesz mierzyć ? Amplituda , jaka mniej więcej częstotliwość ?
    Sprecyzuj...

    licznik impulsów
    licznik impulsów
    kit


    Zobacz wyraźnie jaki dział! Po co te linki do urządzeń na AVR? Czytaj ze zrozumieniem.
  • Pomocny post
    Poziom 23  
    Przepraszam, nie zauważyłem że już jestem w dziale '51 :/

    Ale za to podam jakieś materiały :
    liczniki
    elektroda
    teoria
  • Pomocny post
    Poziom 34  
    Istnieją dwie cyfrowe metody pomiaru częstotliwości:
    1. Pomiar ilości impulsów wzorcowych w trakcie trwania okresu sygnału mierzonego. Konkretnie mierzymy imp. wzorcowe w trakcie trwania połowy okresu - zwykle, gdy jest poziom wysoki. W takiej sytuacji jeżeli zmierzysz N imp. wzorcowych w trakcie połowy okresu, to: Tx=2*N*Tw, gdzie Tx okres przebiegu badanego, Tw okres generatora wzorcowego. Jest to najprostsza metoda pomiaru, ale nadaje się dla częstotliwości małych. Sygnał wejściowy musiałby być zaformowany na prostokątny o poziomach TTL. Przykładowo zastosujmy T0. Konfigurujemy go tak, aby zliczał imp. wewnętrzne w momencie, gdy na INT0 jest poziom wysoki. Przerwanie INT0 ustawiamy na zbocze opadające. Sygnał mierzony dołączony jest do INT0. W przypadku zgłoszenia przerwania od INT0 odczytujemy N z TL0 i TH0. Po przeliczeniu wyświetlamy wynik na wyświetlaczu. Następnie zerujemy TL0 i TH0, aby wykonać następny pomiar.

    2. Pomiar ilości okresów sygnału mierzonego w trakcie trwania imp. wzorcowego. Jeżeli zmierzysz N okresów sygnału mierzonego w trakcie trwania imp. wzorcowego o czasie trwania Tw, to: Tx=Tw/N. Oczywiście również i tu sygnał wejściowy musi być zaformowany jak w punkcie 1. Taka metoda wymaga zastosowania dwóch Timerów/Liczników. Przykładowo T0 pracuje jako licznik imp. zewnętrznych - mierzonych. T1 jako Timer. Przerwanie od T0 jest wyłączone, od T1 zgłaszane przy przepełnieniu. Gdy zostanie zgłoszone przerwanie od T1, to odczytujemy w programie obsługi tego przerwania wartość N z TL0 i TH0 licznika T0. Po przeliczeniu wyświetlamy zmierzoną częstotliwość na wyświetlaczu. Następnie zerujemy TL0 i TH0, oraz ponownie inicjalizujemy TL1 i TH1. Za pomocą zmiany Tw (zmiana wart. początkowej w TL1 i TH1) można zmieniać zakresy. Opisana metoda nadaje się dla częstotliwości dużych.

    Jeżeli chcesz zmierzyć częstotliwość większ niż kilkadziesiąt KHz, to musi być zastosowany preskaler.
  • Poziom 2  
    Dzieki wielkie za tak szybie odpowiedzi....zapoznam sie z tym co napisaliscie...


    pozdrawiam.
  • Poziom 2  
    Napotkałem jeszcze parę problemów po drodze:

    >>gdzie mogę znaleźć schemat jakiegoś kompatybilnego modemu z mikrokontrolerem 8051, wiem ze ma się kończyć na DB9 ale żadnego schematu nie widze...

    >>jaka bedzie roznica w dzialaniu miedzy trybem 0 (autoprzechwytywanie) a trybem 1 (przechwytywanie) przy licznku T2 ? I czy oba tryby się nadają...

    Za wszelakie odpowiedzi bede b.wdzieczny.
  • Pomocny post
    Poziom 34  
    elfis_08 napisał:
    Napotkałem jeszcze parę problemów po drodze:

    >>gdzie mogę znaleźć schemat jakiegoś kompatybilnego modemu z mikrokontrolerem 8051, wiem ze ma się kończyć na DB9 ale żadnego schematu nie widze...

    Tu chodzi o programator. Modem to coś zupełnie innego. 8051 można programować poprzez złącze ISP, tak jest w wersji S (ang. serial) np. AT89S51. Programator ISP dało się łątwo zrobić na porcie LPT, ale to musiał być fizyczny LPT, a nie konwerter USB->LPT. Wersja C dawała się programować równolegle w programatorze, jednak trzeba było wyciągać układ z podstawki i wkładać do programatora, potem z powrotem itd. Jednak programator dla wersji C można już mieć wykonany na RS232, będzie on działał nawet z konwerterem USB->RS232. Kiedyś wykonałem AVT518, zestaw ten zawiera istotne błędy (jak to zwykle bywa w AVT), jednak przy odpowiedniej wiedzy można ten zestaw uruchomić. Jest nawet wersja 8051 programowana bezpośrednio poprzez RS232 (prawie, bo i tak musi być konwerter poziomów napięć). Tego jednak raczej łatwo i tanio kupić się nie da.

    elfis_08 napisał:
    >>jaka bedzie roznica w dzialaniu miedzy trybem 0 (autoprzechwytywanie) a trybem 1 (przechwytywanie) przy licznku T2 ? I czy oba tryby się nadają.

    A co to za tryby :D ? Pewnie chodzi o to, że oba liczniki/timery mogą pracować na zasadzie: zliczają impulsy zewnętrzne/wewnętrzne (ale tu już fxtal/12). Dodatkowo liczniki/timery można tak ustawić, by liczyły, gdy na INTX jest poziom wysoki. Ponadto istnieje możliwość wyboru ilości bitów liczników/timerów. Można też w jednym z trybów ustawić auto ładowanie przy przepełnieniu i preskaler. W końcu można ustawić zgłaszanie przerwania przy przepełnieniu. Dokładnie masz to opisane w książce Gałki.

    Napisz co dokładnie masz mierzyć, a powiem Ci jak zaprogramować timery/liczniki.