25.08.2013 Views

Wersja PDF instrukcji

Wersja PDF instrukcji

Wersja PDF instrukcji

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!