Αυτοματισμός για ένα ενυδρείο με τα χέρια σας - διαγράμματα. Απλός ελεγκτής ενυδρείου. Η εμφάνιση της ιδέας της δημιουργίας ενός ενυδρείου

Εφόσον έχω ζωντανά φυτά στο ενυδρείο μου, μια μέρα προέκυψε το ζήτημα του λογικού φωτισμού. Όπως γνωρίζετε, η λάμψη για περισσότερες από 12 ώρες μπορεί να οδηγήσει σε προβλήματα με διάφορους τύπους φυκιών. Τις περισσότερες φορές πράσινο. Και η συντόμευση των «ωρών της ημέρας» ή ο φωτισμός όπως θέλει ο Θεός είναι κακό για τα φυτά.

Αυτή τη στιγμή έχω φωτισμό 1 watt ανά λίτρο στο ενυδρείο μου. Αυτό είναι πολύ, και αν δεν ελέγχετε τον χρόνο ρυθμίζοντας ένα χρονοδιακόπτη πρίζας, πρώτον, ένας τέτοιος φωτισμός είναι πραγματικά χαρά για το πράσινο ρύπανση στο τζάμι, και δεύτερον, ο ηλεκτρικός μετρητής για ένα μήνα προσθέτει ένα σημαντικό ποσό του χρηματικό ισοδύναμο. Και είχα συνεχώς "υπερέκθεση" - μια λάμπα 160 κιλοβάτ ήταν αναμμένη για 14 ώρες την ημέρα.

Όποτε το ανάβω το πρωί, έχει φως στο ενυδρείο μέχρι τα μεσάνυχτα, μιας και είμαι κουκουβάγια, δουλεύω μέχρι αργά, και το ενυδρείο στο γραφείο είναι ευχάριστο στο μάτι. Θα είστε απασχολημένοι και θα ξεχάσετε να το απενεργοποιήσετε. Και καλό είναι να θυμάστε τι ώρα ήταν ενεργοποιημένο σήμερα. Κάντε ένα διάλειμμα από τη δουλειά, θαυμάστε το ενυδρείο, πόσο πράσινα και όμορφα είναι όλα εκεί... Και δεν θέλετε να αποχωριστείτε αυτήν την ομορφιά.

Μια μέρα, αποφάσισα ότι ήταν αρκετά! Είναι απαραίτητο να συστηματοποιήσετε το χρόνο φωτισμού, να ορίσετε ένα σταθερό 10ωρο και όχι περισσότερο! Ναι, πρέπει να ψάξετε για ένα χρονόμετρο πρίζας σε προσφορά! Όπως αποδείχθηκε, δεν είναι σε πώληση και οι πωλητές δεν έχουν ιδέα τι είναι. Και τέλος, καλή επιτυχία! Μόλις το είδα ο ίδιος σε μια βιτρίνα, μόλις μάντεψα ότι ήταν αυτό, το ίδιο! Έτσι μοιάζει.

Μηχανικός χρονοδιακόπτης πρίζας

Είναι προγραμματισμένο για 24 ώρες. Δηλαδή ολόκληρος ο ημερήσιος κύκλος που χρειαζόμαστε. Όπως αποδείχθηκε, ακόμη και η "ξανθιά" μπορεί να τον αντιμετωπίσει χωρίς δυσκολία.

  1. Το πρώτο βήμα είναι ο διακόπτης. Το χρονόμετρο το έχει στο πλάι. Πριν ξεκινήσετε τον προγραμματισμό, θα πρέπει να μεταβείτε στο " πάντα ανοιχτό».
  2. Σηκώστε όλους τους μικρούς μπλε μοχλούς.
  3. Περιστρέψτε τον επιλογέα προγραμματισμού προς την κατεύθυνση του βέλους προς τα δεξιά μέχρι το σημάδι πάνω του να συμπέσει με την τρέχουσα ώρα.
  4. Τώρα ας ξεκινήσουμε τον προγραμματισμό. Κάθε μπλε μοχλός ισούται με 30 λεπτά. Τα κατεβάζουμε ένα ένα πιέζοντάς τα με το δάχτυλό μας. Πρέπει, ας πούμε, να ορίσετε την ώρα από τις 10 το πρωί έως τις 10 το βράδυ. Σε αυτό το χρονικό διάστημα, όλοι οι μοχλοί πρέπει να πατηθούν προς τα κάτω. Ακριβώς στις 10, το χρονόμετρο θα ανάψει τις ηλεκτρικές συσκευές και στις 22, θα τις σβήσει. Ο χρονοδιακόπτης πρίζας θα επαναλαμβάνει αυτό το πρόγραμμα καθημερινά. Αφού ρυθμίσετε το πρόγραμμα, μπορείτε να ξεχάσετε τον χρονομετρητή.

Και αυτό είναι όλο! Η διάρκεια ζωής αυτής της συσκευής είναι 7 χρόνια. Μπορεί να ονομαστεί διαφορετικά, για παράδειγμα, ένας μηχανικός χρονοδιακόπτης. Έχω τελειώσει με τα προβλήματα με τον τυχαίο φωτισμό του ενυδρείου! Ξέχασα πότε τελευταία φοράΚαθάρισα το τζάμι από πράσινες βρωμιές. Το φως είναι αναμμένο αυστηρά για 10 ώρες. Η συσκευή είναι απλή και χωρίς προβλήματα. Συνιστώ σε όλους!

chesdenis 25 Νοεμβρίου 2015 στις 01:02 μ.μ

Σύστημα αυτόματο έλεγχοενυδρείο στο Arduino

  • DIY ή Κάντο μόνος σου

Η εμφάνιση της ιδέας της δημιουργίας ενός ενυδρείου

Έτυχε να ασχοληθώ κυρίως με τον προγραμματισμό .NET και να τον έμαθα παρακάμπτοντας την C++. Αυτός είναι ίσως ο λόγος που δεν γνώρισα ποτέ μικροκυκλώματα και μικροελεγκτές, αν και η επιθυμία να γνωριστώ μαζί τους μεγάλωνε σχεδόν κάθε χρόνο. Ειδικά, τα τελευταία χρόνιαόταν έμαθα για το Arduino. Έπρεπε όμως να σκεφτεί μια ιδέα πρακτική χρήση. Και αυτό το ζήτημα επιλύθηκε γρήγορα.

Υπάρχει ένα ενυδρείο στο δωμάτιό μας και κάθε μέρα έπρεπε να σέρνουμε κάτω από το τραπέζι και να σβήνουμε τα φώτα για τα ψάρια και μετά να τα ανάβουμε το πρωί. Επιπλέον, τα ψάρια έπρεπε να ανάβουν τη θερμάστρα όταν ήταν κρύα και να την σβήνουν όταν ήταν ζεστά. Μερικές φορές η λήθη μου οδηγούσε στο θάνατο των ψαριών στο ενυδρείο και έπρεπε να αγοράσω καινούργια. Τα ψάρια έπρεπε επίσης να αλλάζουν περιοδικά τα 2/3 του νερού. Και για το ενυδρείο μας αυτή η διαδικασία ήταν πολύ μεγάλη και δυσάρεστη.

