- Απαιτείται υλικό:
- Κύκλωμα διαχωριστή τάσης:
- Διάγραμμα κυκλώματος και συνδέσεις:
- Επεξήγηση κωδικοποίησης:
Με μια απλή γνώση του Arduino και του Voltage Divider Circuit, μπορούμε να μετατρέψουμε το Arduino σε ψηφιακό βολτόμετρο και να μετρήσουμε την τάση εισόδου χρησιμοποιώντας το Arduino και μια οθόνη LCD 16x2.
Το Arduino διαθέτει αρκετούς αναλογικούς ακροδέκτες εισόδου που συνδέονται με έναν μετατροπέα αναλογικού σε ψηφιακό (ADC) μέσα στο Arduino. Το Arduino ADC είναι ένας μετατροπέας δέκα bit, που σημαίνει ότι η τιμή εξόδου θα κυμαίνεται από 0 έως 1023. Θα λάβουμε αυτήν την τιμή χρησιμοποιώντας τη λειτουργία analogRead () . Εάν γνωρίζετε την τάση αναφοράς, μπορείτε εύκολα να υπολογίσετε την τάση που υπάρχει στην αναλογική είσοδο. Μπορούμε να χρησιμοποιήσουμε το κύκλωμα διαχωριστή τάσης για να υπολογίσουμε την τάση εισόδου. Μάθετε περισσότερα για το ADC στο Arduino εδώ.
Η μετρούμενη τάση εμφανίζεται στην οθόνη υγρών κρυστάλλων 16x2 (LCD). Έχουμε επίσης δείξει την τάση στο Serial Monitor του Arduino IDE και επιβεβαιώσαμε τη μετρημένη τάση χρησιμοποιώντας το Multimeter.
Απαιτείται υλικό:
- Arduino uno
- LCD 16x2 (Οθόνη υγρών κρυστάλλων)
- 100 k ohm αντίσταση
- 10 k ohm αντίσταση
- Ποτενσιόμετρο 10 k ohm
- ψωμί
- καλώδια αλτών
Κύκλωμα διαχωριστή τάσης:
Πριν μπείτε σε αυτό το κύκλωμα Arduino Voltmeter, ας συζητήσουμε για το Voltage Divider Circuit.
Το διαχωριστικό τάσης είναι ένα κύκλωμα αντίστασης και φαίνεται στο σχήμα. Σε αυτό το δίκτυο αντιστάσεων έχουμε δύο αντιστάσεις. Όπως φαίνεται στο σχήμα, τα R1 και R2 είναι 10k και 100k ohm. Το μεσαίο σημείο του υποκαταστήματος λαμβάνεται ως μέτρηση της εισόδου στο Arduino. Η πτώση τάσης στο R2 ονομάζεται Vout, αυτή είναι η διαιρεμένη τάση του κυκλώματός μας.
ΜΑΘΗΜΑΤΙΚΟΙ τυποι:
Χρησιμοποιώντας τη γνωστή τιμή (δύο τιμές αντίστασης R1, R2 και την τάση εισόδου), μπορούμε να αντικαταστήσουμε την εξίσωση παρακάτω για να υπολογίσουμε την τάση εξόδου.
Vout = Vin (R2 / R1 + R2)
Αυτή η εξίσωση δηλώνει ότι η τάση εξόδου είναι άμεσα ανάλογη με την τάση εισόδου και την αναλογία R1 και R2.
Εφαρμόζοντας αυτήν την εξίσωση στον κώδικα Arduino η τάση εισόδου μπορεί εύκολα να προκύψει. Το Arduino μπορεί να μετρήσει μόνο την τάση εισόδου DC + 55v. Με άλλα λόγια, κατά τη μέτρηση 55V, ο αναλογικός πείρος Arduino θα βρίσκεται στη μέγιστη τάση των 5V, επομένως είναι ασφαλές να μετρηθεί εντός αυτού του ορίου. Εδώ οι τιμές των αντιστάσεων R2 και R1 ορίζονται στα 100000 και 10000, δηλαδή στην αναλογία 100: 10.
Διάγραμμα κυκλώματος και συνδέσεις:
Η σύνδεση για αυτό το ψηφιακό βολτόμετρο Arduino είναι απλή και φαίνεται στο παρακάτω διάγραμμα κυκλώματος:
Οι καρφίτσες DB4, DB5, DB6, DB7, RS και EN των LCD συνδέονται απευθείας με τις καρφίτσες D4, D5, D6, D7, D8, D9 του Arduino Uno
Το κεντρικό σημείο των δύο αντιστάσεων R1 και R2, το οποίο κάνει το κύκλωμα διαχωριστή τάσης, συνδέεται με το Arduino Pin A0. Ενώ τα άλλα 2 άκρα συνδέονται με την τάση εισόδου (τάση προς μέτρηση) και gnd.
Επεξήγηση κωδικοποίησης:
Ο πλήρης κωδικός Arduino για τη μέτρηση της τάσης DC δίνεται στο παρακάτω τμήμα κώδικα. Ο κώδικας είναι απλός και μπορεί εύκολα να γίνει κατανοητός.
Το κύριο μέρος του κώδικα είναι να μετατρέψει και να χαρτογραφήσει την δεδομένη τάση εισόδου σε εμφανιζόμενη τάση εξόδου με τη βοήθεια της παραπάνω δεδομένης εξίσωσης Vout = Vin (R2 / R1 + R2). Όπως αναφέρθηκε προηγουμένως, η τιμή εξόδου του Arduino ADC θα κυμαίνεται από 0 έως 1023 και η μέγιστη τάση εξόδου Arduino είναι 5v, οπότε πρέπει να πολλαπλασιάσουμε την αναλογική είσοδο σε A0 έως 5/1024 για να πάρουμε την πραγματική τάση.
void loop () {int analogvalue = analogRead (A0); temp = (αναλογική τιμή * 5.0) / 1024.0; // ΦΟΡΜΑ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ ΓΙΑ ΜΕΤΑΤΡΟΠΗ ΤΑΣΗΣ input_volt = temp / (r2 / (r1 + r2));
Εδώ έχουμε δείξει τη μετρούμενη τιμή τάσης σε LCD και σειριακή οθόνη του Arduino. Έτσι εδώ στον κωδικό Serial.println χρησιμοποιείται για την εκτύπωση των τιμών στο Serial monitor και lcd.print χρησιμοποιείται για την εκτύπωση των τιμών σε οθόνη LCD 16x2.
Serial.print ("v ="); // εκτυπώνει την τιμή τάσης στη σειριακή οθόνη Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Τάση ="); // εκτυπώνει την τιμή τάσης στην οθόνη LCD lcd.print (input_voltage);
Με αυτόν τον τρόπο μπορούμε εύκολα να υπολογίσουμε την τάση DC χρησιμοποιώντας το Arduino. Ελέγξτε το παρακάτω βίντεο για επίδειξη. Είναι λίγο δύσκολο να υπολογιστεί η τάση AC χρησιμοποιώντας το Arduino, μπορείτε να ελέγξετε το ίδιο εδώ.