Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας με Θερμοστάτη. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front panel). Σχεδίαση του front panel για ένα πρόγραμμα Συλλογής & Επεξεργασίας Μετρήσεων. Δομικό Διάγραμμα (block diagram). Δομές προγραμματισμού. Η δομή Επανάληψης. Συνάρτηση δημιουργίας τυχαίων αριθμών. 1
Μέρος Α : Σκοπός και Περιγραφή της Άσκησης 3.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΑΣΚΗΣΗΣ Σ αυτή την άσκηση, επιχειρούμε να δημιουργήσουμε ένα σύστημα που να μετράει τη θερμοκρασία του περιβάλλοντος, αν είμαστε σ ένα εξωτερικό χώρο ή τη θερμοκρασία σ ένα εσωτερικό χώρο ή εναλλακτικά, τη θερμοκρασία μίας συσκευής, για παράδειγμα, τη θερμοκρασία του ηλεκτρικού φούρνου ή τη θερμοκρασία μίας εστίας της κουζίνας, χρησιμοποιώντας έναν αισθητήρα θερμοκρασίας. Μέσα από μία διαφορετική εφαρμογή, τη μέτρηση θερμοκρασίας, θα δούμε πάλι τη δομή, από έναν μικροελεγκτή αισθητήρες τη σύνδεση του μικροελεγκτή στον υπολογιστη (Εικόνα ) και τα βασικά χαρακτηριστικά των συστημάτων μέτρησης με αισθητήρες. Θα δούμε πάλι πως ένα από τα βασικά χαρακτηριστικά των συστημάτων μέτρησης είναι να συνδέουν αναλογικές με ψηφιακές συσκευές τον υπολογιστή, μέσα από ένα μικροελεγκτή σε αισθητήρες, να συνδυάζουν αναλογικά με ψηφιακά σήματα, την αναλογική με τη ψηφιακή λειτουργία, δημιουργώντας έτσι συστήματα που επειδή περιέχουν ένα μικροεπεξεργαστή, μπορεί να προγραμματίζονται και το πρόγραμμα οδηγεί τη λειτουργία του συστήματος, καθορίζοντας πως το σύστημα θα χρησιμοποιεί τις μετρήσεις, από τους αισθητήρες, αν αυτές οι μετρήσεις θα στέλνονται στον υπολογιστή ή σε άλλη συσκευή, για παράδειγμα σε κινητό ή σε tablet, αν θα στέλνονται ενσύρματα ή ασύρματα, πως θα εμφανίζονται, ποια επεξεργασία θα γίνεται σ αυτές και ποια θα είναι η λειτουργία του συστήματος μέτρησης, στη βάση αυτής της επεξεργασίας. Όμως, μέσα από τη μέτρηση της θερμοκρασίας, θα δούμε την άλλη βασική λειτουργία των συστημάτων μέτρησης, εκτός από αυτή να παίρνουν και να επεξεργάζονται μετρήσεις, από αισθητήρες. Η άλλη λειτουργία ενός συστήματος μέτρησης, είναι να λειτουργεί και να ελέγχει τη λειτουργία συσκευών, για παράδειγμα τη λειτουργία κινητήρων. Θα δούμε αυτή τη λειτουργία, δημιουργώντας έναν απλό θερμοστάτη, το σύστημα δηλαδή που λειτουργεί ώστε κάθε στιγμή, να διατηρεί τη θερμοκρασία σ ένα εσωτερικό χώρο σε μία ζητούμενη τιμή, μετρώντας τη θερμοκρασία σε τακτικά χρονικά διαστήματα και ανοίγοντας ή κλείνοντας τη θέρμανση ή το κλιματιστικό, ώστε πάντα, η θερμοκρασία να είναι στη ζητούμενη τιμή. Ένα ανάλογο σύστημα θα μπορούσε να λειτουργεί το φωτισμό, ανάλογα με το φυσικό φώς, απ έξω ή να διατηρεί ένα αυτοκίνητο σε μία λωρίδα κυκλοφορίας, ώστε ποτέ το αυτοκίνητο να μη βγαίνει από αυτή τη λωρίδα. Ο θερμοστάτης, αλλά και καθένα από τα παραπάνω παραδείγματα, το σύστημα ρύθμισης του φωτισμού και το σύστημα ρύθμισης της κίνησης ενός αυτοκινήτου σε μία λωρίδα κυκλοφορίας, είναι χαρακτηριστικό παράδειγμα ενός συστήματος ελέγχου, δηλαδή ενός συστήματος που αυτόματα, ρυθμίζει τη λειτουργία μίας συσκευής. 2
Εικόνα 1: Το κύκλωμα του συστήματος ελέγχου θερμοκρασίας 3
Εικόνα 1β: Το σχηματικό διάγραμμα του κυκλώματος του συστήματος ελέγχου θερμοκρασίας Μέσα από το θερμοστάτη, θα δούμε τις βασικές αρχές και ιδέες των συστημάτων ε- λέγχου. Θα δούμε τον PID έλεγχο που είναι το σύστημα ελέγχου που χρησιμοποιείται στον έλεγχο, σχεδόν κάθε πραγματικού συστήματος, από τον έλεγχο ενός θερμοστάτη μέχρι τον έλεγχο ενός αεροσκάφους, σχεδιάζοντας το θερμοστάτη στη βάση αυτού του συστήματος. 3.2 To Πείραμα Σ αυτή την άσκηση, επιχειρούμε να δημιουργήσουμε ένα σύστημα που να μετράει, αλλά και να ελέγχει τη θερμοκρασία σ ένα εσωτερικό χώρο ή εναλλακτικά, τη θερμοκρασία μίας συσκευής, για παράδειγμα, τη θερμοκρασία του ηλεκτρικού φούρνου ή τη θερμοκρασία μίας εστίας της κουζίνας. Βασικό στοιχείο αυτού του συσ- 4
τήματος, είναι ο αισθητήρα θερμοκρασίας, ένας αισθητήρας που μπορεί να μετράει τη θερμοκρασία, σ ένα χώρο. Ο αισθητήρας θερμοκρασίας που θα χρησιμοποιήσουμε είναι ο DS18B20. Είναι ένας ψηφιακός αισθητήρας θερμοκρασίας της Dallas. 3.3 Το Σύστημα Μέτρησης Το κύκλωμα του συστήματος μέτρησης, είναι πολύ απλό. Για να παίρνουμε τη μέτρηση από τον αισθητήρα θερμοκρασίας, απλά, συνδέουμε τον αισθητήρα σε μία πύλη του Arduino. Επειδή ο αισθητήρας είναι ψηφιακός, συνδέουμε το μεσαίο ακροδέκτη του αισθητήρα σε μία ψηφιακή πύλη του Arduino, έστω στη D2 (Εικόνα ). Βλέποντας την επίπεδη πλευρά του αισθητήρα, συνδέουμε το δεξιό ακροδέκτη του αισθητήρα, στα 5 V και τον αριστερό, στο GND (Εικόνα 1). Συνδέουμε τον Arduino στον υπολογιστή, χρησιμοποιούμε το USB καλώδιο, ώστε να μπορούμε να βλέπουμε τις μετρήσεις, από τον αισθητήρα θερμοκρασίας, στη σειριακή οθόνη του υπολογιστή (Εικόνα ). Μέσα από το κύκλωμα / διάταξη του συστήματος μέτρησης θερμοκρασίας, βλέπουμε πάλι τη βασική δομή ενός συστήματος μέτρησης (Data Acquisition System) που στη πιο απλή μορφή του, αποτελείται από τους αισθητήρες, το μικροελεγκτή και τον υπολογιστή. Κεντρική μονάδα του συστήματος, είναι ο μικροελεγκτής που εδώ, είναι ο Arduino, όπου στις αναλογικές και ψηφιακές πύλες του, συνδέουμε τους αισθητήρες. Ο μικροελεγκτής που εδώ, είναι ο Arduino, μέσα από τις εντολές ενός προγράμματος που εκτελείται στο μικροεπεξεργαστή του έναν ATMEGA 328 παίρνει τις μετρήσεις από τους αισθητήρες, μετατρέπει τις αναλογικές τιμές των μετρήσεων σε ψηφιακή μορφή, επεξεργάζεται αυτές τις μετρήσεις, τις στέλνει και τις εμφανίζει στην οθόνη του υπολογιστή, ώστε να μπορούμε να τις βλέπουμε. 3.4 Η Πειραματική Διάταξη Η διάταξη του πειράματος, εκτός από το σύστημα μέτρησης, αισθητήρας θερμοκρασίας Arduino Υπολογιστής, περιλαμβάνει και το μηχανισμό, μέσα από τον οποίο, τεχνητά, θα μεταβάλλουμε τη θερμοκρασία, στο χώρο ή σε μία συσκευή. Αυτός ο μηχανισμός αποτελείται από τρία στοιχεία, μία αντίσταση R3 = 100 Ω, ένα τρανζίστορ και μία αντίσταση R2 = 1 kω (Εικόνα ). Η αντίσταση R3 = 100 Ω, θα λειτουργεί σαν θερμαντικό στοιχείο, για παράδειγμα, θα είναι το ηλεκτρικό σώμα που θερμαίνει ένα χώρο ή η αντίσταση που θερμαίνει ένα φούρνο ή την εστία μίας κουζίνας. Μία αντίσταση, όταν συνδέεται σ ένα κύκλωμα και διαρρέεται από ρεύμα, έχει την ιδιότητα να καταναλώνει ενέργεια, μετατρέποντας την ηλεκτρική ενέργεια, από τη ροή του ρεύματος, σε θερμότητα και εκπέμποντας αυτή τη θερμότητα. Φέρνοντας σε επαφή / ακουμπώντας τον αισθητήρα θερμοκρασίας στην αντίσταση R3 (Εικόνα 2), ο 5
Εικόνα 2: Φέρνοντας το αισθητήρα θερμοκρασίας σε επαφή με την αντίσταση, ο αισθητήρας θα μετράει τη θερμοκρασία της αντίστασης. αισθητήρας μπορεί να μετράει τη θερμοκρασία της αντίστασης, όπως θα μετρούσε τη θερμοκρασία μίας συσκευής. Όταν το κύκλωμα της αντίστασης είναι ανοικτό και η αντίσταση δεν διαρρέεται από ρεύμα, τότε, ο αισθητήρας θα μετράει τη θερμοκρασία του περιβάλλοντος. Όταν όμως, το κύκλωμα της R3 είναι κλειστό και η αντίσταση διαρρέεται από ρεύμα, τότε, ο αισθητήρας θα δείχνει μία πολύ μεγαλύτερη τιμή θερμοκρασίας. Όσο μεγαλύτερη η ένταση του ρεύματος στο κύκλωμα της αντίστασης, τόσο μεγαλύτερη θα 6
Εικόνα : Το τρανζίστορ σαν διακόπτης είναι και η θερμοκρασία που θα μετράει ο αισθητήρας. Ρυθμίζοντας το ρεύμα στο κύκλωμα της αντίστασης, μπορούμε να ρυθμίζουμε και τη θερμοκρασία της αντίστασης. Αυτός ακριβώς είναι ο σκοπός του τρανζίστορ, στη διάταξη του πειράματος. Το τρανζίστορ λειτουργεί / χρησιμοποιείται / μας επιτρέπει να ρυθμίζουμε την ένταση του ρεύματος, στο κύκλωμα της R3. Στη πιο απλή περίπτωση, το τρανζίστορ, λειτουργεί σα διακόπτης, ανοίγοντας ή κλείνοντας το κύκλωμα της αντίστασης. Μεταβάλλοντας τη τάση στη βάση του τρανζίστορ, μπορούμε να κάνουμε το τρανζίστορ καλύτερο ή χειρότερο αγωγό, μεταβάλλοντας την ένταση του ρεύματος, στο κύκλωμα της αντίστασης R3. Άρα, μέσα από το τρανζίστορ, μπορούμε να ρυθμίζουμε το ρεύμα στην αντίσταση και να 7
Εικόνα 3: Το πρόγραμμα, για τη μέτρηση της θερμοκρασίας της αντίστασης... διατηρούμε την αντίσταση σε μία σταθερή τιμή θερμοκρασίας. Αναλυτικότερα, η λειτουργία του τρανζίστορ στο κύκλωμα, περιγράφεται στη παρακάτω ενότητα. Όλη η διάταξη του συστήματος μέτρησης και ελέγχου θερμοκρασίας παριστάνεται στην Εικόνα. 3.5 Το Πρόγραμμα για τη Μέτρηση της Θερμοκρασίας Όλη η λειτουργία του συστήματος μέτρησης της θερμοκρασίας της αντίστασης με τον αισθητήρα DS18B20, αλλά και του συστήματος ελέγχου αυτής της θερμοκρασίας, μέσα από το τρανζίστορ, ρυθμίζονται από ένα πρόγραμμα που εκτελείται στον μικροεπεξεργαστή του Arduino. 8
Εικόνα 4: Το πρόγραμμα ελέγχου της θερμοκρασίας... Ξεκινάμε, βλέποντας πρώτα, μόνον το πρόγραμμα, για τη μέτρηση της θερμοκρασίας. Αυτό το πρόγραμμα, απλά, διαβάζει τη μέτρηση της θερμοκρασίας της αντίστασης, από τον αισθητήρα, ανεξάρτητα από το αν η αντίσταση διαρρέεται από ρεύμα ή όχι και εμφανίζει αυτή τη μέτρηση, στην οθόνη του υπολογιστή. Το πρόγραμμα για τη μέτρηση της θερμοκρασίας και οι βασικές λειτουργίες του προγράμματος, παριστάνονται στην Εικόνα. Αν το κύκλωμα της αντίστασης είναι ανοικτό, τότε απλά, ο DS18B20 μετράει τη θερμοκρασία στο εργαστήριο / στο χώρο που γίνεται το πείραμα και το πρόγραμμα διαβάζει τη μέτρηση, από τον αισθητήρα, σε τακτικά χρονικά διαστήματα και την εμφανίζει στη σειριακή οθόνη του υπολογιστή, όπως παριστάνεται στην Εικόνα. Αν το κύκλωμα της αντίστασης είναι κλειστό, τότε ο αισθητήρας θερμοκρασίας θα μετράει και το πρόγραμμα θα εμφανίζει στη σειριακή οθόνη, μία πολύ μεγαλύτερη τιμή θερμοκρασίας (Εικόνα ). 9
3.6 Το Σύστημα Ελέγχου Μπορούμε να ρυθμίζουμε τη θερμοκρασία της αντίστασης και να οδηγούμε τη τιμή της σε μία ζητούμε τιμή ή τιμή αναφοράς. Με ποιο τρόπο? Μεταβάλλοντας την ένταση του ρεύματος, στο κύκλωμα της αντίστασης. Ο πιο απλός τρόπος να μεταβάλλουμε το ρεύμα, στο κύκλωμα της αντίστασης, είναι να ανοίγουμε και να κλείνουμε αυτό το κύκλωμα. Μετρούμε τη θερμοκρασία της αντίστασης. Αν η τιμή της είναι μικρότερη από μία ζητούμενη τιμή που ονομάζουμε τιμή αναφοράς, τότε κλείνουμε το κύκλωμα της αντίστασης και κρατάμε κλειστό το κύκλωμα, μέχρι η θερμοκρασία της να φτάσει τη ζητούμενη τιμή. Μόλις η θερμοκρασία της αντίστασης φτάσει τη ζητούμενη τιμή, α- νοίγουμε το κύκλωμα. Σ αυτή τη διαδικασία δηλαδή, υπολογίζουμε ένα σφάλμα σαν τη διαφορά της πραγματικής τιμής θερμοκρασίας, από τη ζητούμενη Error = Target Actual_Temp Όσο το σφάλμα είναι μεγαλύτερο του μηδενός, κρατάμε κλειστό το κύκλωμα της αντίστασης. Μόλις το σφάλμα γίνει μηδέν ή μικρότερο του μηδενός, ανοίγουμε το κύκλωμα της αντίστασης. Ελέγχουμε σε τακτικά χρονικά διαστήματα τη θερμοκρασία στην αντίσταση, ώστε να διατηρούμε τη τιμή της, στη ζητούμενη τιμή. Το κύκλωμα της αντίστασης, μέσα από το οποίο μεταβάλλουμε το ρεύμα και επομένως, τη θερμοκρασία της αντίστασης, αλλά και το σύστημα μέτρησης, αποτελούν ένα σύστημα ελέγχου. Όλη η λειτουργία του συστήματος ελέγχου έλεγχος, μέσα από τον υπολογισμό του σφάλματος και η μεταβολή της θερμοκρασίας της αντίστασης, στη βάση του σφάλματος, γίνεται από ένα πρόγραμμα που ελέγχει τη θερμοκρασία της αντίστασης, μετρώντας αυτή τη θερμοκρασία, συγκρίνοντας την με τη ζητούμενη τιμή, υπολογίζοντας έτσι το σφάλμα και μεταβάλλοντας το ρεύμα στο κύκλωμα της αντίστασης, στη βάση του σφάλματος. Αυτό το πρόγραμμα παριστάνεται στην Εικόνα. 10