- Βασικά στοιχεία του Op-Amp
- Ο προγραμματιζόμενος ενισχυτής κέρδους λειτουργεί
- Απαιτούμενα στοιχεία
- Σχηματικό διάγραμμα
- Κωδικός Arduino για PGA
- Υπολογισμοί για προγραμματιζόμενο ενισχυτή κέρδους
- Δοκιμή κυκλώματος προγραμματιζόμενου ενισχυτή κέρδους
- Πλεονεκτήματα και μειονεκτήματα του προγραμματιζόμενου ενισχυτή κέρδους
- Περαιτέρω βελτίωση
Στη βιομηχανία μέτρησης, ένα πολύ κρίσιμο λειτουργικό μπλοκ είναι ένας προγραμματιζόμενος ενισχυτής κέρδους (PGA). Εάν είστε λάτρεις των ηλεκτρονικών ειδών ή φοιτητής πανεπιστημίου, πιθανότατα έχετε δει ένα πολύμετρο ή παλμογράφο που μετρά πολύ μικρές τάσεις πολύτιμα, επειδή το κύκλωμα διαθέτει ενσωματωμένο PGA παράλληλα με ένα ισχυρό ADC που βοηθά στην ακριβή διαδικασία μέτρησης.
Σήμερα, εκτός από το ράφι ο ενισχυτής PGA προσφέρει έναν ενισχυτή που βασίζεται σε op-amp, έναν μη αναστρέψιμο με προγραμματιζόμενο από τον χρήστη συντελεστή κέρδους. Αυτός ο τύπος συσκευής έχει πολύ υψηλή αντίσταση εισόδου, μεγάλο εύρος ζώνης και επιλέξιμη αναφορά τάσης εισόδου ενσωματωμένη στο IC. Αλλά όλες αυτές οι λειτουργίες έχουν κόστος, και για μένα, δεν αξίζει να βάλεις αυτό το δαπανηρό τσιπ για μια γενική εφαρμογή.
Έτσι, για να ξεπεράσω αυτές τις καταστάσεις, έχω βρει μια ρύθμιση που αποτελείται από Op-amp, MOSFET και Arduino, μέσω των οποίων κατάφερα να αλλάξω το κέρδος του op-amp μέσω προγραμματισμού. Έτσι, σε αυτό το σεμινάριο, θα σας δείξω πώς να φτιάξετε τον δικό σας Προγραμματιζόμενο ενισχυτή κέρδους με έναν LM358 op-amp και MOSFETS και θα συζητήσω μερικά πλεονεκτήματα και μειονεκτήματα του κυκλώματος παράλληλα με τη δοκιμή.
Βασικά στοιχεία του Op-Amp
Για να κατανοήσετε τη λειτουργία αυτού του κυκλώματος, είναι πολύ σημαντικό να γνωρίζετε πώς λειτουργεί ένας ενισχυτής λειτουργίας. Μάθετε περισσότερα για το Op-amp ακολουθώντας αυτό το κύκλωμα δοκιμής op-amp.
Στο παραπάνω σχήμα, μπορείτε να δείτε έναν λειτουργικό ενισχυτή. Η βασική δουλειά ενός ενισχυτή είναι να ενισχύσει ένα σήμα εισόδου, παράλληλα με την ενίσχυση, το op-amp μπορεί επίσης να κάνει διάφορες λειτουργίες όπως άθροισμα, διαφοροποίηση, ενσωμάτωση κ.λπ. Μάθετε περισσότερα για τον ενισχυτή αθροίσματος και τον διαφορικό ενισχυτή εδώ.
Το Op-amp έχει μόνο τρία τερματικά. Το τερματικό με το σύμβολο (+) ονομάζεται είσοδος μη αναστροφής και το τερματικό με το σύμβολο (-) ονομάζεται είσοδος αντιστροφής. Εκτός από αυτά τα δύο τερματικά, το τρίτο τερματικό είναι το τερματικό εξόδου.
Το op-amp ακολουθεί μόνο δύο κανόνες
- Δεν ρέει ρεύμα μέσα ή έξω από τις εισόδους op-amp.
- Το op-amp προσπαθεί να διατηρήσει τις εισόδους στα ίδια επίπεδα τάσης.
Έτσι, με την εκκαθάριση αυτών των δύο κανόνων, μπορούμε να αναλύσουμε τα παρακάτω κυκλώματα. Επίσης, μάθετε περισσότερα για το Op-amp περνώντας από διάφορα κυκλώματα που βασίζονται σε Op-amp.
Ο προγραμματιζόμενος ενισχυτής κέρδους λειτουργεί
Η παραπάνω εικόνα σας δίνει μια βασική ιδέα για τη διάταξη κυκλώματος του ενισχυτή μου PGA. Σε αυτό το κύκλωμα, το op-amp έχει διαμορφωθεί ως ενισχυτής που δεν αναστρέφει και όπως όλοι γνωρίζουμε με μια διάταξη κυκλώματος που δεν αναστρέφει, μπορούμε να αλλάξουμε το κέρδος του op-amp αλλάζοντας την αντίσταση ανάδρασης ή την αντίσταση εισόδου, όπως μπορείτε να δείτε από την παραπάνω διάταξη κυκλώματος, πρέπει απλώς να αλλάξω τα MOSFET ένα κάθε φορά για να αλλάξω το κέρδος του op-amp.
Στην ενότητα δοκιμής, έκανα ακριβώς ότι άλλαξα τα MOSFET ένα κάθε φορά και συνέκρινα τις μετρημένες τιμές με τις πρακτικές τιμές και μπορείτε να παρατηρήσετε τα αποτελέσματα στην ενότητα "Δοκιμή του κυκλώματος" παρακάτω.
Απαιτούμενα στοιχεία
- Arduino Nano - 1
- LM358 IC - 1
- Ρυθμιστής LM7805 - 1
- BC548 Γενικό τρανζίστορ NPN - 2
- BS170 Generic N-channel MOSFET - 2
- 200K Αντίσταση - 1
- Αντίσταση 50K - 2
- Αντίσταση 24K - 2
- Αντίσταση 6,8K - 1
- Αντίσταση 1K - 4
- 4.7K Αντίσταση - 1
- 220R, 1% Αντίσταση - 1
- Tactile Switch Generic - 1
- Amber LED 3mm - 2
- Γενική σανίδα ψωμιού - 1
- Jumper Wires Generic - 10
- Τροφοδοσία ± 12V - 1
Σχηματικό διάγραμμα
Για μια επίδειξη του προγραμματιζόμενου ενισχυτή κέρδους, το κύκλωμα είναι κατασκευασμένο σε μια πλακέτα χωρίς κόλλα με τη βοήθεια του σχηματικού. Για τη μείωση της εσωτερικής παρασιτικής επαγωγής και της χωρητικότητας του ψωμιού, όλα τα εξαρτήματα έχουν τοποθετηθεί όσο το δυνατόν πιο κοντά.
Και αν αναρωτιέστε γιατί υπάρχει ένα σύμπλεγμα καλωδίων στο breadboard μου; επιτρέψτε μου να σας πω ότι είναι μια καλή σύνδεση εδάφους, καθώς οι εσωτερικές συνδέσεις γείωσης σε ένα breadboard είναι πολύ κακές.
Εδώ το op-amp στο κύκλωμα έχει διαμορφωθεί ως ενισχυτής που δεν αναστρέφει και η τάση εισόδου από τον ρυθμιστή τάσης 7805 είναι 4,99V.
Η μετρούμενη τιμή για την αντίσταση R6 είναι 6,75K και το R7 είναι 220,8R. Αυτές οι δύο αντιστάσεις σχηματίζουν ένα διαχωριστικό τάσης που χρησιμοποιείται για τη δημιουργία της τάσης δοκιμής εισόδου για το op-amp. Οι αντιστάσεις R8 και R9 χρησιμοποιούνται για τον περιορισμό του ρεύματος βάσης εισόδου των τρανζίστορ Τ3 και Τ4. Οι αντιστάσεις R10 και R11 χρησιμοποιούνται για τον περιορισμό της ταχύτητας μεταγωγής των MOSFETs T1 & T2, διαφορετικά, μπορεί να προκαλέσει ταλάντωση στο κύκλωμα.
Σε αυτό το blog, θέλω να σας δείξω τον λόγο για τη χρήση ενός MOSFET και όχι ενός BJT, εξ ου και η διάταξη του κυκλώματος.
Κωδικός Arduino για PGA
Εδώ το Arduino Nano χρησιμοποιείται για τον έλεγχο της βάσης του τρανζίστορ και της πύλης των MOSFET και ένα πολύμετρο χρησιμοποιείται για να δείξει τα επίπεδα τάσης, επειδή το ενσωματωμένο ADC του Arduino κάνει πολύ κακή δουλειά, όταν πρόκειται για μέτρηση χαμηλής επίπεδα τάσης.
Ο πλήρης κωδικός Arduino για αυτό το έργο δίνεται παρακάτω. Δεδομένου ότι αυτός είναι ένας πολύ απλός κωδικός Arduino, δεν χρειάζεται να συμπεριλάβουμε βιβλιοθήκες. Αλλά πρέπει να ορίσουμε ορισμένες σταθερές και καρφίτσες εισόδου, όπως φαίνεται στον κώδικα.
Η κενή ρύθμιση () είναι το κύριο λειτουργικό μπλοκ όπου η λειτουργία ανάγνωσης και εγγραφής για όλες τις εισόδους και εξόδους πραγματοποιείται σύμφωνα με τις απαιτήσεις.
# καθορισμός BS170_WITH_50K_PIN 9 # καθορισμός BS170_WITH_24K_PIN 8 # καθορισμός BC548_WITH_24K_PIN 7 # καθορισμός BC548_WITH_50K_PIN 6 # καθορισμός BUTTON_PIN 5 # καθορισμός LED_PIN1 2Define LED_PENED_PED int debounce_counter = 0; άκυρη ρύθμιση () {pinMode (BS170_WITH_50K_PIN, OUTPUT); pinMode (BS170_WITH_24K_PIN, OUTPUT); pinMode (BC548_WITH_24K_PIN, ΕΞΟΔΟΣ); pinMode (BC548_WITH_50K_PIN, OUTPUT); pinMode (LED_PIN1, OUTPUT); pinMode (LED_PIN2, OUTPUT); pinMode (BUTTON_PIN, INPUT); } κενός βρόχος () {bool val = digitalRead (BUTTON_PIN); // διαβάστε την τιμή εισαγωγής εάν (val == LOW) {debounce_counter ++; εάν (debounce_counter> PRESSED_CONFIDENCE_LEVEL) {debounce_counter = 0; button_is_pressed ++; } εάν (button_is_pressed == 0) {digitalWrite (BS170_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_24K_PIN, LOW);digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, LOW); } εάν (button_is_pressed == 2) {digitalWrite (BS170_WITH_24K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, LOW); digitalWrite (LED_PIN2, ΥΨΗΛΟ); } εάν (button_is_pressed == 3) {digitalWrite (BC548_WITH_24K_PIN, HIGH); digitalWrite (BC548_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (LED_PIN1, ΥΨΗΛΟ); digitalWrite (LED_PIN2, ΥΨΗΛΟ); } εάν (button_is_pressed == 1) {digitalWrite (BC548_WITH_50K_PIN, HIGH); digitalWrite (BS170_WITH_50K_PIN, LOW); digitalWrite (BS170_WITH_24K_PIN, LOW); digitalWrite (BC548_WITH_24K_PIN, LOW); digitalWrite (LED_PIN1, ΥΨΗΛΟ);digitalWrite (LED_PIN2, LOW); } εάν (button_is_pressed> = 4) {button_is_pressed = 0; }}}
Υπολογισμοί για προγραμματιζόμενο ενισχυτή κέρδους
Οι μετρημένες τιμές για το κύκλωμα ενισχυτή PGA φαίνονται παρακάτω.
Vin = 4.99V R7 = 220.8 Ω R6 = 6.82 KΩ R5 = 199.5K R4 = 50.45K R3 = 23.99K R2 = 23.98K R1 = 50.5K
Σημείωση! Οι μετρημένες τιμές της αντίστασης εμφανίζονται επειδή με τις μετρηθείσες τιμές αντίστασης μπορούμε να συγκρίνουμε στενά τις θεωρητικές τιμές και τις πρακτικές τιμές.
Τώρα ο υπολογισμός από τον υπολογιστή διαχωριστή τάσης φαίνεται παρακάτω,
Η έξοδος του διαχωριστή τάσης είναι 0,1564V
Υπολογισμός του κέρδους του μη αναστρέψιμου ενισχυτή για τις 4 αντιστάσεις
Vout όταν το R1 είναι η επιλεγμένη αντίσταση
Vout = (1+ (199.5 / 50.5)) * 0.1564 = 0.77425V
Vout όταν το R2 είναι η επιλεγμένη αντίσταση
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755V
Vout όταν το R3 είναι η επιλεγμένη αντίσταση
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701V
Vout όταν το R4 είναι η επιλεγμένη αντίσταση
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486V
Έκανα όλα αυτά για να συγκρίνω τις θεωρητικές και πρακτικές τιμές όσο το δυνατόν πιο κοντά.
Με όλους τους υπολογισμούς που γίνονται, μπορούμε να προχωρήσουμε στην ενότητα δοκιμών.
Δοκιμή κυκλώματος προγραμματιζόμενου ενισχυτή κέρδους
Η παραπάνω εικόνα σας δείχνει την τάση εξόδου όταν το MOSFET T1 είναι ενεργοποιημένο, επομένως το ρεύμα ρέει μέσω του Resistor R1.
Η παραπάνω εικόνα σας δείχνει την τάση εξόδου όταν το Transistor T4 είναι ενεργοποιημένο, επομένως το ρεύμα ρέει μέσω του Resistor R4.
Η παραπάνω εικόνα σας δείχνει την τάση εξόδου όταν το MOSFET T2 είναι ενεργοποιημένο, επομένως το ρεύμα ρέει μέσω του Resistor R2.
Η παραπάνω εικόνα σας δείχνει την τάση εξόδου όταν το Transistor T3 είναι ενεργοποιημένο, επομένως το ρεύμα ρέει μέσω του Resistor R3.
Όπως μπορείτε να δείτε από το σχηματικό σχήμα ότι τα T1, T2 είναι MOSFET και T3, T4 είναι τρανζίστορ. Έτσι, όταν χρησιμοποιούνται MOSFET, το σφάλμα βρίσκεται σε εύρος 1 έως 5 mV, αλλά όταν τα τρανζίστορ χρησιμοποιούνται ως διακόπτες, λαμβάνουμε ένα σφάλμα σε εύρος 10 έως 50 mV.
Με τα παραπάνω αποτελέσματα, είναι σαφές ότι το MOSFET είναι η λύση goto για αυτού του είδους την εφαρμογή και ότι τα σφάλματα θεωρητικής και πρακτικής ενδέχεται να προκληθούν λόγω του σφάλματος αντιστάθμισης του op-amp.
Σημείωση! Παρακαλώ σημειώστε ότι έχω προσθέσει δύο LED μόνο για λόγους δοκιμής και δεν μπορείτε να τα βρείτε στο πραγματικό σχήμα, δείχνει δυαδικό κώδικα για να δείξει ποιος ακροδέκτης είναι ενεργός
Πλεονεκτήματα και μειονεκτήματα του προγραμματιζόμενου ενισχυτή κέρδους
Καθώς αυτό το κύκλωμα είναι φθηνό, εύκολο και απλό, μπορεί να εφαρμοστεί σε πολλές διαφορετικές εφαρμογές.
Εδώ το MOSFET χρησιμοποιείται ως διακόπτης για να περάσει όλο το ρεύμα μέσω της αντίστασης στη γείωση, γι 'αυτό το αποτέλεσμα της θερμοκρασίας δεν είναι σίγουρο και με τα περιορισμένα εργαλεία και τον εξοπλισμό δοκιμής μου, δεν μπόρεσα να σας δείξω τα αποτελέσματα διαφορετικής θερμοκρασίας στο το κύκλωμα.
Ο στόχος της χρήσης ενός BJT παράλληλα με τα MOSFET είναι επειδή θέλω να σας δείξω πόσο φτωχό μπορεί να είναι ένα BJT για αυτό το είδος εφαρμογής.
Οι τιμές των αντιστάσεων ανάδρασης και των αντιστάσεων εισόδου πρέπει να βρίσκονται στο εύρος KΩ, διότι με χαμηλότερες τιμές αντίστασης, περισσότερο ρεύμα θα ρέει μέσω του MOSFET, επομένως θα πέφτει περισσότερη τάση στο MOSFET προκαλώντας απρόβλεπτα αποτελέσματα.
Περαιτέρω βελτίωση
Το κύκλωμα μπορεί να τροποποιηθεί περαιτέρω για να βελτιώσει την απόδοσή του, όπως μπορούμε να προσθέσουμε το φίλτρο για να απορρίψουμε τους θορύβους υψηλής συχνότητας.
Καθώς το LM358 jelly bean op-amp χρησιμοποιείται σε αυτό το τεστ, τα σφάλματα αντιστάθμισης του op-amp παίζουν σημαντικό ρόλο στην τάση εξόδου. Επομένως, μπορεί να βελτιωθεί περαιτέρω χρησιμοποιώντας έναν ενισχυτή οργάνων και όχι ένα LM358.
Αυτό το κύκλωμα κατασκευάζεται μόνο για σκοπούς επίδειξης μόνο. Εάν σκέφτεστε να χρησιμοποιήσετε αυτό το κύκλωμα σε μια πρακτική εφαρμογή, θα πρέπει να χρησιμοποιήσετε ένα op-amp τύπου ελικόπτερο και αντίσταση υψηλής ακρίβειας 0,1 ohms για να επιτύχετε απόλυτη σταθερότητα.
Ελπίζω να σας άρεσε αυτό το άρθρο και να μάθετε κάτι νέο από αυτό. Εάν έχετε οποιαδήποτε αμφιβολία, μπορείτε να ρωτήσετε στα παρακάτω σχόλια ή να χρησιμοποιήσετε τα φόρουμ μας για λεπτομερή συζήτηση.