Πίνακας περιεχομένων:
- Βήμα 1: Εισαγωγή
- Βήμα 2: Χρησιμοποιημένοι πόροι
- Βήμα 3: Χρησιμοποιείται κύκλωμα
- Βήμα 4: Η τάση εξόδου εξαρτάται από την παραλλαγή του ψηφιακού ποτενσιόμετρου X9C103
- Βήμα 5: Έλεγχος του X9C103
- Βήμα 6: Συνδέσεις
- Βήμα 7: Λήψη στο παλμογράφο των ράμπων πάνω και κάτω
- Βήμα 8: Αναμενόμενο έναντι ανάγνωσης
- Βήμα 9: Διόρθωση
- Βήμα 10: Αναμενόμενο έναντι ανάγνωσης μετά από διόρθωση
- Βήμα 11: Εκτέλεση προγράμματος σε C#
- Βήμα 12: Περιμένετε το μήνυμα Ramp START
- Βήμα 13: Πηγαίος κώδικας ESP32 - Παράδειγμα μιας συνάρτησης διόρθωσης και της χρήσης της
- Βήμα 14: Σύγκριση με προηγούμενες τεχνικές
- Βήμα 15: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Δηλώσεις και ρύθμιση ()
- Βήμα 16: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Βρόχος ()
- Βήμα 17: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Βρόχος ()
- Βήμα 18: ΚΩΔΙΚΟΣ ESP32 SOURCE - Pulse ()
- Βήμα 19: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C # - Εκτέλεση προγράμματος σε C #
- Βήμα 20: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C# - Βιβλιοθήκες
- Βήμα 21: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C # - Χώρος ονομάτων, κλάση και καθολικός
- Βήμα 22: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C# - RegPol ()
- Βήμα 23:
- Βήμα 24: Κατεβάστε τα αρχεία
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Σήμερα θα μιλήσουμε για την "αυτοματοποιημένη βαθμονόμηση ESP32 ADC". Μπορεί να φαίνεται πολύ τεχνικό θέμα, αλλά νομίζω ότι είναι πολύ σημαντικό για εσάς να το γνωρίζετε λίγο.
Αυτό συμβαίνει επειδή δεν αφορά μόνο το ESP32, ή ακόμα και τη βαθμονόμηση ADC μόνο, αλλά μάλλον όλα όσα περιλαμβάνουν αναλογικούς αισθητήρες που ίσως θέλετε να διαβάσετε.
Οι περισσότεροι αισθητήρες δεν είναι γραμμικοί, οπότε πρόκειται να εισαγάγουμε ένα αυτοματοποιημένο πρωτότυπο βαθμονομητή για αναλογικούς ψηφιακούς μετατροπείς. Επίσης, πρόκειται να κάνουμε μια διόρθωση ενός ESP32 μ. Χ.
Βήμα 1: Εισαγωγή
Υπάρχει ένα βίντεο στο οποίο μιλάω λίγο για αυτό το θέμα: Δεν το ξέρατε; ESP32 ADC ρύθμιση. Τώρα, ας μιλήσουμε με έναν αυτοματοποιημένο τρόπο που σας εμποδίζει να κάνετε ολόκληρη τη διαδικασία πολυωνυμικής παλινδρόμησης. Τσέκαρέ το!
Βήμα 2: Χρησιμοποιημένοι πόροι
· Μπλουζάτορες
· 1x Protoboard
· 1x ESP WROOM 32 DevKit
· 1x καλώδιο USB
· 2x 10k αντιστάσεις
· 1x 6k8 αντίσταση ή 1x 10k μηχανικό ποτενσιόμετρο για ρύθμιση του διαχωριστή τάσης
· 1x X9C103 - 10k ψηφιακό ποτενσιόμετρο
· 1x LM358 - Λειτουργικός ενισχυτής
Βήμα 3: Χρησιμοποιείται κύκλωμα
Σε αυτό το κύκλωμα, το LM358 είναι ένας λειτουργικός ενισχυτής στη διαμόρφωση "buffer τάσης", απομονώνοντας τα δύο διαχωριστικά τάσης έτσι ώστε το ένα να μην επηρεάζει το άλλο. Αυτό επιτρέπει την απόκτηση μιας απλούστερης έκφρασης αφού τα R1 και R2 δεν μπορούν, με καλή προσέγγιση, να θεωρούνται πλέον παράλληλα με το RB.
Βήμα 4: Η τάση εξόδου εξαρτάται από την παραλλαγή του ψηφιακού ποτενσιόμετρου X9C103
Με βάση την έκφραση που λάβαμε για το κύκλωμα, αυτή είναι η καμπύλη τάσης στην έξοδο όταν μεταβάλλουμε το ψηφιακό ποτενσιόμετρο από 0 σε 10k.
Βήμα 5: Έλεγχος του X9C103
· Για τον έλεγχο του ψηφιακού ποτενσιόμετρου X9C103, θα το τροφοδοτούμε με 5V, προερχόμενο από το ίδιο USB που τροφοδοτεί το ESP32, που συνδέεται σε VCC.
· Συνδέουμε τον ακροδέκτη ΕΠΑΝΩ / ΚΑΤΩ στο GPIO12.
· Συνδέουμε το pin INCREMENT στο GPIO13.
· Συνδέουμε το DEVICE SELECT (CS) και το VSS στο GND.
· Συνδέουμε VH / RH στην παροχή 5V.
· Συνδέουμε το VL / RL στο GND.
· Συνδέουμε το RW / VW στην είσοδο του ρυθμιστικού τάσης.
Βήμα 6: Συνδέσεις
Βήμα 7: Λήψη στο παλμογράφο των ράμπων πάνω και κάτω
Μπορούμε να παρατηρήσουμε τις δύο ράμπες που δημιουργούνται από τον κωδικό ESP32.
Οι τιμές της ράμπας ανόδου καταγράφονται και αποστέλλονται στο λογισμικό C# για αξιολόγηση και προσδιορισμό της καμπύλης διόρθωσης.
Βήμα 8: Αναμενόμενο έναντι ανάγνωσης
Βήμα 9: Διόρθωση
Θα χρησιμοποιήσουμε την καμπύλη σφάλματος για να διορθώσουμε το ADC. Για αυτό, θα τροφοδοτήσουμε ένα πρόγραμμα που έγινε σε C#, με τις τιμές του ADC. Θα υπολογίσει τη διαφορά μεταξύ της τιμής ανάγνωσης και της αναμενόμενης, δημιουργώντας έτσι μια καμπύλη ERROR ως συνάρτηση της τιμής ADC.
Γνωρίζοντας τη συμπεριφορά αυτής της καμπύλης, θα γνωρίζουμε το σφάλμα και θα μπορούμε να το διορθώσουμε.
Για να μάθετε αυτήν την καμπύλη, το πρόγραμμα C# θα χρησιμοποιήσει μια βιβλιοθήκη που θα εκτελέσει μια πολυωνυμική παλινδρόμηση (όπως αυτές που εκτελέστηκαν σε προηγούμενα βίντεο).
Βήμα 10: Αναμενόμενο έναντι ανάγνωσης μετά από διόρθωση
Βήμα 11: Εκτέλεση προγράμματος σε C#
Βήμα 12: Περιμένετε το μήνυμα Ramp START
Βήμα 13: Πηγαίος κώδικας ESP32 - Παράδειγμα μιας συνάρτησης διόρθωσης και της χρήσης της
Βήμα 14: Σύγκριση με προηγούμενες τεχνικές
Βήμα 15: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Δηλώσεις και ρύθμιση ()
Βήμα 16: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Βρόχος ()
Βήμα 17: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ESP32 - Βρόχος ()
Βήμα 18: ΚΩΔΙΚΟΣ ESP32 SOURCE - Pulse ()
Βήμα 19: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C # - Εκτέλεση προγράμματος σε C #
Βήμα 20: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C# - Βιβλιοθήκες
Βήμα 21: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C # - Χώρος ονομάτων, κλάση και καθολικός
Βήμα 22: ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΟ C# - RegPol ()
Βήμα 23:
Βήμα 24: Κατεβάστε τα αρχεία
RAR