Το πρώτο πράγμα που έκανα ήταν να κοιτάξω έτοιμες λύσειςαπό ενυδρεία. Υπάρχουν αρκετά από αυτά. Κυρίως αυτά είναι βίντεο στο YouTube. Υπάρχει επίσης αρκετά ενδιαφέροντα άρθρασε geektimes. Αλλά για τον στόχο μου - να μελετήσω και να γνωρίσω τον κόσμο των μικροκυκλωμάτων - ήταν πολύ δύσκολο, και αναλυτικός οδηγόςΤο "από την αρχή" δεν βρέθηκε στο Διαδίκτυο. Η ιδέα της ανάπτυξης ενός ελεγκτή ενυδρείου έπρεπε να αναβληθεί μέχρι να μελετηθούν τα βασικά στοιχεία της μικροηλεκτρονικής.

Εισαγωγή στη μικροηλεκτρονική

Ξεκίνησα το ταξίδι μου με ένα έτοιμο κιτ εκμάθησης Arduino. Μάλλον όλοι συγκέντρωσαν κάτι παρόμοιο όταν γνώρισαν αυτήν την πλατφόρμα:

Ένας συνηθισμένος λαμπτήρας (LED), μια αντίσταση 220 Ohm. Το Arduino ελέγχει τη λάμπα χρησιμοποιώντας έναν αλγόριθμο C++. Επιτρέψτε μου να κάνω μια κράτηση αμέσως ότι αν αγοράσετε κάποια έτοιμο σετΤο Arduino ή το αντίστοιχο του δεν μπορεί να συναρμολογηθεί περισσότερο ή λιγότερο χρήσιμο πράγμα. Λοιπόν, εκτός από ένα tweeter ή, ας πούμε, ένα θερμόμετρο για το σπίτι. Μπορείτε να μελετήσετε την ίδια την πλατφόρμα μέσα από μαθήματα, αλλά τίποτα περισσότερο. Για χρήσιμα πράγματα έπρεπε να κατακτήσω τη συγκόλληση, τις πλακέτες τυπωμένων κυκλωμάτων, τη σχεδίαση πλακέτας τυπωμένου κυκλώματος και άλλες απολαύσεις ηλεκτρονικών.

Κατασκευάζοντας το πρώτο σας πρωτότυπο ενυδρείου

Έτσι, το πρώτο πράγμα που ξεκίνησα με το πρωτότυπο του ενυδρείου μου ήταν να διατυπώσω σε χαρτί τις απαιτήσεις για αυτήν τη συσκευή.

Το ενυδρείο πρέπει:

  1. Λάμψη το πρωί, το απόγευμα, το βράδυ και το βράδυ σε διαφορετικά χρώματα.
  2. Ανάψτε το λευκό φως για τα ψάρια το πρωί και το έντονο φως το απόγευμα λευκό φωςαύξηση, μείωση το βράδυ (απομίμηση φως ημέρας) και το σβήνουμε το βράδυ.
  3. Οι φυσαλίδες αέρα (συμπιεστής ενυδρείου) για τα ψάρια πρέπει να εμφανίζονται μόνο το βράδυ και να σβήνουν τη νύχτα.
  4. Εάν τα ψάρια είναι κρύα, το ενυδρείο πρέπει να λάμπει μπλε, αν είναι ζεστό, τότε κόκκινο.
  5. Τα εύρη θερμοκρασίας πέρα ​​από τα οποία θα πρέπει να ενεργοποιηθεί ο «φωτεινός συναγερμός» πρέπει να είναι προσαρμόσιμα
  6. Το ενυδρείο πρέπει πάντα να εμφανίζει την ημερομηνία και την ώρα.
  7. Τα διαστήματα των ωρών έναρξης και λήξης της ημέρας πρέπει να μπορούν να διαμορφωθούν. Για παράδειγμα, το πρωί δεν ξεκινά πάντα στις 9:00 π.μ.
  8. Το ενυδρείο πρέπει να εμφανίζει πληροφορίες σχετικά με την υγρασία του αέρα και τη θερμοκρασία έξω από το ενυδρείο, καθώς και να εμφανίζει τη θερμοκρασία του νερού μέσα στο ενυδρείο.
  9. Το ενυδρείο πρέπει να ελέγχεται από τηλεχειριστήριο.
  10. Η οθόνη ημερομηνίας θα πρέπει να ανάβει όταν πατάτε το κουμπί του τηλεχειριστηρίου. Εάν δεν πατηθεί τίποτα μέσα σε 5 δευτερόλεπτα, απενεργοποιήστε το.
Αποφάσισα να ξεκινήσω σπουδάζοντας Λειτουργία LCDκαι Arduino.

Δημιουργία του κύριου μενού. Εργασία με LCD

Για LCD αποφάσισα να χρησιμοποιήσω τη βιβλιοθήκη LiquidCrystal. Συμπτωματικά, εκτός από το Arduino, το κιτ μου περιελάμβανε μια οθόνη LCD. Μπορούσε να εμφανίσει κείμενο και αριθμούς. Αυτό ήταν αρκετό και άρχισα να μελετώ τη σύνδεση αυτής της οθόνηςστο Arduino. Πήρα τις βασικές πληροφορίες σύνδεσης από εδώ. Υπάρχουν επίσης παραδείγματα κώδικα για την εμφάνιση του "Hello World".

Έχοντας καταλάβει λίγο την οθόνη, αποφάσισα να δημιουργήσω το κύριο μενού του ελεγκτή. Το μενού αποτελούνταν από τα ακόλουθα στοιχεία:

  1. Βασικές πληροφορίες;
  2. ΡΥΘΜΙΣΗ ΩΡΑΣ;
  3. Ρύθμιση ημερομηνίας.
  4. Θερμοκρασία;
  5. Κλίμα;
  6. Οπίσθιο φωτισμό;
  7. Συσκευές;
Κάθε σημείο είναι συγκεκριμένη λειτουργίαεμφάνιση πληροφοριών σε μια οθόνη κειμένου LCD. Ήθελα να παραδεχτώ τη δυνατότητα δημιουργίας μενού πολλαπλών επιπέδων, όπου κάθε υποεπίπεδο θα έχει τις δικές του υλοποιήσεις εξόδου οθόνης.

Στην πραγματικότητα, μια βασική κλάση γράφτηκε στη C++, από την οποία θα κληρονομηθούν όλα τα άλλα υπομενού.

