Πίνακας περιεχομένων:
- Βήμα 1: Μέρη, Δοκιμές & Προγραμματισμός
- Βήμα 2: Πολιτικά Έργα
- Βήμα 3: Σύνδεση και τοποθέτηση όλων των εξαρτημάτων
- Βήμα 4: Βαθμονόμηση
- Βήμα 5: Μακροχρόνια χρήση
Βίντεο: Μετρητής επιπέδου δεξαμενής υπερήχων: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Χρειάζεστε παρακολούθηση της στάθμης του υγρού σε πηγάδι μεγάλης διαμέτρου, δεξαμενή ή ανοιχτό δοχείο; Αυτός ο οδηγός θα σας δείξει πώς να φτιάξετε έναν μετρητή στάθμης υγρού σόναρ χωρίς επαφή χρησιμοποιώντας φθηνά ηλεκτρονικά!
Το παραπάνω σκίτσο δείχνει μια επισκόπηση του τι στοχεύσαμε με αυτό το έργο. Το εξοχικό μας έχει πηγάδι μεγάλης διαμέτρου για να παρέχει πόσιμο νερό για χρήση στο σπίτι. Μια μέρα, ο αδερφός μου και εγώ μιλήσαμε για το πώς ο παππούς μας μετρούσε τη στάθμη του νερού χειροκίνητα για να παρακολουθεί την κατανάλωση και την εισροή νερού όλο το καλοκαίρι για να αποφύγει την υπερανάληψη. Πιστεύαμε ότι με τα σύγχρονα ηλεκτρονικά θα πρέπει να είμαστε σε θέση να αναβιώσουμε την παράδοση, αλλά με λιγότερη χειρωνακτική εργασία. Με μερικά κόλπα προγραμματισμού, καταφέραμε να χρησιμοποιήσουμε ένα Arduino με μονάδα σόναρ για να μετρήσουμε την απόσταση μέχρι την επιφάνεια του νερού (l) με λογική αξιοπιστία και ακρίβεια ± μερικών χιλιοστών. Αυτό σήμαινε ότι θα μπορούσαμε να εκτιμήσουμε τον υπόλοιπο όγκο V, χρησιμοποιώντας τη γνωστή διάμετρο D και βάθος L, με ακρίβεια περίπου liter 1 λίτρου.
Επειδή το πηγάδι βρίσκεται περίπου 25 μέτρα από το σπίτι και θέλαμε την οθόνη σε εσωτερικούς χώρους, επιλέξαμε να χρησιμοποιήσουμε δύο Arduinos με σύνδεσμο δεδομένων στο μεταξύ. Μπορείτε εύκολα να τροποποιήσετε το έργο για να χρησιμοποιήσετε μόνο ένα Arduino εάν αυτό δεν ισχύει για εσάς. Γιατί να μην χρησιμοποιήσετε ασύρματη μεταφορά δεδομένων; Εν μέρει λόγω απλότητας και στιβαρότητας (το σύρμα είναι λιγότερο πιθανό να καταστραφεί από την υγρασία) και εν μέρει επειδή θέλαμε να αποφύγουμε τη χρήση μπαταριών από την πλευρά του αισθητήρα. Με ένα καλώδιο, θα μπορούσαμε να δρομολογήσουμε τόσο τη μεταφορά δεδομένων όσο και την ισχύ μέσω του ίδιου καλωδίου.
1) Ενότητα Arduino στο σπίτιΑυτή είναι η κύρια μονάδα Arduino. Θα στείλει ένα σήμα σκανδάλης στο Arduino στο πηγάδι, θα λάβει τη μετρούμενη απόσταση και θα εμφανίσει τον υπολογιζόμενο όγκο νερού που απομένει σε μια οθόνη.
2) Λειτουργική μονάδα Arduino και σόναρ Ο σκοπός αυτού του Arduino είναι απλά να λάβει ένα σήμα σκανδάλης από το σπίτι, να εκτελέσει μια μέτρηση και να στείλει πίσω την απόσταση από τη μονάδα σόναρ στην στάθμη του νερού. Τα ηλεκτρονικά είναι ενσωματωμένα σε ένα (σχετικά αεροστεγές) κουτί, με έναν πλαστικό σωλήνα προσαρτημένο στην πλευρά λήψης της μονάδας σόναρ. Ο σκοπός του σωλήνα είναι να μειώσει τα σφάλματα μέτρησης μειώνοντας το οπτικό πεδίο έτσι ώστε μόνο η επιφάνεια του νερού να «φαίνεται» από τον δέκτη.
Βήμα 1: Μέρη, Δοκιμές & Προγραμματισμός
Χρησιμοποιήσαμε τα ακόλουθα μέρη σε αυτό το έργο:
- 2 x Arduino (ένα για τη μέτρηση της στάθμης του υγρού, ένα για την εμφάνιση των αποτελεσμάτων σε μια οθόνη)
- Ένα βασικό τροφοδοτικό 12V
- Υπομονάδα υπερήχων (σόναρ) HC-SR04
- Μονάδα οθόνης LED MAX7219
- Καλώδιο τηλεφώνου 25 m (4 καλώδια: Ισχύς, γείωση και 2 σήματα δεδομένων)
- Κουτί τοποθέτησης
- Ζεστή κόλλα
- Κόλλα μετάλλων
Κόστος ανταλλακτικών: Περίπου 70 €
Για να βεβαιωθούμε ότι όλα λειτούργησαν όπως θα έπρεπε, κάναμε πρώτα όλα κολλήσεις, καλωδιώσεις και απλές δοκιμές πάγκου. Υπάρχουν πολλά παραδείγματα προγραμμάτων για τον αισθητήρα υπερήχων και τη μονάδα LED στο διαδίκτυο, οπότε απλά τα χρησιμοποιήσαμε για να βεβαιωθούμε ότι η μετρηθείσα απόσταση έχει νόημα (εικόνα 1) και ότι μπορέσαμε να πιάσουμε την αντανάκλαση υπερήχων από την επιφάνεια του νερού- τοποθεσία (εικόνα 2). Πραγματοποιήσαμε επίσης μια ενδελεχή δοκιμή του συνδέσμου δεδομένων για να βεβαιωθούμε ότι λειτουργεί ποτέ για μεγάλες αποστάσεις, κάτι που αποδείχθηκε ότι δεν ήταν καθόλου πρόβλημα.
Μην υποτιμάτε τον χρόνο που δαπανάται σε αυτό το βήμα, καθώς είναι ζωτικής σημασίας να γνωρίζετε ότι το σύστημα λειτουργεί πριν κάνετε προσπάθεια να τοποθετήσετε τα πάντα όμορφα σε κουτιά, να σκάψετε καλώδια κλπ.
Κατά τη διάρκεια των δοκιμών, συνειδητοποιήσαμε ότι η μονάδα σόναρ παίρνει μερικές φορές μια αντανάκλαση ήχου από άλλα μέρη του πηγαδιού, όπως τα πλευρικά τοιχώματα και ο σωλήνας παροχής νερού, και όχι η επιφάνεια του νερού. Αυτό σήμαινε ότι η μετρημένη απόσταση ξαφνικά θα ήταν πολύ μικρότερη από την πραγματική απόσταση από τη στάθμη του νερού. Δεδομένου ότι δεν μπορούμε απλώς να χρησιμοποιήσουμε τον μέσο όρο για να εξομαλύνουμε αυτόν τον τύπο σφάλματος μέτρησης, αποφασίσαμε να απορρίψουμε τυχόν νέες μετρημένες αποστάσεις που ήταν πολύ διαφορετικές από την τρέχουσα εκτίμηση απόστασης. Αυτό δεν είναι προβληματικό αφού αναμένουμε ότι η στάθμη του νερού θα αλλάξει μάλλον αργά ούτως ή άλλως. Κατά την εκκίνηση, αυτή η μονάδα θα κάνει μια σειρά μετρήσεων και θα επιλέξει τη μεγαλύτερη τιμή που λαμβάνεται (δηλαδή τη χαμηλότερη στάθμη νερού) ως το πιο πιθανό σημείο εκκίνησης. Μετά από αυτό, εκτός από την απόφαση "διατήρηση/απόρριψη", χρησιμοποιείται μια μερική ενημέρωση του εκτιμώμενου επιπέδου για να εξομαλυνθούν τυχαία σφάλματα μέτρησης. Είναι επίσης σημαντικό να επιτρέψουμε να εξαφανιστούν όλες οι ηχώ πριν από μια νέα μέτρηση - τουλάχιστον στην περίπτωσή μας όπου οι τοίχοι είναι κατασκευασμένοι από σκυρόδεμα και επομένως πολύ ηχώ.
Την τελική έκδοση του κώδικα που χρησιμοποιήσαμε για τα δύο Arduinos μπορείτε να βρείτε εδώ:
github.com/kelindqv/arduinoUltrasonicTank
Βήμα 2: Πολιτικά Έργα
Δεδομένου ότι το πηγάδι μας βρισκόταν σε απόσταση από το σπίτι, έπρεπε να δημιουργήσουμε μια μικρή τάφρο στο γκαζόν στο οποίο θα τοποθετήσουμε το καλώδιο.
Βήμα 3: Σύνδεση και τοποθέτηση όλων των εξαρτημάτων
Συνδέστε τα πάντα όπως ήταν κατά τη διάρκεια των δοκιμών και ελπίζουμε ότι εξακολουθεί να λειτουργεί! Θυμηθείτε να ελέγξετε ότι ο πείρος TX στο ένα Arduino πηγαίνει στο RX του άλλου και αντίστροφα. Όπως φαίνεται στην εικόνα 1, χρησιμοποιήσαμε το τηλεφωνικό καλώδιο για να τροφοδοτήσουμε το Arduino στο πηγάδι, για να αποφύγουμε τη χρήση μπαταριών.
Η δεύτερη και η τρίτη εικόνα δείχνει τη διάταξη του πλαστικού σωλήνα, με τον πομπό τοποθετημένο έξω από τον σωλήνα και τον δέκτη τοποθετημένο μέσα (ναι, αυτή ήταν μια άβολη θέση λήψης …)
Βήμα 4: Βαθμονόμηση
Έχοντας βεβαιωθεί ότι η απόσταση από τον αισθητήρα έως τη στάθμη του νερού έχει υπολογιστεί σωστά, η βαθμονόμηση ήταν απλώς θέμα μέτρησης της διαμέτρου του φρεατίου και του συνολικού βάθους, ώστε να μπορεί να υπολογιστεί ο όγκος του ρευστού. Προσαρμόσαμε επίσης τις παραμέτρους του αλγορίθμου (χρόνος μεταξύ μετρήσεων, παράμετροι μερικής ενημέρωσης, αριθμός αρχικών μετρήσεων) για να δώσουμε μια ισχυρή και ακριβή μέτρηση.
Πόσο καλά λοιπόν παρακολουθούσε ο αισθητήρας τη στάθμη του υγρού;
Θα μπορούσαμε εύκολα να δούμε ένα αποτέλεσμα να ξεπλένουμε τη βρύση για λίγα λεπτά ή να ξεπλένουμε την τουαλέτα, κάτι που θέλαμε. Μπορούμε ακόμη να δούμε ότι το πηγάδι ξαναγεμίζει με σχετικά προβλέψιμο ρυθμό για μια νύχτα - όλα με μια μόνο ματιά στην οθόνη. Επιτυχία!
Σημείωση:- Η μετατροπή χρόνου-απόστασης προς το παρόν δεν διορθώνεται για αλλαγές στην ταχύτητα του ήχου λόγω διακυμάνσεων της θερμοκρασίας. Αυτό θα μπορούσε να είναι μια ωραία μελλοντική προσθήκη, αφού οι θερμοκρασίες στο πηγάδι θα ποικίλουν αρκετά!
Βήμα 5: Μακροχρόνια χρήση
Ενημέρωση 1 έτους: Ο αισθητήρας λειτουργεί άψογα χωρίς σημάδια διάβρωσης ή ζημιάς παρά το υγρό περιβάλλον! Το μόνο ζήτημα κατά τη διάρκεια του έτους ήταν ότι η συμπύκνωση συσσωρεύεται στον αισθητήρα κατά τη διάρκεια του κρύου καιρού (το χειμώνα), κάτι που προφανώς μπλοκάρει τον αισθητήρα. Αυτό δεν είναι ζήτημα στην περίπτωσή μας, καθώς χρειαζόμαστε μόνο ανάγνωση το καλοκαίρι, αλλά οι άλλοι χρήστες ίσως χρειαστεί να γίνουν δημιουργικοί!:) Η μόνωση ή ο εξαερισμός είναι πιθανώς εφικτές λύσεις. Καλή εφεύρεση!
Συνιστάται:
Δημιουργήστε έναν αναγνώστη όγκου δεξαμενής σε λιγότερο από $ 30 χρησιμοποιώντας ESP32: 5 βήματα (με εικόνες)
Δημιουργήστε ένα πρόγραμμα ανάγνωσης όγκου δεξαμενής σε λιγότερο από $ 30 χρησιμοποιώντας το ESP32: Το Διαδίκτυο των Πραγμάτων έφερε πολλές παλιότερα πολύπλοκες εφαρμογές συσκευών στα σπίτια πολλών βιοτεχνών και οινοπαραγωγών. Εφαρμογές με αισθητήρες στάθμης έχουν χρησιμοποιηθεί για δεκαετίες σε μεγάλα διυλιστήρια, εγκαταστάσεις επεξεργασίας νερού και χημικές
Απλός μετρητής πυκνωτή Autorange / μετρητής χωρητικότητας με Arduino και στο χέρι: 4 βήματα
Απλός μετρητής πυκνωτή Autorange / μετρητής χωρητικότητας με Arduino και στο χέρι: Γεια! Για αυτήν τη μονάδα φυσικής χρειάζεστε:* τροφοδοτικό με 0-12V* έναν ή περισσότερους πυκνωτές* μία ή περισσότερες αντιστάσεις φόρτισης* χρονόμετρο* πολύμετρο τάσης μέτρηση* arduino nano* οθόνη 16x2 I²C* αντιστάσεις 1 / 4W με 220, 10k, 4.7M και
Αισθητήρας υγρού επιπέδου (με χρήση υπερήχων): 5 βήματα
Αισθητήρας υγρού επιπέδου (με χρήση υπερήχων): Ο αισθητήρας υγρού επιπέδου ανιχνεύει το επίπεδο του υγρού από το επίπεδο του εδάφους. Ενεργοποιεί τον κινητήρα (απαιτεί ενισχυτή οδηγού κινητήρα) κάτω από μια δεδομένη τιμή και τον απενεργοποιεί πάνω από μια δεδομένη τιμή μετά την πλήρωση του υγρού. Χαρακτηριστικά αυτού του συστήματος: Λειτουργεί με οποιαδήποτε λειτουργία
Μετρητής υπερηχητικής δεξαμενής βρόχινου νερού: 10 βήματα (με εικόνες)
Υπερηχητικός μετρητής χωρητικότητας δεξαμενής βροχής: Εάν είστε κάτι σαν εμένα και έχετε λίγη περιβαλλοντική συνείδηση (ή είστε απλώς πεταλούδες που θέλουν να εξοικονομήσουν λίγα δολάρια - το οποίο είμαι και εγώ …), μπορεί να έχετε μια δεξαμενή νερού βροχής. Έχω μια δεξαμενή για να μαζέψω τη μάλλον σπάνια βροχή που πέφτουμε
Φοβερός μετρητής επιπέδου LED: 7 βήματα
Φοβερός μετρητής επιπέδου LED: Αυτή θα ήταν η είσοδός μου στο διαγωνισμό "Get the LED Out", αλλά ήμουν πολύ αργός. Βαρέθηκα μια μέρα. Wantedθελα να φτιάξω κάτι δροσερό. Μια γρήγορη ανταλλαγή ιδεών και τίποτα δεν προέκυψε. Σκαλίζοντας τα σκουπίδια μου, βρήκα ένα παλιό κιτ μετρητή επιπέδου