6
Γεια σε όλους!
Ξεκίνησα ένα μικρό project με Arduino για την αυτοματοποίηση της τουαλέτας με αφορμή το γατί μου, που κάνει κανονικά την ανάγκη της στην τουαλέτα σαν σωστή κυρία!
Σε γενικές γραμμές, ένας αισθητήρας PIR αντιλαμβάνεται την κίνηση, και ένα servo σηκώνει τη φούσκα μέσα στο καζανάκι.
Πιο συγκεκριμένα λειτουργεί ως εξής:
- Με το που ξεκινάει η συσκευή γίνεται initialization του PIR (αναμονή 2') πριν πέσει σε sleep. Αναβοσβήνουν τα δύο LED εναλλάξ...
- Με το που ανιχνευθεί κίνηση έχουμε 3’ για να τραβήξει το καζανάκι.
- Ένα LED αναβοσβήνει σε όλο το χρόνο αναμονής για να γίνει αντιληπτή η κατάσταση της λειτουργίας του.
- Στο τελευταίο λεπτό δίνει και ηχητική ένδειξη η οποία γίνεται πιο συχνή τα τελευταία 30"
- Μέσα στο χρόνο αναμονής έχουμε τη δυνατότητα να ακυρώσουμε το τράβηγμα πατώντας το σχετικό push button (Flush Cancel).
- Αν μέσα στο χρόνο αναμονής ο αισθητήρας αντιληφθεί και άλλη κίνηση τότε έχουμε παράταση ακόμη 3’.
- Το servo κάνει μια κίνηση περίπου 84° και επανέρχεται στη θέση του (0°) μετά από 1".
- Αν η μπαταρία είναι χαμηλή τότε δεν κάνει τίποτα και πέφτει πάλι σε sleep mode.
- Όσο βρίσκεται σε sleep mode μπορούμε να ελέγξουμε την κατάσταση φορτίου (SoC) της μπαταρίας μέσω ενός LED πατώντας το αντίστοιχο push button (Batt. Check). Η κατάσταση δίνεται μέσα από έναν αριθμό blinks ανάλογων του ποσοστού του SoC.
- Κατά τον έλεγχο της μπαταρίας, μπορούμε να ελέγξουμε και τη λειτουργία του servo πατώντας σε σύντομο χρόνο το "Flush Cancel").
Το όλο project υλοποιείται με ένα Arduino Pro Mini (η έκδοση χωρίς το jumper για τον regulator) έχοντας στο μυαλό την μικρότερη δυνατή κατανάλωση καθώς κατά 99% θα τροφοδοτείται από μπαταρία, οπότε προσπαθώ να κόψω όσο γίνεται τις όποιες καταναλώσεις.
Έχω λάβει επίσης υπόψη μου το περιβάλλον που θα λειτουργεί οπότε το servo, και τα κουμπιά είναι αδιάβροχα, κλπ.
Προς το παρόν το project βρίσκεται ακόμη στο breadboard, κάνω ακόμη και κάποιο debugging και μαζέματα...
Εκκρεμούν ακόμη η κατασκευή στήριξης του servo μέσα στο καζανάκι, του PIR καθώς και η εκτύπωση 3D μιας θήκης για το PIRβ¦
Το PIR θα είναι έτσι τοποθετημένο (γωνία 90°) ώστε να μην βλέπει όλο το χώρο αλλά την τουαλέτα. Εκτός αυτού
θα πρέπει επίσης να περιοριστεί η γωνία, ο χώρος που βλέπει ώστε να μην ενεργοποιείται ασκόπως.
Ψάχνω και εναλλακτική μήπως υπάρχει και κάποιος ποιο κατάλληλος αισθητήρας. Εξαρχής απέρριψα τους αισθητήρες υπερήχων καθώς υπάρχει περίπτωση να ενοχλείται το αγαπητό μου τετράποδο.
Επίσης δεν έχω αποφασίσει ακόμη τι μπαταρίες θα χρησιμοποιήσω καθώς πρέπει πρώτα να καταλήξω πρώτα με τις μετρήσεις των καταναλώσεων και τις απαραίτητες εκτιμήσεις... Η αλήθεια είναι ότι τείνω σε μπαταρία μολύβδου καθώς μπορώ να τη χειριστώ ευκολότερα παρόλα τα μειονεκτήματα της.
Ο τύπος της μπαταρίας θα καθορίσει το κύκλωμα μέτρησης και ίσως φόρτισης, και φυσικά τον κώδικα που αυτή τη στιγμή απουσιάζει.
Αν είναι εφικτό θα ήθελα να ασχολούμαι όσο λιγότερο γίνεται με τις μπαταρίες... (Αυτή τη στιγμή τροφοδοτείται από ένα τροφοδοτικό 3 A στα 5,2 V από κάποια περιφερειακό υπολογιστή).
Ενδεικτικά προς το παρόν μόνο με την αφαίρεση του power LED αλλά με τον regulator του Pro Mini:
Power On: 25,3 - 25,5 mA
With servo: 41,7 - 48,9 mA
Sleep: 9,5 mA (5,2 mA after servo - λογικά σφάλμα του πολύμετρου)
Αν ρίξω την ταχύτητα στο μισό (clock_prescale_set(clock_div_2)) κερδίζω 5,4 mA αλλά δεν λειτουργεί το servo (προφανώς πρέπει να προσαρμόσω το min & max pulse width).
Η μέτρηση του servo είναι σίγουρα λάθος καθώς δεν μπόρεσε να δουλέψει με το πολύμετρο. Δεν έκανε ούτε κιχ. Από το datasheet του (KS-3518 ) ξέρω ότι μπορεί να τραβήξει 7W στα 7,4 V, και πιο συγκεκριμένα δίνει τα εξής:
- Running current (at no load): 170 +/- 30 mA στα 4,8 V ή 200 +/-30mA στα 6 V
- Stall current (at locked): 2,5 +/-0,5 A στα 4,8 V ή 4 +/-0,5 A στα 6 V
- Idle current (at stopped): 8 +/- 1 mA στα 4,8 V ή 8 +/-1 mA στα 6 V
Μια και δεν θέλει κάποια ιδιαίτερη δύναμη το ρεύμα που θα τραβάει θα είναι κάτι περισσότερα από τα 170 - 200 mA και αυτά για 1" - 2".
Σε ό,τι αφορά εμένα, δεν έχω ιδέα από τον μαγικό αναλογικό κόσμο. Έχω μάθει και καταλαβαίνω κάποια βασικά πράγματα ή έστω έχω πλέον αίσθηση του τι παίζει και τι πρέπει να κάνω αλλά δεν μπορώ να μπω ακόμη σε λεπτομέρειες, και φυσικά απουσιάζει και εξοπλισμός...
Μερικά έχουν υλοποιηθεί κατόπιν συμβουλών από άνθρωπο που ξέρει (π.χ. οι πυκνωτές για φιλτράρισμα στην είσοδο), αλλά και ένα σωρό άρθρα που κυκλοφορούν π.χ. από τη sparkfun, Nick Gammon, κλπ.
Ο κώδικας βρίσκεται εδώ:
https://create.arduino.cc/editor/Ste...a8f00b/preview
Το σχηματικό:
JP1: "Battery Check" push button
JP2: "Flush Cancel" push button
JP5: Servo KS-3518
JP6: Flushing LED
JP7: Battery LED
JP8: HC-SR501 PIR Sensor
JP9: Active Buzzer
Για τη δίοδο "D1" δεν είμαι σίγουρος ότι είναι σωστή με το servo...