Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 11: Simulink Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Να κατανοήσει ο φοιτητής τις βασικές εννοιολογικές προσεγγίσεις του Simulink. 4
Περιεχόμενα Εισαγωγή στο Simulink. Simulink libraries browser. Δημιουργία μοντέλου. Open loop με Simulink. Close loop με Simulink 5
Εισαγωγή στο Simulink_1 Το Simulink είναι ένα πρόγραμμα μέσα στο Matlab που μας επιτρέπει την προσομοίωση και μοντελοποίηση. Προσομοίωση είναι μια μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με τη βοήθεια ενός άλλου συστήματος, συνήθως ηλεκτρονικού υπολογιστή. Αυτή τη δυνατότητα μας τη δίνει το Simulink. 6
Εισαγωγή στο Simulink_2 To Simulink είναι ένα λογισμικό πακέτο, ένα χρήσιμο εργαλείο του Matlab με το οποίο μπορούμε να κάνουμε προσομοιώσεις συστημάτων προερχομένων από πληθώρα επιστημονικών περιοχών. 7
Εισαγωγή στο Simulink_3 Ο χρήστης δημιουργεί σε γραφικό περιβάλλον ένα είδος διαγράμματος βαθμίδων με την βοήθεια έτοιμων δομών και εργαλείων που παρέχει το ίδιο το Simulink και το Matlab, αντί να εισάγει εντολές. Mε ευκολία στις ρυθμίσεις μπορεί να κάνει τη σύνθεση ενός συστήματος. 8
Εισαγωγή στο Simulink_4 Το Simulink δίνει εργαλεία σε γραφικό περιβάλλον για τη σύνθεση ενός συστήματος αποφεύγοντας εντολές ή τον προγραμματισμό που χρησιμοποιούμε στον editor του Matlab. Tο Simulink επιτρέπει την προσομοίωση συστημάτων χρησιμοποιώντας δομικά διαγράμματα (blocks). 9
Εισαγωγή στο Simulink_5 Τα διαγράμματα αυτά προέρχονται από την βιβλιοθήκη του Simulink και είναι οργανωμένα σε διάφορες κατηγορίες. Τοποθετώντας τα διαγράμματα αυτά σε ένα αρχείο και συνδέοντάς τα κατάλληλα μπορούμε να προσομοιώσουμε οποιοδήποτε σύστημα. Το Matlab αναλαμβάνει να δημιουργήσει τον κατάλληλο κώδικα, ώστε να μπορέσει να εκτελέσει την προσομοίωση. 10
Εισαγωγή στο Simulink_6 Μετά τη δημιουργία ενός μοντέλου, είναι δυνατή η προσομοίωσή του, χρησιμοποιώντας μια από τις διάφορες μεθόδους ολοκλήρωσης που παρέχει το Simulink. Χρησιμοποιώντας παλμογράφους και άλλα μπλοκ απεικόνισης, είναι δυνατή η παρακολούθηση των αποτελεσμάτων της προσομοίωσης όπως αυτή εξελίσσεται. 11
Εισαγωγή στο Simulink_7 Δίδεται η δυνατότητα η εξαγωγή των αποτελεσμάτων της προσομοίωσης στο χώρο εργασίας της MatLab για περαιτέρω επεξεργασία. 12
Ενεργοποίηση του Simulink_1 Για να ενεργοποιήσουμε το Simulink libraries browser ακολουθούμε έναν από τους παρακάτω τρόπους: Από τη γραμμή εργαλείων του Matlab ενεργοποιούμε το εικονίδιο, το οποίο μας εμφανίζει το Simulink libraries browser. Γράφουμε την εντολή Simulink στο command window του Matlab. 13
Simulink libraries browser_1 Εικόνα 1: Περιβάλλον Simulink. Πηγή: Διδάσκουσα (2015). 14
Simulink libraries browser_2 Παρατηρούμε ότι έχει τη δομή δέντρου και είναι το βασικό παράθυρο αναζήτησης αντικειμένων των βιβλιοθηκών του Simulink που είναι εγκατεστημένες στον υπολογιστή. Έχει 16 υποκατηγορίες που περιέχουν μπλοκ διαγράμματα. 15
Simulink libraries browser_3 Το Simulink libraries browser περιέχει διάφορα toolbox ομαδοποιώντας έτσι μερικές από τις λειτουργίες του. Επίσης στη γραμμή εργαλείων μας δίνει τα εικονίδια με τα οποία μπορούμε να δημιουργήσουμε: Ένα αρχείο του Simulink. Να ανοίξουμε ένα αρχείο που ήδη υπάρχει. Εργαλεία βοήθειας. 16
Simulink libraries browser_4 Ο χρήστης με το Simulink δημιουργεί μοντέλα επεξεργασίας με τα οποία μπορεί να προσομοιώσει διεργασίες στις οποίες η παρατήρηση σε πραγματικά μεγέθη πολλές φορές είναι αδύνατη. Μπορούμε να συνθέσουμε: Γραμμικά συστήματα. Μη Γραμμικά συστήματα. Συστήματα διακριτού χρόνου. Μαθηματικές πράξεις. Λογικές πράξεις. Προγραμματισμό (μέσω Matlab). 17
Δημιουργία μοντέλου_1 Για τη δημιουργία μοντέλου υπάρχουν δύο τρόποι: Από το menu εντολών των βιβλιοθηκών Simulink επιλέγουμε File-New-Model και ανοίγει το παράθυρο που σχεδιάζουμε το μοντέλο. Από τη γραμμή εργαλείων επιλέγουμε το εικονίδιο μιας λευκής σελίδας και ανοίγει το παράθυρο σχεδίασης. 18
Δημιουργία μοντέλου_2 Ένα μοντέλο είναι ένα σύνολο από μπλοκ διαγράμματα που θα πρέπει να αντιπροσωπεύει το σύστημα που θέλουμε να προσομοιώσουμε. 19
Παράδειγμα Να σχεδιαστεί ένα μοντέλο το οποίο αποτελείται από μια πηγή η οποία παράγει τετραγωνικό παλμό με πλάτος 5 μονάδες, περίοδο 6 δευτερόλεπτα και ο παλμός να διαρκεί 3 δευτερόλεπτα. Με τη χρήση παλμογράφου παρατηρούμε τον παραγόμενο παλμό. 20
Ενεργοποίηση του Simulink_2 Ενεργοποιούμε το Simulink. Επιλέγουμε File/new/model και εμφανίζεται το νέο παράθυρο σχεδίασης. Εικόνα 2: Ενεργοποίηση του Simulink. Πηγή: Διδάσκουσα (2015). 21
Επιλογή στοιχείων_1 Από τη βιβλιοθήκη του Simulink επιλέγουμε Sources (πηγές) επιλέγουμε το Pulse Generator (γεννήτρια παλμού) και το τοποθετούμε στο παράθυρο σχεδίασης. Από την κατηγορία Sinks (σήματα) επιλέγουμε το Scope (παλμογράφος) και το τοποθετούμε στο παράθυρο σχεδίασης. Τα συνδέουμε μεταξύ τους. 22
Επιλογή στοιχείων_2 Επιλέγουμε το χρόνο προσομοίωσης στα 18 δευτερόλεπτα. Διπλό κλικ πάνω στο Pulse Generator και δίνουμε τα χαρακτηριστικά που αναφέραμε στην αρχή του παραδείγματος όπως φαίνονται στην επόμενη εικόνα. 23
Εικόνα 2 Εικόνα 3: Επιλογή στοιχείων. Πηγή: Διδάσκουσα (2015). 24
Σύνδεση στοιχείων_1 Για να συνδέσουμε δύο στοιχεία μεταξύ τους υπάρχουν δύο τρόποι: Μπορούμε να σύρουμε έχοντας πατημένο το αριστερό πλήκτρο του ποντικιού το βέλος που ξεκινά από το ένα στοιχεία μέχρι την υποδοχή του άλλου. Αριστερό κλικ στο ένα και κρατώντας πατημένο το ctrl να κάνουμε κλικ στο δεύτερο. 25
Σύνδεση στοιχείων_2 Εικόνα 4: Σύνθεση στοιχείων. Πηγή: Διδάσκουσα (2015). 26
Ενεργοποίηση προσομοίωσης Πατώντας το πλήκτρο start μπορούμε να τρέξουμε την προσομοίωση. Όταν τελειώσει η προσομοίωση επιλέγουμε με διπλό κλικ το Scope και μπορούμε να δούμε την παλμοσειρά που έχουμε δημιουργήσει. Στο γράφημα κάνουμε δεξί κλικ και επιλέγουμε autoscale. 27
Αποτέλεσμα ενέργειας Ο παλμός είναι 6 sec, πλάτος 5 και διάρκεια 3 sec. Την ίδια διαδικασία ακολουθούμε για πολυπλοκότερα συστήματα. Εικόνα 5: Αποτέλεσμα ενέργειας. Πηγή: Διδάσκουσα (2015). 28
Open loop με Simulink_1 Στο command window γράφουμε: >>Simulink. Στο παράθυρο που ανοίγει επιλέγουμε: File/new/model Από το sources επιλέγουμε το step και το σέρνουμε στο παράθυρο του μοντέλου. Από το continuous επιλέγουμε transfer function και το σέρνουμε στο παράθυρο του μοντέλου. 29
Open loop με Simulink_2 Κάνουμε διπλό κλικ πάνω στο transfer function και ορίζουμε την κατάλληλη συνάρτηση. Από το sinks επιλέγουμε το floating scope και το σέρνουμε στο παράθυρο του μοντέλου. Κάνουμε διπλό κλικ πάνω στο floating scope και από τη γραμμή εργαλείων κάνουμε κλικ το floating scope. Ενώνουμε με βέλη όλα τα αντικείμενα. Από το μενού Simulink επιλέγουμε start για να γίνει η προσομοίωση. Στο γράφημα που εμφανίζετε κάνουμε δεξί κλικ και επιλέγουμε automatic(ή autoscale). 30
Open loop με Simulink_Σχήματα Εικόνα 6: Open loop με Simulink - Σχήματα. Πηγή: Διδάσκουσα (2015). 31
Open loop με εντολές στο MATLAB Να δημιουργήσετε ένα Open loop με συνάρτηση μεταφοράς. Κώδικας: num=1 den=[1 1 10] sys=tf(num, den) [y,x,t]=step(num, den) plot(t,y) Εικόνα 7: Open loop με εντολές MatLab. Πηγή: Διδάσκουσα (2015). 32
Close loop με Simulink_1 Εικόνα 8: Close loop με Simulink. Πηγή: Διδάσκουσα (2015). 33
Close loop με Simulink_2 Στο command window γράφουμε: >>simulink Στο παράθυρο που ανοίγει επιλέγουμε: File/new/model Από το sources επιλέγουμε το step και το σέρνουμε στο παράθυρο του μοντέλου. Από το math επιλέγουμε το sum και το σέρνουμε στο παράθυρο του μοντέλου. 34
Close loop με Simulink_3 Κάνουμε διπλό κλικ πάνω στο sum και ορίζουμε κατάλληλα το συγκριτή σε +-. Από το continuous επιλέγουμε transfer function και το σέρνουμε στο παράθυρο του μοντέλου. Κάνουμε διπλό κλικ πάνω στο transfer function και ορίζουμε την κατάλληλη συνάρτηση. 35
Close loop με Simulink_4 Από το sinks επιλέγουμε το floating scope και το σέρνουμε στο παράθυρο του μοντέλου. Κάνουμε διπλό κλικ πάνω στο floating scope και από τη γραμμή εργαλείων κλικάρουμε το floating scope. Ενώνουμε με βέλη όλα τα αντικείμενα. Από το μενού simulink επιλέγουμε start για να γίνει η προσομοίωση. 36
Close loop με Simulink_5 Στο γράφημα που εμφανίζετε κάνουμε δεξί κλικ και επιλέγουμε automatic. Από το μενού simulink επιλέγουμε start για να γίνει η προσομοίωση. Στο γράφημα που εμφανίζετε κάνουμε δεξί κλικ και επιλέγουμε automatic. 37
Close loop με εντολές στο MATLAB_1 Να δημιουργήσετε ένα Close loop με συνάρτηση μεταφοράς 1 s 2 +s+10 num=1 den=[1 1 10] sys1=tf(num, den) sys2=1 sys=feedback(sys1, sys2) [y,x]=step(sys) plot(x,y) 38
Close loop με εντολές στο MATLAB_2 Εικόνα 9: Close loop με Simulink 2. Πηγή: Διδάσκουσα (2015). 39
Βιβλιογραφία μαθήματος Γαύρος, Κ. (2012). Σημειώσεις για το εργαστήριο του μαθήματος «Συστήματα Αυτόματου Ελέγχου 1». ΤΕΙ Δυτικής Μακεδονίας, Κοζάνη. Γεωργίου, Γ. & Ξενοφώντος, Χ. (2007). Εισαγωγή στη MATLAB. Καντζιηλάρης, Λευκωσία, Κύπρος. Κατσάνος, Ε. Βασικά στοιχεία για τη χρήση του MATLAB & Εφαρμογή σε προβλήματα κατασκευών». Διδακτικές Σημειώσεις. Μούσας, Β. Χ. (2009). Βασική χρήση και προγραμματισμός MATLAB. Εκδόσεις Ίων, Αθήνα. Στεφανάκος, Χ. Ν. (2009). Προγραμματισμός Η/Υ με MATLAB. Εκδόσεις Γκιούρδας, Αθήνα. Στεφανάκος, Χ. Ν. (2011). Προγραμματίζοντας με MATLAB. Εκδόσεις Γκιούρδας, Αθήνα. Χατζίκος, Β. Ε. (2010). MATLAB για επιστήμονες και μηχανικούς. Εκδόσεις Τζιόλα, Θεσσαλονίκη. 40
Τέλος Ενότητας
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Τσαγκαλίδου Ροδή. «Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: URL. 42
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 43
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 44