Πίνακας περιεχομένων:

Κάντε μια πύλη XOR από τρανζίστορ: 6 βήματα
Κάντε μια πύλη XOR από τρανζίστορ: 6 βήματα

Βίντεο: Κάντε μια πύλη XOR από τρανζίστορ: 6 βήματα

Βίντεο: Κάντε μια πύλη XOR από τρανζίστορ: 6 βήματα
Βίντεο: Λογικές Πύλες #1 - Οι πύλες AND, OR και XOR 2024, Νοέμβριος
Anonim
Φτιάξτε μια πύλη XOR από τρανζίστορ
Φτιάξτε μια πύλη XOR από τρανζίστορ

Οι πύλες OR είναι πολύ χρήσιμες, αλλά έχουν ένα περίεργο χαρακτηριστικό που μπορεί να λειτουργήσει μια χαρά, αλλά σε ορισμένες εφαρμογές μπορεί να προκαλέσει προβλήματα. Αυτό είναι το γεγονός ότι εάν και οι δύο είσοδοι είναι μία, τότε η έξοδος είναι επίσης μία. Αν είχαμε μια εφαρμογή όπου δεν το θέλαμε, ίσως χτίζαμε ένα αθροιστή, θα χρησιμοποιούσαμε κάτι που ονομάζεται Exclusive Or Gate, το οποίο συντομογραφείται XOR ή EOR.

Βήμα 1: Σχεδιασμός

Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο

Ένας τρόπος για να επιτευχθεί η συμπεριφορά XOR είναι να πάρετε μια κανονική πύλη OR και, στη συνέχεια, να αντιμετωπίσετε την περίπτωση όπου και οι δύο είσοδοι είναι θετικές. Εάν συνδέσουμε μια πύλη AND στις εισόδους, μπορούμε να λάβουμε ένα σήμα όταν εμφανιστεί αυτή η θήκη. Στη συνέχεια, μπορούμε να πάρουμε αυτό το σήμα, να το αντιστρέψουμε και μετά να το συνδέσουμε με την έξοδο της πύλης OR σε άλλη πύλη AND. Αυτό θα κάνει έτσι ώστε όποτε δεν συμβαίνει ότι και οι δύο είσοδοι είναι ενεργοποιημένες, η πύλη OR θα περάσει απλώς από τη δεύτερη πύλη AND, αλλά όταν και οι δύο είσοδοι ανέβουν ψηλά, η πρώτη πύλη AND κλείνει τη δεύτερη πύλη AND και κρατά η έξοδος απενεργοποιείται ανεξάρτητα από την κατάσταση της πύλης OR.

Μια προσαρμογή που έκανα τελικά στο τελικό κύκλωμα είναι η αλλαγή του συνδυασμού ΚΑΙ/ΟΧΙ για μια πύλη NAND, η οποία είναι απλώς μια ανεστραμμένη πύλη AND. Ο τρόπος που αυτό λειτουργεί θα φανεί αργότερα.

Τώρα ας γράψουμε το ίδιο σχηματικό, αλλά με τρανζίστορ και αντιστάσεις. Ο τύπος τρανζίστορ που χρησιμοποίησα είναι το 2N2222 BJT, το οποίο είναι αρκετά κοινό (τα 2N4401 και 2N3904 λειτουργούν επίσης). Χρησιμοποίησα 6 τρανζίστορ, 3 αντιστάσεις 20k ohm, 3 αντιστάσεις 47k ohm, αντίσταση 1 510 ohm, δύο κουμπιά και ένα LED. Επέλεξα αυτές τις τιμές αντίστασης με βάση την πηγή ισχύος 5v και το ελάχιστο ρεύμα 0.1mA, ή 0.0001A για το 2N2222. Εάν χρησιμοποιείτε το νόμο του Ohm για να υπολογίσετε τη σωστή αντίσταση στη γείωση για αυτές τις τιμές, παίρνετε 50, 000 ohms. Τα 47k ohm είναι αρκετά κοντά για την κάτω πύλη NAND, αλλά γιατί η χαμηλότερη τιμή για την πύλη OR και η πρώτη είσοδος της δεύτερης πύλης AND; Ο λόγος είναι επειδή ο πομπός των τρανζίστορ που απαρτίζουν την πύλη OR συνδέονται μέσω της βάσης ενός άλλου τρανζίστορ, επομένως διατρέχει μια δεύτερη αντίσταση, όχι απευθείας στη γείωση. (Η τρέχουσα περιοριστική αντίσταση του LED είναι αρκετά χαμηλή τιμή που είναι ασήμαντη σε αυτόν τον υπολογισμό).

Βήμα 2: Προσθήκη τρανζίστορ, κουμπιών και LED

Προσθήκη τρανζίστορ, κουμπιών και LED
Προσθήκη τρανζίστορ, κουμπιών και LED

Βήμα 3: Προσθήκη αντιστάσεων

Προσθήκη αντιστάσεων
Προσθήκη αντιστάσεων

Βήμα 4: Προσθήκη καλωδίων

Προσθήκη καλωδίων
Προσθήκη καλωδίων
Προσθήκη καλωδίων
Προσθήκη καλωδίων

Ο τρόπος με τον οποίο τροφοδοτώ την πλακέτα μου συνδέει τις ράγες τροφοδοσίας σε ένα εργαστήριο τροφοδοτικό πάγκου ρυθμισμένο σε 5v και 500mA μέγιστο ρεύμα. Το ίδιο είδος εισόδου μπορεί να επιτευχθεί συνδέοντας την ισχύ στις ακίδες 5V και GND ενός Arduino, αλλά πραγματικά λειτουργεί ένα τροφοδοτικό 5v (αν και συνιστάται μια τρέχουσα περιορισμένη για να μειωθεί ο κίνδυνος ανατίναξης εξαρτημάτων).

Βήμα 5: Δοκιμή και αντιμετώπιση προβλημάτων

Τώρα που έχει κολλήσει, θα σας αφήσω να δοκιμάσετε το δικό σας. Εάν πατήσετε το ένα ή το άλλο κουμπί, η λυχνία LED θα ανάψει. Εάν πιέζονται και τα δύο, ωστόσο, τότε το LED θα σβήσει.

Κοινά Προβλήματα

  1. Εάν μια είσοδος φαίνεται να μην λειτουργεί όπως θα έπρεπε, και στην περίπτωση που και οι δύο είσοδοι είναι ενεργοποιημένες εξακολουθεί να παρέχει μηδέν, ελέγξτε την τάση στην είσοδο της πύλης AND που προέρχεται από την πύλη OR όταν πιέζεται αυτό το κουμπί. Εάν είναι χαμηλή (<2V), μειώστε την αντίσταση της αντίστασης που πηγαίνει από το OR στην πύλη AND.
  2. Εάν η πύλη εξακολουθεί να λειτουργεί σαν μια πύλη OR, αυτό σημαίνει ότι όταν και οι δύο είσοδοι στην έξοδο είναι ενεργοποιημένη, ελέγξτε την τάση που εισέρχεται στην είσοδο της πύλης AND που προέρχεται από την πύλη NAND. Εάν αυτό είναι υψηλό όταν πατήσετε και τα δύο κουμπιά, βεβαιωθείτε ότι τα τρανζίστορ σας στην πύλη AND λειτουργούν και ελέγξτε την αντίσταση από εκεί στη γείωση όταν πατήσετε και τα δύο κουμπιά. Εάν αυτή η αντίσταση είναι υψηλή και/ή αυτή η τάση είναι χαμηλή, αντικαταστήστε αυτά τα δύο τρανζίστορ ή μειώστε την αντίσταση των εισόδων στις πύλες NAND.

Βήμα 6: Θέλετε περισσότερα;

Αν σας άρεσε αυτό το Instructable προχωρήστε και δείτε το βιβλίο μου στο Amazon με τίτλο "The Beginners Guide to Arduino". Περνά πάνω από τις βασικές αρχές κυκλώματος καθώς και τον κώδικα C ++ που χρησιμοποιείται για τον προγραμματισμό ενός Arduino.

Συνιστάται: