Θέλω να μοιραστώ το δικό μου σπιτικόπου με εξυπηρετεί εδώ και πάνω από ένα χρόνο τώρα.
Ξεκινώντας να κυριαρχήσει Arduino, Σκέφτηκα τι είδους έργο θα υλοποιηθεί. Θυμήθηκα ότι έχω πολλά φυτά εσωτερικού χώρου τα οποία περιοδικά ξεχνούν να ποτίζουν και το θέμα του ποτίσματος κατά τη διάρκεια των διακοπών και των επαγγελματικών ταξιδιών έχει μια θέση να είναι.
Το σύστημα αποτελείται από τα ακόλουθα στοιχεία:
Η μονάδα ελέγχου είναι η καρδιά του συστήματος. Εδώ είναι οι μπαταρίες, η Arduino, η μονάδα χρόνου DS3231, η οθόνη, οι μετατροπείς τάσης και τα χειριστήρια.
Κοντά στα φυτά είναι ένα δοχείο νερού. Υπάρχουν υποβρύχιες αντλίες στο κάνιστρο που αντλούν νερό μέσα από τους σωλήνες στα φυτά.
Η κατανομή του νερού μεταξύ των φυτών μπορεί να προσαρμοστεί περαιτέρω χρησιμοποιώντας μια χτένα με βρύσες.
Όλα τα τεχνικά στοιχεία του συστήματος μπορούν να κρύβονται πίσω από κουρτίνες και γλάστρες έτσι ώστε να μην είναι πολύ εμφανή
Επισκόπηση συστήματος:
Βασικές παράμετροι συστήματος:
1. Διάρκεια ζωής μπαταρίας περίπου 5 μηνών
2. Το σύστημα υποστηρίζει τον έλεγχο 3 αντλιών. Για κάθε αντλία, μπορείτε να συνδέσετε μια χτένα με 2-4 βρύσες και επιπλέον να ελέγξετε τη ροή του νερού. Συνολικά έχουμε την ευκαιρία να συνδέσουμε μέχρι και 12 μονάδες
3. Ο χρόνος λαμβάνεται από ξεχωριστή ανεξάρτητη μονάδα παρακολούθησης DS3231. Η αντλία ενεργοποιείται κατά την ώρα που καθορίζεται στη ρύθμιση (για παράδειγμα 8:00).
4. Στην οθόνη εμφανίζονται πληροφορίες
5. Οι ρυθμίσεις ποτίσματος υποδεικνύονται στον κώδικα του προγράμματος, αλλά μπορούν να αλλάξουν με αναστροφή του Arduino
Επεξήγηση των πληροφοριών που εμφανίζονται στην οθόνη:
Η πρώτη γραμμή είναι η κεφαλίδα του πίνακα. Κάθε σειρά εμφανίζει πληροφορίες σχετικά με την αντίστοιχη αντλία. Η πρώτη στήλη - δείχνει την περίοδο εργασίας (PR). Για παράδειγμα, με τιμή "5" - η αντλία θα λειτουργεί κάθε 5 ημέρες. Η δεύτερη στήλη είναι η ώρα λειτουργίας (PD) - η ώρα στην αρχή της οποίας η αντλία θα ενεργοποιηθεί. Η τρίτη στήλη είναι ο χρόνος εκτέλεσης (BP) - ο χρόνος λειτουργίας της αντλίας σε δευτερόλεπτα. Η τέταρτη στήλη - ημέρες αριστερά (BEFORE) - δείχνει πόσες μέρες έχουν μείνει μέχρι την επόμενη ενέργεια. Εμφανίζονται επίσης η ημερομηνία και η ώρα.
Το σύστημα δεν έχει ανατροφοδότηση, επομένως οι ρυθμίσεις πρέπει να επιλεγούν εμπειρικά. Είναι καλύτερα να ομαδοποιήσετε φυτά που είναι στενά από την άποψη των απαιτήσεων ύδρευσης (μερικοί ανέχονται την ξηρασία καλά, ενώ άλλοι όπως άφθονο πότισμα) και τα μεγέθη κατσαρόλας.
Οι ρυθμίσεις είναι περίπου οι εξής: κάθε 5 ημέρες ενεργοποιήστε την αντλία στις 8:00 για 30 δευτερόλεπτα.
Παρακάτω θα αναφερθεί σε ποιο τμήμα του κώδικα βρίσκονται αυτές οι ρυθμίσεις.
Στον κωδικό προγράμματος, μπορείτε να απενεργοποιήσετε τη 2η και την 3η αντλία. Σε αυτή την περίπτωση, οι πληροφορίες θα εμφανίζονται μόνο στις αντλίες που περιλαμβάνονται.
Η αυτονομία εξασφαλίζεται από:
• Τροφοδοτείται από 18650 μπαταρίες
• Arduino και πηγαίνει σε βαθύ ύπνο (Powerdown) και ξυπνάει από τον Watshdog
• Ο σταθεροποιητής τάσης Arduino αποκόπτεται από το αριστερό πόδι
• Η οθόνη απενεργοποιείται κατά τη λειτουργία. Για να ενεργοποιήσετε την οθόνη, πρέπει να κρατήσετε το κουμπί αναστολής για περίπου 10 δευτερόλεπτα.
• Όλες οι ενδεικτικές λυχνίες αφαιρούνται από τις μονάδες
Το σύστημα καταναλώνει περίπου 3 mA, 1 αντλία καταναλώνει περίπου 350 mA σε λειτουργία.
Κύρια στοιχεία:
• Δοχείο τροφίμων για στέγαση
• Κινέζικος κλώνος Arduino nano
• Μονάδα πραγματικού χρόνου DS3231
• 18650 μπαταρίες
• Μονάδα ενίσχυσης έως 5V (τρέχουσα περίπου 1Α)
• Κατέβασμα μονάδας μέχρι 3.3V για την τροφοδοσία της οθόνης
• Οθόνη Nokia 5110
• Μονάδα TP4056 για τη φόρτιση (+ προστασία) της μπαταρίας
• Ένδειξη φόρτισης μπαταρίας
• Διάφορα "φριζάρισμα": τρανζίστορ πεδίου, αντιστάσεις, πυκνωτές (ηλεκτρολυτικές και κεραμικές)
• Διακόπτες και κουμπιά
Σχέδιο "τοποθέτησης" της συσκευής:
Επεξηγήσεις σύμφωνα με το καθεστώς:
1. 4 18650 μπαταρίες συνδέονται παράλληλα. Η συνολική χωρητικότητα είναι περίπου 13000 mA / h.
2. Η μπαταρία είναι συνδεδεμένη στη μονάδα φόρτισης και προστασίας TP4056. Η φόρτιση γίνεται μέσω της υποδοχής micro USB από τη φόρτιση του τηλεφώνου. Απαιτείται φόρτιση με ρεύμα τουλάχιστον 1Α. Ο εκτιμώμενος χρόνος πλήρους φόρτισης είναι 13-14 ώρες. Οι ενδεικτικές λυχνίες LED μπορούν να αναβοσβήνουν και να εμφανίζονται στο πλαίσιο.
3. Έπειτα, μέσω του διακόπτη συνδέεται ένας μετατροπέας ώθησης μέχρι 5V. Θα τροφοδοτήσει τα περισσότερα από τα εξαρτήματα του κυκλώματος, συμπεριλαμβανομένων των αντλιών. Με μείωση της στάθμης φόρτισης της μπαταρίας, η τάση μειώνεται από 4.2V σε 2.7V, η οποία δεν επαρκεί για να λειτουργήσει το κύκλωμα. Η μονάδα θα παρέχει σταθερή τάση. Ένα φίλτρο από ηλεκτρολυτικούς και κεραμικούς πυκνωτές τοποθετείται στην έξοδο της μονάδας. Ο ηλεκτρολυτικός πυκνωτής εκτελεί έναν εξομαλυντικό, σταθεροποιητικό ρόλο. Ο κεραμικός πυκνωτής χρησιμοποιείται για την καταπολέμηση παρεμβολών υψηλής συχνότητας. Εάν η μονάδα "μπιπ" τον επαγωγέα κατά τη διάρκεια της λειτουργίας, για την εξάλειψη αυτού του φαινομένου, ένας πρόσθετος ηλεκτρολυτικός πυκνωτής μπορεί να τοποθετηθεί στην είσοδο της μονάδας. Ηλεκτρολυτικοί πυκνωτές χωρητικότητας 1000 microfarads στα 6.3V. Οι κεραμικοί πυκνωτές είναι κατάλληλοι από 1-2 microfarads. Το κύκλωμα που χρησιμοποιήθηκε στα 10 uF, γιατί είχα πολλά επιπλέον.
4. Για να τροφοδοτήσετε την οθόνη, χρειάζεστε τάση 3.3V, έτσι προστίθεται μετατροπέας buck με παρόμοια φίλτρα από πυκνωτές.
5. Μονάδα ρολογιού DS3231, που απαιτείται για πιο ακριβή χρονισμό. Η ενδεικτική λυχνία Power (1) αποσυνδέεται στη μονάδα DS3231. Αυτό γίνεται για σκοπούς εξοικονόμησης ενέργειας. Αν χρησιμοποιείτε συνηθισμένες μπαταρίες (μη επαναφορτιζόμενες), τότε πρέπει να αποσυνδέσετε την αντίσταση (2). Η μονάδα έχει σχεδιαστεί για επαναφορτιζόμενες μπαταρίες, συμπεριλαμβανομένης της φόρτισης. Αν η μπαταρία είναι φυσιολογική, το ρεύμα φόρτισης θα το καταστήσει γρήγορα ακατάλληλο.
6. Ο κύριος εγκέφαλος του συστήματος είναι η πλατφόρμα Arduino nano. Για σκοπούς εξοικονόμησης ενέργειας, πρέπει να αποσυνδέσετε όλες τις λυχνίες LED (ή τουλάχιστον μόνο την Ισχύς) και επίσης να δαγκώσετε το αριστερό πόδι του ρυθμιστή τάσης.
7. Η αντλία ελέγχεται μέσω τρανζίστορ εφέ πεδίου. Οποιοσδήποτε ανοίγει με τάση 5V και είναι σε θέση να αλλάξει ρεύμα από 1A θα κάνει. Αρχικά χρησιμοποίησα τα έτοιμα. (100 Ohm για να προστατέψω το Arduino, 10k Ohm για να τραβήξω το κλείστρο του τρανζίστορ στο έδαφος έτσι ώστε το MOSFET να κλείσει) + επίσης συγκόλλησε τους συνδετήρες KF 301-2P για την στερέωση των συρμάτων
Αργότερα έγινε μια πιο συμπαγής μπαταρία σε AO3400 SMD MOSFETs
Κάπου μέσα σε μισό χρόνο απέτυχαν 2 τρανζίστορ πεδίου-αποτελέσματος. Ο λόγος ήταν ότι, στη λειτουργία πέδησης, ο κινητήρας συλλέκτη λειτουργεί σαν γεννήτρια. Για να προστατέψετε το τρανζίστορ επιδράσεων πεδίου, πρέπει να χρησιμοποιήσετε μια προστατευτική δίοδο. Χρησιμοποίησα 1N4007.
8. Στην οθόνη εμφανίζονται όλες οι πληροφορίες. Για να ξυπνήσετε την οθόνη, πρέπει να κρατήσετε το κουμπί για 10 δευτερόλεπτα. Αν αλλάξετε το λεπτό σε ώρες, το σύστημα θα πάει σε ύπνο και η οθόνη θα απενεργοποιηθεί.
Διαδικασία κατασκευής:
Πρώτα δοκιμάστε ένα breadboard και γράψτε firmware
Στη συνέχεια, συνδέονται τα πάντα με μια αρθρωτή εγκατάσταση
Σήκωσε το σώμα και δοκιμάστηκε με πραγματικές αντλίες
Έχω τρυπήσει τρύπες στην θήκη, ζωγραφισμένα τα πάντα με ένα μαύρο μοτίβο αστάρι και σταθεροποίησαν τα εξαρτήματα για την τήξη με κόλλα
Πρόσθετα σημεία συναρμολόγησης:
• Ένα δοχείο νερού πρέπει πάντα να βρίσκεται κάτω από τις γλάστρες, διαφορετικά υπάρχει κίνδυνος να συνεχίσει να ρέει νερό μετά την απενεργοποίηση των αντλιών.
• Η απόσταση από το κάτω μέρος του δοχείου μέχρι το άκρο του σωλήνα δεν πρέπει να υπερβαίνει τα 70 cm. Θα είναι πιο δύσκολο για την αντλία να ανεβάσει το νερό σε μεγαλύτερο ύψος.
• Σε μια μίνι αντλία με Ali, οι διαφανείς σωλήνες 6x1,5 mm είναι τέλειοι
• Είναι σημαντικό το άνοιγμα της αντλίας εισαγωγής νερού να μην ακουμπά στο τοίχωμα της δεξαμενής νερού, διαφορετικά δεν θα υπάρξει κανονική πίεση.
• Μη χρησιμοποιείτε εξαρτήματα σιδήρου (σφιγκτήρες, σύρμα κλπ.) Για να στερεώσετε τον εύκαμπτο σωλήνα στην αντλία. Όλα σκουριάζουν πολύ γρήγορα.
• Η αντλία έχει βραχυκύκλωμα. Πιθανότατα θα πρέπει να αυξηθούν. Για να σφραγίσετε τα καλώδια, είναι καλύτερο να χρησιμοποιήσετε τη θερμοκολλημένη κόλλα και στην κορυφή να συρρικνωθεί.
Η λογική του προγράμματος:
• Ο Arduino ξεφεύγει από τον ύπνο
• Οι αναγνώσεις μονάδων DS3231 (ημερομηνία και ώρα) αντιστοιχίζονται σε μεταβλητές
• Όταν αλλάξει η ημερομηνία, αλλάζει η τιμή του μετρητή των προηγούμενων ημερών
• Αν η περίοδος εργασίας (ρύθμιση) συμπίπτει με τον αριθμό των ημερών που πέρασαν, η ώρα ελέγχεται
• Εάν η ώρα (ρύθμιση) και η ώρα από τη μονάδα χρόνου συμπίπτουν, ενεργοποιήστε την αντλία για το χρονικό διάστημα που καθορίζεται στις ρυθμίσεις
• Ο Arduino πηγαίνει για ύπνο
• Εάν κρατήσετε πατημένο το κουμπί ύπνου, τροφοδοτείται με ενέργεια στην οθόνη και το Arduino ξυπνά
Οι ρυθμίσεις ποτίσματος αναφέρονται εδώ σε αυτό το μέρος του κώδικα:
Εφαρμόζω ένα σκίτσο και βιβλιοθήκες
Σε γενικές γραμμές, είμαι ικανοποιημένος με το σύστημα. Ρυθμίζει τακτικά τα φυτά μου στο περβάζι για περίπου ένα χρόνο. Τώρα έβαλα το σύστημα σε ένα άλλο δωμάτιο, και στη δική μου έβαλα μαζί ένα νέο, πιο βολικό και ενδιαφέρον, αλλά αυτή είναι μια άλλη ιστορία ...