• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2023

Share "Αυτόματο σύστημα ελέγχου ενυδρείου"

Copied!
78
0
0

Texto

(1)

1

ΤΕΙ ΚΑΒΑΛΑΣ

ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΑΥΤΟΜΑΤΟ ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΕΝΥΔΡΕΙΟΥ

ΓΡΗΓΟΡΙΟΥ ΘΩΜΑΣ ΑΕΜ: 1391

ΤΖΙΦΟΠΟΥΛΟΣ ΔΗΜΗΤΡΙΟΣ ΑΕΜ: 1517

ΥΠΕΥΘΥΝΟΣ ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ

Δρ. ΠΟΓΑΡΙΔΗΣ ΔΗΜΗΤΡΙΟΣ

Καβάλα , Σεπτέμβριος 2012

(2)

2

Περίληψη

Το αντικείμενο της πτυχιακής εργασίας είναι ο σχεδιασμός και η κατασκευή ενός

αυτόματου συστήματος ελέγχου ενυδρείου. Ο σκοπός αυτού του συστήματος είναι

αφενός το αυτόματο τάισμα των ψαριών, αφετέρου ο έλεγχος της κατάστασης του

ενυδρείου, η οποία περιγράφεται από τρεις βασικές ποσότητες: α) την εσωτερική

θερμοκρασία του, β) την στάθμη του νερού σε περίπτωση δυσλειτουργίας και γ) την

φωτεινότητα του περιβάλλοντος. Για αυτές τις ποσότητες τίθενται όρια επιτρεπτής

λειτουργίας και το σύστημα ελέγχου είναι επιφορτισμένο με το να διορθώνει τις τιμές

όταν βγαίνουν εκτός των προαποφασισμένων ορίων και να ενημερώνει σχετικά τον

χρήστη στο κινητό του μέσω μηνύματος SMS, και τέλος να προβάλει τις πληροφορίες

συστήματος σε μια οθόνη LCD.

(3)

3

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

Κεφάλαιο 1 Εισαγωγή ... 6

Κεφάλαιο 2 Θεωρητική Εισαγωγή ... 8

2.1 Κεντρική Μονάδα Επεξεργασίας ... 10

2.2 Μνήμες ... 12

2.3 Χρονισμός ... 13

2.4 Διακοπές και Επανατοποθέτηση ... 15

2.5 Σύγχρονη και ασύγχρονη επικοινωνία ... 16

2.6 Περιφερειακά συστήματα ... 18

2.6.1 Συσκευή τροφής ... 18

2.6.2 Συσκευή οξυγόνου ... 19

2.6.3 Κινητό τηλέφωνο... 19

2.6.4 Ανεμιστήρες ... 19

2.6.5 Τροφοδοτικό ... 20

2.6.6 Οθόνη LCD ... 20

Κεφάλαιο 3 Ηλεκτρονική Σχεδίαση του Συστήματος ... 22

3.1 Πλακέτα ανάπτυξης... 22

3.2 Βοηθητική πλακέτα ... 22

3.3 Πλακέτα Ηλεκτρονικής Ταίστρας ... 23

3.4 Πλακέτα φώτων ... 24

3.5 Μπουτόν ... 24

3.6 Αισθητήριο θερμοκρασίας ... 25

3.7 Πλακέτα θερμοστάτη ... 25

3.8 Αισθητήριο στάθμης ... 26

3.9 Πλακέτα κινητού ... 26

3.10 Πλακέτα ανεμιστήρων ... 27

(4)

4

Κεφάλαιο 4 Λογισμική Σχεδίαση του Συστήματος ... 29

4.1 Συνάρτηση show_int ... 29

4.2 Συνάρτηση show_num ... 30

4.3 Συνάρτηση leapyear ... 31

4.4 Συνάρτηση lastday ... 31

4.5 Συνάρτηση WelcomeScreen ... 32

4.6 Συνάρτηση LightCheck ... 33

4.7 Συνάρτηση FanCheck ... 34

4.8 Συνάρτηση HeatCheck ... 35

4.9 Συνάρτηση AllChecks ... 35

4.10 Συνάρτηση nextfeed ... 36

4.11 Συνάρτηση TimeConf... 37

4.12 Συνάρτηση DateConf ... 38

4.13 Συνάρτηση AverTemp ... 39

4.14 Συνάρτηση ShowQuant ... 40

4.15 Συνάρτηση FeederQuant ... 40

4.16 Συνάρτηση FeederConf ... 41

4.17 Συνάρτηση Sms ... 42

4.18 Συνάρτηση feed ... 43

4.19 Κεντρικό πρόγραμμα ... 44

Κεφάλαιο 5 Ενιαιοποίηση και Έλεγχος ... 46

5.1 Ενιαιοποίηση ... 46

5.2 Έλεγχος συστήματος ... 48

5.2.1 Έλεγχος μενού ... 48

5.2.2 Έλεγχος φωτισμού ... 49

5.2.3 Έλεγχος θερμοκρασίας ... 49

5.2.4 Έλεγχος στάθμης ... 50

(5)

5

Κεφάλαιο 6 Αποτελέσματα – Προτάσεις ... 51

Βιβλιογραφία ... 52

ΠΑΡΑΡΤΗΜΑ Ι. ... 53

(6)

6

Κεφάλαιο 1 Εισαγωγή

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

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

Αυτές είναι τριών ειδών:

