Table des matières:

Créer une porte XOR à partir de transistors : 6 étapes
Créer une porte XOR à partir de transistors : 6 étapes

Vidéo: Créer une porte XOR à partir de transistors : 6 étapes

Vidéo: Créer une porte XOR à partir de transistors : 6 étapes
Vidéo: XOR fonction logique OU exclusif 2024, Novembre
Anonim
Faire une porte XOR à partir de transistors
Faire une porte XOR à partir de transistors

Les portes OU sont très utiles, mais elles ont une caractéristique étrange qui peut très bien fonctionner, mais dans certaines applications peut causer des problèmes. C'est le fait que si les deux entrées sont uns, alors la sortie est aussi un. Si nous avions une application où nous ne voulions pas cela, peut-être que nous construisions un additionneur, nous utiliserions quelque chose appelé Exclusive Or Gate, qui est abrégé XOR ou EOR.

Étape 1: Concevoir

Concevoir
Concevoir
Concevoir
Concevoir
Concevoir
Concevoir

Une façon d'obtenir le comportement XOR est de prendre une porte OU régulière, puis de traiter le cas où les deux entrées sont positives. Si nous attachons une porte ET aux entrées, nous pouvons obtenir un signal lorsque ce cas se présente. Nous pouvons ensuite prendre ce signal, l'inverser, puis le lier et la sortie de la porte OU à une autre porte ET. Cela fera en sorte que chaque fois que les deux entrées ne sont pas activées, la porte OU passera simplement par la deuxième porte ET, mais lorsque les deux entrées passent au niveau haut, la première porte ET fermera la deuxième porte ET et maintiendra la sortie désactivée quel que soit l'état de la porte OU.

Un ajustement que j'ai fini par faire dans le circuit final consiste à changer la combinaison ET/NON pour une porte NAND, qui n'est qu'une porte ET inversée. La façon dont cela fonctionne apparaîtra plus tard.

Maintenant, écrivons ce même schéma, mais avec des transistors et des résistances. Le type de transistor que j'ai utilisé est le 2N2222 BJT, qui est assez courant (les 2N4401 et 2N3904 fonctionnent également). J'ai utilisé 6 transistors, 3 résistances de 20k ohm, 3 résistances de 47k ohm, 1 résistance de 510 ohm, deux boutons poussoirs et une LED. J'ai choisi ces valeurs de résistance en fonction de ma source d'alimentation 5v et du courant minimum de 0,1 mA ou 0,0001 A pour le 2N2222. si vous utilisez la loi d'Ohm pour calculer la résistance correcte à la terre pour ces valeurs, vous obtenez 50 000 ohms. 47k ohms est assez proche pour la porte NAND inférieure, mais pourquoi la valeur inférieure pour la porte OU et la première entrée de la deuxième porte ET ? La raison en est que l'émetteur des transistors constituant la porte OU est connecté à la base d'un autre transistor et traverse donc une deuxième résistance, pas directement à la terre. (La résistance de limitation de courant de la LED est une valeur suffisamment basse pour qu'elle soit insignifiante dans ce calcul).

Étape 2: Ajout de transistors, de boutons et de la LED

Ajout de transistors, de boutons et de la LED
Ajout de transistors, de boutons et de la LED

Étape 3: Ajout de résistances

Ajout de résistances
Ajout de résistances

Étape 4: Ajout de fils

Ajout de fils
Ajout de fils
Ajout de fils
Ajout de fils

La façon dont j'alimente ma carte consiste à brancher les rails d'alimentation à une alimentation de laboratoire réglée sur un courant maximum de 5 V et 500 mA. Le même type d'entrée peut être obtenu en connectant l'alimentation aux broches 5V et GND d'un Arduino, mais en réalité, une alimentation 5v fonctionne (bien qu'une alimentation limitée en courant soit recommandée pour réduire le risque de faire exploser les composants).

Étape 5: Test et dépannage

Maintenant qu'il est branché, je vous laisse tester le vôtre. Si l'un ou l'autre des boutons est enfoncé, la LED doit s'allumer. Si les deux sont enfoncés, cependant, la LED s'éteindra.

Problèmes communs

  1. Si une entrée semble ne pas fonctionner comme elle le devrait et que le cas où les deux entrées sont activées fournit toujours un zéro, vérifiez la tension à l'entrée de la porte ET qui provient de la porte OU lorsque ce bouton est enfoncé. Si elle est faible (< 2V), réduisez la résistance de la résistance allant de la porte OU à la porte ET.
  2. Si la porte agit toujours comme une simple porte OU, ce qui signifie que lorsque les deux entrées sont activées, la sortie est activée, vérifiez la tension entrant dans l'entrée de la porte ET provenant de la porte NAND. S'il est élevé lorsque les deux boutons sont enfoncés, assurez-vous que vos transistors dans la porte ET fonctionnent et vérifiez la résistance de là à la terre lorsque les deux boutons sont enfoncés. Si cette résistance est élevée et/ou cette tension est faible, remplacez ces deux transistors ou réduisez la résistance des entrées des portes NAND.

Étape 6: Vous en voulez plus ?

Si vous avez aimé ce Instructable, allez-y et consultez mon livre sur Amazon intitulé "Le guide du débutant sur Arduino". Il passe en revue les principes de base des circuits ainsi que le code C++ utilisé pour programmer un Arduino.

Conseillé: