Realizați o poartă XOR din tranzistoare: 6 pași
Realizați o poartă XOR din tranzistoare: 6 pași
Anonim
Realizați o poartă XOR din tranzistoare
Realizați o poartă XOR din tranzistoare

SAU porțile sunt foarte utile, dar au o caracteristică ciudată care poate funcționa foarte bine, dar în anumite aplicații poate provoca probleme. Acesta este faptul că dacă ambele intrări sunt unele, atunci ieșirea este, de asemenea, una. Dacă am avea o aplicație în care nu am vrut acest lucru, probabil că am construi un adder, am folosi ceva numit Exclusive Or Gate, care este abreviat XOR sau EOR.

Pasul 1: Proiectare

Proiecta
Proiecta
Proiecta
Proiecta
Proiecta
Proiecta

O modalitate de a atinge comportamentul XOR este să luați o poartă SAU regulată, apoi să vă ocupați de cazul în care ambele intrări sunt pozitive. Dacă legăm o poartă ȘI la intrări, putem obține un semnal atunci când apare cazul respectiv. Putem apoi să luăm acel semnal, să-l inversăm, apoi să-l legăm și ieșirea porții SAU la o altă poartă ȘI. Acest lucru va face ca oricând nu este cazul în care ambele intrări sunt activate, poarta SA va trece pur și simplu prin a doua poartă ȘI, dar când ambele intrări cresc, prima poartă ȘI va închide a doua poartă ȘI va păstra ieșirea este oprită indiferent de starea porții SAU.

O ajustare pe care am făcut-o în circuitul final este comutarea combinației ȘI / NU pentru o poartă NAND, care este doar o poartă ȘI inversată. Modul în care funcționează acesta va deveni evident mai târziu.

Acum să scriem aceeași schemă, dar cu tranzistoare și rezistențe. Tipul de tranzistor pe care l-am folosit este 2N2222 BJT, care este destul de comun (funcționează și 2N4401 și 2N3904). Am folosit 6 tranzistori, 3 rezistențe de 20k ohm, 3 rezistențe de 47k ohm, rezistor de 1 510 ohmi, două butoane și un LED. Am ales aceste valori ale rezistorului pe baza sursei mele de alimentare de 5V și a curentului minim de 0,1mA sau 0,0001A pentru 2N2222. dacă utilizați legea lui Ohm pentru a calcula rezistența corectă la sol pentru acele valori obțineți 50 000 ohmi. 47k ohmi este suficient de aproape pentru poarta NAND inferioară, dar de ce valoarea inferioară pentru poarta SAU și prima intrare a celei de-a doua porți ȘI? Motivul se datorează faptului că emițătorul tranzistoarelor care alcătuiesc poarta SA sunt conectați prin baza unui alt tranzistor care, prin urmare, trece printr-un al doilea rezistor, nu direct la sol. (Rezistența de limitare a curentului LED-ului este o valoare suficient de mică încât să fie nesemnificativă în acest calcul).

Pasul 2: Adăugarea tranzistoarelor, butoanelor și LED-ului

Adăugarea tranzistoarelor, butoanelor și LED-ului
Adăugarea tranzistoarelor, butoanelor și LED-ului

Pasul 3: Adăugarea rezistențelor

Adăugarea de rezistențe
Adăugarea de rezistențe

Pasul 4: Adăugarea de fire

Adăugarea de fire
Adăugarea de fire
Adăugarea de fire
Adăugarea de fire

Modul în care alimentez placa este conectarea șinelor de alimentare la o sursă de alimentare pe bancă de laborator setată pe curent maxim de 5v și 500mA. Același tip de intrare poate fi realizat prin conectarea puterii la pinii 5V și GND ai unui Arduino, dar într-adevăr funcționează o sursă de alimentare de 5v (deși este recomandată o curent limitată pentru a reduce riscul de aruncare în aer a componentelor).

Pasul 5: Testare și depanare

Acum, când este conectat, vă voi lăsa să vă testați propriul. Dacă unul sau altul dintre butoane este apăsat, LED-ul ar trebui să se aprindă. Cu toate acestea, dacă ambele sunt împinse, LED-ul se va stinge.

Probleme comune

  1. Dacă o intrare pare să nu funcționeze așa cum ar trebui, iar cazul în care ambele intrări sunt pornite oferă în continuare un zero, verificați tensiunea la intrarea porții ȘI care vine de la poarta SAU atunci când butonul este apăsat. Dacă este redus (<2V), reduceți rezistența rezistenței care merge de la SAU la poarta ȘI.
  2. Dacă poarta acționează în continuare ca doar o poartă SAU, ceea ce înseamnă că atunci când ambele intrări sunt pe ieșire este activată, verificați tensiunea care intră în intrarea porții ȘI care vine de la poarta NAND. Dacă acest lucru este ridicat când sunt apăsate ambele butoane, asigurați-vă că tranzistorii din poarta ȘI funcționează și verificați rezistența de acolo la sol atunci când ambele butoane sunt apăsate. Dacă rezistența este mare și / sau tensiunea este scăzută, înlocuiți acei doi tranzistori sau reduceți rezistența intrărilor la porțile NAND.

Pasul 6: Vrei mai mult?

Dacă ți-a plăcut acest Instructable, continuă și verifică cartea mea de pe Amazon numită „Ghidul pentru începători pentru Arduino”. Trece peste principiile de bază ale circuitelor, precum și trece peste codul C ++ folosit pentru a programa un Arduino.