Οι αντιστάσεις έλξης είναι απαραίτητες σε πολλά ψηφιακά κυκλώματα. Ας μιλήσουμε για το πώς λειτουργούν οι αντιστάσεις έλξης και πώς να τις χρησιμοποιήσετε.
Εικόνα που δημιουργεί ένα ψηφιακό κύκλωμα όπου απαιτείται ένα κουμπί για να ανάψει ένα LED. Συνδέετε σωστά το κύκλωμα, συνδέοντας το ένα άκρο του κουμπιού σε μια ψηφιακή είσοδο και γείωση στο άλλο. Όταν τελικά τροφοδοτήσετε με ρεύμα, παρατηρείτε ότι το LED ανάβει και σβήνει χωρίς να πατήσετε το διακόπτη.
Εάν έχετε παρατηρήσει ποτέ καταστάσεις όπως αυτή, είναι πιθανό να ξεχάσατε να προσθέσετε μια αντίσταση έλξης στο ψηφιακό σας κύκλωμα. Τι ακριβώς είναι λοιπόν μια pull-up αντίσταση; Πώς λειτουργεί και πώς το χρησιμοποιείτε;
Τι είναι μια αντίσταση έλξης;
Μια pull-up αντίσταση είναι μια αντίσταση που προσθέτετε σε ένα ψηφιακό κύκλωμα για να αποφύγετε ανεπιθύμητα σήματα που μπορεί να επηρεάσουν τη λογική ή τον προγραμματισμό του κυκλώματος σας. Είναι ένας τρόπος να προκαταλάβετε ή να τραβήξετε μια γραμμή εισόδου σε θετικό ή VCC όταν καμία άλλη ενεργή συσκευή δεν οδηγεί τη γραμμή. Τραβώντας τη γραμμή στο VCC, ουσιαστικά ορίζετε την προεπιλεγμένη κατάσταση της γραμμής σε 1 ή true.
Ο ορισμός μιας προεπιλεγμένης κατάστασης για όλες τις ακίδες εισόδου είναι σημαντικός για την αποφυγή τυχαίων σημάτων που δημιουργούνται κατά την αιωρούμενη κατάσταση. Ένας ακροδέκτης εισόδου βρίσκεται σε κατάσταση αιώρησης όταν αποσυνδεθεί από μια ενεργή πηγή, όπως γείωση ή VCC.
Οι αντιστάσεις έλξης χρησιμοποιούνται συνήθως σε ψηφιακά κυκλώματα που χρησιμοποιούν μικροελεγκτές και υπολογιστές με μία πλακέτα.
Πώς λειτουργεί μια αντίσταση έλξης σε ένα κύκλωμα
Όταν χρησιμοποιείτε στιγμιαίο διακόπτη σε ψηφιακό κύκλωμα, το πάτημα του διακόπτη θα προκαλέσει το κλείσιμο του κυκλώματος και τη μετάδοση true ή high στον μικροελεγκτή. Ωστόσο, η απεμπλοκή του διακόπτη δεν θα σταματήσει απαραίτητα την ακίδα εισόδου να στέλνει τέτοια σήματα.
Αυτό συμβαίνει επειδή η διακοπή της σύνδεσης μέσω ενός διακόπτη σημαίνει ότι δεν είναι πλέον συνδεδεμένη με τίποτα άλλο εκτός από τον αέρα. Αυτό αναγκάζει τη γραμμή να βρίσκεται σε κατάσταση αιώρησης, όπου τα σήματα από το περιβάλλον θα μπορούσαν ενδεχομένως να αναγκάσουν την ακίδα να ανέβει ψηλά ανά πάσα στιγμή.
Για να σταματήσετε να καταχωρούνται αυτά τα αδέσποτα σήματα στο κύκλωμά σας, θα πρέπει να εγχύσετε τη γραμμή εισόδου με αρκετή τάση ώστε να συνεχίσει να καταγράφει υψηλή όταν δεν ανιχνεύεται πλέον γείωση. Ωστόσο, δεν μπορείτε να συνδέσετε απευθείας το VCC στη γραμμή εισόδου, καθώς το κύκλωμα θα βραχυκυκλωθεί μόλις ο διακόπτης/αισθητήρας συνδέσει τη γραμμή με τη γείωση.
Για να αποφύγετε βραχυκύκλωμα της τάσης έλξης, θα χρειαστεί να χρησιμοποιήσετε μια αντίσταση. Έχοντας τη σωστή τιμή αντίστασης θα διασφαλιστεί ότι η αιωρούμενη γραμμή θα έχει αρκετή τάση για να ανέβει ψηλά ενώ αρκετά χαμηλή ώστε να μην βραχυκυκλώσει πρόωρα το κύκλωμα. Το μέγεθος της αντίστασης θα εξαρτηθεί από τον λογικό τύπο που χρησιμοποιεί το κύκλωμά σας.
Εξήγηση των λογικών οικογενειών
Για να υπολογίσετε σωστά την τιμή αντίστασης της αντίστασης έλξης, θα πρέπει να γνωρίζετε ποιο λογικό τύπο χρησιμοποιεί το κύκλωμά σας για να λειτουργήσει. Η λογική οικογένεια που χρησιμοποιεί το κύκλωμά σας θα υπαγορεύσει την τιμή αντίστασης που χρειάζεται η αντίσταση έλξης σας.
Υπάρχουν διάφοροι τύποι λογικής. Εδώ είναι μερικά από αυτά:
Συντομογραφία |
Ονομα |
Παραδείγματα κυκλωμάτων |
Ελάχ. V σε |
Max V απενεργοποιημένο |
---|---|---|---|---|
CMOS |
Συμπληρωματικός ημιαγωγός οξειδίου μετάλλου |
DSP, ADC, DAC, PPL |
3.5 |
1.5 |
TTL |
Τρανζίστορ-Τρανζίστορ Λογική |
Ψηφιακά ρολόγια, προγράμματα οδήγησης LED, μνήμη |
2.0 |
0.8 |
ECL |
Λογική Εκπομπού-Συζευγμένη |
Ραντάρ, λέιζερ, επιταχυντές σωματιδίων |
-1.5 |
-1.8 |
DTL |
Λογική Διόδου-Τρανζίστορ |
Flip-flops, καταχωρητές, ταλαντωτές |
0.7 |
0.2 |
Εάν δεν είστε βέβαιοι ποια οικογένεια λογικής χρησιμοποιείτε, είναι πολύ πιθανό το κύκλωμά σας να χρησιμοποιεί λογικές οικογένειες CMOS ή TTL, καθώς το ECL και το DTL έχουν από καιρό ξεπεραστεί. Οι σημάνσεις τσιπ με προθέματα που χρησιμοποιούν "74" ή "54" είναι συνήθως τσιπ TLL, ενώ οι σημάνσεις τσιπ με "CD" ή "MC" υποδεικνύουν ένα τσιπ CMOS. Εάν εξακολουθείτε να μην είστε σίγουροι, μπορείτε εύκολα να μάθετε ποια οικογένεια λογικής χρησιμοποιεί ο ελεγκτής σας κάνοντας μια γρήγορη αναζήτηση για το φύλλο δεδομένων του στο διαδίκτυο.
Πώς να υπολογίσετε την τιμή της αντίστασης έλξης
Τώρα που καταλαβαίνετε τους διαφορετικούς τύπους λογικών οικογενειών και τις ελάχιστες τάσεις ενεργοποίησης και μέγιστης απενεργοποίησης τους, μπορούμε τώρα να προχωρήσουμε στον υπολογισμό των τιμών για την αντίσταση έλξης.
Για να υπολογίσετε τη σωστή τιμή αντίστασης, θα χρειαστείτε τρεις τιμές. Η ελάχιστη τάση της λογικής οικογένειας που χρησιμοποιεί το κύκλωμά σας, η τάση τροφοδοσίας του κυκλώματος και το ρεύμα διαρροής εισόδου, που μπορείτε να βρείτε στο φύλλο δεδομένων ή από χρησιμοποιώντας ένα πολύμετρο.
Αφού έχετε όλες τις μεταβλητές, μπορείτε απλά να τις συνδέσετε στον ακόλουθο τύπο:
Τιμή αντίστασης = (τάση τροφοδοσίας - λογική υψηλή τάση) / ρεύμα διαρροής εισόδου
Για παράδειγμα, ας υποθέσουμε ότι το κύκλωμά σας χρησιμοποιεί TTL και η γραμμή εισόδου χρησιμοποιεί 100uA στα 5V. Γνωρίζουμε ότι το TTL χρειάζεται τουλάχιστον 2 V για να ανέβει ψηλά και μέγιστο 0,8 βολτ για να ανέβει χαμηλά. Αυτό θα σήμαινε ότι η σωστή τάση που εξέρχεται από την αντίσταση έλξης θα πρέπει να είναι μεταξύ 3V και 4V, καθώς η τάση πρέπει να είναι μεγαλύτερη από 2V αλλά όχι μεγαλύτερη από την τάση τροφοδοσίας που είναι 5V.
Οι τιμές που δίνουμε θα είναι:
- Τάση τροφοδοσίας = 5 V
- Λογική υψηλή τάση = 4V
- Ρεύμα διαρροής εισόδου = 100μA ή 0,0001A
Τώρα που έχουμε τις μεταβλητές, ας τις συνδέσουμε στον τύπο:
(5V - 4V) / 100μA = 10.000 ohms
Η αντίσταση έλξης μας πρέπει να είναι 10.000 ohms (10 kilohms ή 10kΩ).
Πώς να χρησιμοποιήσετε μια αντίσταση έλξης σε ένα κύκλωμα
Οι αντιστάσεις έλξης χρησιμοποιούνται συνήθως σε ψηφιακά κυκλώματα για την αποφυγή ανεπιθύμητων παρεμβολών στον ψηφιακό προγραμματισμό ενός κυκλώματος. Μπορείτε να χρησιμοποιήσετε αντιστάσεις έλξης εάν το ψηφιακό κύκλωμα χρησιμοποιεί διακόπτες και αισθητήρες ως συσκευές εισόδου. Επίσης, οι αντιστάσεις έλξης θα είναι αποτελεσματικές μόνο εάν οι ακίδες εισόδου είναι συνδεδεμένες στη γείωση. Εάν οι ακίδες εισόδου είναι συνδεδεμένες στο VCC, ίσως θελήσετε να χρησιμοποιήσετε συρόμενες αντιστάσεις.
Για να χρησιμοποιήσετε μια αντίσταση έλξης, θα χρειαστεί να εντοπίσετε τη γραμμή εισόδου που συνδέεται με μια συσκευή εισόδου. Μόλις εντοπιστεί, θα θελήσετε να υπολογίσετε την τιμή της αντίστασής σας χρησιμοποιώντας τον τύπο που συζητήθηκε προηγουμένως. Εάν το κύκλωμά σας δεν απαιτεί πραγματικά μεγάλη ακρίβεια, μπορείτε απλά να χρησιμοποιήσετε τιμές αντίστασης που κυμαίνονται από 1kΩ έως 10kΩ.
Τώρα που έχετε την αντίστασή σας με την κατάλληλη τιμή, μπορείτε να τοποθετήσετε το ένα άκρο της αντίστασης έλξης στο VCC και το ένα άκρο μεταξύ της συσκευής εισόδου και του MCU. Συγχαρητήρια! Τώρα ξέρετε τι είναι η pull-up αντίσταση και πώς να τη χρησιμοποιήσετε.
Ορισμένοι μικροελεγκτές, όπως οι πλακέτες Arduino και SBC, όπως το Raspberry Pi, έχουν εσωτερικές αντιστάσεις έλξης που μπορείτε να ενεργοποιήσετε στον κώδικα αντί για εξωτερικές αντιστάσεις έλξης.
Ενισχύστε τις γνώσεις σας μέσω της εμπειρίας
Συνοπτικά, μια αντίσταση έλξης είναι ένα σημαντικό στοιχείο που βοηθά στην προστασία του κυκλώματος σας από κοντινές παρεμβολές. Ρυθμίζοντας την προεπιλεγμένη κατάσταση μιας ακίδας εισόδου σε υψηλή, αποτρέπει την παρεμβολή τυχαίων σημάτων στη λογική ή τον προγραμματισμό του κυκλώματος σας. Και τώρα που ξέρετε πώς να χρησιμοποιήσετε ένα, ίσως θέλετε να ενισχύσετε τις νέες γνώσεις σας εφαρμόζοντάς τις στα επόμενα έργα σας.