α) Θερμοκρασία ενυδρείου. Όταν η θερμοκρασία που μετριέται εντός του ενυδρείου ξεπεράσει τα όρια ±6°C από την ιδανική μέση τιμή που έχει εισάγει ο χρήστης, τότε ενεργοποιείται το σύστημα θέρμανσης (θερμοστάτης) ή ψύξης (ανεμιστήρες) για να αυξηθεί ή να μειωθεί η θερμοκρασία αντίστοιχα, με σκοπό το σύστημα να επανέλθει στην θερμοκρασία που έχει ορίσει ο χρήστης.

β) Φωτισμός ενυδρείου. Το σύστημα μπορεί αυτόματα να ενεργοποιήσει ή να

απενεργοποιήσει τον φωτισμό στο ενυδρείο ανάλογα με το αν υπάρχει φως στο δωμάτιο

ή όχι.

(7)

7

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

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

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

Η πτυχιακή χωρίζεται ως εξής: Στο δεύτερο Κεφάλαιο γίνεται μια θεωρητική εισαγωγή και περιγράφεται ο μικροεπεξεργαστής AVR ATmega8515 ο οποίος είναι και η βάση του συστήματος που αναπτύχθηκε. Συζητούνται τα κύρια χαρακτηριστικά και οι δυνατότητές του. Στο Κεφάλαιο 3 παρουσιάζεται η ηλεκτρονική σχεδίαση του συστήματος και στο Κεφάλαιο 4 αναλύεται το λογισμικό που αναπτύχθηκε για τις ανάγκες του συστήματος. Στο Κεφάλαιο 5 περιγράφεται το πώς έγινε η ενιαιοποίηση του συστήματος και παρουσιάζονται οι έλεγχοι που έγιναν για να επιβεβαιωθεί η σωστή λειτουργία του. Τέλος, στο Κεφάλαιο 6 γίνεται μια γενική αποτίμηση της πτυχιακής εργασίας και γίνονται προτάσεις για περεταίρω ανάπτυξη και βελτίωση του συστήματος.

Στο παράρτημα δίνεται ο κώδικας που γράφτηκε για υλοποιηθούν οι λειτουργίες του

συστήματος ελέγχου.

(8)

8

Κεφάλαιο 2 Θεωρητική Εισαγωγή

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

Η βάση του συστήματος είναι ο μικροϋπολογιστής AVR ATmega8515 της Atmel.

Αυτή η μονάδα ελέγχει όλα τα υπόλοιπα υποσυστήματα του ενυδρείου. Το σχήμα που ακολουθεί δείχνει την βασική αρχιτεκτονική του μικρουπολογιστή:

Σχήμα 2.1: Η αρχιτεκτονική του μικροελεγκτή ATmega8515

(9)

9

Ο ATmega8515 είναι ένας μικροελεγκτής 8 bit AVR ο οποίος βασίζεται στην αρχιτεκτονική RISC και συνδυάζει 8KB προγραμματιζόμενης μνήμης flash, 544B εσωτερικής μνήμης, και έως 64KB εξωτερικής SRAM. Συνοπτικά, τα χαρακτηριστικά του μικροεπεξεργαστή παρουσιάζονται στον παρακάτω πίνακα:

Επεξεργαστής

Αριθμητική Λογική Μονάδα (ALU) συνδεδεμένη με 32 ενεργούς καταχωρητές γενικού σκοπού

Μετρητής προγράμματος Καταχωρητής κατάστασης Δείκτης σωρού

Καταχωρητής εντολών Μονάδα ελέγχου Μνήμη

8 Kbyte μνήμης (flash memory) προγραμματιζόμενης μέσα στο σύστημα 512 bytes στατικής μνήμης SRAM (Static Random Access Memory)

512 bytes αναπρογραμματιζόμενης μνήμης μόνο για ανάγνωση EEPROM (Electrically Erasable Programmable Read Only Memory) 32 ενεργούς καταχωρητές γενικού σκοπού 35 γραμμές εισόδου-εξόδου γενικού σκοπού Παράλληλη και σειριακή επικοινωνία

Πέντε πόρτες εισόδου-εξόδου πολλαπλών λειτουργιών για παράλληλη επικοινωνία Σειριακό προγραμματιζόμενο USART (Universal Synchronous-Asynchronous Receiver Transmitter) και σειριακή διασύνδεση περιφερειακών SPI (Serial Port Interface) για σειριακή επικοινωνία

Χρονιστές-μετρητές Δύο χρονιστές – μετρητές με μορφές σύγκρισης

Προγραμματιζόμενος επιτηρητής χρονιστής

(10)

10

WDT (WatchDog Timer) οδηγούμενο από ταλαντωτή

Διακοπές

Υποσύστημα διακοπών με δυνατότητα εσωτερικών και εξωτερικών διακοπών Εκοικονόμηση ενέργειας

Τρεις μορφές εξοικονόμησης ενέργειας

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

2.1 Κεντρική Μονάδα Επεξεργασίας

H κεντρική μονάδα επεξεργασίας του ATmega8515 είναι σχεδιασμένη με την αρχιτεκτονική Harvard, δηλαδή χρησιμοποιεί ξεχωριστούς διαύλους και μνήμες για το πρόγραμμα και τα δεδομένα. Είναι υπολογιστής περιορισμένου συνόλου εντολών (RISC) και είναι σχεδιασμένος έτσι ώστε κάθε εντολή να εκτελείται σε έναν κύκλο ρολογιού.

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

μνήμη προγράμματος με διοχέτευση ενός επιπέδου. Το σχήμα που ακολουθεί απεικονίζει

την αρχιτεκτονική της κεντρικής μονάδας έλεγχου.

(11)

11

Σχήμα 2.2:

