Inhoudsopgave:

Maak een XOR-poort van transistors - Ajarnpa
Maak een XOR-poort van transistors - Ajarnpa

Video: Maak een XOR-poort van transistors - Ajarnpa

Video: Maak een XOR-poort van transistors - Ajarnpa
Video: From Sand to Silicon: The Making of Intelligent Modern Electronics 2024, November
Anonim
Maak een XOR-poort van transistors
Maak een XOR-poort van transistors

OF-poorten zijn erg handig, maar ze hebben een vreemde functie die prima kan werken, maar in bepaalde toepassingen problemen kan veroorzaken. Dat is het feit dat als beide ingangen enen zijn, de uitgang ook een is. Als we een applicatie hadden waar we dit niet wilden, misschien waren we een adder aan het bouwen, zouden we iets gebruiken dat een Exclusive Or Gate wordt genoemd, wat wordt afgekort als XOR of EOR.

Stap 1: Ontwerp

Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp

Een manier om het XOR-gedrag te bereiken, is door een gewone OF-poort te nemen en vervolgens het geval af te handelen waarin beide ingangen positief zijn. Als we een EN-poort aan de ingangen koppelen, kunnen we een signaal krijgen wanneer dat geval verschijnt. We kunnen dan dat signaal nemen, het omkeren en dat en de uitvoer van de OF-poort koppelen aan een andere EN-poort. Dit zorgt ervoor dat wanneer het niet het geval is dat beide ingangen aan staan, de OF-poort gewoon door de tweede EN-poort zal gaan, maar wanneer beide ingangen hoog worden, zal de eerste EN-poort de tweede EN-poort afsluiten en behouden de uitgang uit ongeacht de toestand van de OF-poort.

Een aanpassing die ik uiteindelijk in het laatste circuit heb gemaakt, is het schakelen van de EN / NIET-combinatie voor een NAND-poort, die slechts een omgekeerde EN-poort is. Hoe dit werkt, zal later blijken.

Laten we nu hetzelfde schema opschrijven, maar met transistors en weerstanden. Het type transistor dat ik heb gebruikt is de 2N2222 BJT, die vrij algemeen is (de 2N4401 en 2N3904 werken ook). Ik gebruikte 6 transistors, 3 20k ohm weerstanden, 3 47k ohm weerstanden, 1 510 ohm weerstand, twee drukknoppen en een LED. Ik koos deze weerstandswaarden op basis van mijn 5v-voedingsbron en de 0,1 mA of 0,0001A minimale stroom voor de 2N2222. als je de wet van Ohm gebruikt om de juiste weerstand tegen aarde voor die waarden te berekenen, krijg je 50.000 ohm. 47k ohm is dichtbij genoeg voor de onderste NAND-poort, maar waarom de lagere waarde voor de OF-poort en de eerste invoer van de tweede EN-poort? De reden is dat de emitter van de transistors waaruit de OF-poort bestaat, is aangesloten op de basis van een andere transistor en daarom door een tweede weerstand loopt, niet rechtstreeks naar aarde. (De stroombegrenzende weerstand van de LED is zo laag dat deze in deze berekening niet significant is).

Stap 2: Transistors, knoppen en de LED toevoegen

Transistors, knoppen en de LED toevoegen
Transistors, knoppen en de LED toevoegen

Stap 3: Weerstanden toevoegen

Weerstanden toevoegen
Weerstanden toevoegen

Stap 4: Draden toevoegen

Draden toevoegen
Draden toevoegen
Draden toevoegen
Draden toevoegen

De manier waarop ik mijn bord van stroom gebruik, is door de stroomrails aan te sluiten op een laboratoriumbankvoeding die is ingesteld op 5v en 500mA max. stroom. Dezelfde soort invoer kan worden bereikt door stroom aan te sluiten op de 5V- en GND-pinnen van een Arduino, maar echt een 5V-voeding werkt (hoewel een stroombeperkte voeding wordt aanbevolen om het risico van het opblazen van componenten te verminderen).

Stap 5: Testen en probleemoplossing

Nu het is aangesloten, laat ik je je eigen testen. Als een van de knoppen wordt ingedrukt, moet de LED oplichten. Als beide echter worden ingedrukt, gaat de LED uit.

Veel voorkomende problemen

  1. Als één ingang niet lijkt te werken zoals het zou moeten, en het geval waarin beide ingangen aan staan, levert nog steeds een nul op, controleer dan de spanning aan de ingang van de EN-poort die van de OF-poort komt wanneer die knop wordt ingedrukt. Als het laag is (< 2V), verminder dan de weerstand van de weerstand die van de OR naar de EN-poort gaat.
  2. Als de poort nog steeds alleen een OF-poort is, wat betekent dat wanneer beide ingangen aan de uitgang zijn, de spanning die in de ingang van de EN-poort komt die van de NAND-poort komt, moet worden gecontroleerd. Als dat hoog is wanneer beide knoppen worden ingedrukt, zorg er dan voor dat uw transistors in de EN-poort werken en controleer de weerstand van daar naar aarde wanneer beide knoppen worden ingedrukt. Als die weerstand hoog is en/of die spanning laag, vervang dan die twee transistoren, of verminder de weerstand van de ingangen naar de NAND-poorten.

Stap 6: Wil je meer?

Als je deze Instructable leuk vond, ga je gang en bekijk mijn boek op Amazon genaamd "The Beginners Guide to Arduino". Het gaat over basiscircuitprincipes en gaat over de C++-code die wordt gebruikt om een Arduino te programmeren.

Aanbevolen: