Serwisy partnerskie:
Close icon
Serwisy partnerskie

Licznik częstotliwości 100 MHz z PIC16F628A - wyświetlacz LCD

Ten projekt pokazuje jak zbudować bardzo proste, ale bardzo przydatne narzędzie, które każdy elektronik powinien mieć w swoim laboratorium: licznik częstotliwości 100 MHz+.
Article Image

Schemat jest dość prosty,  wykorzystuje mikrokontroler PIC16F628A do pomiaru częstotliwości oraz szybki komparator do wzmacniania i formowania sygnału.

Mikrokontroler używa swojego wewnętrznego oscylatora 4 MHz dla zegara CPU. Timer1 wykorzystuje zewnętrzny rezonator kwarcowy (kryształ zegarkowy) o częstotliwości 32768 Hz do ustawienia 1 sekundowej podstawy czasu.

Timer0 jest używany do zliczania sygnału wejściowego na pinie RA4.

Maksymalna częstotliwość Timera0 to 1/4 zegara CPU, który wynosi 1 MHz, ale jest wewnętrzny preskaler i może być ustawiony od 1 do 256. Teoretycznie może to pozwolić, aby sygnał wejściowy miał częstotliwość do 256 MHz. Z drugiej strony, w datasheet układu 16F628A jest wymóg, aby impuls wejściowy na RA4 miał minimalną szerokość 10 ns, co odpowiada częstotliwości 100 MHz. Tak więc maksymalna częstotliwość może być pomiędzy 100 MHz a 256 MHz. Sprawdziłem na dwóch różnych PIC16F628A i bez problemu przekraczają one barierę 200 MHz.

W celu osiągnięcia maksymalnej możliwej rozdzielczości, sygnał wejściowy jest sondowany przez 0,125 sekundy i wartość preskalera jest odpowiednio obliczana. W ten sposób, gdy częstotliwość wejściowa jest poniżej 1 MHz, rozdzielczość będzie wynosić 1 Hz.

Najważniejszym elementem wpływającym na dokładność licznika częstotliwości jest układ ustalania podstawy czasu - rezonator kwarcowy X1 oraz kondensatory C4 i C5. Wartości C4 i C5 mogą być w zakresie od 33 pF do 62 pF i za ich pomocą można precyzyjnie dostroić częstotliwość kryształu.

Sygnał wejściowy jest podawany przez szybki komparator. Aby przełączać z częstotliwością 100+ MHz, komparator musi mieć opóźnienie propagacji poniżej 5 ns. W tym schemacie użyłem komparatora Texas Instruments TLV3501 z opóźnieniem 4,5 ns. Był to najtańszy szybki komparator jaki udało mi się znaleźć (2,5 euro).

Dwa wejścia komparatora są ustawione na około 1/2 napięcia zasilania z różnicą 15-25 mV między nimi, więc każdy sygnał AC o wyższym napięciu spowoduje przełączenie komparatora.

Jeśli nie ma sygnału wejściowego to wyjście komparatora pozostaje w stanie niskim. Jeśli podłączymy źródło sygnału do wejścia dodatniego, to gdy sygnał przekroczy +20 mV komparator przełączy się w stan wysoki (5 V), gdy sygnał spadnie poniżej +20 mV komparator przełączy się z powrotem na 0 V. Tak więc niezależnie od tego jaki sygnał podamy na wejście, na wyjściu otrzymamy falę kwadratową 0-5 V o tej samej częstotliwości co oryginalny sygnał.

Wyjście komparatora jest podawane bezpośrednio na pin RA4 mikrokontrolera.

Wejście jest zabezpieczone rezystorem 1 k i dwiema diodami ograniczającymi napięcie do ±0,7 V. Impedancja wejściowa dla niskich częstotliwości jest równa R1 - 47 k. Dla zakresu VHF być może warto zastąpić go wartością 50 Ohm.

Układ może być zasilany z baterii 9 V lub dowolnego innego napięcia stałego z zakresu od 7 V do 15-20 V. Układ scalony LM78L05 lub LM2931-5.0 służy do regulacji napięcia do 5 V. Układ posiada prosty układ miękkiego włączania/wyłączania z podwójnym tranzystorem P- i N-MOS. Gdy przycisk jest wciśnięty, tranzystor P-MOS jest włączony, mikrokontroler jest zasilany i jego pierwszą instrukcją jest ustawienie RB4 w stan wysoki, co powoduje włączenie tranzystora N-MOS i zasilanie pozostaje włączone. Jeśli przycisk jest wciśnięty ponownie RB5 przechodzi w stan niski i mikrokontroler ustawia RB4 w stan niski i w ten sposób wyłącza zasilanie. Mikrokontroler również automatycznie wyłączy zasilanie po pewnym czasie (3 min 40 s). Układ ma dość niski pobór prądu - przy braku sygnału wejściowego prąd zasilania wynosi 7-8 mA i wzrasta do 20 mA przy sygnale wejściowym 200 MHz+. Jeśli wyświetlacz jest zbyt ciemny, można wyregulować podświetlenie zmniejszając wartość rezystora R9. To oczywiście zwiększy pobór prądu.

Program dla mikrokontrolera jest napisany w języku C i jest skompilowany za pomocą MikroC for PIC.

Schemat elektryczny licznika
Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
LCD1
LCD 2x16
1
R6
100
2
R10, R11
100k
2
C3, C6
100n
2
C8, C9
100uF
1
R7
10k
3
R3, R4, R5
10k
1
C2
10n
4
D1, D2, D4, D5
1N4148
1
R2
1k
3
C1, C7, C10
1uF
1
R9
2.2k*
1
R1
47k*
2
C4, C5
47p
1
IC3
78L05
1
J1
9V
1
D3
BAT42
1
J2
BNC
1
L1
FB
1
SW1
ON/OFF
1
IC1
TLV3501
Galeria
Do pobrania
Download icon Kody źródłowe Download icon PCB Download icon Pliki Eagle'a

Artykuł 100MHZ FREQUENCY COUNTER WITH PIC16F628A – LCD DISPLAY opracowano w wersji polskiej na podstawie współpracy z portalem www.electronics-lab.com.

Tematyka materiału: PIC16F628A
AUTOR
Źródło
www.electronics-lab.com
Udostępnij
UK Logo