*ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ* «Ανάπτυξη Αυτόνομου Συστήματος Διαχείρισης Διατάξεων Ανίχνευσης Αερίων Μιγμάτων-Οσμών» Ανδρέας Καββαδίας – Αλεξάνδρα Τσακίρη
Σκοπός Εργασίας Η σχεδίαση και η υλοποίηση αυτόνομου συστήματος με χρήση μικροελεγκτή και δύο ελεγχόμενων αισθητήρων καταγραφής χημικών συστάσεων αέριας μορφής για την επίτευξη της καταγραφής σύστασης, αρχικά οριζόμενης, ποσότητας αέρα, στο χημικό στοιχείο N 2 (Άζωτο).
Εξοπλισμός Αναπτυξιακό Atmel STK 500. Επιπρόσθετη πλακέτα τοποθέτησης microcontroller τύπου TQFP 100 pin, Atmel STK 503. Microcontroller Atmel AtMega Δύο αισθητήρες Brooks 5850s για τον έλεγχο της σύστασης συγκεκριμένου χημικού στοιχείου ανά ορισμένη ποσότητα δειγματοληψίας. Σχεδιάσαμε και κατασκευάσαμε πλακέτα εισόδων-εξόδων τύπου RS 232 για την αμφίδρομη επικοινωνία του μικροελεγκτή με τους αισθητήρες και με terminal ελέγχου.
Σχεδίαση Hardware Προσδιορισμός Προδιαγραφών Η πτυχιακή μας εργασίας υπαγόρευε την αμφίδρομη επικοινωνία του μικροελεγκτή μας με: Ένα terminal μέσω σειριακής επικοινωνίας και Δύο αισθητήρες Brooks 5850s μέσω σειριακής επικοινωνίας.
Σχεδίαση Βασικό συστατικό της πλακέτας είναι οι Rs232 Dual Drivers που χρησιμοποιεί. Πιο συγκεκριμένα στην πλακέτα χρησιμοποιήθηκαν οι παρακάτω drivers. Max 232N της Τexas Instruments ADM 202 της Analog Devices
Σχηματικό Πλακέτας
Παρουσίαση PCB
Πρόγραμμα Απαιτήσεις Προγράμματος Αρχικό μενού επιλογής αισθητήρα Επιλογή ποσότητας αέρα που θα ελεγχθεί Συνεχής καταγραφή σύστασης N 2 (Αζώτο) στην προεπιλεγμένη ποσότητα Δυνατότητα διακοπής της καταγραφής για επιλογή του δεύτερου αισθητήρα
Διαδικασία πριν τον προγραμματισμό Επικοινωνία σε χαμηλό επίπεδο, χρησιμοποιώντας εντολή 11 του συγκεκριμένου πρωτόκολλου για την εξαγωγή των τριών δεκαεξαδικών byte που αποτελούν την διεύθυνση του εκάστοτε αισθητήρα. Για αυτήν την διαδικασία χρησιμοποιήθηκε ένα πρόγραμμα, τύπου Hyper Terminal που ονομάζεται DockLight V1.6
Υπολογισμός tag και καταγραφή της διεύθυνσης
Τελική Σύνταξη Εντολής 11 Πρώτος Αισθητήρας Δεύτερος Αισθητήρας
Απαντήσεις Εντολής 11 Πρώτος Αισθητήρας: To μήνυμα που παίρνω σαν απάντηση περιέχει τον μοναδικό κωδικό που είναι σε αυτή την περίπτωση: 49 B3 31 To μήνυμα που παίρνω σαν απάντηση περιέχει τον μοναδικό κωδικό που είναι σε αυτή την περίπτωση: 49 B3 31 Δεύτερος Αισθητήρας: To μήνυμα που παίρνω σαν απάντηση περιέχει τον μοναδικό κωδικό που είναι σε αυτή την περίπτωση: 49 B3 32 To μήνυμα που παίρνω σαν απάντηση περιέχει τον μοναδικό κωδικό που είναι σε αυτή την περίπτωση: 49 B3 32
Εντολή 236 Αυτή η εντολή θα μας δώσει την ευκαιρία να σετάρουμε ποσοστιαία την χωρητικότητα του δοχείου δειγματοληψίας του αισθητήρα. Όπως βλέπουμε και παρακάτω και για τους δύο αισθητήρες. Αυτή η εντολή θα μας δώσει την ευκαιρία να σετάρουμε ποσοστιαία την χωρητικότητα του δοχείου δειγματοληψίας του αισθητήρα. Όπως βλέπουμε και παρακάτω και για τους δύο αισθητήρες.
Εντολή 60 Αυτή η εντολή θα μας δώσει την ευκαιρία να διαβάσουμε την αναλογική έξοδο αλλά και το ποσοστό ύπαρξης του επιθυμητού αερίου στο χώρο δειγματοληψίας που σετάραμε με την προηγούμενη εντολή. Πρώτος Αισθητήρας: Δεύτερος Αισθητήρας:
Απάντηση Εντολής 60 Μια πιθανή απάντηση μετά την αποστολή μηνύματος, με την σύνταξη τη εντολής 60 είναι η παρακάτω: Η σύσταση σε άζωτο, ποσοστιαία, είναι %.
Πρόγραμμα Χρήση του struct για διαμερισματοποίηση της 32 bit πληροφορίας σε 4 char (8 bit). Χρήση του union για δέσμευση μνήμης 32 bit
Πρόγραμμα Για να διακόπτουμε το πρόγραμμα χρησιμοποιήθηκε η συνεχής παρατήρηση του flag της σειριακής της εκάστοτε σειριακής πόρτας.
Μέθοδος μετατροπής τεσσάρων char bytes (hex) σε 32 bit floating point (dec)
Μέθοδος μετατροπής 32 bit floating point (dec) σε τέσσερα char bytes (hex)
Περιγραφή λειτουργίας του προγράμματος Το πρόγραμμα ξεκινάει από ένα αρχικό menu επιλογής com. Ορίζεται η χωρητικότητα δειγματοληψίας του αισθητήρα ποσοστιαία. Ο μικροελεγκτής αρχίζει να διαβάζει συνεχώς τις τιμές του αζώτου, που δέχεται σε μορφή τεσσάρων δεκαεξαδικών αριθμών. Σχηματίζονται οι τελικές 32 floating point πληροφορίες. Εμφανίζεται η τελική ποσοστιαία τιμή του αζώτου ανά 1 δευτερόλεπτο. Η παραπάνω διαδικασία μπορεί να διακοπεί κατά βούληση του χρήστη εισάγοντας από το terminal ελέγχου τους χαρακτήρες ‘a’ σε περίπτωση που χρησιμοποιείται η com 1 και ‘b’ για την com 2. ‘a’ σε περίπτωση που χρησιμοποιείται η com 1 και ‘b’ για την com 2. Στην συνέχεια το πρόγραμμα επιστρέφει στο αρχικό menu επιλογής com και η καταγραφή σταματάει.
Τέλος Παρουσίασης Ευχαριστούμε Ανδρέας Καββαδίας – Αλεξάνδρα Τσακίρη