Wersja PDF instrukcji
Wersja PDF instrukcji Wersja PDF instrukcji
1. Wstęp Akademia ETI Instrukcja laboratoryjna Elektronika: rezystory i kondensatory Rezystory (oporniki – rys.1 http://pl.wikipedia.org/wiki/Opornik) i kondensatory (rys. 2) (http://pl.wikipedia.org/wiki/Kondensator) są najpowszechniej uŜywanymi elementami elektronicznymi. W urządzeniach elektronicznych występują jako samodzielne elementy oraz jako części składowe układów scalonych. KaŜdy komputer zawiera kilkadziesiąt milionów rezystorów i kondensatorów. Głównym parametrem rezystora jest rezystancja R w omach [Ω]. Zgodnie z prawem Ohma wyraŜonym wzorem: Rys. 1. Rezystor Rys. 2. Kondensator = R[ Ω ] U R ⋅ I rezystancja jest współczynnikiem proporcjonalności między napięciem U [V] na zaciskach rezystora a prądem I [A] płynącym przez rezystor. Prąd płynący przez rezystor wydziela na nim energię: w postaci ciepła. © Jacek Cichosz WETI PG 1 U = I [ W s] = P[ W] ⋅t[ s] = U ⋅ I t W ⋅ Kondensator (jego pierwowzorem była butelka lejdejska http://pl.wikipedia.org/wiki/Butelka_lejdejska) posiada zdolność gromadzenia ładunku elektrycznego. Jego głównym parametrem jest pojemność C w faradach [F], która jest współczynnikiem proporcjonalności między ładunkiem Q [As] naładowanego kondensatora a napięciem U [V] na jego zaciskach: Q Q = C ⋅U [ ] [ As] C F = U V . Energia zmagazynowanego w kondensatorze ładunku Q jest równa 2. Ładowanie kondensatora 2 1 Q 1 2 W [ W s] = = U ⋅ C . 2 C 2 Uruchom program Micro-Cap Evaluation 9 i utwórz w nim układ ładowania kondensatora jak na rysunku 3. [ V] [ A] [ ]
- Page 2 and 3: Rys. 3. Układ ładowania kondensat
- Page 4 and 5: Rys. 6. Układ scalony 555 jako mul
- Page 6 and 7: Zaobserwuj jak świeci dioda LED i
- Page 8 and 9: 4.2. Drugi program © Jacek Cichosz
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