Lav en XOR-port ud af transistorer: 6 trin

Lav en XOR-port ud af transistorer: 6 trin

Indholdsfortegnelse:

Anonim

ELLER porte er meget nyttige, men de har en mærkelig funktion, der kan fungere fint, men i visse applikationer kan det medføre problemer. Det er det faktum, at hvis begge input er dem, så er output også en. Hvis vi havde en ansøgning, hvor vi ikke ønskede det, kunne vi måske bygge en adder, vi ville bruge noget, der hedder en eksklusiv eller port, der forkortes XOR eller EOR.

forsyninger:

Trin 1: Design

En måde at opnå XOR-adfærd på er at tage en regelmæssig OR-port, så behandle det tilfælde, hvor begge indgange er positive. Hvis vi binder en AND-port til indgangene, kan vi få et signal, når det er tilfældet. Vi kan så tage det signal, inverter det og binde det og output fra OR-porten til en anden AND-port.Dette vil gøre det, så når ORD-porten simpelthen ikke går igennem den anden AND-port, men når begge indgange går højt, lukker den første AND-port den anden AND-port og holder den udgangen slukker uanset tilstanden af ​​ELLER-porten.

En justering, jeg ender med at lave i det sidste kredsløb, skifter AND / NOT-kombinationen til en NAND-port, som kun er en omvendt AND-port. Den måde, som dette virker på, vil fremgå senere.

Nu kan vi skrive op samme skematiske, men med transistorer og modstande. Den anvendte type transistor er 2N2222 BJT, som er temmelig almindelig (2N4401 og 2N3904 fungerer også). Jeg brugte 6 transistorer, 3 20k ohm modstande, 3 47k ohm modstande, 1 510 ohm modstand, to trykknapper og en LED. Jeg valgte disse modstandsværdier baseret på min 5v strømkilde og 0,1mA eller 0,0001A minimumstrøm for 2N2222. hvis du bruger ohms lov til at beregne den korrekte modstand mod jorden for disse værdier får du 50.000 ohm. 47k ohm er tæt nok til den nedre NAND-port, men hvorfor den lavere værdi for OR-porten og den første indgang på den anden AND-port? Årsagen er, at emitteren af ​​transistorerne, der udgør OR-porten, er tilsluttet gennem bunden af ​​en anden transistor og derfor løber gennem en anden modstand, ikke direkte til jorden. (LED'ens nuværende begrænsende modstand er en lav nok værdi, at den er ubetydelig i denne beregning).

Trin 2: Tilføjelse af transistorer, knapper og LED'en

Trin 3: Tilsætning af modstande

Trin 4: Tilføjelse af ledninger

Den måde, jeg driver mit bord på, er at tilslutte strømskinnerne til et laboratoriebænk strømforsyningssæt på 5v og 500mA max strøm. Den samme type input kan opnås ved at tilslutte strøm til en Arduino's 5V og GND-stifter, men virkelig en 5v strømforsyning virker (selvom en nuværende begrænset er anbefales at reducere risikoen for at sprænge komponenter).

Trin 5: Test og fejlfinding

Nu hvor det er tilsluttet, vil jeg lade dig teste din egen. Hvis den ene eller den anden af ​​knapperne trykkes, skal lysdioden lyse. Hvis begge er skubbet, slukkes LED'en.

Almindelige problemer

  1. Hvis en indgang ikke virker som den skal, og hvis begge indgange er på, stadig giver et nul, skal du kontrollere spændingen ved indgangen på AND-porten, der kommer fra OR-porten, når den pågældende knap trykkes. Hvis det er lavt (<2V), reduceres modstanden af ​​modstanden, der går fra OR til AND-porten.
  2. Hvis porten stadig virker som en OR-gate, betyder det, at når begge indgange er på, er udgangen tændt, skal du kontrollere spændingen, der kommer ind i indgangen til AND-porten, der kommer fra NAND-porten. Hvis det er højt, når begge knapper trykkes, skal du sørge for, at transistorerne i AND-porten virker, og kontroller modstanden derfra til jorden, når begge knapper trykkes. Hvis denne modstand er høj, og / eller at spændingen er lav, skal du udskifte de to transistorer eller reducere indgangenes modstand til NAND-portene.

Trin 6: Vil du have mere?

Hvis du kunne lide dette instrueret, fortsæt og tjek min bog på Amazon kaldet "The Beginners Guide to Arduino." Det går over grundlæggende kredsløb principper samt går over C + + -koden bruges til at programmere en Arduino.