Bramki logiczne, czyli nowe znaczenie zera i jedynki, część 1

poziom trudności: ***

Bramki logiczne to układy, które analizują sygnały wejściowe
i na ich podstawie podają sygnał wyjściowy. Brzmi strasznie?
Wcale takie nie jest. Zapraszam na kolejną część Iskrowego
Kursu Elektroniki.

Potrzebne części:

  • tranzystor BC547 (1 szt)
  • oporniki 300Ω i 22kΩ (po 1 szt)
  • płytka stykowa (najlepiej 830 otworów)
  • łączówki i kable połączeniowe
  • diody LED (1 szt)
  • koszyczek na 4 baterie AA
  • 4 baterie AA

Tranzystor

Bramki logiczne zbudowane są głównie z tranzystorów. Są
to specjalne elementy elektroniczne, posiadające trzy „nóżki”:
kolektor (C), bazę (B) i emiter(E):

Tranzekpobrane

Jeśli nie do końca to widać, uczulam. Kolektor znajduje się
po prawej stronie, jeśli patrzymy od strony wypukłej i
po lewej, jeśli patrzymy od strony płaskiej, z oznaczeniami.

Tranzystory BC547, to tak zwane tranzystory bipolarne. To
znaczy, że są sterowane natężeniem płynącego prądu. W
przypadku, gdy przez bazę tranzystora płynie jakiś prąd,
to przez kolektor płynie ileś razy więcej prądu. To ileś jest
konkretną wartością różną dla każdego rodzaju tranzystora i
oznaczamy je symbolem „β”, lub hFE. Emiter zaś łączy
oba prądy (i ten z bazy i ten z kolektora) i powinien być
podłączony do masy. Istnieją również tranzystory
unipolarne, ale o nich napiszę kiedy indziej. hFE ma
jednak pewną istotną wadę, a mianowicie zmienia
się wraz z prądem płynącym przez tranzystor, ale w
naszym układzie nie będzie to przeszkadzać. Części
te mają gigantyczne możliwości i są stosowane w wielu
różnych urządzeniach: od wzmacniaczy, do komputerów.
Ich funkcje wzmacniające opiszę w innej części kursu, a
tutaj napiszę tylko o ich zastosowaniu jako przełączników.

Tranzystory w stanie nasycenia

Tranzystor ma pewną specjalną właściwość: otóż może
wejść w stan tzw. „nasycenia”. W tym stanie tranzystor
stawia minimalny opór płynącemu prądowi, a tym samym
spadek napięcia na nim jest rzędu ułamków wolta. Wtedy
można uznać go za zwarcie w obwodzie.

20160111_200450

Niesamowite, prawda? Ale jak ten stan osiągnąć? Wystarczy, żeby prąd
kolektora był mniejszy, niż ten, na który pozwala mu prąd bazy. Czyli:

Ib * β > Ic

Gdzie:
Ib – prąd bazy
β – wzmocnienie prądowe (hFE)
Ic – prąd kolektora

Wzór ten jest dużym uproszczeniem, gdyż nasycenie
tranzystora zależy od różnych napięć, a tłumaczenie
tego zajęło by całą część kursu. Na pewno kiedyś się
to pojawi, ale jeszcze nie teraz.
No dobrze, ale jak zmniejszyć prąd kolektora? Odpowiedź
jest prosta: za pomocą opornika, z prawa Ohma. Ale niestety
tu pojawia się pewien problem: tranzystor nie podlega temu
prawu, tak samo, jak dioda (np. LED). Na szczęście jesteśmy w
stanie obliczyć te prądy. Prąd kolektora zakładamy z góry, bo
sami najlepiej wiemy, jaka jego wartość ma płynąć w naszym obwodzie.
Ponieważ chcemy podłączyć do naszych bramek diody LED, w
naszym układzie musi płynąć 20mA. Prąd kolektora wylicza
się w ten sposób:

Ic = (Vcc – Vsat)/R

Gdzie:
Ic – prąd kolektora
Vcc – napięcie zasilanie
Vsat – napięcie nasycenia
R – rezystancja opornika

Przekształcamy wzór:

R = (Vcc – Vsat)/Ib

No dobrze, ale co to jest napięcie nasycenia? Otóż jest to spadek
napięcia występujący w stanie nasycenia tranzystora. Napięcie
nasycenia – jak wiele innych wartości w tranzystorze, jest zmienne
i zależne m. in. od natężenia prądu. W obliczeniach przyjmujemy
najmniejszą, podaną w dokumentacji wartość. Dlaczego? Zauważmy,
że im mniejsze jest Vsat, tym większy prąd płynie w obwodzie. Dlatego,
jeśli Ib * β > Ic jest spełnione dla największego możliwego Ic, to jest
spełnione również dla wszystkich innych, prawda? Najmniejsze Vsat
dla tranzystora BC547, podane w jego dokumentacji wynosi 0,25V.
My jednak chcemy być totalnie pewni, że nasz tranzystor się nasyci,
więc użyjemy w obliczeniach wartości 0,2V. Układ zasilać będziemy
napięciem 6V. Podstawiamy więc wartości:

R = (6V – 0,2V)/0,02A
R = 290Ω

Użycie rezystora o rezystancji większej, niż 290Ω spowoduje, że Ic
będzie mniejsze, co jeszcze bardziej upewni nas, że tranzystor na
pewno jest nasycony. Teraz czas policzyć najmniejszy prąd bazy,
który spełni nasz warunek (Ib * β > Ic).

Ib = (Vcc – Vp)/Rb

Gdzie:
Ib – prąd bazy
Vcc – napięcie zasilania
Vp – napięcie przewodzenia
Rb – rezystancja opornika bazy

Ale co to jest Vp? Jest to minimalne napięcie między bazą, a emiterem
przy którym tranzystor zaczyna konkretnie przewodzić prąd i tak samo,
jak w diodach – dla innych natężeń prądu, ma różne, minimalnie
różne wartości. Dokumentacja tranzystora BC547 mówi, że dla natężenia
prądu równego 2 mA, przy napięciu zasilania 5 V przyjmuje ono wartości
od 0.58 V do 0,7 V. Im przyjęta w obliczeniach wartość Vp jest mniejsza,
tym większy jest prąd bazy. W obliczeniach przyjmujemy największą
możliwą wartość Vp, ponieważ chcemy, żeby nasz tranzystor nasycał się
przy najmniejszym prądzie bazy. Gdybyśmy w obliczeniach przyjęli
najmniejsze Vp, to Ib byłoby największe. W przypadku zmniejszenia
się wartości Ib, tranzystor wyszedłby z nasycenia, a cały układ przestałby
działać. Wracając, znowu musimy przekształcić nasz wzór:

Rb = (Vcc – Vp)/Ib

Znamy wartości Vcc (6V) i Vp (0,8V, wolę troszkę jeszcze je zwiększyć),
ale nie znamy minimalnego Ib. Jak je znaleźć? Otóż po prostu
przekształcamy wzór, który towarzyszy nam od początku:

Ib > Ic / β

Jak już mówiłem, β (hFE) nie jest wartością stałą. Dokumentacja mówi,
że przyjmuje wartości od 110, do, uwaga, 800! Jak widzimy rozrzut jest
ogromny! W przypadku hFE zawsze przyjmujemy jego najmniejszą
wartość, bo wtedy nie może się ona zmniejszyć psując nasz wzór:

Ib * β > Ic

Mimo, że wg. dokumentacji minimalne hFE BC547 wynosi 110, to ja
wolę przyjąć wartość 100. Łatwiej się liczy i nie ma przykrych
niespodzianek. Nasz Ic miał wynosić 20mA, więc Ib musi wynosić
co najmniej 200 uA. Nie będę powiększał tej wartości, gdyż zostawiliśmy
sobie już wcześniej spory margines bezpieczeństwa. Tak więc
podstawiamy wartości:

Rb = (6V – 0,8V)/0,0002A
Rb = 26000Ω = 26kΩ

To duży rezystor…

Ja wybrałem oporniki 300Ω i 22kΩ, bo rezystancję opornika połączonego z
kolektorem można zwiększać, a tego, połączonego z bazą – zmniejszać.
Oczywiście w granicach zdrowego rozsądku. Podłączenie zbyt dużego
opornika do kolektora spowoduje, że płynący w obwodzie prąd nie będzie
w stanie nic zrobić, a podłączenie zbyt małego opornika do bazy spali
tranzystor.