Αρχιτεκτονική της κεντρικής μονάδας ελέγχου

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

 Στις πράξεις (αριθμητικές, λογικές και εντολές σε επίπεδο ενός bit) της Αριθμητικής και Λογικής Μονάδας (ALU) δύο τελεσταίοι καλούνται από το αρχείο καταχωρητών γρήγορης πρόσβασης, εκτελείται η εντολή και το αποτέλεσμα αποθηκεύεται πάλι στο αρχείο καταχωρητών. Επίσης υπάρχουν και εντολές μεταξύ ενός καταχωρητή και μιας σταθεράς ή και εντολές μονού καταχωρητή. Καθώς το αρχείο γρήγορης πρόσβασης έχει χρόνο πρόσβασης τον ένα κύκλο ρολογιού, αυτό σημαίνει ότι και η ALU έχει χρόνο λειτουργίας τον ένα κύκλο μηχανής για κάθε πράξη.

 Η ροή του προγράμματος ελέγχεται με εντολές άλματος (είτε υπό συνθήκη

είτε χωρίς) και με εντολές κλήσης (jump και call), ικανές να αναφερθούν

άμεσα σε όλο το εύρος διευθύνσεων. Οι περισσότερες εντολές έχουν απλή

μορφοποίηση λέξης των 16 bits. Κάθε διεύθυνση της μνήμης

(12)

12

προγράμματος περιλαμβάνει μια εντολή των 16 ή 32 bits. Στον καταχωρητή κατάστασης (status register) αποθηκεύονται οι πληροφορίες για το αποτέλεσμα της πιο πρόσφατης αριθμητικής εντολής πχ αν το αποτέλεσμα της πράξης ήταν μηδές. Βάσει αυτών των πληροφοριών εκτελούνται οι εντολές άλματος υπό συνθήκη.

 Από τους 32 συνολικά καταχωρητές, οι τελευταίοι έξι μπορούν να χρηιμοποιηθούν για την καταχώρηση διευθύνσεων αφού αν χρησιμοποιηθούν ως ζεύγη μπορούν να δράσουν ως καταχωρητές έμμεσης διευθυνσιοδότησης 16-bit. Επίσης ένας από τους καταχηρητές αυτούς μπορεί να χρησιμοποιηθεί και σαν δείκτης διεύθυνσης για πίνακες δεδομένων οι οποίοι είκναι αποθηκευμένοι στην εξωτερική μνήμη Flash.

 O δείκτης στοίβας (stack pointer) χρησιμοποιείται για την αποθήκευση προσωρινών δεδομένων, τοπικών μεταβλητών και διευθύνσεων επιστροφής μετά από διακοπές και υπορουτίνες.

2.2 Μνήμες

Όπως αναφέρθηκε στην προηγούμενη ενότητα, ο μικροελεγκτής ATmega8515 χρησιμοποιεί ξεχωριστούς διαύλους για το πρόγραμμα και τα δεδομένα. Η μνήμη προγράμματος συνδέεται με τον καταχωρητή εντολών με έναν δίαυλο εύρους 16-bit και αποτελεί έναν συνεχή χώρο μιας μνήμης flash. Από την άλλη, η μνήμη δεδομένων η οποία έχει εύρος 8-bit, συνδέει τις εσωτερικές περιφερειακές μονάδες με τους καταχωρητές ελέγχου και είναι δύο ειδών: α) η στατική μνήμη δεδομένων (SRAM) και β) η μνήμη δεδομένων EEPROM.

Η εσωτερική στατική μνήμη δεδομένων (SRAM) χωρίζεται σε τρία τμήματα:

1. Την ομάδα ομάδα των 32 καταχωρητών εργασίας (8-bit).

2. Τους 64 καταχωρητές εισόδου και εξόδου (8-bits), οι οποίοι χρησιμοποιούνται

για τον προγραμματισμό αλλά και την προσπέλαση των δεδομένων που από και προς τα

περιφερειακά συστήματα του μικροελεγκτή. Ανάλογα με την χρήση αυτών των

καταχωρητών (προγραμματισμό ή προσπέλαση δεδομένων) η προσπέλασή τους γίνεται

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

αυτοί έχουν ένα μνημονικό όνομα και αυτά τα ονόματα και οι διευθύνσεις στις οποίες

αντιστοιχούν ορίζονται σε συγκεκριμένο αρχείο, διαφορετικό για κάθε μοντέλο

μικροελεγκτή.

(13)

13

3. Την εσωτερική στατική μνήμη (SRAM) η οποία χρησιμοποιείται και ως στοίβα (stack) του μικροελεγκτή. Το μέγεθος της μνήμης ποικίλει ανάλογα με το μοντέλο της σειράς μικροελεγκτών.

Από την άλλη, η εσωτερική μνήμη EEPROM είναι διαθέσιμη σχεδόν σε όλους τους μικροελεγκτές της σειράς και κυμαίνεται από 64 bytes έως 4 Kbytes. Παρόλο που η EEPROM χρησιμοποιείται από τον μικροελεγκτή ως περιφερειακή μνήμη κανονικά, καταχώρηση ή ανάκτηση δεδομένων όμως δεν επιτρέπονται οι απευθείας προσπελάσεις σε αυτήν την μνήμη για εγγραφή ή για ανάγνωση. Για αυτόν τον σκοπό χρησιμοποιούνται ως ενδιάμεσοι οι καταχωρητές εισόδου-εξόδου.

Το επόμενο σχήμα δείχνει τον χάρτη μνήμης του μικροελεγκτή.

Σχήμα 2.3: Χάρτης μνήμης (http://www.avr-tutorials.com/)

2.3 Χρονισμός

Ο μικροελεγκτής διαθέτει αριθμό ρολογιών για να λειτουργούν τα διάφορα υποσυστήματα:

 Το ρολόι της CPU (clk

CPU

) είναι απαραίτητo για την εκτέλεση γενικών υπολογισμών και λειτουργιών καθώς συνδέεται με βασικά τμήματα του του πυρήνα του AVR όπως για παράαδειγμα οι καταχωρητές στοίβας και κατάστασης.

 Το ρολόι εισόδου-εξόδου (clk

I/O

) χρησιμοποιείται από τις περισσότερες

μονάδες εισόδου - εξόδου αλλά και από τη μονάδα εξωτερικών διακοπών

(14)

14

(με κάποιες εξαιρέσεις). Άρα κατά κύριο λόγο αυτό το ρολόι είναι απαραίτητο για διαδικασίες εισόδου/εξόδου αλλά και για να είναι ενεργές οι εξωτερικές διακοπές.

 Το ρολόι Flash (clk

FLASH

) χρησιμοποιείται στην διεπαφή Flash και είναι συνήθως ενεργό ταυτόχρονα με το ρολόι της CPU.

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

Σχήμα 2.4: Δημιουργία και κατανομή ρολογιού Υπάρχουν διάφορες εναλλακτικές για εξωτερική πηγή ρολογιού:

 Εσωτερικός ταλαντωτής RC. Αυτή είναι η προεπιλεγμένη πηγή ρολογιού

για τον AVR. Η προεπιλεγμένη συχνότητα είναι 1MHz αλλά μπορεί να

αλλαχθεί σε 2, 4 ή 8MHz ανάλογα με το μοντέλο του μικροεπεξεργαστή.

(15)

15

Το μειονέχτημα αυτής της πηγής είναι ότι η συχνότητα μεταβάλλεται ανάλογα με την τάση και την θερμοκρασία της συσκευής. Άρα αυτή η λύση δεν είναι κατάλληλη για εφαρμογές όπου χρειάζεται μεγάλη ακρίβεια και σταθερότητα. UART or SPI.

 Εξωτερικός ταλαντωτής RC. Δεν χρησιμοποιείται συχνά καθώς δεν είναι ακριβής, αλλά και λόγω του ότι υπάρχει ήδη εσωτερικός ταλαντωτής RC.

 Κρυσταλλικός ταλαντωτής. Αυτή είναι η ενδεδειγμένη πηγή ρολογιού για εφαρμογές που χρειάζονται μεγάλη ακρίβεια στην συχνότητα, όπως για παράδειγμα σύγχρονη επικοινωνία σε μεγάλες ταχύτητες. Για αυτόν τον λόγο ο AVR διαθέτει δύο ακροδέκτες XTAL1 και XTAL2 μεταξύ των οποίων μπορεί να συνδεθεί είτε κρύσταλλος χαλαζία (quartz) είτε κεραμικός συντονιστής (resonator). Η σύνδεση για αυτού του τύπου την πηγή ρολογιού φαίνεται στην παρακάτω εικόνα.

Σχήμα 2.5: Οι συνδέσεις του κρυσταλλικού ταλαντωτή.

2.4 Διακοπές και Επανατοποθέτηση

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

Στον κατάλληλο καταχωρητή ελέγχου της πηγής της διακοπής υπάρχει ένα bit που ονομάζεται bit επίτρεψης (enable bit), στο οποίο θα πρέπει να δοθεί η τιμή 1 ώστε να ενεργοποιηθεί η συγκεκριμένη διακοπή, χωρίς να επηρεάζεται η κατάσταση των υπόλοιπων διακοπών. Για να ενεργοποιηθούν ταυτόχρονα όλες οι διακοπές, υπάρχει στον καταχωρητή κατάστασης ένα γενικό bit επίτρεψης διακοπών (Global Interrupt Enable bit).

Όι διακοπές έχουν σειρά προτεραιότητας. Η σειρά προτεραιότητας της κάθε

διακοπής καθορίζεται από την διεύθυνση του δείκτη της ρουτίνας εξυπηρέτησης των

(16)

16

διακοπών, καθώς και της ρουτίνας επανατοποθέτησης (Reset). Όσο πιο καμηλάβρίσκεται ο δείκτης στη μνήμη, τόσο υψηλότερη είναι η προτεραιότητα της διακοπής, με τη μέγιστη προτεραιότητα να την έχει το Reset.

Υπάρχουν δύο βασικοί τύποι διακοπών;

1. Οι διακοπές που είναι ακμοπυροδότητες, δηλαδή ενεργοποιούνται τη στιγμή που ένα γεγονός θέτει 1 στη αντίστοιχη σημαία διακοπών (Interrupt Flag),

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

Όταν συμβαίνει μια διακοπή, το Global Interrupt Enable bit στον καταχωρητή κατάστασης γίνεται 0 και άρα οι διακοπές αυτομάτως απενεργοποιούνται συνολικά. Σε περίπτωση που χρειάζεται οι διακοπές να ενεργοποιηθούν και μετά από μια διακοπή, αυτό πρέπει να γίνει από το πρόγραμμα, θέτοντας 1 στο Global Interrupt Enable bit.

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

2.5 Σύγχρονη και ασύγχρονη επικοινωνία

Η προγραμματιζόμενη μονάδα σύγχρονης - ασύγχρονης σειριακής επικοινωνίας

(USART - Universal Synchronous & Asynchronous Receiver Transmitter) αποτελείται

από τρία βασικά μέρη: την γενήτρια ρολογιού, τον πομπό και τον δέκτη. Το επόμενο

διάγραμμα απεικονίζει την γενική δομή της μονάδας.

(17)

17

Σχήμα 2.6: Διάγραμμα της USART

Η γεννήτρια ρολογιού παράγει το ρολόι βάσης για τον πομπό και τον δέκτη.

Υπάρχουν τέσσερις καταστάσεις λειτουργίας του ρολογιού: α) Κανονική Ασύγχρονη, β) Ασύγχρονη Διπλής ταχύτητας, γ) Master Σύγχρονη και δ) Slave Σύγχρονη.

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

 1 bit αρχικοποίησης

 5, 6, 7, 8 ή 9 bits δεδομένων

 μονό, ζυγό ή καθόλου bit ισοτιμίας (parity bit)

 1 ή 2 bit τερματισμού

(18)

18

Για να ενεργοποιηθεί ο πομπός της USART πρέπει να δοθεί η τιμή 1 στο bit ενεργοποίησης εκπομπής στον καταχωρητή UCSRB (USART Control and Status Register B). Όταν ο πομπός ενεργοποιηθεί, η κανονική λειτουργία του ακροδέκτη PD1 καταργείται και αυτός λειτουργεί ως έξοδος της USART (TxD). Αντίστοιχα, για να ενεργοποιηθεί ο δέκτης της USART πρέπει να δοθεί η τιμή 1 στο bit ενεργοποίησης λήψης στον καταχωρητή UCSRB. Όταν ο δέκτης ενεργοποιηθεί, η κανονική λειτουργία του ακροδέκτη PD0 καταργείται και αυτός λειτουργεί ως είσοδος της USART (RxD). Και στις δύο περιπτώσεις (ενεργοποίηση πομπού ή δέκτη), όταν η επικοινωνία είναι σύγχρονη, το ρολόι στον ακροδέκτη XCK λειτουργεί ως ρολόι.

2.6 Περιφερειακά συστήματα

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

2.6.1 Συσκευή τροφής

Για το αυτόματο τάισμα των ψαριών επιλέχθηκε η συσκευή Eheim 3581. Η συσκευή λειτουργεί με δύο μπαταρίες τύπου ΑΑ και έχει την δυνατότητα να παρέχει τροφή στο ενυδρείο έως 4 φορές την ημέρα σύμφωνα με τον προγραμματισμό που γίνεται μέσω μιας οθόνης LCD.

Σχήμα 2.7: Η συσκευή Eheim 3581

(19)

19 2.6.2 Συσκευή οξυγόνου

Για την παροχή οξυγόνου στο ενυδρείο χρησιμοποιήθηκε η αεραντλία γλυκού νερού Elite 803 της εταιρίας Hagen. Χαρακτηρίζεται από την αθόρυβη λειτουργία της και την χαμηλή κατανάλωση ρεύματος (4 Watt).

Σχήμα 2.8: Η αεραντλία Elite 803

2.6.3 Κινητό τηλέφωνο

Για την αποστολή μηνυμάτων SMS χρησιμοποιήθηκε το κινητό τηλέφωνο Nokia 1100i.

Σχήμα 2.9: Nokia 1100

2.6.4 Ανεμιστήρες

Δύο ανεμιστήρες ψύξης XILENCE LED Fan 120mm χρησιμοποιήθηκαν για τους

σκοπούς της ψύξης του ενυδρείου.

(20)

20

Σχήμα 2.10: Ανεμιστήρας XILENCE

2.6.5 Τροφοδοτικό

Η τροφοδοσία του συστήματος εξασφαλίστηκε με το τροφοδοτικό ηλεκτρονικού υπολογιστή JOU JYE Electronic 300 Watt.

Σχήμα 2.11: Τροφοδοτικό 300 Watt

2.6.6 Οθόνη LCD

Η οθόνη που βρίσκεται στην κεντρική μονάδα χρησιμοποιείται στον

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

όσο είναι σε λειτουργία. Για αυτόν τον σκοπό επιλέχθηκε η οθόνη NHD-0420D3Z-NSW-

BBW-V3 της New Haven Display η οποία είναι τεσσάρων γραμμών και είκοσι στηλών,

δηλαδή μπορεί να προβάλλει μέχρι και 80 χαρακτήρες ταυτόχρονα

(21)

21

Σχήμα 2.12: Η Οθόνη LCD

(22)

22

Κεφάλαιο 3 Ηλεκτρονική Σχεδίαση του Συστήματος

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

3.1 Πλακέτα ανάπτυξης

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

Σχήμα 3.1: Αρχιτεκτονικό σχέδιο του συστήματος

3.2 Βοηθητική πλακέτα

Για τις διασυνδέσεις του AVR με συσκευές στα διάφορα επίπεδα της μονάδας

ελέγχου, χρησιμοποιήθηκε μια βοηθητική πλακέτα. Η πλακέτα αυτή συνδέεται με

καλωδιοταινία σε οποιαδήποτε πόρτα του AVR. Τα πρώτα 8 pins αντιστοιχούν στα pins

της πόρτας και τα άλλα 2 στο ρεύμα και στη γείωση.

(23)

23

Σχήμα 3.2: Βοηθητική πλακέτα διασύνδεσης

3.3 Πλακέτα Ηλεκτρονικής Ταίστρας

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

Σχήμα 3.3: Πλακέτα ταίστρας

(24)

24 3.4 Πλακέτα φώτων

Τα φώτα του ενυδρείου είναι ουσιαστικά μια σειρά από LED. Για την διασύνδεση τους με το AVR δημιουργήθηκε πλακέτα έτσι ώστε να υπάρχει η κατάλληλη συνδεσμολογία με τον ακροδέκτη 7 της πόρτας D.

Σχήμα 3.4: Πλακέτα φώτων

3.5 Μπουτόν

Τα μπουτόν της μονάδας ελέγχου συνδέονται με την πλακέτα ανάπτυξης με τον

παρακάτω τρόπο.

(25)

25

Σχήμα 3.5: Σύνδεση μπουτόν

3.6 Αισθητήριο θερμοκρασίας

Το αισθητήριο θερμοκρασίας συνδέεται με το ΑVR πόρτα Α και συγκεκριμένα στον ακροδέκτη 7.

Σχήμα 3.6: Σύνδεση αισθητηρίου θερμοκρασίας

3.7 Πλακέτα θερμοστάτη

Το εξωτερικό κύκλωμα του θερμοστάτη δημιουργήθηκε και αυτό σε ξεχωριστή

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

πραγματοποιείται μέσω του ακροδέκτη 6 της πόρτας D του AVR.

(26)

26

Σχήμα 3.10: Πλακέτα θερμοστάτη

3.8 Αισθητήριο στάθμης

Το σήμα από το αισθητήριο στάθμης μεταφέρεται στον ακροδέκτη 1 της πόρτας V του AVR.

Σχήμα 3.7: Σύνδεση αισθητηρίου στάθμης

3.9 Πλακέτα κινητού

(27)

27

Το κινητό συνδέεται στους ακροδέκτες 0-3 της πόρτας D του AVR.

Συγκεκριμένα, χρησιμοποιούνται τα κουμπιά Κάτω, OK, Πίσω και ON/OFF του κινητού για να ελεγχθεί η λειτουργία του.

Σχήμα 3.8: Πλακέτα σύνδεσης με κινητό

3.10 Πλακέτα ανεμιστήρων

Για τους ανεμιστήρες δημιουργήθηκε εξωτερική πλακέτα όπου υπάρχει το

κύκλωμα για την σύνδεση τους με την πλακέτα ανάπτυξης και τελικά τον AVR στον

ακροδέκτη 5 της πόρτας D.

(28)

28

Σχήμα 3.9: Πλακέτα ανεμιστήρων

(29)

29

Κεφάλαιο 4 Λογισμική Σχεδίαση του Συστήματος

Σε αυτό το κεφάλαιο περιγράφονται οι συναρτήσεις που χρειάστηκαν για την υλοποίηση του λογισμικού του συστήματος. Τα λογικά διαγράμματα δημιουργήθηκαν με το λογισμικό Microsoft Visio.

4.1 Συνάρτηση show_int

Εμφάνιση των αριθμών από το 0 έως το 9 στην οθόνη LCD.

(30)

30 4.2 Συνάρτηση show_num

Εμφανίζει τους αριθμούς στην οθόνη με σωστή μορφή (εκατοντάδες, χιλιάδες,

δεκάδες, δεκαδικά ψηφία)

(31)

31 4.3 Συνάρτηση leapyear

Υπολογισμός δίσεκτων ετών.

4.4 Συνάρτηση lastday

Υπολογισμός αριθμού ημερών κάθε μήνα.

(32)

32 4.5 Συνάρτηση WelcomeScreen

Προβολή μηνύματος καλωσορίσματος στην οθόνη LCD (όνομα εργασίας και

ονόματα σπουδαστών).

(33)

33 4.6 Συνάρτηση LightCheck

Έλεγχος φωτισμού ενυδρείου.

(34)

34 4.7 Συνάρτηση FanCheck

Έλεγχος ψύξης ενυδρείου.

(35)

35 4.8 Συνάρτηση HeatCheck

Έλεγχος θέρμανσης ενυδρείου.

4.9 Συνάρτηση AllChecks

Εκτέλεση όλων των επιμέρους ελέγχων (φώτα, ανεμιστήρες, θερμοκρασία)

(36)

36 4.10 Συνάρτηση nextfeed

Υπολογισμός ημερομηνίας και ώρας επόμενου ταίσματος.

Αρχικοποίηση ημερομηνίας.ώρας

Η επόμενη ώρα ταίσματος είναι σε περισσότερο από

48 ώρες?

Είναι η τελευταία μέρα

του μήνα?

ΝΑΙ

ΟΧΙ Αύξηση μήνα

ΝΑΙ

Είναι ο τελευταίος μήνας του έτους?

Επαναφορά στον πρώτο μήνα του έτους, και αύξηση

έτους Είναι η

προτελευταία μέρα του

μήνα?

ΌΧΙ

Αύξηση μήνα

Επαναφορά στην δεύτερη μέρα του

μήνα ΌΧΙ

Είναι ο τελευταίος μήνας του έτους?

Επαναφορά στον πρώτο μήνα του έτους, και αύξηση

έτους ΝΑΙ

Επαναφορά στην πρώτη μέρα του

μήνα ΌΧΙ

Αύξηση ημέρας ΟΧΙ κατά δύο

ΝΑΙ

Είναι η τελευταία μέρα

του μήνα?

ΝΑΙ

Αύξηση μήνα

Είναι ο τελευταίος μήνας του έτους?

Επαναφορά στον πρώτο μήνα του έτους, και αύξηση

έτους ΝΑΙ

Επαναφορά στην πρώτη μέρα του

μήνα ΌΧΙ

Αύξηση ημέρας κατά μία ΟΧΙ