Κλάση qQuariumMode ( προστατευμένο: LiquidCrystal* LcdLink; δημόσιο: // Για να αποτραπεί το τρεμόπαιγμα της οθόνης, παρέχεται μια μεταβλητή bool isLcdUpdated. bool isLcdUpdated = false; // Έξοδος από υπομενού ή μενού. void exit(); // Η μέθοδος βρόχου Σε κάθε επιλογή υπομενού θα είναι η δική της. Στην πραγματικότητα, είναι υπεύθυνη για την εμφάνιση του κειμένου του // στην οθόνη θα επανακαθοριστεί ξεχωριστά σε κάθε μενού void OkClick(), εικονικό void RightClick();
Για παράδειγμα, για το μενού "Devices", η υλοποίηση της βασικής κλάσης qQuariumMode θα μοιάζει με αυτό:

#include "qQuariumMode.h" κλάση qQuariumDevicesMode: δημόσιο qQuariumMode ( ιδιωτικό: int deviceCategoryLastIndex = 4; // Επιλογές υπομενού στο μενού Συσκευές enum Κατηγορία συσκευής ( MainLight, // έλεγχος του κύριου φωτός Αερισμός, // έλεγχος του αεριστή Συμπιεστής, // Έλεγχος του συμπιεστή Vulcanius , // Έλεγχος της αντλίας // Κατηγορία συσκευής CurrentDeviceCategory = char* headerDeviceCategoryText = NULL (Σύνδεσμος) που χρησιμοποιείται για τον έλεγχο της συσκευής BaseOnOfDeviceHel (); void LeftClick();
Αυτό συνέβη ως αποτέλεσμα της εφαρμογής του πρώτου επιπέδου μενού:

Εξάρτημα υλικού. Αποχρώσεις των εξαρτημάτων σύνδεσης

Θα ήθελα να πω λίγα λόγια για το υλικό του ελεγκτή ενυδρείου. Για κανονική λειτουργίαΈπρεπε να αγοράσω ένα χειριστήριο:
  1. 1 x Arduino Uno/Mega. Στη συνέχεια, αποφάσισα να συνεργαστώ με τον Mego.
  2. 1 x Ρολόι πραγματικού χρόνου, για παράδειγμα DS1307.
  3. 2 x ρελέ τύπου RTD14005, που απαιτούνται για τον έλεγχο του συμπιεστή και του αερισμού, επειδή Και τα δύο λειτουργούν σε 220V AC.
  4. 1 x Piezo beeper;
  5. 1 x δέκτης υπερύθρων.
  6. 5 x IRF-530 MOSFET τρανζίστορ με Ν κανάλι. (3 για Λωρίδες RGB, 1 για λευκή ταινία, 1 για αντλία νερού).
  7. 1 x RGB LEDταινία. Εάν σκοπεύετε να βυθίσετε τη λωρίδα LED στο νερό, τότε πρέπει να την απομονώσετε από το νερό. Η ταινία μου είναι μέσα σε ένα σωλήνα σιλικόνης και γεμάτη με διαφανές σφραγιστικό.
  8. 1 x Λευκή λωρίδα LED.
  9. 1 x οθόνη LCD;
  10. 1 x Σφραγισμένος αισθητήρας θερμοκρασίας για τη μέτρηση της θερμοκρασίας του νερού. Χρησιμοποίησα DS18B20.
  11. 1 x Αισθητήρας θερμοκρασίας και υγρασίας. Χρησιμοποίησα DHT11.
Κάθε στοιχείο έχει τον δικό του τύπο σύνδεσης και τα δικά του προγράμματα οδήγησης για λειτουργία. Δεν θα περιγράψω τις αποχρώσεις της σύνδεσης όλων των εξαρτημάτων, καθώς μπορούν να βρεθούν στον ιστότοπο του κατασκευαστή ή στα φόρουμ. Εάν σκοπεύετε να χρησιμοποιήσετε τα ίδια εξαρτήματα με εμένα, τότε αλλάξτε πηγήδεν θα χρειαστεί.

Ζημιά σε εξαρτήματα

Πρόσεχε. Προσπαθήστε πρώτα να διαβάσετε σχετικά με το συνδεδεμένο στοιχείο. Πρέπει να λειτουργεί ακριβώς στο εύρος τάσης για το οποίο σχεδιάστηκε. Αυτό συνήθως αναφέρεται στον ιστότοπο του κατασκευαστή. Ενώ ανέπτυζα τον ελεγκτή ενυδρείου, κατέστρεψα 2 σφραγισμένους αισθητήρες θερμοκρασίας και ένα ρολόι πραγματικού χρόνου. Οι αισθητήρες απέτυχαν γιατί τους συνέδεσα στα 12V, αλλά θα έπρεπε να είχαν συνδεθεί στα 5V. Το ρολόι πραγματικού χρόνου πέθανε λόγω "ατύχημα" βραχυκύκλωμααλυσοδεμένοι από υπαιτιότητά μου.

Λωρίδα LED RGB

Ιδιαίτερες δυσκολίες προέκυψαν με τις λωρίδες LED. Προσπάθησα να εφαρμόσω το ακόλουθο σχήμα:

Κατά τη σύνδεση στο Arduino χρησιμοποίησα pin που υποστηρίζουν PWM ( διαμόρφωση πλάτους παλμού). Όταν και οι 3 ακίδες ενεργοποιήθηκαν ταυτόχρονα στη μέγιστη τάση, η ταινία μου ζεστάθηκε πολύ. Ως αποτέλεσμα, αν το αφήσετε για μία ή δύο ώρες, μερικά από τα LED σταμάτησαν να ανάβουν. Πιστεύω ότι αυτό οφείλεται στην αστοχία ορισμένων αντιστάσεων. Ένα άλλο μειονέκτημα αυτού του σχήματος είναι η διαφορετική φωτεινότητα Λωρίδα LEDγια καθένα από τα χρώματα. Για παράδειγμα, αν ρυθμίσω τη μέγιστη τάση στο κόκκινο στοιχείο της ταινίας, τότε έχω μια υπό όρους φωτεινότητα της γραφειοκρατίας 255 μονάδων. Αν ανάψω κόκκινο και μπλε εξαρτήματαστη μέγιστη τάση, η φωτεινότητα θα είναι 255+255 = 510 μονάδες και το χρώμα θα είναι μωβ. Γενικά δεν μου ταίριαζε αυτή η λύση.

Αποφασίστηκε να εφαρμοστεί ο ακόλουθος αλγόριθμος:

Void LedRgbHelper::Show(RGBColorHelper colorToShow) ( // Η κλάση RGBColorHelper περιέχει πληροφορίες σχετικά με το μερίδιο κάθε στοιχείου στο χρώμα. // Επιπλέον, περιέχει πληροφορίες σχετικά με τη φωτεινότητα του χρώματος int sumColorParts = colorToShow.RedPart + colorToShow. GreenPart + colorToShow.BluePart; colorToShow.GreenPart bluePartAsFloat = (float)colorToShow.BluePart sumColorPartsAsFloat =(float)ColorParts intlightness =colorToShow. / καθορίζουν η απόλυτη τιμή της συνιστώσας σε χρώμα rK = rK*brightness bK = bK*brightness ) uint8_t totalCPparts = (uint8_t)gK + (uint8_t)bK; εάν (totalCPparts<= 255){ // подаем напряжение на каждый компонент цвета. в сумме мы должны получить не более 255 единиц. analogWrite(RedPinNum, (uint8_t)rK); analogWrite(GreenPinNum, (uint8_t)gK); analogWrite(BluePinNum, (uint8_t)bK); } }
Σε αυτή την υλοποίηση, το κόκκινο και το βιολετί είχαν την ίδια φωτεινότητα. Εκείνοι. Στην πρώτη περίπτωση, τα κόκκινα LED έλαμπαν με φωτεινότητα 255 μονάδων και στο βιολετί χρώμα, το κόκκινο ήταν με φωτεινότητα 127 μονάδες και το μπλε με φωτεινότητα 127 μονάδες, που στο τέλος ήταν περίπου ίσο με 255 μονάδες:

Λωρίδα LED λευκή

Η λωρίδα LED ήταν ίσως το πιο εύκολο πράγμα. Το μόνο δύσκολο σημείο είναι να διασφαλίσετε μια ομαλή αλλαγή στη φωτεινότητα όταν αλλάζει η ώρα της ημέρας.

Για να εφαρμόσω αυτήν την ιδέα, χρησιμοποίησα έναν γραμμικό αλγόριθμο για την αλλαγή της φωτεινότητας μιας λευκής λωρίδας LED.

Void MainLightHelper::HandleState() ( if (!IsFadeWasComplete) ( ανυπόγραφο long currentMillis = millis(); if (currentMillis - previousMillis > 50) ( previousMillis = currentMillis; διακόπτης (CurrentLevel) (περίπτωση MainLightHelper: δηλώνεται η κατάσταση απενεργοποίησης, τότε μειώνουμε τη φωτεινότητα του λευκού φωτός κατά μία μονάδα ανά κύκλο εάν (currentBright != 0) (αν (currentBright > 0) (currentBright--; ) other (currentBright++; ) ) other ( // Σε περίπτωση πλήρης διακοπή λειτουργίας, σταματήστε το λευκό κινούμενο σχέδιο. τρέχονΦωτεινό = 0; IsFadeWasComplete = αληθές; ) Διακοπή;

) case MainLightHelper::Low: case MainLightHelper::Medium: case MainLightHelper::High: ( // Σε περίπτωση ρύθμισης του επιπέδου λευκού φωτός, αυξήστε ή μειώστε σταδιακά τη φωτεινότητα σε ένα βήμα βρόχου εάν (currentBright != CurrentLevel) (αν (currentBright > CurrentLevel) (currentBright--; ) other (currentBright++; ) ) else (currentBright = CurrentLevel; IsFadeWasComplete = true; ) ) break; ) // εφαρμόστε την τάση της απαιτούμενης τιμής για να ορίσετε τη φωτεινότητα του λευκού. analogWrite(PinNum, currentBright); ) ))

Ο παλμός του «ηφαιστείου» Η ιδέα της υλοποίησης μου ήρθε τυχαία. Ήθελα απλώς να ενεργοποιήσω και να απενεργοποιήσω το διακοσμητικό ηφαίστειο χρησιμοποιώντας μια τροφοδοσίαχαμηλή τάση

και υψηλή τάση στο τρανζίστορ. Σε ένα ιχθυοπωλείο βρήκα ένα καλό ηφαίστειο με σωλήνα εξόδου για συμπιεστή και LED απομονωμένο από το νερό. Έρχεται με αντάπτορα που βγάζει 12Vσυνεχές ρεύμα

, και στην είσοδο - 220 V AC. Δεν χρειαζόμουν τον προσαρμογέα, αφού διαχειριζόμουν την ισχύ και τη φωτεινότητα του ηφαιστείου μέσω του Arduino.

Ο παλμός του ίδιου του ηφαιστείου υλοποιήθηκε ως εξής:
Μεγάλος χρόνος = 0; int periode = 10000; void VulcanusHelper::HandleState() ( if (IsActive)( // time - cos όρισμα σε συνδυασμό με την καθορισμένη περίοδο. // άλλοι συντελεστές είναι παραμόρφωση και μετατόπιση συνάρτησης κατά μήκος του άξονα τεταγμένης χρόνος = millis(); int τιμή = 160 + 95 * cos(2 * PI / periode*time analogWrite(PinNum, value) other ( analogWrite(PinNum, 0); ) )

Το ηφαίστειο φωτίζει τέλεια το ενυδρείο το βράδυ και ο ίδιος ο παλμός φαίνεται πολύ όμορφος:

Αντλία νερού. Αλλαγή νερού στο ενυδρείο

Η αντλία νερού βοηθά στη γρήγορη αλλαγή του νερού στο ενυδρείο. Αγόρασα μια αντλία που λειτουργεί με 12V DC. Η αντλία ελέγχεται μέσω ενός τρανζίστορ πεδίου. Το ίδιο το πρόγραμμα οδήγησης της συσκευής μπορεί να κάνει δύο πράγματα: να ενεργοποιήσει την αντλία, να απενεργοποιήσει την αντλία. Κατά την υλοποίηση του προγράμματος οδήγησης, απλώς κληρονόμησα από τη βασική κλάση BaseOnOfDeviceHelper και δεν όρισα τίποτα επιπλέον στο πρόγραμμα οδήγησης. Ολόκληρος ο αλγόριθμος λειτουργίας της συσκευής μπορεί να υλοποιηθεί από τη βασική κλάση.

Αν και η αντλία δούλευε καλά, συνάντησα ένα πράγμα που δεν ήταν προφανές. Εάν αντλήσετε νερό σε άλλη δεξαμενή, θα αρχίσει να ισχύει ο νόμος των δοχείων επικοινωνίας. Ως αποτέλεσμα, έγινα ο ένοχος της πλημμύρας στο δωμάτιο, γιατί αν σβήσεις την αντλία, το νερό θα συνεχίσει να πηγαίνει σε άλλη δεξαμενή, αν η στάθμη του νερού είναι χαμηλότερη από τη στάθμη του νερού στο ενυδρείο. Στην περίπτωσή μου, αυτό ακριβώς συνέβη.

Θύρα υπερύθρων και η επιθυμία αντικατάστασής της

Έλεγξα το ενυδρείο μέσω της θύρας υπερύθρων ακολουθώντας το παράδειγμα της προκαταρκτικής εκπαίδευσης. Η ουσία του παραδείγματος είναι η εξής: όταν ο ελεγκτής είναι συνδεδεμένος στο δίκτυο, ψηφίζω τις ενέργειες αριστερά, δεξιά, πάνω, κάτω, οκ μία προς μία. Ο ίδιος ο χρήστης επιλέγει ποια κουμπιά τηλεχειρισμού συσχετίζει με κάθε ενέργεια. Το πλεονέκτημα αυτής της υλοποίησης είναι η δυνατότητα σύνδεσης οποιουδήποτε περιττού τηλεχειριστηρίου τηλεχειριστήριο.
Το ενυδρείο εκπαιδεύεται μέσω της μεθόδου Learn, η ουσία της οποίας φαίνεται παρακάτω:

Void ButtonHandler::Learn(IRrecv* irrecvLink, LiquidCrystal* lcdLink) ( // Εκκίνηση της λήψης του σήματος υπερύθρων από τον αισθητήρα irrecvLink->enableIRIn(); // Τα αποτελέσματα της αποκωδικοποίησης του σήματος τοποθετούνται σε αυτή τη μεταβλητή decode_resultsir; .. ... while ( true) ( ​​// Εάν τα αποτελέσματα έχουν φτάσει και μπορούν να αποκωδικοποιηθούν εάν (irrecvLink->decode(&irDecodeResults)) ( // συνεχίζουν να λαμβάνουν σήματα irrecvLink->resume(); // Προσπαθήστε να αποκωδικοποιήσετε το σήμα από το τηλεχειριστήριο εάν (irDecodeResults.bits >= 16 && irDecodeResults.value != 0xC53A9966// fix για το DVD της Pioneer) ( lcdLink->setCursor(0, 1); // Εμφάνιση της τιμής στην αποκωδικοποίηση. HEX format lcdLink->print(irDecodeResults.value, HEX // Θυμόμαστε μέσα). μνήμη τυχαίας προσπέλασηςΤο Arduino έλαβε σήμα irRemoteButtonId = irDecodeResults.value; ... ...
Αργότερα κατέληξα στο συμπέρασμα ότι το τηλεχειριστήριο είναι άβολο. Απλά γιατί πρέπει να το ψάξεις και αυτό επιπλέον συσκευήμέσα στο σπίτι. Καλύτερος έλεγχοςυλοποίηση μέσω κινητό τηλέφωνοή tablet. Είχα την ιδέα να χρησιμοποιήσω έναν μικροϋπολογιστή Raspberry PI και να εκτελέσω μια εφαρμογή web ASP.NET MVC 5 σε αυτόν μέσω Mono και NancyFX. Στη συνέχεια, χρησιμοποιήστε το πλαίσιο jquery για κινητά για να κάνετε την εφαρμογή Ιστού cross-platform. Επικοινωνήστε με το Arduino μέσω Raspberry μέσω WiFi ή LAN. Σε αυτή την περίπτωση, μπορείτε ακόμη και να αρνηθείτε οθόνη LCD, γιατί όλα απαραίτητες πληροφορίεςμπορεί να προβληθεί σε smartphone ή tablet. Αλλά αυτό το έργο είναι ακόμα μόνο στο κεφάλι μου.

Τυπωμένο κύκλωμα και η κατασκευή του

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

Συναρμολόγηση σε πλακέτες κυκλωμάτων (χρησιμοποιώντας Arduino Uno):

Σχεδίασα ένα PCB μονής στρώσης χρησιμοποιώντας το Fritzing. Το αποτέλεσμα είναι το εξής (χρησιμοποιώντας Arduino Mega):

Το χειρότερο πράγμα για την κατασκευή μιας πλακέτας τυπωμένου κυκλώματος ήταν η διάτρηση. Ειδικά όταν προσπάθησα να δημιουργήσω ένα PCB τύπου Shield, δηλ. ντύθηκε μόνη της χρησιμοποιώντας Arduino. Η διάνοιξη περισσότερων από 50 οπών με ένα λεπτό τρυπάνι είναι μια πολύ κουραστική εργασία. Και το πιο δύσκολο είναι να πάρω το νέο σίδερο της γυναίκας μου και να την πείσω να αγοράσει έναν εκτυπωτή λέιζερ.

Παρεμπιπτόντως, αν κάποιος φοβάται την τεχνολογία σιδερώματος λέιζερ, θα σας το πω αμέσως - είναι πολύ απλό. Το κατάλαβα σωστά την πρώτη φορά:

Η ίδια η συναρμολόγηση αποδείχθηκε επίσης απλή - αρκούσε να συγκολληθούν τα κύρια εξαρτήματα στην πλακέτα:

Ωστόσο, παρόλα αυτά, αυτή ήταν η πρώτη και τελευταία φορά που δημιούργησα μια πλακέτα τυπωμένου κυκλώματος στο σπίτι. Στο μέλλον θα παραγγείλω μόνο από το εργοστάσιο. Και πιθανότατα θα πρέπει να κατακτήσετε κάτι πιο δύσκολο από το Fritzing.


Ελεγκτής ενυδρείου "Aquamarine"

Γεια σας, αγαπητές γάτες! Δεν θέλετε να αφεθείτε σε κάποιο ψάρι; Λατρεύετε τόσο πολύ αυτά τα νόστιμα, ζουμερά ψάρια;))) Τα λατρεύω λοιπόν, αλλά προτιμώ να τα θαυμάζω μέσα από το ποτήρι:

Ενώ έβγαζα φωτογραφίες, η φύλακας Kesha Mozgoklyuev άρχισε να μου σφυρίζει, οπότε έπρεπε να τον βγάλω κι εγώ φωτογραφία:

Γενικά, η ζωή του ψαριού και του συντρόφου Mozgoklyuev θα ήταν πιο ήρεμη αν δεν ήμουν μέχρι το μεδούλι ηλεκτρονικός μηχανικός. Ως εκ τούτου, υποβάλλονται περιοδικά στα πειράματά μου. Εδώ είναι ένα από αυτά - ο ελεγκτής ενυδρείου Aquamarine.

Συναντάμε το σχέδιο(πρωτότυπο στο τέλος του άρθρου στο αρχείο):

Όπως μπορείτε να δείτε, δεν υπάρχει τίποτα εξαιρετικά περίπλοκο σε αυτό το σχήμα. Ο μικροελεγκτής ATMega16 είναι υπεύθυνος για τη συλλογή και την έκδοση πληροφοριών και λαμβάνει τις κατάλληλες αποφάσεις, ελέγχοντας τους διακόπτες και τους διακόπτες πεδίου. Τώρα όλα είναι εντάξει. Οι πληροφορίες συλλέγονται από τον αισθητήρα θερμοκρασίας U2 DS18b20, από το U3 DS1307 - ρολόι πραγματικού χρόνου και φυσικά από τα κουμπιά ελέγχου. Οι πληροφορίες εμφανίζονται σε LCD1 τύπου Star0802A, οκτώ χαρακτήρες, δύο γραμμές η καθεμία. Η οθόνη είναι ρωσική - δεν απαιτείται γνώση Αγγλικών.) Το χειριστήριο έχει τρεις τρόπους λειτουργίας: "Αυτόματο", "Μη αυτόματο" και λειτουργία ρυθμίσεων. Στη χειροκίνητη λειτουργία, εισάγεται πατώντας το κουμπί "Mode/Enter".

Εμφάνιση:

Μπροστινή πλευρά


Κάτω από το καπάκι :)

Συνδέουμε τα φορτία εδώ

Προβολή αυτών των υποδοχών από το εσωτερικό

Λοιπόν, ας ρίξουμε μια ματιά στο εσωτερικό;

Άποψη των υποδοχών για τη σύνδεση του αισθητήρα θερμοκρασίας (αριστερά) και τη σύνδεση των μονάδων LED μπλε και λευκού φωτός (δεξιά)

Από τη μια πλευρά

Από την άλλη πλευρά

Τρόποι λειτουργίας:

Στη χειροκίνητη λειτουργία, μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε την παροχή αέρα και το φιλτράρισμα πατώντας τα κουμπιά "+L/Air", "Filter". Οτι περιλαμβάνεται φίλτροκαι αεροσυμπιεστή, που υποδεικνύεται από τα LED «Air» και «Filter».

Η "χειροκίνητη λειτουργία" είναι βολική για τη διατροφή των ψαριών και κατά τον καθαρισμό του ενυδρείου. Έξοδος σε αυτόματη λειτουργίαΚουμπί "Mode/Enter".

Στην αυτόματη λειτουργία, η οθόνη εμφανίζει πληροφορίες σχετικά με την ώρα, την ημερομηνία και τη θερμοκρασία στο ενυδρείο.

Οι παράμετροι θερμοκρασίας και ώρας της ημέρας ελέγχονται αυτόματα στην αυτόματη λειτουργία. Με δεδομένων παραμέτρωνΗ θερμοκρασία μπορεί να ελεγχθεί με θέρμανση του νερού στο ενυδρείο εάν το ενυδρείο βρίσκεται σε κρύο δωμάτιο Ή με ψύξη εάν το ενυδρείο βρίσκεται σε ζεστό δωμάτιο.

Με βάση την παράμετρο ώρα της ημέρας, ο ελεγκτής εκτελεί το πρόγραμμα Dawn/Sunset.

Μονάδες LED λευκού και μπλε χρώματοςδιά μέσου τρανζίστορ εφέ πεδίου IRFL024, και ελέγχονται με τη μέθοδο PWM. Η δύση του ηλίου συμβαίνει στις καθορισμένο χρόνομέσα σε μιάμιση ώρα. Το λευκό φως αρχίζει να εξασθενεί και το μπλε φως αυξάνεται σε φωτεινότητα. Ως αποτέλεσμα, έχουμε μπλε φωτισμό του ενυδρείου τη νύχτα. Είναι πολύ ευχάριστο στα μάτια όταν πηγαίνετε στην τουαλέτα το βράδυ :)). Ένα νυχτερινό φως, θα λέγαμε :)) Το πρωί, αντίθετα, σε μια δεδομένη ώρα για την έναρξη της αυγής, το μπλε φως εξασθενεί και η φωτεινότητα του λευκού φωτός αυξάνεται. Αυτή η διαδικασία γίνεται επίσης μέσα σε μιάμιση ώρα. Στους συνημμένους πηγαίους κωδικούς, αυτό μπορεί να αλλάξει όπως θέλει η καρδιά σας. Ο ελεγκτής διαθέτει επίσης λειτουργία για την επαναφορά των τρόπων λειτουργίας μετά από διακοπή ρεύματος. Αν φύγατε όλη μέρα για μπάρμπεκιου και εκείνη την ώρα τα φώτα ήταν κλειστά και μετά άναβαν (καλά, όλα μπορούν να συμβούν), τότε το χειριστήριο θα ενεργοποιήσει αυτόματα το φιλτράρισμα, τον αέρα και τη θέρμανση/ψύξη όπως ρυθμίσατε το! Σε γενικές γραμμές, μοιράζομαι μαζί σας, αγαπητές μου γάτες, ολόκληρο το έργο με τον πηγαίο κώδικα, ό,τι θέλετε με αυτό, κάντε το - δεν με πειράζει :)

