25.08.2013 Views

Wersja PDF instrukcji

Wersja PDF instrukcji

Wersja PDF instrukcji

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1. Wstęp<br />

Akademia ETI<br />

Instrukcja laboratoryjna<br />

Elektronika: rezystory i kondensatory<br />

Rezystory (oporniki – rys.1 http://pl.wikipedia.org/wiki/Opornik) i kondensatory (rys. 2)<br />

(http://pl.wikipedia.org/wiki/Kondensator) są najpowszechniej uŜywanymi elementami elektronicznymi.<br />

W urządzeniach elektronicznych występują jako samodzielne elementy oraz jako części<br />

składowe układów scalonych. KaŜdy komputer zawiera kilkadziesiąt milionów rezystorów<br />

i kondensatorów. Głównym parametrem rezystora jest rezystancja R w omach [Ω].<br />

Zgodnie z prawem Ohma wyraŜonym wzorem:<br />

Rys. 1. Rezystor Rys. 2. Kondensator<br />

= R[<br />

Ω ]<br />

U R ⋅ I<br />

rezystancja jest współczynnikiem proporcjonalności między napięciem U [V] na zaciskach<br />

rezystora a prądem I [A] płynącym przez rezystor. Prąd płynący przez rezystor wydziela na nim<br />

energię:<br />

w postaci ciepła.<br />

© Jacek Cichosz WETI PG 1<br />

U<br />

=<br />

I<br />

[ W s]<br />

= P[<br />

W]<br />

⋅t[<br />

s]<br />

= U ⋅ I t<br />

W ⋅<br />

Kondensator (jego pierwowzorem była butelka lejdejska http://pl.wikipedia.org/wiki/Butelka_lejdejska)<br />

posiada zdolność gromadzenia ładunku elektrycznego.<br />

Jego głównym parametrem jest pojemność C w faradach [F], która jest współczynnikiem<br />

proporcjonalności między ładunkiem Q [As] naładowanego kondensatora a napięciem U [V] na<br />

jego zaciskach:<br />

Q<br />

Q = C ⋅U<br />

[ ]<br />

[ As]<br />

C F =<br />

U V<br />

.<br />

Energia zmagazynowanego w kondensatorze ładunku Q jest równa<br />

2. Ładowanie kondensatora<br />

2<br />

1 Q 1 2<br />

W [ W s]<br />

= = U ⋅ C .<br />

2 C 2<br />

Uruchom program Micro-Cap Evaluation 9 i utwórz w nim układ ładowania kondensatora<br />

jak na rysunku 3.<br />

[ V]<br />

[ A]<br />

[ ]


Rys. 3. Układ ładowania kondensatora<br />

Zapisz (File/Save As…) układ na dyskietkę jako RC.CIR.<br />

Uruchom symulację ładowania kondensatora (Analysis/Transient), z parametrami jak na<br />

rysunku 4.<br />

Rys. 4. Parametry analizy Transient<br />

Jako wynik symulacji powinieneś otrzymać wykres, na którym będzie przebieg napięcia<br />

źródła V1 ładującego impulsami kondensator (linia niebieska) i przebieg napięcia na ładowanym<br />

kondensatorze (czerwona). Zmień wartości rezystancji rezystora (pojemności kondensatora) za<br />

kaŜdym razem obserwując wynik symulacji. Na karcie sprawozdania narysuj przebieg ładowania<br />

kondensatora dla C = 1 F, R = 1 Ω (czas obserwacji np. 4 sekundy).<br />

© Jacek Cichosz WETI PG 2


ZauwaŜ, Ŝe proces ładowania kondensatora odbywa się według zaleŜności ( ) ( ) ⎟ t ⎛ − ⎞<br />

⎜ RC<br />

v 2 = v 1 ⋅<br />

⎜<br />

1−<br />

e ,<br />

⎝ ⎠<br />

RC<br />

a rozładowanie według zaleŜności ( ) = U ⋅<br />

e −<br />

v 2 , gdzie U jest napięciem na końcówkach<br />

naładowanego kondensatora, a e = 2.7182818284… jest podstawą logarytmu naturalnego<br />

http://pl.wikipedia.org/wiki/Podstawa_logarytmu_naturalnego. Wartość czasu t = RC nazywana<br />

jest stałą czasową i oznaczana grecką literą τ . Dla t = τ napięcia:<br />

−1<br />

( 2)<br />

= v(<br />

1)<br />

⋅ ( 1−<br />

) 63%<br />

v(<br />

1)<br />

v ≈<br />

© Jacek Cichosz WETI PG 3<br />

t<br />

−1<br />

e v ( 2)<br />

= U ⋅ ≈ 37%<br />

U<br />

e .<br />

Ładowanie i rozładowanie kondensatora przez rezystor jest w układach elektronicznych<br />

bardzo często wykorzystywane do wytwarzania (generacji) przebiegów o czasie trwania zaleŜnym<br />

od wartości pojemności i rezystancji tych elementów. Przykład zastosowania takiego sposobu<br />

wytwarzania napięcia o kształcie prostokątnym przedstawiono w następnym punkcie.<br />

3. Generator przebiegu prostokątnego<br />

Do wytwarzania (generacji) napięcia o przebiegu prostokątnym zastosowano układ scalony<br />

NE555 (odpowiedniki innych producentów LM555, ULY7855, ICM7555) pokazany na rysunku 5.<br />

Rys. 5. Układ scalony NE555<br />

Uproszczony schemat układu ilustrujący działanie poszczególnych jego podzespołów<br />

przedstawiono na rysunku 6.


Rys. 6. Układ scalony 555 jako multiwibrator astabilny (generator przebiegu prostokątnego)<br />

Układ 555 w swoim wnętrzu zawiera dzielnik rezystorowy (rezystory R) dzielący napięcie<br />

zasilania UZ = +5 V na trzy równe części. Napięcia (1/3Uz i 2/3Uz) dołączone są do wejść<br />

komparatorów K1 i K2. Wyjścia komparatorów sterują wejściami R (reset-wyzeruj) i S (set-ustaw)<br />

przerzutnika RS. Do wyjścia przerzutnika dołączony jest tranzystor T oraz bufor wyjściowy G.<br />

W układzie jak na rysunku 6 układ 555 pracuje jako generator impulsów prostokątnych.<br />

Po włączeniu napięcia zasilania tranzystor T jest wyłączony, a przez rezystory R1 i R2 ładowany<br />

jest kondensator C1. Gdy napięcie ładowanego kondensatora osiągnie 2/3 napięcia zasilania układu<br />

(2/3Uz), komparator K1 wyzeruje przerzutnik RS. Dołączony do wyjścia przerzutnika tranzystor T<br />

włączy się dołączając punkt A (punkt połączenia rezystorów R1 i R2) do masy (GND) układu. Od<br />

tej chwili kondensator C1 zacznie się rozładowywać przez rezystor R2. Gdy napięcie<br />

rozładowywanego kondensatora obniŜy się do wartości 1/3 napięcia zasilania Uz, komparator K2<br />

przełączy przerzutnik RS, a zarazem wyłączy tranzystor T i kondensator C1 znów zacznie się<br />

ładować przez R1 i R2.<br />

Proces ładowania i rozładowania będzie się powtarzał cyklicznie, a na wyjściu bufora G<br />

(wyjście układu) będzie się zmieniało napięcie dając w wyniku przebieg prostokątny.<br />

3.1. Symulacja działania multiwibratora astabilnego<br />

Uruchom program Micro-Cap Evaluation 9 i wczytaj File/Open schemat układu 555<br />

(555ASTAB.CIR). Przez Analysis/Transient/Run uruchom symulację układu. Zmień wartości<br />

rezystorów 5K i 3K na 1000 Ω i ponownie uruchom symulację układu. Zmień (dla tych wartości<br />

rezystancji rezystorów) wartość pojemności kondensatora C1 tak, aby okres zmian napięcia na<br />

wyjściu multiwibratora wynosił 0.001 s (1 ms). Wówczas częstotliwość zmian napięcia na wyjściu<br />

multiwibratora będzie równa f = 1000 Hz.<br />

Zanotuj (w arkuszu sprawozdania) wartość pojemności kondensatora jako C11000 = ? F.<br />

Następnie zmień wartość pojemności kondensatora tak, aby okres drgań multiwibratora wynosił 1 s<br />

(f = 1 Hz). Zanotuj (w arkuszu sprawozdania) wartość pojemności kondensatora jako C11 = ? F.<br />

3.2. Układ multiwibratora astabilnego z układem scalonym ULY7855<br />

W tej części ćwiczenia sprawdzamy działanie multiwibratora zbudowanego z rzeczywistych<br />

elementów elektronicznych. Widok układu z zaznaczonymi elementami składowymi<br />

przedstawiony jest na rysunku 7.<br />

© Jacek Cichosz WETI PG 4


C1<br />

© Jacek Cichosz WETI PG 5<br />

B<br />

GND<br />

555<br />

C<br />

R2<br />

Inne<br />

wartości<br />

C1<br />

+5 V<br />

R1<br />

LED<br />

+<br />

Rys. 7. Układ multiwibratora<br />

Dołącz do układu (zamień istniejący) kondensator C1 o pojemności C11000 wyznaczonej<br />

(obliczonej) w punkcie 3.1. Włącz układ i przy pomocy oscyloskopu zaobserwuj jak wygląda<br />

przebieg ładowania i rozładowania kondensatora (punkt B). Podłącz oscyloskop do wyjścia układu<br />

(punkt C). Zmierz na ekranie oscyloskopu okres drgań multiwibratora. Porównaj z wartością 1 ms<br />

wyznaczoną w punkcie 3.1. Na karcie sprawozdania narysuj otrzymany na ekranie oscyloskopu<br />

przebieg.<br />

Do wyjścia multiwibratora dołączony jest głośnik i dioda LED (jak na rysunku 8).<br />

Rys. 8. Dołączenie głośnika i diody LED do wyjścia multiwibratora<br />

G


Zaobserwuj jak świeci dioda LED i co słychać w głośniku? Wymień kondensator<br />

C1 = C11000 na kondensator C11 o wartości pojemności znalezionej przy symulacji układu dla<br />

okresu drgań 1 s. Co teraz słychać w głośniku, a jak świeci dioda?<br />

Przy pomocy oscyloskopu obejrzyj przebiegi ładowania i rozładowania kondensatora oraz<br />

przebieg na wyjściu układu. Zanotuj wyniki obserwacji w arkuszu sprawozdania. Wyłącz zasilanie<br />

układu.<br />

4. Generowanie przebiegu prostokątnego przy pomocy mikrokontrolera ATMEL AT89C2051<br />

Funkcję analogowego odmierzania czasu (przez ładowanie i rozładowanie kondensatora)<br />

moŜna zrealizować w sposób cyfrowy wykorzystując w tym celu odpowiednio zaprogramowany<br />

mikrokontroler. W ćwiczeniu zaprogramujemy mikrokontroler AT89C2051 tak, aby na jego<br />

końcówce wyjściowej (P1.0) otrzymać impulsy o odpowiednio wybranym czasie trwania. Strukturę<br />

wewnętrzną oraz schemat z dołączonymi elementami zewnętrznymi mikrokontrolera pokazano na<br />

rysunku 9.<br />

a b<br />

c<br />

Rys. 9. Mikrokontroler AT89C2051<br />

a – wyprowadzenia, b – schemat funkcjonalny, c – układ aplikacyjny<br />

© Jacek Cichosz WETI PG 6


Praca mikrokontrolera (wykonywanie rozkazów) odbywa się w takt impulsów zegarowych<br />

wytwarzanych w generatorze (OSC) sterowanym drganiami rezonatora kwarcowego (Q1). We<br />

wnętrzu mikrokontrolera są liczniki (TIMER BLOCKS), które mogą po zaprogramowaniu słuŜyć<br />

do odmierzania czasu. Aby mikrokontroler działał (wysyłał impulsy o wymaganym czasie trwania)<br />

w jego pamięci (FLASH) naleŜy umieścić odpowiedni program. PoniewaŜ programowanie<br />

mikrokontrolera w jego języku wewnętrznym (asemblerze) jest trudne, wykorzystamy w tym celu<br />

środowisko programistyczne BASCOM-8051 DEMO. Środowisko to umoŜliwia napisanie<br />

programu w dialekcie języka programowania BASIC, który jest bardziej przystępny dla człowieka.<br />

BASCOM umoŜliwia przetłumaczenie go na język wewnętrzny mikrokontrolera AT89C2051 i przy<br />

pomocy odpowiedniego urządzenia (programatora) wpisanie go do jego pamięci flash.<br />

4.1. Pierwszy program<br />

Uruchamiamy program BASCOM-8051 DEMO (File/New) i w jego edytorze wpisujemy<br />

pierwszy program:<br />

'************************************************<br />

'Pierwszy program - wysyłania bitu na port P1<br />

'************************************************<br />

Dim Licznik As Byte 'deklaracja zmiennej Licznik<br />

Licznik = 0 'wyzerowanie licznika<br />

Do 'program w pętli Do ... Loop<br />

Incr Licznik 'zmniejszenie Licznik do 255,254,...,10<br />

Set P1.0 'ustawienie wysokiego poziomu na końcówce 0 portu P1<br />

Wait 1 'czekam sekundę<br />

Reset P1.0 'ustawienie niskiego poziomu na końcówce 0 portu P1<br />

Wait 1 'czekam sekundę<br />

Loop Until Licznik = 10 'wyjdź z pętli jeŜeli Licznik=0<br />

End 'zakończ<br />

Program naleŜy zapisać na dyskietkę (File/Save As…) pod nazwą pierwszy.bas.<br />

Przez Program/Syntax check naleŜy sprawdzić poprawność napisanego programu i jeŜeli nie ma<br />

błędów to przez Program/ Compile moŜna go przetłumaczyć na język rozkazów mikrokontrolera.<br />

Przetłumaczony program moŜna uruchomić na symulatorze mikrokontrolera<br />

(Program/Simulate – przycisk Run to current line. W czasie działania symulatora powinna się<br />

zmieniać wartość liczbowa najmłodszego bitu na wyjściu portu P1 (FFh = 11111111b,<br />

Feh = 11111110b).<br />

Włącz przez Show Hardware Simulator podgląd wyświetlacza siedmiosegmentowego<br />

LED. Po uruchomieniu symulacji krokowo przez naciskanie Step into code zaobserwuj zmianę<br />

stanu segmentu A wyświetlacza.<br />

Na stanowisku, na którym do komputera jest dołączony programator wczytaj program<br />

z dyskietki (File/Open). Zaprogramuj (przy pomocy prowadzącego zajęcia) mikrokontroler.<br />

Zaprogramowany mikrokontroler wstaw do podstawki w układzie – rysunek 10.<br />

Włącz zasilanie układu. Sprawdź działanie programu.<br />

© Jacek Cichosz WETI PG 7


4.2. Drugi program<br />

© Jacek Cichosz WETI PG 8<br />

S1<br />

Q1<br />

WS<br />

R2<br />

R9<br />

AT89C2051<br />

CZ<br />

Rys. 10. Układ mikrokontrolera AT89C2051<br />

Samodzielnie napisz program i po zaprogramowaniu mikrokontrolera uruchom w układzie.<br />

Program powinien wyświetlać kolejno cyfry 0, 1, 2, …, 9 na dołączonym do układu mikrokontrolera<br />

wskaźniku siedmiosegmentowym LED.<br />

Przy pisaniu programu wykorzystaj arkusz kalkulacyjny Excel jak na rysunku 11. Przepisz<br />

wypełniony fragment arkusza kalkulacyjnego do arkusza sprawozdania.<br />

P1.7<br />

P1.6<br />

P1.5<br />

P1.4<br />

P1.3<br />

P1.2<br />

P1.1<br />

segment H G F E D C B A suma negacja<br />

waga 128 64 32 16 8 4 2 1<br />

cyfra A<br />

P1.0<br />

0 0 255<br />

1 0 255<br />

2 0 255<br />

3 0 255<br />

F B<br />

G<br />

E C<br />

4 0 255 D<br />

5 0 255<br />

6 0 255 H<br />

7 0 255<br />

8 0 255<br />

9 0 255<br />

Rys.11. Wskaźnik siedmiosegmentowy


Zapalenie odpowiedniego segmentu wskaźnika to „1” na odpowiednim wyjściu<br />

(wyprowadzeniu) portu P1 mikrokontrolera. Do portu P1 moŜna wysyłać całą ”liczbę” instrukcją:<br />

P1 = liczba<br />

gdzie liczba jest sumą (kolumna suma w arkuszu) iloczynu wag poszczególnych bitów i ich wag<br />

(wiersz waga) w postaci =SUMA(ODPOWIEDNI_BIT * WAGA).<br />

Segmenty zastosowanego w układzie wyświetlacza w rzeczywistości włączane są niskim<br />

poziomem napięcia( ”0” a nie ”1”) więc po przetestowaniu programu w symulatorze trzeba<br />

wszystkie wartości (bity w postaci dwójkowej) zanegować, czyli odjąć (w postaci dziesiętnej) od<br />

liczby 255 (kolumna negacja) lub zanegować je w programie instrukcją Not jak w przykładzie:<br />

P1 = 63 naleŜy zamienić na P1 = 192 lub P1 = Not 63 .<br />

Ciągłość (nieskończoność) wykonywania programu uzyskamy, jeŜeli instrukcje wysyłania<br />

liczb do portu P1 umieścimy w pętli:<br />

Do<br />

.<br />

.<br />

.<br />

Loop<br />

bez podanych parametrów zakończenia pętli Do … Loop.<br />

Sprawdzony w symulatorze i w układzie mikrokontrolera program wyświetlania cyfr<br />

przepisz do arkusza sprawozdania.<br />

Po zakończeniu ćwiczenia wyłącz zasilanie układu.<br />

Literatura:<br />

1. Górski K.: Timer 555 w przykładach. BTC, Warszawa 2004.<br />

2. Wiązania M.: Programowanie mikrokontrolerów AVR w języku BASCOM. BTC, Warszawa<br />

2004.<br />

3. http://www.edw.com.pl/<br />

4. http://www.datasheetcatalog.com/ : karty katalogowe NE555, AT29C2051.<br />

© Jacek Cichosz WETI PG 9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!