Αποθήκευση ώρας επόμενου

ταίσματος

(37)

37 4.11 Συνάρτηση TimeConf

Ρύθμιση ώρας.

Προβολή μηνύματος στην οθόνη επιλογής

ώρας

Προβολή ωρων, λεπτών και δευτερολέπτων

στην οθόνη

Πάτημα κουμπιού Enter

ή δεξιά

Επόμενο μενού ΝΑΙ

Αναμονή για πάτημα κουμπιού

Πάτημα κουμπιού

αριστερά

Προηγούμενο μενού

ΝΑΙ

Πάτημα κουμπιού

Εscape

Έξοδος από μενού

ΝΑΙ

Πάτημα κουμπιού

επάνω

Αύξηση κατά μια μονάδα δευτερολέπτων, λεπτών ή ωρών

ΝΑΙ

Πάτημα κουμπιού κάτω

Μείωση κατά μία μονάδα δευτερολέπτων, λεπτών ή ωρών

ΝΑΙ

(38)

38 4.12 Συνάρτηση DateConf

Ρύθμιση ημερομηνίας.

Προβολή μηνύματος στην οθόνη επιλογής ημερομηνίας

Προβολή ημέρας, μήνα και έτους

στην οθόνη

Πάτημα κουμπιού Enter

ή δεξιά

Επόμενο μενού ΝΑΙ

Αναμονή για πάτημα κουμπιού

Πάτημα κουμπιού

αριστερά

Προηγούμενο μενού

ΝΑΙ

Πάτημα κουμπιού

Εscape

Έξοδος από μενού

ΝΑΙ

Πάτημα κουμπιού

επάνω

Αύξηση κατά μια μονάδα ημέρας, μήνα και έτους

ΝΑΙ

Πάτημα κουμπιού κάτω

Μείωση κατά μία μονάδα ημέρας, μήνα και έτους

ΝΑΙ

Κλήση συνάρτησης

TimeConf

(39)

39 4.13 Συνάρτηση AverTemp

Ρύθμιση επιθυμητής μέσης θερμοκρασίας ενυδρείου.

Προβολή μηνύματος στην οθόνη επιλογής θερμοκρασίας

Προβολή θερμοκρασίας

Αναμονή για πάτημα κουμπιού

Πάτημα κουμπιού

αριστερά

Προηγούμενο μενού

ΝΑΙ

Πάτημα κουμπιού

Εscape

Έξοδος από μενού

ΝΑΙ

Πάτημα κουμπιού

επάνω

Αύξηση κατά μια μονάδα της θερμοκασίας

ΝΑΙ

Πάτημα κουμπιού κάτω

Μείωση κατά μία μονάδα της θερμοκρασίας

ΝΑΙ

Κλήση συνάρτησης

DateConf Διόρθωση ορίων αν η θερμοκρασία

που επιλέχθηκε είναι >35 ή <15

(40)

40 4.14 Συνάρτηση ShowQuant

Εμφάνιση κειμένου στο μενού ποσότητας

4.15 Συνάρτηση FeederQuant

Ρύθμιση ποσότητας τροφής.

(41)

41 4.16 Συνάρτηση FeederConf

Ρύθμιση συχνότητας ταίσματος.

(42)

42 4.17 Συνάρτηση Sms

Αποστολή μηνύματος SMS.

(43)

43 4.18 Συνάρτηση feed

Ενεργοποίηση ταίσματος.

(44)

44 4.19 Κεντρικό πρόγραμμα

Το κεντρικό πρόγραμμα που τρέχει το σύστημα.

Αρχικοποίηση εισόδων/εξόδων κεντρικής μονάδας

Αρχικοποίηση μετρητών

Αρχικοποίηση διακοπών

Ρύθμιση οθόνης

Καθαρισμός οθόνης

Προβολή οθόνης καλωσορίσματος

Εκτέλεση των ελέγχων συστήματος

Υπολογισμός επόμενου ταίσματος

Καθαρισμός οθόνης

Υπάρχει εξωτερικό

φως?

ΝΑΙ

ΟΧΙ

Αναμονή για πάτημα κουμπιού

Ενεργοποίηση λάμπας ενυδρείου

Α

(45)

45

(46)

46

Κεφάλαιο 5 Ενιαιοποίηση και Έλεγχος

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

5.1 Ενιαιοποίηση

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

Στο πάνω μέρος της γυάλας βρίσκονται οι λάμπες και οι δύο ανεμιστήρες ψύξης.

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

Σχήμα 5.1: Διάταξη υποσυστημάτων στην γυάλα

Ανεμιστήρες

Θερμοστάτης Θερμόμετρο

Μέτρηση στάθμης

Βαλβίδα

εκτόνωσης

αέρα

(47)

47

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

 Κουμπί Escape

 Κουμπί Enter

 Κουμπιά ρυθμίσεων (πάνω, κάτω, δεξιά, αριστερά σε διάταξη σταυρού γύρω από το κουμπί Enter)

 Κουμπιά manual λειτουργίας

 Παροχή τροφής

 Κινητό τηλέφωνο

 Φωτισμός

 Ανεμιστήρες

 Γενικός διακόπτης συστήματος

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

Σχήμα 5.2 Το κέντρο ελέγχου

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

Escape

Oθόνη LCD

Enter

Tροφή Κινητό

Φωτισμός

Ανεμιστήρες

Οn/off συστήματος

Αισθητήριο φωτός

(48)

48

εκτόνωσης αέρα, το κινητό τηλέφωνο με την πλακέτα με τις συνδέσεις του και η κεντρική πλακέτα του AVR.

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

Στο τρίτο επίπεδο υπάρχουν πλακέτες με ρελέ και συνδέσμους για τις πόρτες του AVR που χρησιμοποιήθηκαν.

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

5.2 Έλεγχος συστήματος

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

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

5.2.1 Έλεγχος μενού

Η διαδικασία ελέγχου του μενού είναι βασικά η εισαγωγή των πληροφοριών που

ζητούνται και η πλοήγηση στο μενού του συστήματος. Εάν αυτά τα αυτόματα τεστ που

περιγράφονται παραπάνω είναι επιτυχημένα, τότε το σύστημα προχωράει, με κατάλληλα

μηνύματα στην οθόνη, σε αναμονή πληροφοριών από τον χρήστη. Ξεκινώντας από την

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

πληροφοριών γίνεται σωστά και με την σωστή σειρά, όπως και απόκριση και αλλαγή

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

καρτελών και λειτουργία κουμπιών) έγιναν στις επιλογές για την μέση θερμοκρασία και

την ώρα.

(49)

49

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

5.2.2 Έλεγχος φωτισμού

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

5.2.3 Έλεγχος θερμοκρασίας

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

α) Τοποθέτηση του θερμόμετρου σε ποτήρι με πολύ κρύο νερό. Σε αυτό το σενάριο, η θερμοκρασία άρχισε να πέφτει, και όταν έφτασε να είναι 6°C μικρότερη από την θερμοκρασία που είχε επιλεγεί, τότε ενεργοποιήθηκε ο θερμοστάτης. Διατηρώντας τον θερμοστάτη μέσα στο κρύο νερό, η θερμοκρασία συνέχισε να πέφτει, και όταν έγινε 10°C μικρότερη από την επιθυμητή θερμοκρασία, τότε το σύστημα ενεργοποίησε το κινητό τηλέφωνο και με κατάλληλες επιλογές του μενού στάλθηκε sms μήνυμα σε επιλεγμένο αριθμό.

β) Τοποθέτηση του θερμόμετρου σε ποτήρι με ζεστό νερό. Κατ’ αντιστοιχία με το

πρώτο σενάριο, η θερμοκρασία νερού που μετρούσε το σύστημα ανέβαινε συνεχώς μέχρι

να φτάσει 6°C πάνω από την επιλεγμένη μέση θερμοκρασία. Όταν συνέβη αυτό,

ενεργοποιήθηκαν οι ανεμιστήρες οι οποίοι λειτουργούν ως το σύστημα ψύξης του

ενυδρείου. Η θερμοκρασία συνέχισε να ανεβαίνει όταν έφτασε 10°C πάνω από την

επιθυμητή μέση θερμοκρασία, το κινητό τηλέφωνο έστειλε κατάλληλο sms.

(50)

50 5.2.4 Έλεγχος στάθμης

Σε αυτόν τον έλεγχο δοκιμάστηκε η απόκριση του συστήματος όταν το ενυδρείο

έχει νερό και όταν δεν έχει. Όταν ο αισθητήρας νερού ανιχνεύσει νερό, τότε συνεχίζεται

κανονικά η λειτουργία του ενυδρείου. Για να προσομοιωθεί η απουσία νερού, ο

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

κατάλληλο σήμα από τον αισθητήρα στην κεντρική μονάδα, να ενεργοποιηθεί το κινητό

τηλέφωνο, και να σταλεί σχετικό μήνυμα.

(51)

51

Κεφάλαιο 6 Αποτελέσματα – Προτάσεις

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

 Αυτόματος έλεγχος ταίσματος

 Αυτόματη ενεργοποίηση/απενεργοποίηση εσωτερικού φωτισμού ανάλογα με τις συνθήκες φωτισμού του δωματίου

 Σύστημα ψύξης όταν η θερμοκρασία στο ενυδρείο ξεπερνά κατά 6°C την επιθυμητή μέση θερμοκρασία

 Σύστημα θέρμανσης όταν η θερμοκρασία στο ενυδρείο είναι μικρότερη κατά 6°C της επιθυμητής μέσης θερμοκρασίας

 Ειδοποίηση με μήνυμα sms στο κινητό του χρήστη όταν η θερμοκρασία του ενυδρείου είναι 10°C μεγαλύτερη από την μέση θερμοκρασία

 Ειδοποίηση με μήνυμα sms στο κινητό του χρήστη όταν η θερμοκρασία του ενυδρείου είναι 10°C μικρότερη από την μέση θερμοκρασία

 Μέτρηση της στάθμης νερού και ειδοποίηση όταν αυτή πέσει κάτω από το επιτρεπτό όριο.

Με αυτές τις λειτουργίες καλύπτονται σε μεγάλο ποσοστό οι ανάγκες που μπορεί

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

στην δημιουργία ενός συστήματος με δύο βασικά πλεονεκτήματα: α) να υπάρχει η

μικρότερη δυνατή ανάγκη για επιτόπιο έλεγχο από τον ιδιοκτήτη του ενυδρείου, αλλά και

β) να υπάρχει έγκαιρη ειδοποίηση σε περίπτωση δυσλειτουργίας έτσι ώστε να γίνουν

έγκαιρα οι απαραίτητες διορθωτικές ενέργειες.

Referências

Documentos relacionados

Τζουμέρκα με την πεποίθηση ότι θα διακριθεί και θα τιμήσει την Ελλάδα με τις αθλητικές του επιδόσεις.44 Οι μαθητές της Ριζαρείου σχολής λόγω της οργάνωσης του γυμναστηρίου και του