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

Miernik częstotliwości na na 89C52

11 Sie 2010 10:01 7054 15
  • Poziom 16  
    Witam. Zbudowałem miernik częstotliwości z NE i jest problem. Zaprogramowałem układ i podając na wejście sygnału z generatora sygnałowego z PC to cały czas pokazuje mi wartość "0 Hz". Gdy palcem dotykam wejścia to pokazuje tam jakieś wartości. Dodam ze zamiast kwarcu 22,1184MHz dałem 16MHz. Wiem że to bardzo dużo wpływa na pomiar częstotliwości ale nie wiem jak to zmienić w programie by pracował na 16MHz? W załączniku podaję plik *.bas z tym programem i dorzucam jeszcze schemat.
    Proszę WAS o pomoc.

    Jeśli temat znajduję się w złym miejscu to proszę o przeniesienie go.

    Miernik częstotliwości na na 89C52
  • e-miernikie-mierniki
  • Poziom 36  
    W pierwszej linii programu wpisz $crystal=16000000 i skompiluj.
  • Poziom 16  
    ok tylko czy przypadkiem ta częstotliwość nie jest jakoś później przeliczana i nie jest do niej odpowiednia stała przypisywana? Pogubiłem się w tym kodzie i dlatego pytam

    P.S. Jak zrobić najprostszy przedwzmacniacz do tego miernika? Wyczytałem że można go zrobić na jednym tranzystorze ale nie umiem znaleźć na elektrodzie (może zapytanie nie tak zadaje)
  • Poziom 37  
    Witam !
    Układ wejściowy do miernika częstotliwości:
    Miernik częstotliwości na na 89C52
    Zmiana rezonatora wprowadzi błąd w czasie pomiaru.
    Pozdrawiam. Stefan
  • e-miernikie-mierniki
  • Poziom 16  
    Ja rozumiem że zmieniając kwarc będzie wprowadzony w ten sposób błąd do pomiaru. Mógłbym zastosować inny kwarc ale nie wiem jak zmienić to w programie i w którym miejscu. Widziałem kilka podobnych programów na elektrodzie i tam była przypisana funkcja Const do odpowiedniego kwarcu a u mnie takiej funkcji nie ma.
  • Poziom 37  
    Witam !
    Na Allegro są rezonatory 22,1184MHz.
    Pozdrawiam. Stefan
  • Poziom 16  
    To już zdążyłem niestety sprawdzić . W tym problem że długo trzeba czekać na przesyłkę a miernik potrzebuję do kompensacji sondy od wykrywacza. Tanim kosztem chciałbym tylko zmodyfikować program. Jednego elementu nie opłaca mi się zamawiać
  • Poziom 37  
    Witam !
    Gdybyś miał ATtiny2313 to mógłbym Tobie przerobić mój program miernika częstotliwości ( w Bascomie AVR ), z wyświetlaczem LCD, pod rezonator 16MHz lub inny.
    Potrzebujesz miernik do pomiaru niskich częstotliwości KHz, tak mi się wydaje ?
    Jeśli pomiat w KHz to może jakiś program na PC i kartę muzyczną ?
    Pozdrawiam. Stefan
  • Poziom 16  
    Mam tylko w domu same ATmega8. Potrzebuję go tylko do pomiaru częstotliwości do max 7kHz. Chce nim tylko zmierzyć częstotliwość podczas strojenia sondy wykrywacza metali. Dokładność jaka mnie by interesowała to +/- 10Hz a jakby była większa dokładność to byłoby jeszcze lepiej. Byłbym bardzo wdzięczny za taką pomoc. Będę nim mierzył przebieg sinusoidalny. Prosty w budowie byłby niewątpliwie ogromną zaletą. Karta muzyczna odpada bo za duże błędy występują. Chciałem kiedyś zrobić oscyloskop z karty muzycznej a skończyło się na kupnie normalnego oscyloskopu. Zależy mi w miarę na dokladności
  • Poziom 37  
    Miernik częstotliwości na na 89C52
    Jeśli chcesz wykonaj ten układ, jest to miernik częstotliwości ( składanka ), który
    powinien działać do około 5MHz, z doświadczenia wiem że układ wejściowy jest bardzo czuły, mierzy sygnał sinusoidalny.
    Częstotliwości rezonatora nie podałem, ponieważ zależy to od tego jaki posiadasz ?, ja dostosuję wsad do ATmeg8 pod Twój rezonator. Preferowane rezonatory to takie których wartość da się bez reszty podzielić przez 256 np.11,0529MHz ale to nie jest krytyczne.
    od częstotliwości rezonatora zależy dokładność pomiaru.
    Ja program napiszę w Bascomie AVR na Mega8.
    Napisz jakimi rezonatorami dysponujesz i jaki LCD posiadasz 2x16 czy 1x16 ?.
  • Poziom 16  
    kwarce mam takie: 24MHz, 16MHz, 10MHz, 4MHz i kwarc zegarkowy

    A mógłbym zastosować taki przedwzmacniacz jak w załączniku? znalazłem coś takiego w sieci.



    Miernik częstotliwości na na 89C52
  • Poziom 37  
    Nie mam pojęcia czy taki układ będzie dobrze działał ?
    Twój schemat chyba jest nie kompletny ?, brak rezystora pomiędzy bazą a +5V .
    Jak zaprogramujesz M8 to sprawdzisz czy mierzy.
    Na jaki wyświetlacz LCD 1x16 czy 2x16 ?
    za chwilę wkleję kod, muszę sprawdzić czy działa.
  • Poziom 16  
    LCD 2x16 . Zamiast tranzystorów które Pan zastosował w swoim przedwzmacniaczu mogę zastosować inne? Mam tranzystorki BFP519V

    P.S. Taki schemat znalazłem i nie wiem czy jest poprawny
  • Poziom 37  
    Code:

    'freq miernik do 5MHz
    '2010.08.12
    $regfile = "m8def.dat"
    '$crystal = 11059200
    '$crystal = 14745600
    $crystal = 16000000

    Config Lcdpin = Pin , Db7 = Portb.2 , Db6 = Portb.3 , Db5 = Portb.4 , Db4 = Portb.5 , E = Portc.2 , Rs = Portc.4

    Config Lcd = 16 * 2
    Dim Ccount As Byte
    Dim Maincounter As Long
    Dim C_counter As Word

    Config Timer0 = Timer , Prescale = 8
    Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1

    C_counter = 0
    Enable Timer0
    Enable Interrupts
    On Timer0 Timint
    Enable Timer1
    Ccount = 0
    On Timer1 Int_0
    Start Timer0
    Start Timer1
    Timer1 = 0
    Cls
    Cursor Off
    Locate 1 , 1
    Lcd "  Freq miernik  "
    Wait 1
    Cls

    Do
    Loop

    Timint:
    Incr C_counter
    'If C_counter = 5400 Then       'dla rezonatora 11,0592MHz = 1sek
    'If C_counter = 7200 Then       'dla rezonatora 14,7656MHz = 1sek
    If C_counter = 7812 Then       'dla rezonatora 16,0000MHz około 1sek


    Stop Timer1
    Stop Timer0
    Maincounter = Ccount * 65536
    Maincounter = Maincounter + Timer1
    If Maincounter = 1 Then
    Maincounter = 0
    End If

    Ccount = 0
    Timer0 = 0
    Cls
    Locate 2 , 2
    Lcd "frq= " ; Maincounter

    C_counter = 0
    Maincounter = 0
    Timer1 = 0
    Start Timer0
    Start Timer1
    End If
    Return
    Int_0:
    Incr Ccount
    Return
    End

    Sprawdziłem program działa poprawnie.
    W tej konfiguracji miernik działa z rezonatorem 16MHz, po zmianie może działać z rezonatorami: 11,0529MHz i 14,7456MHz.
    Pamiętaj o zmianie fuse bitów na rezonator zewnętrzny.
    Najpierw uruchom Mega8 z LCD, następnie układ wejściowy.
  • Poziom 16  
    OK dziękuję i już biorę się za budowę tego układu. O rezultacie napiszę wkrótce jak skończę. Na razie zmykam z elektrody

    Dodano po 3 [godziny] 36 [minuty]:

    Witam ponownie.
    Zrobiłem ten miernik ale cały czas pokazuje mi zero. Fusbity ustawiłem na zewnętrzny kwarc. Zauważyłem ze na schemacie są dwie nóżki 22 i to może przez to nie chce działać? Może też jest wina programu? Nie chce nic podważać. Proszę o zweryfikowanie schematu i programu. Miernik ani drgnie. Tylko zero cały czas pokazuje i lekko pulsuje w takt 1 sekundy tak jakby chciał coś mierzyć

    P.S. Czy ten miernik będzie mierzył przebieg prostokątny bez przedwzmacniacza np. z wzorca oscyloskopu?

    Dodano po 1 [godziny] 52 [minuty]:

    Teraz coś zaczyna mierzyć. Jak dotknę palcem wejścia to utrzymuje sie wartość 57-60 a jak puszcze to niekiedy jest zero. Niekiedy też jak dotknę palcem to pojawiają się wartości rzędu 1000-20000 . Nie wiem czym to jest spowodowane
  • Poziom 37  
    Przepraszam miałeś racje, zobacz teraz schemat. Teraz musi działać.