Και τέλος, προτείνω να δείτε το βίντεο:

Σχέδιο αυτού του ελεγκτήγια ένα ενυδρείο παρέχει έλεγχο της θερμοκρασίας του νερού και έλεγχο φωτισμού σύμφωνα με ένα δεδομένο χρονοδιάγραμμα. Ο ελεγκτής ενυδρείου παρέχει επίσης χειροκίνητο έλεγχο (on/off) του φίλτρου και του συμπιεστή.

Αυτό είναι ιδιαίτερα χρήσιμο όταν καθαρίζετε το ενυδρείο, δεν χρειάζεται να αποσυνδέσετε το καλώδιο του φίλτρου από την πρίζα, αλλά μπορείτε απλά να πατήσετε ένα κουμπί στο χειριστήριο.

Περιγραφή του ελεγκτή ενυδρείου

Ελεγκτής ενυδρείουκατασκευασμένο σε μικροελεγκτή PIC16F677. Το υλικολογισμικό θα πρέπει πιθανότατα να είναι κατάλληλο για μικροελεγκτές μεγαλύτερους από υψηλό επίπεδοαπό αυτή την ομάδα. Η λειτουργία του κυκλώματος δοκιμάστηκε επίσης στον μικροελεγκτή PIC16F690. Η μέτρηση θερμοκρασίας παρέχει ψηφιακή αισθητήρας θερμοκρασίας DS18B20 με ανάλυση 0,5 γρ. Κελσίου.

