- Απαιτούμενα συστατικά:
- Επεξήγηση κυκλώματος:
- 555 Γεννήτρια τετραγωνικού κύματος με βάση το χρονόμετρο
- Πύλη Schmitt Trigger:
- Το Arduino μετρά την ικανότητα:
- Περίληψη και δοκιμές:
Όταν συναντάμε πλακέτες κυκλωμάτων που έχουν προηγουμένως σχεδιαστεί ή βγάζουμε έναν από την παλιά τηλεόραση ή τον υπολογιστή, σε προσπάθεια επισκευής του. Και μερικές φορές πρέπει να γνωρίζουμε την χωρητικότητα ενός συγκεκριμένου πυκνωτή στον πίνακα για να εξαλείψουμε το σφάλμα. Τότε αντιμετωπίζουμε ένα πρόβλημα να λάβουμε την ακριβή τιμή του πυκνωτή από την πλακέτα, ειδικά αν πρόκειται για συσκευή επιφανειακής τοποθέτησης. Μπορούμε να αγοράσουμε εξοπλισμό για τη μέτρηση της χωρητικότητας, αλλά όλες αυτές οι συσκευές είναι δαπανηρές και όχι για όλους. Έχοντας αυτό κατά νου, θα σχεδιάσουμε έναν απλό μετρητή χωρητικότητας Arduino για τη μέτρηση της χωρητικότητας των άγνωστων πυκνωτών.
Αυτός ο μετρητής μπορεί να κατασκευαστεί εύκολα και επίσης οικονομικά αποδοτικός. Θα κάνουμε το Capacitance Meter χρησιμοποιώντας Arduino Uno, Schmitt trigger gate και 555 IC timer.
Απαιτούμενα συστατικά:
- 555 χρονόμετρο IC
- IC 74HC14 Schmitt trigger gate ή NOT gate.
- 1K Ω αντίσταση (2 τεμάχια), 10KΩ αντίσταση
- Πυκνωτής 100nF, πυκνωτής 1000μF
- LCD 16 * 2,
- Breadboard και μερικοί σύνδεσμοι.
Επεξήγηση κυκλώματος:
Το διάγραμμα κυκλώματος του μετρητή χωρητικότητας χρησιμοποιώντας το Arduino φαίνεται στο παρακάτω σχήμα. Το κύκλωμα είναι απλό, μια οθόνη LCD διασυνδέεται με το Arduino για την εμφάνιση της μετρούμενης χωρητικότητας του πυκνωτή. Ένα κύκλωμα γεννήτριας τετραγωνικού κύματος (555 σε λειτουργία Astable) συνδέεται με το Arduino, όπου έχουμε συνδέσει τον πυκνωτή του οποίου η χωρητικότητα πρέπει να μετρηθεί. Μια πύλη σκανδάλης Schmitt (IC 74LS14) χρησιμοποιείται για να διασφαλιστεί ότι τροφοδοτείται μόνο το ορθογώνιο κύμα στο Arduino. Για το φιλτράρισμα του θορύβου έχουμε προσθέσει μερικούς πυκνωτές σε ισχύ.
Αυτό το κύκλωμα μπορεί να μετρήσει με ακρίβεια χωρητικότητα από 10nF έως 10uF.
555 Γεννήτρια τετραγωνικού κύματος με βάση το χρονόμετρο
Πρώτα απ 'όλα θα μιλήσουμε για τη γεννήτρια τετραγωνικών κυμάτων βασισμένου στο χρονοδιακόπτη 555, ή θα έπρεπε να πω το 555 Astable Multivibrator. Γνωρίζουμε ότι η χωρητικότητα ενός πυκνωτή δεν μπορεί να μετρηθεί απευθείας σε ένα ψηφιακό κύκλωμα, με άλλα λόγια το UNO ασχολείται με ψηφιακά σήματα και δεν μπορεί να μετρήσει την χωρητικότητα απευθείας. Χρησιμοποιούμε λοιπόν κύκλωμα γεννήτριας τετραγωνικών κυμάτων 555 για τη σύνδεση του πυκνωτή με τον ψηφιακό κόσμο.
Με απλά λόγια, ο χρονοδιακόπτης παρέχει έξοδο τετραγωνικού κύματος της οποίας η συχνότητα σχετίζεται άμεσα με την χωρητικότητα που συνδέεται με αυτό. Πρώτα λοιπόν λαμβάνουμε το σήμα τετραγωνικού κύματος του οποίου η συχνότητα είναι η αντιπροσωπευτική της χωρητικότητας του άγνωστου πυκνωτή και τροφοδοτούμε αυτό το σήμα στο UNO για να λάβουμε την κατάλληλη τιμή.
Γενική διαμόρφωση 555 σε λειτουργία Astable όπως φαίνεται στο παρακάτω σχήμα:
Η συχνότητα σήματος εξόδου εξαρτάται από RA, RB αντιστάσεις και πυκνωτή C. Η εξίσωση δίνεται ως, Συχνότητα (F) = 1 / (Χρονική περίοδος) = 1,44 / ((RA + RB * 2) * C).
Εδώ τα RA και RB είναι τιμές αντίστασης και το C είναι τιμή χωρητικότητας. Βάζοντας τις τιμές αντίστασης και χωρητικότητας στην παραπάνω εξίσωση λαμβάνουμε τη συχνότητα του τετραγωνικού κύματος εξόδου.
Θα συνδέσουμε το 1KΩ ως RA και το 10KΩ ως RB. Έτσι ο τύπος γίνεται, Συχνότητα (F) = 1 / (Χρονική περίοδος) = 1,44 / (21000 * C).
Αναδιατάσσοντας τους όρους που έχουμε, Χωρητικότητα C = 1,44 / (21000 * F)
Στον Κωδικό Προγράμματος (βλ. Παρακάτω), για να λάβουμε με ακρίβεια την τιμή χωρητικότητας έχουμε υπολογίσει το αποτέλεσμα σε nF πολλαπλασιάζοντας τα ληφθέντα αποτελέσματα (σε farads) με "1000000000". Επίσης, χρησιμοποιήσαμε το «20800» αντί του 21000, επειδή οι ακριβείς αντιστάσεις RA και RB είναι 0,98K και 9,88K.
Έτσι, αν γνωρίζουμε τη συχνότητα του τετραγωνικού κύματος, μπορούμε να πάρουμε την τιμή χωρητικότητας.
Πύλη Schmitt Trigger:
Τα σήματα που παράγονται από το κύκλωμα χρονοδιακόπτη δεν είναι απολύτως ασφαλή για να δοθούν απευθείας στο Arduino Uno. Έχοντας κατά νου την ευαισθησία του UNO, χρησιμοποιούμε Schmitt trigger gate. Η πύλη ενεργοποίησης Schmitt είναι μια ψηφιακή πύλη λογικής.
Αυτή η πύλη παρέχει OUTPUT με βάση το επίπεδο τάσης INPUT. Ένα Schmitt Trigger έχει ένα επίπεδο τάσης THERSHOLD, όταν το σήμα INPUT που εφαρμόζεται στην πύλη έχει ένα επίπεδο τάσης υψηλότερο από το THRESHOLD της λογικής πύλης, το OUTPUT πηγαίνει HIGH. Εάν το επίπεδο σήματος τάσης INPUT είναι χαμηλότερο από το THRESHOLD, το OUTPUT της πύλης θα είναι χαμηλό. Με αυτό δεν παίρνουμε συνήθως τη σκανδάλη Schmitt ξεχωριστά, έχουμε πάντα μια πύλη ΔΕΝ μετά την σκανδάλη Schmitt. Η εργασία Schmitt Trigger εξηγείται εδώ: Schmitt Trigger Gate
Θα χρησιμοποιήσουμε το τσιπ 74HC14, αυτό το τσιπ έχει 6 πύλες Schmitt Trigger σε αυτό. Αυτές οι SIX πύλες συνδέονται εσωτερικά όπως φαίνεται στο παρακάτω σχήμα.
Ο Πίνακας Αλήθειας της πύλης Inverted Schmitt Trigger φαίνεται στο παρακάτω σχήμα, με αυτό πρέπει να προγραμματίσουμε το UNO για την αντιστροφή των θετικών και αρνητικών χρονικών περιόδων στα τερματικά του.
Συνδέουμε το σήμα που παράγεται από το κύκλωμα χρονοδιακόπτη στην πύλη ST, θα έχουμε ορθογώνιο κύμα ανεστραμμένων χρονικών περιόδων στην έξοδο που είναι ασφαλές να δοθεί στο UNO.
Το Arduino μετρά την ικανότητα:
Το Uno έχει μια ειδική λειτουργία pulseIn , η οποία μας επιτρέπει να προσδιορίσουμε τη διάρκεια θετικής κατάστασης ή τη διάρκεια αρνητικής κατάστασης ενός συγκεκριμένου ορθογώνιου κύματος:
Htime = pulseIn (8, ΥΨΗΛΟΣ); Ltime = pulseIn (8, LOW);
Η λειτουργία pulseIn μετρά το χρόνο για τον οποίο υπάρχει υψηλό ή χαμηλό επίπεδο στο PIN8 του Uno. Η συνάρτηση pulseIn μετρά αυτόν τον Υψηλό Χρόνο (Χρόνος) και Χαμηλό Χρόνο (Ltime) σε μικρο δευτερόλεπτα Όταν προσθέτουμε Htime και Ltime μαζί θα έχουμε τη Διάρκεια Κύκλου, και αναστρέφοντάς μας θα έχουμε τη Συχνότητα.
Μόλις έχουμε τη συχνότητα, μπορούμε να πάρουμε τη χωρητικότητα χρησιμοποιώντας τον τύπο που συζητήσαμε νωρίτερα.
Περίληψη και δοκιμές:
Συνοπτικά λοιπόν, συνδέουμε τον άγνωστο πυκνωτή στο κύκλωμα χρονοδιακόπτη 555, το οποίο δημιουργεί μια έξοδο τετραγωνικού κύματος της οποίας η συχνότητα σχετίζεται άμεσα με την χωρητικότητα του πυκνωτή. Αυτό το σήμα δίνεται στο UNO μέσω της πύλης ST. Το UNO μετρά τη συχνότητα. Με γνωστή συχνότητα, προγραμματίζουμε το UNO για τον υπολογισμό της χωρητικότητας χρησιμοποιώντας τον τύπο που συζητήθηκε προηγουμένως.
Ας δούμε μερικά αποτελέσματα που πήρα, Όταν συνδέθηκα 1uF ηλεκτρολυτικό πυκνωτή, το αποτέλεσμα είναι 1091,84 nF ~ 1uF. Και το αποτέλεσμα με 0.1uF Polyester Capacitor είναι 107,70 nF ~ 0,1uF
Μετά συνδέθηκα 0.1uF Κεραμικός πυκνωτής και το αποτέλεσμα είναι 100,25 nF ~ 0.1uF. Επίσης το αποτέλεσμα με ηλεκτρολυτικό πυκνωτή 4.7uF είναι 4842.83 nF ~ 4.8uF
Έτσι μπορούμε απλά να μετρήσουμε την Χωρητικότητα οποιουδήποτε πυκνωτή.