Ορισμός ονομάτων
(Ετικετών)
;**************** Label Definition ********************
cblock h'0c'
Με την χρήση της ψευδοεντολής
CBLOCK ενημερώνεται ο μεταγλωττιστής ότι από την διεύθυνση 0ch και μέχρι
την ψευδοεντολή ENDC θα υπάρξει ορισμός καταχωρητών. Ο σκοπός των καταχωρητών αυτών αναλύεται παρακάτω.
| Ετικέτα |
|
Λειτουργία |
| mode |
: |
Σ αυτόν τον καταχωρητή αποθηκεύεται η κατάσταση του
κινητήρα. 0=Σταματημένος, 1=Δεξιόστροφη
περιστροφή, 2=Αριστερόστροφη περιστροφή |
| count1 |
: |
Μετρά πέντε (5) μιλισεκόντ
(millisecond). Μετρά το χρόνο του ενός
μιλισεκόντ πέντε φορές. |
| count2 |
: |
Μετρά (1) μιλισεκόντ
(millisecond). |
Έναρξη προγράμματος
;**************** Program Start ***********************
Μετά το
Power
on ο
μικροεπεξεργαστής αρχίζει να εκτελεί τις εντολές που έχει αποθηκευμένες
στην μνήμη του από την διεύθυνση μηδέν ‘Address
0’. Σε
περίπτωση που χρησιμοποιούμε Interrupts
η
εκτέλεση των εντολών αρχίζει από την διεύθυνση τέσσερα.
Λειτουργία
αρχικοποίησης
;**************** Initial Process *********************
Λειτουργία επιλογής
κατάστασης κινητήρα
;************* Check switch condition *****************
Γίνεται έλεγχος κατάστασης των διακοπτών SW1,2,3 από τα
ποδαράκια RB0,1,2. Εάν κάποιος από τους διακόπτες Stop, RRC, ή RLC
πατηθεί τότε γίνεται και η αντίστοιχη λειτουργία. Σε περίπτωση που
πατηθούν μαζί περισσότεροι του ενός, τότε λαμβάνεται υπόψη ο πρώτος. Ο
έλεγχος των διακοπτών γίνεται μετά από κάθε ένα βήμα κίνησης του
βηματικού κινητήρα.
Λειτουργία οδήγησης του
κινητήρα
;******************** Motor drive *********************
Πρώτα γίνεται έλεγχος εάν ο κινητήρας είναι
σταματημένος. Σε περίπτωση που είναι σταματημένος, το πρόγραμμα πηγαίνει
και ελέγχει εάν πατήθηκε κάποιος από τους διακόπτες Stop, RRC, ή
RLC.
Διαφορετικά ακολουθείται η παρακάτω
διαδικασία.
Εκφόρτιση του πυκνωτή για
την ρύθμιση της ταχύτητας |
 |
Εκφορτίζεται ο πυκνωτής και προετοιμάζεται η
μέτρηση χρόνου για την ρύθμιση της ταχύτητας. |
 |
Μέτρηση χρόνου 5
μιλισεκόντ (millisecond) |
|
Σε υψηλή ταχύτητα ο ρότορ δεν μπορεί να
ακολουθήσει την αλλαγή του ηλεκτρομαγνητικού πεδίου που εφαρμόζουν
τα πηνία του στάτορ και ο βηματικός κινητήρας δεν περιστρέφεται
ομαλά. Για αυτό γίνεται η μέτρηση του χρόνου έτσι ώστε να
προλαβαίνει ο ρότορ τις αλλαγές του μαγνητικού πεδίου και η κίνηση
να είναι ομαλή. Για την περίπτωση του κινητήρα του παραδείγματος
μας εάν ο χρόνος είναι μικρότερος των 5 μιλισεκόντ, η περιστροφή
στην μέγιστη ταχύτητα δεν είναι ομαλή. |
 |
Φόρτιση του πυκνωτή για
την ρύθμιση της ταχύτητας |
|
Η κατάσταση στο ποδαράκι RB7 γίνεται λογικό 0
(Low), και η φόρτιση του πυκνωτή ξεκινά. Το ποδαράκι RB5,
καταλαβαίνει ότι ολοκληρώνεται η φόρτιση του πυκνωτή όταν πάρει
λογικό 1 (High). Στην πραγματικότητα, επειδή ο πυκνωτής δεν
φορτίζεται 100% το ποδαράκι RB5 πιστεύει ότι ολοκληρώθηκε η φάση
φόρτισης όταν η τάση ξεπεράσει το ελάχιστο όριο για το λογικό
1. |
 |
Οδήγηση του
κινητήρα |
|
Ο κινητήρας οδηγείται αφού γίνει η ανάγνωση των
δεδομένων για την ρύθμιση της ταχύτητας, την φορά περιστροφής και
την κατάσταση του (Περιστροφή - Παύση). Την οδήγηση των πηνίων και
γενικότερα του κινητήρα ελέγχουν τα ποδαράκια της PORTA. Μετά την
οδήγηση το πρόγραμμα επιστρέφει στην ρουτίνα ελέγχου των διακοπτών
που κάνουν τα ποδαράκια RB0, RB1,
RB2. | |