Η αντίστροφη μέτρηση του χρόνου οργανώνεται χρησιμοποιώντας το μικροκύκλωμα DS1302, έναν ελεγκτή σε πραγματικό χρόνο. Σε περίπτωση διακοπής ρεύματος, στο 8ο σκέλος του DS1302 (pin εφεδρική ισχύς) είναι συνδεδεμένος ο πυκνωτής C8. Η χωρητικότητά του είναι αρκετή για περισσότερες από 3 ημέρες ώστε να μην μηδενίζεται ο χρόνος.

Όλος ο έλεγχος πραγματοποιείται με τέσσερα κουμπιά: «LIGHT» (S) «HEATING» (T) «COMPRESSOR» (V) και «FILTER» (F). Ένα σύντομο πάτημα θα ενεργοποιήσει/απενεργοποιήσει το αντίστοιχο κανάλι. Είναι δυνατή η εναλλαγή μεταξύ χειροκίνητου και αυτόματου χειρισμού. Αυτό ισχύει μόνο για φωτισμό και θέρμανση. Ο συμπιεστής και το φίλτρο ενεργοποιούνται/απενεργοποιούνται μόνο στη χειροκίνητη λειτουργία. Η θέρμανση διατηρεί αυτόματα την απαιτούμενη καθορισμένη θερμοκρασία του νερού στο ενυδρείο.