Zbliżamy się już do stworzenia naszej pierwszej bramki logicznej. Musimy
jednak omówić jeszcze jedno, króciutkie zagadnienie

Stan zatkania tranzystora

Jest to dokładna odwrotność nasycenia. W przypadku nasycenia Ic jest
duże, a spadek napięcia na tranzystorze jest mały, a w przypadku zatkania
spadek napięcia na tranzystorze jest duży, ale Ic jest równe zeru. Można to
porównać do zetknięcia ze sobą kabli i ich rozwarcia. Przerzucając
tranzystor od stanu nasycenia do stanu zatkania, robimy z niego
przełącznik, który albo przepuszcza cały prąd, albo nie przepuszcza
go w ogóle. W tej części nie będzie żadnych wzorów, gdyż tranzystor
jest zatkany, kiedy przez bazę nie płynie prąd. Wystarczy odłączyć
bazę od zasilania i tranzystor się zatka.

Warto jeszcze zauważyć, że moc (iloczyn spadku napięcia i płynącego
przez daną część prądu) jest w każdym wypadku bardzo mała, wręcz
znikoma

Bramka NOT

 

Pierwszą bramką, jaką zbudujemy będzie bramka NOT:

pobrane (1)

Gdy na jej wejście podany zostanie stan wysoki (1, napięcie), to na jej
wyjściu pojawi się stan niski (0, brak napięcia). Krótko mówiąc, jeśli
połączymy wejście bramki z + zasilania, to na wyjściu bramki nie będzie
napięcia. Analogicznie w drugą stronę. Oczywiście bramka sama z siebie
nie zmienia sygnału w ten sposób. Mimo, że na pokazanym przeze mnie
wcześniej jej symbolu nie ma żadnego połączenia, poza wejściem i wyjściem,
to bramka MUSI być zasilona. Inaczej po prostu nie ma prawa działać.
Wracając. Skoro już mamy dobrane odpowiednie oporniki i wiemy gdzie je
podłączyć, na co jeszcze czekamy? Oto schemat:

Untitled Sketch_bb

Fritzing niestety nie ma wszystkich rodzajów oporników, a schematy w wersji z
symbolami jeszcze raczkują, dlatego staram się je możliwie ograniczać. Mam
nadzieję, że powyższy schemat jest czytelny.
Oczywiście ten „dalszy” opornik powinien mieć wartość 22kΩ

I gotowy układ:

20160111_205724

Teraz, kiedy połączysz ze sobą dwa białe kable, to dioda  przestanie świecić:

20160111_205738

Działa? Super! Zbudowałeś właśnie swoją pierwszą bramkę logiczną.

Aby jeszcze dokładniej pokazać wam, co robi ta bramka, napisałem pewien
bardzo krótki program na Arduino. Co 5 milisekund włącza i wyłącza napięcie.
Oto co otrzymałem po podłączeniu naszej bramki do oscyloskopu.

20160111_211521

Stop! Co to jest oscyloskop!? Niewiarygodne urządzenie! Jest to woltomierz, który mierzy napięcie co ułamek nanosekundy i rysuje linię przedstawiającą zmiany napięcia. Ale to nie wszystko. Oscyloskopy potrafią również liczyć odstępy pomiędzy wzniesieniami i spadkami fali, napięcie w konkretnym miejscu wykresu, a nawet… Dekodować transmisję, np. z mikrokontrolera!

Żółta linia to wykres zmian napięcia pinu Arduino, a niebieska – zmiany napięcia
na wyjściu bramki. Jak widzimy, kiedy na pinie Arduino pojawia się napięcie
(linia jest wyżej), na wyjściu bramki ono znika (linia jest niżej).

Bramki logiczne to niewiarygodnie obszerne zagadnienie, więc nie jestem w stanie zmieścić tego wszystkiego w jednej części kursu. W przyszłym tygodniu dokończę ten temat, a za dwa tygodnie – wreszcie napiszę o jednych z najważniejszych praw elektroniki – prawach Kirchoffa. Dziękuję za uwagę.

Link do dokumentacji tranzystora BC547:
https://www.sparkfun.com/datasheets/Components/BC546.pdf

Paweł Urbański

← Poprzednia część                                                                         Następna część →