Mikroprocesorowy miernik czasu
Cel i zakres pracy Założenia projektowe Budowa i zasada działania urządzenia Źródło sygnału wzorcowego
Schematy Zdjęcia Badania Osiągnięte rezultaty
Celem pracy jest zbadanie możliwości
realizacji układu do pomiaru przedziałów czasu za pomocą zasobów sprzętowych
mikrokontrolera jednoukładowego, a także zaprojektowanie, zbudowanie,
oprogramowanie oraz przebadanie cyfrowego miernika czasu. Funkcje i cechy, jakie ma
posiadać projektowany układ zostały zestawione w poniższych punktach: Budowa i zasada działania układu Schemat blokowy
(funkcjonalny) zbudowanego cyfrowego miernika czasu przedstawiony jest na
rysunku poniżej. Składa się on a następujących bloków: Głównym elementem urządzenia jest mikrokontroler IC1 - ATmega88.
Mikrokontroler jest odpowiedzialny za kontrolowanie i sterowanie
wszystkimi peryferiami wchodzącymi w skład układu miernika czasu oraz wykonuje
niezbędne obliczenia w celu wyznaczenia wyniku pomiaru. Peryferia obsługiwane są
poprzez trzy porty PB, PC, i PD. W tabeli poniżej zestawiono wykorzystanych
portów mikrokontrolera. Do jego portu C podłączone są równolegle wyświetlacz LCD oraz wskaźniki LED poprzez
zatrzask IC2. Zestawienie wykorzystanych portów
mikrokonontrolera ATmega88L
Lp.
Port
Bit
Pin procesora
Nazwa
Funkcja
Przeznaczenie
1
B
0
12
PB0
ICP/CLKO/PCINT0
Wejście przycisk
START/STOP
2
1
13
PB1
OC1A/PCINT1
Wyjście ster.
podświetlania LCD
3
2
14
PB2
SS/OC1B/PCINT2
Wejście przycisk
DOWN
4
3
15
PB3
MOSI/OC2A/PCINT3
Wejście przycisk
ENTER
5
4
16
PB4
MISO/PCINT4
Wejście przycisk
UP
6
5
17
PB5
SCK/PCINT5
Wejście przycisk ESCAPE
7
6
7
PB6
XTAL1/TOSC1/PCINT6
Wejście taktujące
CLK
8
7
8
PB7
XTAL2/TOSC2/PCINT7
Niewykorzystany
9
C
0
23
PC0
PCINT8/ADC0
Wyjście sterowania
LCD i LED
10
1
24
PC1
PCINT9/ADC1
Wyjście sterowania
LCD i LED
11
2
25
PC2
PCINT10/ADC2
Wyjście sterowania
LCD i LED
12
3
26
PC3
PCINT11/ADC3
Wyjście sterowania
LCD i LED
13
4
27
PC4
PCINT12/SDA/ADC4
Wyjście sterowania
LCD i LED
14
5
28
PC5
PCINT13SCL/ADC5
Wyjście sterowania
LCD i LED
15
6
29
PC6
PCINT14/RESET
Wejście RESET
16
D
0
30
PD0
RXD/ PCINT16
Wyjście RS-232
17
1
31
PD1
TXD/ PCINT17
Wejście RS-232
18
2
32
PD2
INT0/ PCINT18
Wejście zewnętrzne
1
19
3
1
PD3
INT1/OC2B/ PCINT19
Wejście zewnętrzne
2
20
4
2
PD4
T0/XCK/ PCINT20
Wyjście sterujące
zatrzaskiem
21
5
9
PD5
T1/OC0B/ PCINT21
Niewykorzystany
22
6
10
PD6
AIN0/OC0A/ PCINT22
Niewykorzystany
23
7
11
PD7
AIN1/ PCINT23
Niewykorzystany W prezentowanym urządzeniu,
jako źródło sygnału wzorcowego taktującego mikrokontroler zastosowano generator kwarcowy SPXO typu GBS-205B
firmy ECM. Generator kwarcowy jest przeznaczony do synchronizacji częstotliwości
w urządzeniach pomiarowych i radiowych oraz do taktowania zegara systemowego
mikrokontrolera. Może służyć jako samodzielne źródło częstotliwości. Generator
jest wyposażony w rezonator kwarcowy. Układ wyprowadzeń końcówek generatora
przedstawiono na rysunku poniżej. Dane techniczne:
Zakres badań
obejmował pomiar częstotliwości wewnętrznego generatora kwarcowego, ponadto
zbadano dokładność pomiaru wykonanego urządzenia.
Jako
źródło prostokątnego sygnału wzorcowego zastosowano częstościomierz-czasomierz
cyfrowy ZOPAN model KZ2026A-2.
Pomiar częstotliwości generatora kwarcowego
Wyniki dziesięciu wykonanych pomiarów częstotliwości wewnętrznego generatora
kwarcowego taktującego mikrokontroler przedstawiono w tabeli poniżej.
Lp.
Częstotliwość
1
18,4318953MHz
2
18,4318953 MHz
3
18,4318952 MHz
4
18,4318952 MHz
5
18,4318953 MHz
6
18,4318951 MHz
7
18,4318952 MHz
8
18,4318952 MHz
9
18,4318953 MHz
10
18,4318955 MHz Wartość
średnia fśr = 18,43189526 MHz Odchylenie
standardowe σ = 0,0458868Hz Błąd
częstotliwości wzorcowej miernika czasu:
bezwzględny ∆f: = 104,74Hz Błąd
względny σ f = 5,68 ppm Dla
zamontowanego w urządzeniu generatora kwarcowego GBS-205B producent podaje
dokładność ±50 ppm. Badanie
niepewności pomiarów wyzwalanych ręcznie
W celu zbadania niepewności pomiarów wyzwalanych ręcznie zmierzono dziesięć
odcinków czasu o czasie trwania 10 sekund. Rozpoczęcie oraz zakończenie każdego
pomiaru realizowane było ręcznie, poprzez wciskanie przycisku START/STOP. Wyniki
pomiarów przedstawiono w tabeli poniżej
Lp.
TXśr
1
9,946s
2
9,736s
3
10,145s
4
10,057s
5
9,977s
6
9,801s
7
9,932s
8
9,978s
9
10,112s
10
9,931s Wartość
średnia fśr = 9,9615s Niepewność
typu A: ui
=
0,040084148s ∆gr
= 0,000498075s Niepewność
typu B: uj
= 0,0002875637353s Niepewność
łączna: uc
=
0,040085179s Niepewność
rozszerzona: U =
0,120255537s
Wynik
zaokrąglony zgodnie z zasadami:
10s ±
0,1s Wykonując
miernikiem dziesięć pomiarów dziesięciosekundowego odcinka czasu można uzyskać
niepewność pomiaru rzędu 100ms. 1. Wszystkie cele pracy zrealizowano: zaprojektowano, zbudowano i zbadano w
praktycznym zastosowaniu układ cyfrowego miernika czasu wykorzystującego zasoby
mikrokontrolera.
2. W ramach zadania dyplomowego zapoznano się różnymi sposobami pomiaru czasu.
3. Zaprojektowany i zbudowany układ potwierdził możliwość zrealizowania cyfrowego układu do pomiaru czasu z wykorzystaniem zasobów sprzętowych mikrokontrolera jednoukładowego.
4. Zbudowany miernik czasu posiada cechy, które przemawiają za jego stosowaniem w miejsce tradycyjnych stoperów. Są to m.in.:
5. Wymienione zalety a w szczególności możliwość dalszego przetwarzania danych oraz zmiany oprogramowania świadczą o funkcjonalności i przydatności urządzenia.
6. Układ cyfrowego miernika czasu posiada rozdzielczość do trzech miejsc po przecinku, wyższe rozdzielczości nie są możliwe z powodu dużego kodu wynikowego generowanego przez pakiet BASCOM AVR. Rozdzielczość wykonanego przyrządu można zwiększyć, pisząc oprogramowanie mikrokontrolera w języku niższego poziomu.
7. Wyniki przeprowadzonych pomiarów wykazały, że błędy pomiarów czasu są mniejsze od rozdzielczości miernika, to znaczy od 1ms, więc błędy nie są widoczne na wyświetlaczu.
Powrót na początek
Strona autora
Mikrokontroler taktowany jest generatorem kwarcowym IC5. Do linii
RXD i TXD mikrokontrolera dołączony jest układ IC4 pełniący funkcję konwertera
napięć interfejsu RS-232. Linie wejściowe INT0 oraz INT1 mikrokontrolera
oddzielone są od gniazd wejściowych buforami IC3B oraz IC3C. Pozostałe bufory są
niewykorzystane a ich wejścia podłączone zostały do masy. Przyciski oraz złącze
programowania ISP podłączone są do portu B. Kondensatory C1 – C6 filtrują
napięcie zasilania.
Urządzenie zasilane jest z zasilacza stabilizowanego, który dostarcza napięcia 5V wszystkim blokom.