Έλεγχος φωτισμού: το πρώτο πάτημα ανάβει το φως, το δεύτερο το σβήνει, το τρίτο μετατρέπει τον έλεγχο φωτισμού σε αυτόματη λειτουργία. Για να ρυθμίσετε την ώρα ενεργοποίησης/απενεργοποίησης του φωτός, πρέπει να πατήσετε το κουμπί (S) και να το κρατήσετε πατημένο για περισσότερο από 4 δευτερόλεπτα.

Πρώτον, ορίζεται η ώρα. Πατώντας σύντομα το κουμπί (S), μετακινείστε από το ένα ψηφίο ένδειξης στο άλλο, η τιμή του καθενός μπορεί να αλλάξει χρησιμοποιώντας τα κουμπιά V (+) και F (-). Στη συνέχεια, πατώντας παρατεταμένα το κουμπί (S), η τιμή αποθηκεύεται και πηγαίνετε στις ρυθμίσεις χρόνου τερματισμού λειτουργίας. Η διαδικασία εγκατάστασης είναι η ίδια εδώ. Ένα άλλο παρατεταμένο πάτημα επιστρέφει στην αρχική κατάσταση.

Η ρύθμιση της θερμοκρασίας είναι σχεδόν η ίδια. Το παρατεταμένο πάτημα του κουμπιού (T) σάς επιτρέπει να μεταβείτε στη λειτουργία ρύθμισης της απαιτούμενης θερμοκρασίας νερού στο ενυδρείο. Αλλάξτε την τιμή σε βήματα των 0,5 g. Ο Κελσίου εκτελείται χρησιμοποιώντας τα κουμπιά V (+) και F (-). Μετά την εγκατάσταση, πατώντας παρατεταμένα το κουμπί (T) ο ελεγκτής μεταβαίνει στην κύρια λειτουργία.

