ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΑΥΤΟΜΑΤΙΣΜΟΥ Καθ. Εφαρμογών: Σ. Βασιλειάδου Εργαστήριο Συστήματα Αυτομάτου Ελέγχου για Ηλεκτρολόγους Μηχανικούς Εργαστηριακές Ασκήσεις Χειμερινό εξάμηνο 2014/15
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 ΣΥΣΤΗΜΑ ΠΡΩΤΗΣ ΤΑΞΗΣ ΕΞΟΜΟΙΩΣΗ - ΧΡΟΝΙΚΗ ΑΠΟΚΡΙΣΗ ΜΕΣΩ MATLAB/SIMULINK Επιμέλεια: Γιαννόπουλος Ιορδάνης 2
ΣΥΣΤΗΜΑ ΠΡΩΤΗΣ ΤΑΞΗΣ ΕΞΟΜΟΙΩΣΗ ΧΡΟΝΙΚΗ ΑΠΟΚΡΙΣΗ ΜΕΣΩ MATLAB/SIMULINK ΘΕΩΡΗΤΙΚΑ Το Matlab είναι ένα πρόγραμμα που έχει την δυνατότητα να εξομοιώνει συστήματα αυτομάτου έλεγχου. Για να προγραμματίσουμε τον ηλεκτρονικό υπολογιστή να εκτελέσει την εξομοίωση χρειαζόμαστε να γνωρίζουμε ένα σετ εντολών, όπως και στις περισσότερες γλώσσες προγραμματισμού (πχ. C, C++), καθώς και βασικές γνώσεις θεωρίας συστημάτων αυτομάτου ελέγχου. Στην συγκεκριμένη άσκηση οι εντολές που θα χρειαστούν είναι οι ακόλουθες: Το σύμβολο % εισάγει σχόλια. Η εντολή clear all καθαρίζει την μνήμη. Η εντολή close all καθαρίζει τυχόν παράθυρα με προηγούμενες γραφικές παραστάσεις. Η εντολή clc καθαρίζει την οθόνη. Η εντολή tf(num,den) δημιουργεί μια συνάρτηση μεταφοράς έχοντας σαν αριθμητή την μεταβλητή num και σαν παρανομαστή την μεταβλητή den. Η εντολή figure δημιουργεί ένα πλαίσιο έτοιμο για να τοποθετηθεί μια γραφική παράσταση. Η εντολή step εισάγει μια βηματική συνάρτηση στο σύστημα. Η εντολή grid on δημιουργεί ένα πλέγμα για να εντοπίζουμε ευκολότερα τις συντεταγμένες της γραφικής παράστασης. Για την εισαγωγή μιας εξίσωσης θα πρέπει να χρησιμοποιηθούν οι αγκύλες αφού στο Matlabόλες οι παράμετροι απεικονίζονται με την μορφή μαθηματικού πίνακα. Πχ. η εξίσωση 3x 2 +5x+6 θα γίνει σε πρόγραμμα Matlab: [3 5 6] 3
Σημειώστε ότι το πλήθος των αριθμών μέσα στις αγκύλες υποδηλώνει τον βαθμό της εξίσωσης, ενώ η θέση τους μετρώντας από το τέλος δείχνει σε πια δύναμη του άγνωστου x αντιστοιχεί. Το Simulink είναι ένα πρόγραμμα που έχει την δυνατότητα επίσης να εξομοιώνει συστήματα αυτομάτου έλεγχου. Το πλεονέκτημα του σε σχέση με το Matlab είναι ότι δεν χρειάζεται γνώσεις προγραμματισμού και ουσιαστικά το μαθηματικό μοντέλο φτιάχνεται από ενεργές βαθμίδες (μπλοκ) τα οποία είναι συνδεδεμένα μεταξύ τους με ένα εικονικό καλώδιο. Η ενεργοποίησή του Simulink γίνεται μέσα από το περιβάλλον του προγράμματος Matlab, επιλέγοντας το εικονίδιο με την ένδειξη Simulink ή πληκτρολογώντας τη λέξη Simulink και πατώντας Enter. Στην επιφάνεια του ηλεκτρονικού υπολογιστή εμφανίζεται ένα παράθυρο με την ένδειξη Simulink Library Browser, όπου βρίσκονται οι βιβλιοθήκες και οι υποβιβλιοθήκες με τα στοιχεία της εξομοίωσης. Επιλέγοντας στη συνέχεια Create a new model δημιουργείται μια καινούρια επιφάνεια εργασίας, στην οποία τοποθετούνται τα ενεργά μπλοκ του συστήματος προς εξομοίωση. Η κύρια βιβλιοθήκη, από την οποία θα αντλήσουμε στοιχεία ονομάζεται Simulink, και οι απαραίτητες υπο-βιβλιοθήκες είναι: Sinks, Sources, Continuous, Commonly Used Blocks. Περισσότερα για τη χρήση Matlab/Simulink στο εγχειρίδιο: ΧΡΗΣΗ MATLAB/SIMULINK(R) ΣΤΗ ΜΕΛΕΤΗ & ΕΛΕΓΧΟ ΣΥΣΤΗΜΑΤΩΝ http://auto.teipir.gr/el/mathimata/sae-i-1304/59/simeioseis-mathimaton/hrisimatlabsimulinkr-sti-meleti-elegho-systimaton-okt-2014 4
ΕΡΓΑΣΤΗΡΙΑΚΑ 3.1 Δίνεται το ακόλουθο πρόγραμμα στο Matlab: clear all;close all;clc; % clear memory a = 1; % set parameter a=1 b = 1; % set parameter b=1 num = b; % numerator den = [1 a]; % denominator sys = tf(num,den); % creates transfer function sys figure(1); % figure step(sys) % applies a step input to transfer function sys grid on; % grid lines enable Ενεργοποιήστε στον ηλεκτρονικό υπολογιστή το πρόγραμμα του Matlab/Simulinkμε διπλό κλικ στο αντίστοιχο εικονίδιο επάνω στην επιφάνεια εργασίας. Τοποθετήστε το βελάκι επάνω στο εικονίδιο με την ένδειξη NewM-Fileκαι κάντε κλικ μια φορά. Ο κειμενογράφος (editor) του προγράμματος Matlabενεργοποιήθηκε. Πληκτρολογήστε το πρόγραμμα και τρέξτε το τοποθετώντας το βελάκι επάνω στην ένδειξη run του κειμενογράφου. Τι παρατηρείτε Μεταβάλετε τις τιμές των παραμέτρων a,b και καταγράψτε τις παρατηρήσεις σας. Επαναλάβατε το πείραμά σας για τρία διαφορετικά ζευγάρια τιμών των παραμέτρων a,b. 5
3.2 Δίνεται το ακόλουθο πρόγραμμα στο Matlab: clear all;close all;clc; % clear memory a = 1; % set parameter a=1 b = 1; % set parameter b=1 A = b/a; % set gain Tn = 1/a; % set time constant num = A; % numerator den = [Tn 1]; % denominator sys = tf(num,den); % creates transfer function sys figure(1); % figure step(sys) % applies a step input to transfer function sys grid on; % grid lines enable Τοποθετήστε το βελάκι επάνω στο εικονίδιο με την ένδειξη NewM-Fileκαι κάντε κλικ μια φορά. Ο νέος κειμενογράφος (editor) του προγράμματος Matlabενεργοποιήθηκε. Πληκτρολογήστε το νέο πρόγραμμα και τρέξτε το τοποθετώντας το βελάκι επάνω στην ένδειξη run του κειμενογράφου. Τι παρατηρείτε Μεταβάλετε τις τιμές των παραμέτρων a,b που αντιστοιχούν στην ενίσχυση A και στη σταθερά χρόνου Tn και καταγράψτε τις παρατηρήσεις σας για τρεις τιμές της ενίσχυσης A και τρεις τιμές της σταθεράς χρόνου Tn, αντίστοιχα. Πως επιδρά η μεταβολή της ενίσχυσης A και της σταθερά χρόνου Tn στη χρονική απόκριση του συστήματος; 6
3.3 Να εξομοιωθεί στο Simulink σύστημα πρώτης τάξεως με διαφορετικές τιμές της ενίσχυσης A και της σταθεράς χρόνου Tn. Η υπο-βιβλιοθήκη Continuous περιέχει μπλοκ που χρησιμοποιούνται για ανάλυση συστημάτων σε συνεχή χρόνο. Επιλέξτε το μπλοκ με την ένδειξη Transfer Fcn κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Η υπο-βιβλιοθήκη Source περιέχει πηγές διαφόρων τύπων για τροφοδοτηθεί ένα κύκλωμα. Επιλέξτε την πηγή με την ένδειξη Step κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Η υπο-βιβλιοθήκη Sinks περιέχει όργανα που μετρούν το αποτέλεσμα ενός πειράματος, όπως για παράδειγμα ο παλμογράφος. Τοποθετήστε το βελάκι επάνω στο εικονίδιο με την ένδειξη Scope κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Καλωδιώστε τα μπλοκ μεταξύ τους αφού τοποθετώντας το βελάκι στο τέλος κάθε μπλοκ εκείνο μετατρέπεται σε σταυρό και δίνει την δυνατότητα να συνδεθεί ένα καλώδιο ανάμεσα στο προηγούμενο και το επόμενο μπλοκ. Κάντε διπλό κλικ πάνω σε κάθε μπλοκ ώστε να εμφανιστεί ένα παράθυρο με τις ιδιότητές του. Δώστε στο Step Time του μπλοκ Step την τιμή μηδέν, για την έναρξη της εξομοίωσης. Αντίστοιχα μεταβάλλεται τα στοιχεία του μπλοκ Transfer Fcn (αριθμητή και παρονομαστή), πειραματιστείτε με διάφορες τιμές (τρεις κατά προτίμηση) της ενίσχυσης και της σταθεράς χρόνου για καταγράψτε τις διαφορετικές αποκρίσεις του συστήματος, με διπλό κλικ στο μπλοκ Scope (παλμογράφος). Σημείωση: Στην περίπτωση που θα επιθυμούσαμε να παρατηρήσουμε την είσοδο και την έξοδο του παλμογράφου ταυτόχρονα θα πρέπει να επιλέξουμε το Mux από την υπο-βιβλιοθήκη Commonly Used Blocks και να καλωδιώσουμε την είσοδο και την έξοδο του συστήματος στο μπλοκ Mux, ενώ την έξοδο του Mux να την καλωδιώσουμε στον παλμογράφο. 7
3.4 Να εξομοιωθεί στο Simulink το φυσικό αναλογικό διάγραμμα πρώτης τάξης της σελίδας 165 του βιβλίου με τίτλο Αναλογική Εξομοίωση Συστημάτων και να απαντηθούν τα αντίστοιχα ερωτήματα. Η υπο-βιβλιοθήκη Continuous περιέχει μπλοκ που χρησιμοποιούνται για ανάλυση συστημάτων σε συνεχή χρόνο. Επιλέξτε το μπλοκ με την ένδειξη Integrator κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Η υπο-βιβλιοθήκη Commonly Used Blocks περιέχει τα πιο συνηθισμένα μπλοκ που χρησιμοποιούνται για ανάλυση συστημάτων. Επιλέξτε τα μπλοκ με την ένδειξη Gain και Sum κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Το Gain μπλοκ θα χρησιμοποιηθεί ως ποτενσιόμετρο οπότε οι τιμές του θα είναι ανάμεσα από μηδέν και ένα [0,1]. Στην περίπτωση που θέλουμε να περιστρέψουμε το μπλοκ το πετυχαίνουμε με δεξί κλικ και rotate ή flip μπλοκ. Το Sum μπλοκ θα χρησιμοποιηθεί ως συγκριτής οπότε κάνοντας διπλό κλικ στην επιλογή List of Signs αντικαθιστούμε το δεύτερο συν (+) με μείον (-). Η υπο-βιβλιοθήκη Source περιέχει πηγές διαφόρων τύπων για τροφοδοτηθεί ένα κύκλωμα. Επιλέξτε την πηγή με την ένδειξη Step κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Η υπο-βιβλιοθήκη Sinks περιέχει όργανα που μετρούν το αποτέλεσμα ενός πειράματος, όπως για παράδειγμα ο παλμογράφος. Τοποθετήστε το βελάκι επάνω στο εικονίδιο με την ένδειξη Scope κρατήστε πατημένο το δεξί πλήκτρο του ποντικιού και σύρετε το εικονίδιο στο νέο περιβάλλον εργασίας. Καλωδιώνουμε όλα τα μπλοκ και εκτελούμε τα βήματα της άσκησης 4.3 στην 165 σελίδα του βιβλίου με τίτλο: Αναλογική Εξομοίωση Συστημάτων. 8