THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Βιομηχανική Πληροφορική => Topic started by: Neal on December 08, 2012, 17:35:02 pm



Title: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: Neal on December 08, 2012, 17:35:02 pm
Βγήκε η εργασία στο ethmmy.

hf


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: BluE_NoTe on December 27, 2012, 14:59:04 pm
Τι παίζει με τν αλγοριθμο PID ? Υπάρχει κάπου ή τν φτιάχνουμε εμείς ?  :???:


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: Gadragon on January 19, 2013, 15:43:50 pm
Ειπωθηκε κατι οριστικο για το ποτε και πως παραδιδουμε?
Eπισης καμια βοηθεια στην υλοποιηση του PID?


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: tomshare3 on February 12, 2013, 23:49:52 pm
έχει καταλάβει κάποιος πως προκύπτει το παρακάτω κομμάτι του αλγόριθμου  PID που κάναμε στο τελευταίο εργαστήριο??

ACTION (N):
   n1 := n * 6.0;
   n2 := - ( (n1  - 1.35 )  / 1.5 );
   temp := ( 1.0 + (n1 - 1.35) / 1.5 ) *  POW ( 2.718, n2 );
   PV := 1.44 * ( 1.0 - temp ) * MV;     
END_ACTION;
sample (R);      

δεν έχει καμία σχέση με την εξίσωση Β(t) της εκφώνησης...
Και γιατί παίρνει sampling time T=6 ???


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: Neal on February 15, 2013, 03:47:28 am
Κανείς δε βρήκε πως υλοποιείται ο PID άπαξ και βρούμε τις τιμές των παραμέτρων;

Edit: Η απάντηση προκύπτει απ'το FAQ του μαθήματος για τη φετινή και την περσινή εργασία.


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: aggalitsas on February 15, 2013, 16:07:59 pm
έχει καταλάβει κάποιος πως προκύπτει το παρακάτω κομμάτι του αλγόριθμου  PID που κάναμε στο τελευταίο εργαστήριο??

ACTION (N):
   n1 := n * 6.0;
   n2 := - ( (n1  - 1.35 )  / 1.5 );
   temp := ( 1.0 + (n1 - 1.35) / 1.5 ) *  POW ( 2.718, n2 );
   PV := 1.44 * ( 1.0 - temp ) * MV;     
END_ACTION;
sample (R);      

δεν έχει καμία σχέση με την εξίσωση Β(t) της εκφώνησης...
Και γιατί παίρνει sampling time T=6 ???
ισχύει πως βγαίνει αυτό και τι είναι το 1.5?


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: Neal on February 15, 2013, 16:26:32 pm
Το μισό του 3 απ'τον τύπο στο χρόνο :P

Τώρα γιατί το παίρνει έτσι...


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: aggalitsas on February 15, 2013, 16:42:37 pm
έστω οτι βρίσκουμε την έξοδο του ελεκτή έστω Heater(kT) αυτή δεν θα πολλαπλασιαστεί με την συνάρτηση μεταφοράς H(s)=Temp(s)/Heater(s)?

Δηλαδή

Ηeater(kT)*H(s) = Temp(s)

εν συνεχεία, δεν πρέπει να κανω ILT για να έχω θερμοκρασία ως προ το χρόνο και όχι ως προς τα δείγματα?


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: aggalitsas on February 15, 2013, 17:19:01 pm
Το μισό του 3 απ'τον τύπο στο χρόνο :P

Τώρα γιατί το παίρνει έτσι...
και το 6?


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: tomshare3 on February 15, 2013, 18:20:58 pm
η απαντηση του χασαπη:

Quote
To πρόγραμμα που μου γράφετε υλοποιεί τη συνάρτηση μεταφοράς ανοικτού βρόχου των μεταβολών της θερμοκρασίας(εξίσωση (1)), είναι δηλαδή η επίλυση στο πεδίο του χρόνου της γραμμικής διαφορικής εξίσωσης που αντιστοιχεί σε συνάρτηση μεταφοράς που δεν δίνεται στην εκφώνηση και είναι δευτέρας τάξεως, δηλαδή είναι της μορφής
                        Κss*exp(-Ls)/(1+Ts)^2

Στην εργασία που σας δόθηκε η συνάρτηση μεταφοράς είναι απλούστερη και πρώτης τάξεως, για αυτό μπορείτε να εφαρμόσετε τον χονδροειδή εμπειρικό κανόνα του Τ/2 ή Τ/10 για να βρείτε τοην περίοδο δειγματοληψίας. Όταν όμως η συνάρτηση μεταφοράς είναι μεγαλύτερης τάξης τότε η σταθερα΄χρόνου της απόκρισης έχει άλλη τιμή και ο πλέον ενδεδειγμένος τρόπος για να βρείτε το ρυθμό δειγματοληψίας είναι να βρείτε το εύρος ζώνης συχνοτήτων του συστήματος που περιγράφεται από τη συγκεκριμένη συνάρτηση μεταφοράς και ύστερα να εφαρμόσετε το θεώρημα του Shannon.

Στη συγκεκριμένη περίπτωση αν σχεδιάσετε τη  βηματική απόκριση των θερμοκρασίας  που περιγράφεται στο πεδίο του χρόνου  από τη εξίσωση (1) θα δείτε ότι ο χρόνος που χρειάζεται για να λάβει το 63% της μέγιστης τιμής της, δηλαδή η σταθερά χρόνου της ,   δεν συμπίπτει με την τιμή 3 που δίνεται στον παρανομαστή του εκθέτη στο όρο exp(-(t-2.7)/3) και που στην περίπτωση μιας συνάρτησης μεταφοράς πρώτης τάξης αυτή θα συνάπιπτε με τη  σταθερά χρόνου  της χρονικής απόκρισης.

ΓΧ


Title: Re: [Βιομηχανική Πληροφορική] Εργασία 2012-13
Post by: astraris on February 19, 2013, 17:12:58 pm
Προσπαθώ να γράψω ένα scriptaki που να προσομοιάζει τις μεταβολές της θερμοκρασίες, ωστόσο αντιμετωπίζω το εξής πρόβλημα: Όταν έχω ανάθεση τιμής, πρέπει δεξιά από το = να έχω κάποιο σταθερό αριθμό. π.χ. μπορώ να ορίσω temperature = 20, αλλά δεν μπορώ να ορίσω temperature = 20.0 + 27.0*REAL(t)/1000.0 (όπου t είναι ένας timer που έχω ορίσει στο dictionary). Δοκίμασα να ορίσω μια επανάληψη που να περιμένει κάθε φορά π.χ. 50ms και μετά να ορίζω temperature = 20.0 + 27.0*0.05, αλλά ούτε αυτό το δέχεται. Ακόμα και αν πω temperature = 20.0 + 5.0, δεν το δέχεται.

Το σενάριο ελέγχου το υλοποιήσατε ως script? Σκέφτηκα να το υλοποιήσω ως κάποιο ξεχωριστό Sequential Flow Chart. Στην περίπτωση αυτή βέβαια η μεταβλητή temperature θα πρέπει να την ορίσω ως internal αντί για input, και γενικά δεν ξέρω αν είναι καλή ιδέα η δημιουργία ξεχωριστού sequential προγράμματος για το σενάριο ελέγχου που μας δίνεται.