Η τιμή πραγματικού χρόνου ρυθμίζεται πατώντας ταυτόχρονα και συνεχόμενα δύο κουμπιά (S) και (T). Τότε όλα είναι ίδια όπως όταν ρυθμίζετε τον φωτισμό. Όλες οι τιμές αποθηκεύονται στο EEPROM και εάν η τροφοδοσία είναι απενεργοποιημένη, δεν χρειάζεται να ρυθμίσετε ξανά τα πάντα.

Η κατάσταση κάθε καναλιού υποδεικνύεται γραφικά. Κάθε κανάλι χαρακτηρίζεται με το δικό του γράμμα: “LIGHT” (S) “HEATING” (T) “COMPRESSOR” (V) και “FILTER” (F). Εάν το γράμμα στην οθόνη είναι κεφαλαίο, σημαίνει ότι το κανάλι είναι ενεργοποιημένο εάν είναι κεφαλαίο, τότε είναι απενεργοποιημένο.

Κάτω από κάθε ένα από τα παραπάνω κανάλια, είτε το γράμμα A (αυτόματη λειτουργία) είτε το γράμμα M ( χειροκίνητη λειτουργία- εγχειρίδιο). Η ένδειξη εμφανίζει επίσης την ημερομηνία, την ώρα και την πραγματική θερμοκρασία του νερού στο ενυδρείο.

Για ευκολία, το τμήμα τροφοδοσίας του ελεγκτή κατασκευάζεται χωριστά και συνδέεται με την κύρια πλακέτα μέσω καλωδίου TP με βύσμα RJ-45. Οποιοσδήποτε μετασχηματιστής για την παροχή ρεύματος με έξοδο στη δευτερεύουσα περιέλιξη 9 V και ρεύμα τουλάχιστον 400 mA είναι κατάλληλος.

(λήψεις: 465)

http://www.tosi.cz/elektro/akvarium.html


Ο συγγραφέας είχε από καιρό την επιθυμία να αυτοματοποιήσει τη συντήρηση του ενυδρείου. Στον παγκόσμιο ιστό, βρήκε πολλά διαφορετικά σχέδια ελεγκτών aqua, αλλά αποφάσισε να επιλέξει τον πολυλειτουργικό ελεγκτή του Vitaly Sharapov, ο οποίος έλαβε πολλές κολακευτικές κριτικές και για τον οποίο υπάρχουν περισσότερες από μία τροποποιήσεις.

Υλικά:

- Μονάδα Peltier
- LED
- μονάδα ισχύος
- πλαίσιο προστατευτικό υπέρτασης
- ανεμιστήρας
- σώμα καλοριφέρ
- ένδειξη MT-10T7
- χρονόμετρα
- μπαταρία
- αντιστάσεις R6-R9-R13
- τρανζίστορ
- θυρίστορ

Περιγραφή της λειτουργίας της συσκευής.
Ο πολυλειτουργικός ελεγκτής νερού μετράει αντίστροφα πραγματικός χρόνοςσε ώρες και λεπτά. Διαχειρίζεται τρία φορτία με την πάροδο του χρόνου. Διαθέτει έξι χρονόμετρα που μπορούν να προγραμματιστούν και είναι ανεξάρτητα μεταξύ τους. Κάθε χρονόμετρο είναι ικανό να ελέγχει ένα από τα φορτία, με διακριτικότητα 15 λεπτών. Μετρά και αλλάζει τη θέρμανση νερού κάθε δέκα δευτερόλεπτα με ακρίβεια 1°C. Διαθέτει ανεμιστήρα και μονάδα Peltier. Διαθέτει ένδειξη ενεργοποίησης και απενεργοποίησης φορτίων. Σας επιτρέπει να προσαρμόζετε χειροκίνητα την ώρα και έχει επίσης τη δυνατότητα να την προσαρμόζετε αυτόματα κατά ένα δεδομένο ποσό μέσα σε +- λεπτά την ημέρα. Χάρη στην παρουσία μπαταρίας, μπορεί να κρατήσει το ρολόι σε λειτουργία για 2 έως 7 ημέρες. Αποθηκεύει επίσης όλες τις ρυθμίσεις χρήστη όταν η τροφοδοσία είναι απενεργοποιημένη, σε μνήμη ανεξάρτητα από ρεύματος δικτύουκαι τα επαναφέρει την επόμενη φορά που θα συνδεθεί το δίκτυο.

Περιγραφή της διαδικασίας συναρμολόγησης της συσκευής.

Βήμα πρώτο: συλλογή των απαραίτητων εξαρτημάτων.
Παρακάτω είναι το διάγραμμα ελεγκτή που έλαβε ως βάση για την ανάπτυξή του:


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



Βήμα δεύτερο: δημιουργία της πλακέτας επεξεργαστή της συσκευής.


Η πλακέτα επεξεργαστή συναρμολογήθηκε πλήρως σύμφωνα με το αρχικό σχέδιο και επαναλαμβάνει τη σχεδίαση της πλακέτας του δείγματος ελεγκτή. Υπάρχουν μικρές αλλαγές, αλλά δεν είναι θεμελιώδεις.


Βήμα τρίτο: συνεχίστε τη συναρμολόγηση της συσκευής και την εργασία στην ένδειξη.

Κατά το σχεδιασμό και τη συναρμολόγηση της συσκευής, ο συγγραφέας χρησιμοποίησε υπάρχοντα εξαρτήματα, επομένως ολόκληρο το σχέδιο ήταν αρκετά μειωμένο σε κόστος. Ως εκ τούτου, τα περισσότερα φθηνός δείκτηςΜΤ-10Τ7. Πρέπει να πληρώσετε για τη φθηνότητα των εξαρτημάτων με προφανή μειονεκτήματα ευκολίας, ένα από αυτά τα μειονεκτήματα είναι ότι είναι δύσκολο να εμφανιστούν γράμματα χρησιμοποιώντας μόνο επτά τμήματα.

Μετά τη συναρμολόγηση, το κύκλωμα ένδειξης επανήλθε έτσι ώστε να τροφοδοτείται όχι από την μπαταρία, αλλά από το δίκτυο. ΣΕ σε αυτήν την περίπτωσηο συγγραφέας καθοδηγήθηκε από την ιδέα της αύξησης της διάρκειας πιθανή τροφήμικροελεγκτές όταν η κύρια παροχή ρεύματος της συσκευής είναι απενεργοποιημένη και σε αυτήν την περίπτωση δεν έχει νόημα να τροφοδοτήσετε την ένδειξη. Έτσι, η ένδειξη θα λειτουργεί αποκλειστικά από το δίκτυο και όταν η συσκευή μεταβεί σε τροφοδοσία μπαταρίας, δεν υπάρχει ένδειξη. Δεδομένου ότι ο συγγραφέας είχε ήδη κολλήσει την πλακέτα από τη στιγμή που επέλεξε αυτή τη λύση, αποφάσισε να φτιάξει τα νέα κομμάτια με επιφανειακή τοποθέτηση. Δεν αποδείχθηκε πολύ ωραίο, αλλά το κύριο πράγμα είναι ότι λειτουργεί, επειδή ο συγγραφέας δεν ανέπτυξε μια έντυπη έκδοση του πίνακα για να εφαρμόσει μια τέτοια σύνδεση.

Αυτή είναι η θέση της τροποποιημένης εγκατάστασης:


Ως αποτέλεσμα, ελήφθη η ακόλουθη έκδοση του κυκλώματος ελεγκτή ενυδρείου, κάπως διαφορετική από το αρχικό κύκλωμα της συσκευής μοντέλου:

Βήμα τέταρτο: πλακέτα power block.

Και αυτό είναι πώς φαίνεται το διάγραμμα κυκλώματος της πλακέτας τροφοδοσίας:


Και αυτό είναι πώς φαίνεται ήδη συναρμολογημένο:


Οπως και εφεδρική πηγήΗ μπαταρία θα χρησιμοποιηθεί για τροφοδοσία, έτσι ο συγγραφέας εγκατέστησε την αντίσταση R6. Ο συγγραφέας επέλεξε άλλες αντιστάσεις από R9 έως R13 με βάση την ανάγκη εγκατάστασης μιας συσκευής ελεγκτή ενυδρείου στο πλαίσιο του σχεδιασμού της μονάδας ισχύος του.

Βήμα πέμπτο: εγκατάσταση εξαρτημάτων στο σώμα.


Ως κέλυφος για όλα τα ηλεκτρονικά γεμίσματα, ο συγγραφέας επέλεξε ένα περίβλημα από ένα παλιό σπασμένο προστατευτικό υπέρτασης, απλά επειδή ήταν διαθέσιμο.

ΣΕ αυτή η συσκευήδεν χρειάζεται να χρησιμοποιήσετε φορτίο 220 V άνω των 150 watt, έτσι ο συγγραφέας αποφάσισε να εγκαταστήσει θυρίστορ χωρίς καλοριφέρ.

Για τον περισσότερο εξοπλισμό ενυδρείου, αυτό θα είναι ακόμη περισσότερο από αρκετό. Δεν υπάρχουν επίσης θερμαντικά σώματα σε τρανζίστορ που ελέγχουν φορτίο 12 V, επομένως το φορτίο στα κανάλια 12 V δεν πρέπει να είναι ισχυρότερο από 2 W, λαμβάνοντας υπόψη τον υπάρχοντα μετασχηματιστή και άλλους παράγοντες. Για την τροφοδοσία του ανεμιστήρα που ψύχει τη συσκευή, καθώς και για τη διασφάλιση της λειτουργίας των LED, αυτή η ισχύς θα πρέπει να είναι αρκετή.

Σε αυτή τη μορφή, ο χρονοδιακόπτης είναι σε θέση να ελέγχει τη λειτουργία του φωτισμού στο ενυδρείο και εν τω μεταξύ ο συγγραφέας συνεχίζει να εργάζεται στο περίβλημα της συσκευής ελεγκτή.

Συνοψίζοντας.

Γενικά, κατά τη διάρκεια της συναρμολόγησης ο συγγραφέας δεν παρατήρησε κανένα σοβαρά προβλήματαή λάθη. Κατά τη λειτουργία και ενεργητική χρήσηΗ συσκευή επίσης δεν αποκάλυψε κανένα πρόβλημα, γεγονός που υποδεικνύει τα κυκλώματα υψηλής ποιότητας της συσκευής. Είναι αλήθεια ότι υπήρχε ένα μικρό πρόβλημα με την απόκλιση μεταξύ των οπών ένδειξης στην πλακέτα και των οπών στον ίδιο τον δείκτη, η απόκλιση ήταν περίπου 0,5-1 mm. Αυτή η κηλίδα λύθηκε με τη βοήθεια μιας λίμας βελόνας, αφού το μέρος ήταν αρκετά ευνοϊκό για μια τέτοια εργασία.

Η ίδια η συσκευή αποδείχθηκε πολύ ευέλικτη χάρη στα έξι διαθέσιμα χρονόμετρα, η αυτοματοποίηση της διαδικασίας φροντίδας του ενυδρείου είναι σχεδόν ιδανική. Ολόκληρος ο σχεδιασμός του ελεγκτή είναι εύκολο να κατανοηθεί και να συναρμολογηθεί, επομένως είναι πολύ εύκολο να το επαναλάβετε με κάποια ικανότητα και επιθυμία.



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: