Innehållsförteckning:

Gör en XOR -port av transistorer: 6 steg
Gör en XOR -port av transistorer: 6 steg

Video: Gör en XOR -port av transistorer: 6 steg

Video: Gör en XOR -port av transistorer: 6 steg
Video: РЕМОНТ КПП ZF / ПОЛНАЯ СБОРКА / ПРОБЕГ ГРУЗОВИКА 40 000 КМ 2024, November
Anonim
Gör en XOR -port av transistorer
Gör en XOR -port av transistorer

ELLER grindar är mycket användbara, men de har en udda funktion som kan fungera bra, men i vissa applikationer kan det orsaka problem. Det är det faktum att om båda ingångarna är ena, så är utgången också en. Om vi hade en applikation där vi inte ville ha det här, kanske vi byggde en adderare, skulle vi använda något som kallas en Exclusive Or Gate, som förkortas XOR eller EOR.

Steg 1: Design

Design
Design
Design
Design
Design
Design

Ett sätt att uppnå XOR -beteendet är att ta en vanlig OR -grind och sedan hantera fallet där båda ingångarna är positiva. Om vi knyter en OCH -grind till ingångarna kan vi få en signal när det fallet dyker upp. Vi kan sedan ta den signalen, invertera den, sedan knyta den och utgången från ELLER -grinden till en annan OCH -grind. Detta kommer att göra det så att när det inte är så att båda ingångarna är på, kommer OR -grinden helt enkelt att passera genom den andra OCH -grinden, men när båda ingångarna går högt kommer den första OCH -grinden att stänga av den andra OCH -grinden och behålla utgången oberoende av OR -grindens tillstånd.

En justering som jag slutade göra i den sista kretsen är att byta AND/NOT -kombinationen för en NAND -grind, som bara är en inverterad OCH -grind. Hur detta fungerar kommer att bli uppenbart senare.

Nu kan vi skriva upp samma schemat, men med transistorer och motstånd. Den typ av transistor jag använde är 2N2222 BJT, vilket är ganska vanligt (2N4401 och 2N3904 fungerar också). Jag använde 6 transistorer, 3 20k ohm motstånd, 3 47k ohm motstånd, 1 510 ohm motstånd, två tryckknappar och en LED. Jag valde dessa motståndsvärden baserat på min 5v strömkälla och minsta ström på 0,1 mA eller 0,0001A för 2N2222. om du använder Ohms lag för att beräkna rätt motstånd mot marken för dessa värden får du 50 000 ohm. 47k ohm är tillräckligt nära för den nedre NAND -grinden, men varför det lägre värdet för OR -grinden och den första ingången till den andra OCH -grinden? Orsaken är att sändaren för transistorerna som utgör OR -grinden är ansluten genom basen på en annan transistor och därför löper genom ett andra motstånd, inte direkt till marken. (Strömbegränsningsmotståndet för lysdioden är tillräckligt lågt för att det är obetydligt i denna beräkning).

Steg 2: Lägga till transistorer, knappar och lysdioden

Lägger till transistorer, knappar och lysdioden
Lägger till transistorer, knappar och lysdioden

Steg 3: Lägga till resistorer

Lägga till motstånd
Lägga till motstånd

Steg 4: Lägga till trådar

Lägga till ledningar
Lägga till ledningar
Lägga till ledningar
Lägga till ledningar

Det sätt jag driver min bräda på är att ansluta strömskenorna till en laboratoriebänks strömförsörjning inställd på 5v och 500mA maxström. Samma typ av ingång kan uppnås genom att ansluta ström till en Arduinos 5V- och GND -stift, men verkligen fungerar en 5v -strömförsörjning (även om en strömbegränsad rekommenderas för att minska risken för att spränga komponenter).

Steg 5: Testning och felsökning

Nu när den är ansluten låter jag dig testa din egen. Om den ena eller den andra av knapparna trycks in ska lysdioden lysa. Om båda trycks in, slocknar lysdioden.

Vanliga problem

  1. Om en ingång verkar inte fungera som den ska och om båda ingångarna är på ger fortfarande en noll, kontrollera spänningen vid ingången till OCH -grinden som kommer från ELLER -grinden när knappen trycks in. Om det är lågt (<2V), minska motståndet hos motståndet som går från OR till AND -grinden.
  2. Om grinden fortfarande fungerar som en OR -grind, vilket betyder att när båda ingångarna är på är utgången på, kontrollera spänningen som kommer in i ingången till OCH -grinden som kommer från NAND -grinden. Om det är högt när du trycker på båda knapparna, se till att dina transistorer i AND -grinden fungerar och kontrollera motståndet därifrån till marken när du trycker på båda knapparna. Om motståndet är högt och/eller att spänningen är låg, byt ut de två transistorerna eller minska ingångarnas motstånd till NAND -portarna.

Steg 6: Vill du ha mer?

Om du gillade den här instruerbara fortsätt och kolla in min bok på Amazon som heter "The Beginners Guide to Arduino." Det går över grundläggande kretsprinciper samt går över C ++ - koden som används för att programmera en Arduino.

Rekommenderad: