Πίνακας περιεχομένων:

Μετρητής επιπέδου δεξαμενής υπερήχων: 5 βήματα (με εικόνες)
Μετρητής επιπέδου δεξαμενής υπερήχων: 5 βήματα (με εικόνες)

Βίντεο: Μετρητής επιπέδου δεξαμενής υπερήχων: 5 βήματα (με εικόνες)

Βίντεο: Μετρητής επιπέδου δεξαμενής υπερήχων: 5 βήματα (με εικόνες)
Βίντεο: Πώς να κάνεις καλά πράγματα να σου συμβούν. Ακουστικό βιβλίο 2024, Ιούλιος
Anonim
Μετρητής επιπέδου δεξαμενής υπερήχων
Μετρητής επιπέδου δεξαμενής υπερήχων
Μετρητής επιπέδου δεξαμενής υπερήχων
Μετρητής επιπέδου δεξαμενής υπερήχων

Χρειάζεστε παρακολούθηση της στάθμης του υγρού σε πηγάδι μεγάλης διαμέτρου, δεξαμενή ή ανοιχτό δοχείο; Αυτός ο οδηγός θα σας δείξει πώς να φτιάξετε έναν μετρητή στάθμης υγρού σόναρ χωρίς επαφή χρησιμοποιώντας φθηνά ηλεκτρονικά!

Το παραπάνω σκίτσο δείχνει μια επισκόπηση του τι στοχεύσαμε με αυτό το έργο. Το εξοχικό μας έχει πηγάδι μεγάλης διαμέτρου για να παρέχει πόσιμο νερό για χρήση στο σπίτι. Μια μέρα, ο αδερφός μου και εγώ μιλήσαμε για το πώς ο παππούς μας μετρούσε τη στάθμη του νερού χειροκίνητα για να παρακολουθεί την κατανάλωση και την εισροή νερού όλο το καλοκαίρι για να αποφύγει την υπερανάληψη. Πιστεύαμε ότι με τα σύγχρονα ηλεκτρονικά θα πρέπει να είμαστε σε θέση να αναβιώσουμε την παράδοση, αλλά με λιγότερη χειρωνακτική εργασία. Με μερικά κόλπα προγραμματισμού, καταφέραμε να χρησιμοποιήσουμε ένα 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 έτους: Ο αισθητήρας λειτουργεί άψογα χωρίς σημάδια διάβρωσης ή ζημιάς παρά το υγρό περιβάλλον! Το μόνο ζήτημα κατά τη διάρκεια του έτους ήταν ότι η συμπύκνωση συσσωρεύεται στον αισθητήρα κατά τη διάρκεια του κρύου καιρού (το χειμώνα), κάτι που προφανώς μπλοκάρει τον αισθητήρα. Αυτό δεν είναι ζήτημα στην περίπτωσή μας, καθώς χρειαζόμαστε μόνο ανάγνωση το καλοκαίρι, αλλά οι άλλοι χρήστες ίσως χρειαστεί να γίνουν δημιουργικοί!:) Η μόνωση ή ο εξαερισμός είναι πιθανώς εφικτές λύσεις. Καλή εφεύρεση!

Συνιστάται: