Upload
moana-kelley
View
37
Download
3
Embed Size (px)
DESCRIPTION
Έλεγχος με μικροϋπολογιστές. μΥ και Ψηφιακός Έλεγχος. Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems – hardware). Εργαστήριο Αυτομάτου Ελέγχου. Ενσωματωμένα Συστήματα – Embedded Systems. Έλεγχος με Μικροϋπολογιστές. Ενσωματωμένα Συστήματα – Embedded Systems. Ορισμός - PowerPoint PPT Presentation
Citation preview
Έλεγχος με μικροϋπολογιστές
Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα(embedded systems – hardware)
Εργαστήριο Αυτομάτου Ελέγχου
μΥ και Ψηφιακός Έλεγχος
Ενσωματωμένα Συστήματα – Embedded Systems
Έλεγχος με Μικροϋπολογιστές
Ενσωματωμένα Συστήματα – Embedded Systems
Έλεγχος με Μικροϋπολογιστές
Ορισμός
Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού.
Υλοποίηση
Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία:
i. Μικροελεγκτές/ Μικροεπεξεργαστέςii. Μνήμηiii. Διεπαφές με το περιβάλλον
Ενσωματωμένα Συστήματα – Embedded Systems
Έλεγχος με Μικροϋπολογιστές
Ορισμός
Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού.
Η έννοια «ενσωματωμένο» έχει να κάνει με τις λειτουργίες και όχι με το μέγεθος ή τις δυνατότητες.
ΠΡΟΣΟΧΗ!
Υλοποίηση
Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία:
i. Μικροελεγκτές/ Μικροεπεξεργαστέςii. Μνήμηiii. Διεπαφές με το περιβάλλον
Ενσωματωμένα Συστήματα – Embedded Systems
Η «καρδιά ή το μυαλο» των ενσωματωμένων συστημάτων.
Έλεγχος με Μικροϋπολογιστές
Ενσωματωμένα Συστήματα – Embedded Systems
Έλεγχος με Μικροϋπολογιστές
Ενσωματωμένα Συστήματα – Embedded Systems
Πλατφόρμες και Λογισμικό
Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες:
Συστήματα με μικροελεγκτές (μC)
Χρησιμοποιούνται γενικώς για πολύ συγκεκριμένες λειτουργίες. Δεν διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται είτε με χαμηλού επιπέδου assemply (architecture-specific) ή ειδικές εκδόσεις της C. Συστήματα με μικροεπεξεργαστές (μP)
Οι δυνατότητες τους και οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μC. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα (Linux, QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ)
Έλεγχος με Μικροϋπολογιστές
Ενσωματωμένα Συστήματα – Embedded Systems
Πλατφόρμες και Λογισμικό
Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες:
Συστήματα με μικροελεγκτές (μC)
Χρησιμοποιούνται γενικώς για πολύ συγκεκριμένες λειτουργίες. Δεν διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται είτε με χαμηλού επιπέδου assemply (architecture-specific) ή ειδικές εκδόσεις της C. Συστήματα με μικροεπεξεργαστές (μP)
Οι δυνατότητες τους και οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μC. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα (Linux, QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ)
Δεν πρέπει να γίνεται σύγχυση των ενσωματωμένων συστημάτων με έναν κανονικό υπολογιστή (PC).
• Προτερήματα μPΜικρότερο μέγεθοςΜικρότερη κατανάλωση ενέργειαςΑυξημένη αξιοπιστία
• Μειονεκτήματα μPΜικρότερες επιδόσειςΛιγότερα περιφερειακά
ΠΡΟΣΟΧΗ!
Έλεγχος με Μικροϋπολογιστές
Η Πλατφόρμα Robostix
Έλεγχος με Μικροϋπολογιστές
μC: AVR-ATmega 128
Μνήμες:
128 ΚΒ flash (program memory)
4KΒ SRAM (άμεσα προσπελάσιμη)
4ΚΒ EEPROM (έμμεσα προσπελάσιμη)
Ι/Ο διεπαφές
8 channels 10bit ADC (analog to digital converters)
6 PWM channels
2 UART ports
Αρχιτεκτονική Atmel AVR (Advanced RISC -Reduced
instruction set computing)
Η Πλατφόρμα Robostix
Έλεγχος με Μικροϋπολογιστές
Θύρες Εισόδου-Εξόδου (I/O)
8-bit RISC instruction set
32 Registers του ενός byte
3 είδη μνήμης (Flash, SRAM,
EEPROM)
Διάφορες Ι/Ο διεπαφές.
Έχει σχεδιαστεί για να τρέχει
compiled κώδικα C και όχι
μόνο assembly.
Έλεγχος με Μικροϋπολογιστές
Αρχιτεκτονική AVR
8-bit RISC instruction set
32 Registers του ενός byte
3 είδη μνήμης (Flash, SRAM,
EEPROM)
Διάφορες Ι/Ο διεπαφές.
Έχει σχεδιαστεί για να τρέχει
compiled κώδικα C και όχι
μόνο assembly.
Έλεγχος με Μικροϋπολογιστές
Αρχιτεκτονική AVR
8-bit RISC instruction set
32 Registers του ενός byte
3 είδη μνήμης (Flash, SRAM,
EEPROM)
Διάφορες Ι/Ο διεπαφές.
Έχει σχεδιαστεί για να τρέχει
compiled κώδικα C και όχι
μόνο assembly.
Έλεγχος με Μικροϋπολογιστές
Αρχιτεκτονική AVR
CPU: 400MHz Marvell PXA270 (ARM)
RAM: 64MB
Flash Memory: 16MB
Λ/Σ: Linux –based OpenEmbedded Kernel
2.6.22
Boards:
netwifi-microSD : Ethernet 10/100Mbps,
Wi-Fi (802.11g), micro-SD card connector
Tweener: Σειριακή θύρα RS232 για
επικοινωνία με το Gumstix
Αρχιτεκτονική: Intel/Marvell XScale (RISC)
Έλεγχος με Μικροϋπολογιστές
Η Πλατφόρμα Gumstix Verdex XM4
Programmer
Εξωτερική συσκευή για τη μεταφορά του εκτελέσιμου κώδικα στην Program Memory του AVR. Υπάρχουν διάφορες συσκευές, συνήθως RS-232 ή USB. Το CSL διαθέτει έναν AVR-ISP Mk II. Εκτός από τον programmer απαιτείται και ειδικό software, το οποίο πραγματοποιεί τον προγραμματισμό του AVR μαζί με την τροποποίηση ειδικών registers (fuses).
Συσκευή Προγραμματισμού
Έλεγχος με Μικροϋπολογιστές
Έλεγχος με Μικροϋπολογιστές
μΥ και Ψηφιακός Έλεγχος
Τέλος Παρουσίασης 1
Έλεγχος με μικροϋπολογιστές
Παρουσίαση 2: Βασικός Προγραμματισμός AVR (AVR-lib)
μΥ και Ψηφιακός Έλεγχος
Η Πλατφόρμα Robostix
Έλεγχος με Μικροϋπολογιστές
μC: AVR-ATmega 128
Μνήμες:
128 ΚΒ flash (program memory)
4KΒ SRAM (άμεσα προσπελάσιμη)
4ΚΒ EEPROM (έμμεσα προσπελάσιμη)
Ι/Ο διεπαφές
8 channels 10bit ADC (analog to digital converters)
6 PWM channels
2 UART ports
Αρχιτεκτονική Atmel AVR (Advanced RISC -Reduced
instruction set computing)
Programmer
Εξωτερική συσκευή για τη μεταφορά του εκτελέσιμου κώδικα στην Program Memory του AVR. Υπάρχουν διάφορες συσκευές, συνήθως RS-232 ή USB. Το CSL διαθέτει έναν AVR-ISP Mk II. Εκτός από τον programmer απαιτείται και ειδικό software, το οποίο πραγματοποιεί τον προγραμματισμό του AVR μαζί με την τροποποίηση ειδικών registers (fuses).
Συσκευή Προγραμματισμού
Έλεγχος με Μικροϋπολογιστές
Προγραμματισμός σε C
Υπάρχουν εξειδικευμένοι compilers που μπορούν να παράξουν εκτελέσιμο κώδικα για τους μικροελεγκτές της οικογένειας AVR, π.χ. AVR-GCC.
Cross-compiling
Χρήση compiler σε έναν κοινό υπολογιστή. Ο κώδικας που παράγεται δεν μπορεί να τρέξει στον ίδιο τον Η/Υ απευθείας, λόγω διαφοράς αρχιτεκτονικής.
Emulator
Εφόσον είναι επιθυμητή, είναι δυνατή η εκτέλεση του κώδικα που παράγει ο compiler σε έναν προσομοιωτή, χρησιμοποιώντας έναν κοινό υπολογιστή. Ο προσομοιωτής δίνει πρόσβαση στην εσωτερική κατάσταση του μικροελεγκτή και μπορεί να χρησιμοποιηθεί για τον έλεγχο της ομαλής λειτουργίας του προγράμματος.
Έλεγχος με Μικροϋπολογιστές
Προγραμματισμός Robostix
Έλεγχος με Μικροϋπολογιστές
Σειριακή εκτέλεση
Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά.
ΕΞΑΙΡΕΣΗ!: ISR (Interrupt Service Routine)
Έναρξη προγράμματος
Κάθε πρόγραμμα στην AVR C ξεκινάει από την συνάρτηση main()
Memory-mapped I/O
Οι διάφορες είσοδοι/έξοδοι του μικροελεγκτή εμφανίζονται ως κοινές, σταθερέςθέσεις μνήμης μέσα στο χώρο μνήμης του προγράμματος.
AVR C – Ροή Προγράμματος
Έλεγχος με Μικροϋπολογιστές
Σειριακή εκτέλεση
Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά. Τι γίνεται όταν χρειάζεται άμεση ανταπόκριση από εξωτερικά γεγονότα; Interrupts
ΟρισμόςΕιδικά «κανάλια» επικοινωνίας, τα οποία προκαλούν τη διακοπή της κανονικής εκτέλεσης του προγράμματος και την εκτέλεση κώδικα σε συγκεκριμένες θέσεις μνήμης (Interrupt Handler ή Interrupt Service Routine - ISR).
ΤύποιΥπάρχουν εξωτερικά και εσωτερικά interrupts:Εσωτερικά είναι τα interrupts που έχουν σχέση με την ίδια την κατάσταση του μικροελεγκτή, π.χ. «έγινε υπερχείλιση ενός counter». Εξωτερικά είναι τα interrupts που προκαλούνται από το περιβάλλον, π.χ. «υπάρχουν διαθέσιμα δεδομένα στη σειριακή θύρα». Ο μικροελεγκτής διαθέτει επιπλέον εισόδους που προκαλούν interrupts.
*Μετά την ολοκλήρωση εκτέλεσης του ISR, ο μικροελεγκτής επιστρέφει στηνπροηγούμενη θέση στο πρόγραμμα.
Έλεγχος με Μικροϋπολογιστές
AVR C – Interrupts
Έλεγχος με Μικροϋπολογιστές
Σειριακή εκτέλεση
Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά. Τι γίνεται όταν χρειάζεται άμεση ανταπόκριση από εξωτερικά γεγονότα; Interrupts
ΟρισμόςΕιδικά «κανάλια» επικοινωνίας, τα οποία προκαλούν τη διακοπή της κανονικής εκτέλεσης του προγράμματος και την εκτέλεση κώδικα σε συγκεκριμένες θέσεις μνήμης (Interrupt Handler ή Interrupt Service Routine - ISR).
ΤύποιΥπάρχουν εξωτερικά και εσωτερικά interrupts:Εσωτερικά είναι τα interrupts που έχουν σχέση με την ίδια την κατάσταση του μικροελεγκτή, π.χ. «έγινε υπερχείλιση ενός counter». Εξωτερικά είναι τα interrupts που προκαλούνται από το περιβάλλον, π.χ. «υπάρχουν διαθέσιμα δεδομένα στη σειριακή θύρα». Ο μικροελεγκτής διαθέτει επιπλέον εισόδους που προκαλούν interrupts.
*Μετά την ολοκλήρωση εκτέλεσης του ISR, ο μικροελεγκτής επιστρέφει στηνπροηγούμενη θέση στο πρόγραμμα.
Έλεγχος με Μικροϋπολογιστές
AVR C – Interrupts
Τα interrupts επιτρέπουν την άμεση εξυπηρέτηση έκτακτων αιτημάτων, με αντίτιμο τη μη-προβλέψιμη συμπεριφορά του κώδικα. (event-based vs. Poll based)
ΠΡΟΣΟΧΗ!
Έλεγχος με Μικροϋπολογιστές
“avr-libc”
Για τον προγραμματισμό ενός AVR μας παρέχεται μια έτοιμη βιβλιοθήκη. Πρόκειται για μια βιβλιοθήκη C που περιέχει έτοιμες συναρτήσεις και μακροεντολές για την διευκόλυνση του προγραμματισμού των μικροελεγτών.
Χαρακτηριστικά – Ιδιότητες
Γίνεται στατικά link μέσα στο ίδιο το πρόγραμμα
Είναι χωρισμένη σε ενότητες (modules), με τη μορφή κανονικών header files
Αξιοποιεί τις δυνατότητες του ίδιου του hardware και προσφέρει και εξομοίωση σε επίπεδο λογισμικού για χαρακτηριστικά που δεν υπάρχουν στο ίδιο το hardware.
Έλεγχος με Μικροϋπολογιστές
AVR C – Βιβλιοθήκη
Έλεγχος με Μικροϋπολογιστές
Θύρες Εισόδου-Εξόδου
Ο AVR είναι 8-bitος, επομένως οι θύρες εισόδου/εξόδου έχουν εύρος 8 bit. Οι θύρες ψηφιακής εισόδου/εξόδου αντιστοιχούν σε 8 pins στην πλακέτα για κάθε θύρα.
Registers
Κάθε θύρα σχετίζεται με 3 θέσεις μνήμης (registers):
DDRx - Data Direction Register: Ρυθμίζει ποια pins της θύρας θα είναι είσοδοι και ποια έξοδοι. 0 = είσοδος, 1 = έξοδος. π.χ: DDRA = 0xF0 = 11110000 = «τα 4 πρώτα pins είσοδοι, τα 4 τελευταία έξοδοι»PINx - Port Input Register: Χρησιμοποιείται για την ανάγνωση των τιμών των bits της θύρας.PORTx: Χρησιμοποιείται για τη ρύθμιση των τιμών των bits εξόδου. Επιπρόσθετα, χρησιμοποιείται για την ενεργοποίηση των εσωτερικών αντιστάσεων pull-up για τα pins εισόδου. Στις περισσότερες εφαρμογές συνιστάται η ενεργοποίηση των αντιστάσεων pull-up, δηλαδή η τιμή 1 στις αντίστοιχες θέσεις του PORTx.
Έλεγχος με Μικροϋπολογιστές
AVR C – Ι/Ο Είσοδος-Έξοδος
Έλεγχος με Μικροϋπολογιστές
Θύρες Εισόδου-Εξόδου του Robostix
To Robostix διαθέτει διάφορες διεπαφές με το περιβάλλον. Οι κυριότερες είναι οι εξής:
GPIO : Port A και Port C
Την Port C μπορούμε να την χρησιμοποιήσουμε ως ψηφιακή είσοδο/έξοδο (digital I/O)
A/D : Port F (8 Κανάλια)
PWM : Port B (bits 5-7) και Port E (bits 3-5) (6 κανάλια)
Interupts : Port G (bits 0-2) (3 εξωτερικά interupts)
LEDs : Port G (bit3) <- Μπλε LEDPort G (bit4) <- Κόκκινο LEDPort B (bit4) <- Κίτρινο LED
AVR C – Ι/Ο Είσοδος-Έξοδος
Έλεγχος με Μικροϋπολογιστές
Έλεγχος με Μικροϋπολογιστές
Θύρες Εισόδου-Εξόδου του Robostix
AVR C – Ι/Ο Είσοδος-Έξοδος
Έλεγχος με Μικροϋπολογιστές
Μετά-module <avr/io.h>
To header file <avr/io.h> κάνει include τα κατάλληλα headers που δίνουν την δυνατότητα να χειριστούμε τις εισόδους/εξόδους της οικογένειας μικροελεγκτών AVR που διαλέγουμε. Τύποι ορισμών
Σταθερές Συμβολικά ονόματα για τις θύρες εισόδου/εξόδου. (π.χ. PORTA, PORTC, USARTEO,
ADCA, κ.τ.λ.) Συμβολικά ονόματα για τα pins των θυρών εισόδου/εξόδου. (π.χ. PORTA1, PORTC8,
κ.τ.λ.)Μακροεντολές
_BV(bit) : Αντικαθιστάται με το δεκαδικό που προκύπτει από αληθές bit στη θέση bit. π.χ: _BV(4) = (1 << 4) = 00010000 = 16
bit_is_clear(reg,bit) και bit_is_set(reg,bit) : ελέγχουν αν το bit στη θέση bit της θύρας I/O reg έχει τιμή 0 ή 1 αντίστοιχα.
loop_until_bit_is_clear(reg,bit) και loop_until_bit_is_set(reg,bit) : Σταματούν την εκτέλεση του προγράμματος μέχρι το bit στη θέση bit της θύρας I/O reg έχει τιμή 0 ή 1 αντίστοιχα.
Έλεγχος με Μικροϋπολογιστές
AVR C – Βασικά header files
Έλεγχος με Μικροϋπολογιστές
<avr/io.h> - Παραδείγματα
Αλλαγή του bit 7 της θύρας B σε 1PORTB |= _BV(PB7);
Αλλαγή του bit 4 της θύρας A σε 0PORTA &= ~_BV(PA4);
Ενέργεια με βάση την τιμή ενός bitif (bit_is_set(PINB, PB1)) {
PORTA &=~_BV(PA2);}
Αναμονή για μια συνθήκηloop_until_bit_is_clear (PINA, PA2);PORTB |= _BV(PB2);
AVR C – Βασικά header files
Έλεγχος με Μικροϋπολογιστές
<avr/interrupt.h>
To header file <avr/interrupt.h> περιλαμβάνει ορισμούς για τα ονόματα των interrupts καθώς και μακροεντολές για την ρύθμιση των ISR
Τύποι ορισμών
Σταθερές Oνόματα interrupts. π.χ. INT1_vect (external IRQ) , TIMER0_OVF_vect (timer 0
overflow), ADC_vect (A/D conversion complete)
Μακροεντολές ISR(int_name) : Δημιουργεί ένα νέο interrupt service routine για το interrupt με
όνομα int_name
Έλεγχος με Μικροϋπολογιστές
AVR C – Βασικά header files
Έλεγχος με Μικροϋπολογιστές
<avr/math.h>
To header file <avr/math.h> περιλαμβάνει μαθηματικούς ορισμούς και συναρτήσεις για τον χειρισμό αριθμητικών δεδομένων
Τύποι ορισμών
Σταθερές M_PI = π Μ_SQRT2 = NAN = Not A Number INFINITY = άπειρο
Συναρτήσεις cos(), sin(), tan(), atan(), sqrt(), square() , exp() κ.τ.λ.
*Αρκετές από αυτές δεν υποστηρίζονται από το hardware απευθείας και είναι αργές.
2
AVR C – Βασικά header files
Έλεγχος με Μικροϋπολογιστές
<util/delay.h>
To header file <util/delay.h> περιλαμβάνει συναρτήσεις για την υλοποίηση των χρονοκαθυστερήσεων.Οι χρονοκαθυστερήσεις γίνονται με busy-wait: ο μικροελεγkτής καταναλώνει κύκλους ρολογιού χωρίς να προβαίνει σε καμία ενέργεια (no-op).Η διάρκεια του κύκλου ρολογιού εξαρτάται απο τη συχνότητα του επεξεργαστή
Τύποι ορισμών
Συναρτήσεις _delay_ms(amount) : Καθυστέρηση amount ms _delay_us(amount) : Καθυστέρηση amount μs
AVR C – Βασικά header files
Έλεγχος με Μικροϋπολογιστές
<util/delay.h>
To header file <util/delay.h> περιλαμβάνει συναρτήσεις για την υλοποίηση των χρονοκαθυστερήσεων.Οι χρονοκαθυστερήσεις γίνονται με busy-wait: ο μικροελεγkτής καταναλώνει κύκλους ρολογιού χωρίς να προβαίνει σε καμία ενέργεια (no-op).Η διάρκεια του κύκλου ρολογιού εξαρτάται απο τη συχνότητα του επεξεργαστή
Τύποι ορισμών
Συναρτήσεις _delay_ms(amount) : Καθυστέρηση amount ms _delay_us(amount) : Καθυστέρηση amount μs
AVR C – Βασικά header files
Οι συναρτήσεις αυτές απαιτούν τον ορισμό της σταθεράς F_CPU η οποία πρέπει να έχει τιμή ίση με τη συχνότητα λειτουργίας του μικροελεγκτή σε Hz.H μέγιστη χρονοκαθυστέρηση που μπορεί να δώσει η delay_ms είναι:
ΠΡΟΣΟΧΗ!
262.14
( )ms
ό C MHz
Έλεγχος με Μικροϋπολογιστές
/* Define CPU Clock speed, needed by _delay_ms */#define F_CPU 1000000UL#include <avr/io.h>#include <util/delay.h>
void main(){
/* Initialize port C as output and zero all bits */DDRC = 0xFF;PORTC= 0x00;
while(1){
/* Turn the LED off */PORTC &= ~_BV(PC0);/* Wait for half a second */_delay_ms(500);/* Turn the LED on */PORTC |= _BV(PC0);/* Wait for half a second */_delay_ms(500);
}}
AVR C – Ολοκληρωμένο Παράδειγμα
Έλεγχος με Μικροϋπολογιστές
Έλεγχος με Μικροϋπολογιστές
μΥ και Ψηφιακός Έλεγχος
Τέλος Παρουσίασης 2
Έλεγχος με μικροϋπολογιστές
Παρουσίαση 3: Παρουσίαση Ασκήσεων
μΥ και Ψηφιακός Έλεγχος
Εργαστήριο Αυτομάτου Ελέγχου
Έλεγχος απλών ηλεκτρικών κυκλωμάτων μέσω της πλατφόρμας Robostix.
Χρήση μόνο D/IO Interfaces
Προγραμματισμός μΥ με χρήση avr-libc σε γλώσσα C
Σκοπός εργαστηριακών ασκήσεων
Έλεγχος με Μικροϋπολογιστές
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
Να ανιχνεύσετε το πάτημα ενός διακόπτη
Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
Να ανιχνεύσετε το πάτημα ενός διακόπτη
Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ & ΡΥΘΜΙΣΕΩΣ ΜΗΧΑΝΩΝ & ΕΓΚΑΤΑΣΤΑΣΕΩΝ Ε.Μ.Π
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
o Στα pins του μ-Υ υπάρχουν διαθέσιμες τάσεις 5V.
o Υπάρχουν διαθέσιμα pins γείωσης (GND)
o Το λογικό 1 σε ένα pin αντιστοιχεί σε τάση 5V.
o Το λογικό 0 σε ένα pin αντιστοιχεί σε τάση 0V.
o Για να μειώσουμε το ρεύμα τροφοδοσίας ενός LED συνδέουμε σε σειρά μια αντίσταση (5-10KΩ).
5V
Διασύνδεση με εξωτερικό περιβάλλον
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
o Γίνεται ρύθμιση ενός bit μιας θύρας σαν έξοδο, και στέλνεται σε αυτό το λογικό 1 (5V)
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
Να ανιχνεύσετε το πάτημα ενός διακόπτη
Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Να ανιχνεύσετε το πάτημα ενός διακόπτη
o Γίνεται ρύθμιση ενός bit μιας θύρας σαν είσοδος, και στέλνεται το σήμα εξόδου μετά τον διακόπτη
5V
Σήμα Εξόδου
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ & ΡΥΘΜΙΣΕΩΣ ΜΗΧΑΝΩΝ & ΕΓΚΑΤΑΣΤΑΣΕΩΝ Ε.Μ.Π
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Να ανιχνεύσετε το πάτημα ενός διακόπτη
5V
Σήμα Εξόδου
1 0 0 0 0 0 0 0
Διασύνδεση με εξωτερικό περιβάλλον
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Ανάψετε ένα LED
Να ανιχνεύσετε το πάτημα ενός διακόπτη
Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να:
Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα
Διασύνδεση με εξωτερικό περιβάλλον
Έλεγχος με Μικροϋπολογιστές
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΕΙΣ
“Υλοποίηση Συστήματος Ασφαλείας με Χρήση Τριψήφιου Κωδικού Αριθμού”
Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης
Απαραίτητες γνώσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 1
“Υλοποίηση Συστήματος Ασφαλείας με Χρήση Τριψήφιου Κωδικού Αριθμού”
Ο κωδικός αριθμός θα ορίζεται εσωτερικά στον κώδικα και θα μπορεί να πάρει οποιαδήποτε ακέραια τιμή μεταξύ [000,999]
Ο έλεγχος μπορεί να γίνεται και μετά την εισαγωγή του κάθε ψηφίου, αλλά θα τερματίζεται στην περίπτωση λανθασμένου αριθμού
Τα LEDs θα παραμένουν αναμμένα για ικανό χρονικό διάστημα (1-2 sec)
Περαιτέρω επισημάνσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 1
“Υλοποίηση Συστήματος Ελέγχου Ολοκληρωμένου Κυκλώματος 7400”
Άναμμα LED Ρουτίνες χρονικής καθυστέρησης
Απαραίτητες γνώσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 2
“Υλοποίηση Συστήματος Ελέγχου Ολοκληρωμένου Κυκλώματος 7400”
Το πρόγραμμα θα εκτελεί και θα ελέγχει όλους τους πιθανούς συνδυασμούς και θα τερματίζεται στην περίπτωση που έστω ένας από αυτούς δεν ικανοποιείται
Το κύκλωμα θα ελεγχθεί για την ορθότητά του με εισαγωγή ψευδών αποτελεσμάτων
Περαιτέρω επισημάνσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 2
“Υλοποίηση Συστήματος Μετρητή Αντικειμένων με Δυνατότητα Ελέγχου του
Αποτελέσματος”
Σύστημα διακοπτών Ρουτίνες χρονικής καθυστέρησης Άναμμα LED
Απαραίτητες γνώσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 3
“Υλοποίηση Συστήματος Μετρητή Αντικειμένων με Δυνατότητα Ελέγχου του
Αποτελέσματος”
Το αποτέλεσμα της μέτρησης απλά θα μεταφέρεται ως αριθμός σε δυαδική μορφή στη θύρα Α
Τα LEDs θα παραμένουν αναμμένα για ικανό χρονικό διάστημα (1-2 sec) για διευκόλυνση του χρήστη
Περαιτέρω επισημάνσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 3
“Υλοποίηση Συστήματος Ελέγχου Πρόσβασης σε Κτίριο”
Απαραίτητες γνώσεις
Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 4
Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη
Η ρουτίνα χρονικής καθυστέρησης θα έχει με ακρίβεια τη δεδομένη χρονική διάρκεια
Περαιτέρω επισημάνσεις
“Υλοποίηση Συστήματος Ελέγχου Πρόσβασης σε Κτίριο”
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 4
“Υλοποίηση Συστήματος Ελέγχου Ανελκυστήρα Διώροφης Οικοδομής”
Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης
Απαραίτητες γνώσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 5
Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη
Η ρουτίνα χρονικής καθυστέρησης θα έχει με ακρίβεια τη δεδομένη χρονική διάρκεια
“Υλοποίηση Συστήματος Ελέγχου Ανελκυστήρα Διώροφης Οικοδομής”
Περαιτέρω επισημάνσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 5
“Υλοποίηση Συστήματος Έξυπνων Φαναριών σε διαστάυρωση”
Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης
Απαραίτητες γνώσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 6
Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη
Θα υπάρχουν οι αναγκαίες χρονικές καθυστερήσεις μεταξύ της εναλλαγής σε πράσινο και κόκκινο σήμα
Περαιτέρω επισημάνσεις
Έλεγχος με Μικροϋπολογιστές
ΑΣΚΗΣΗ 5
“Υλοποίηση Συστήματος Έξυπνων Φαναριών σε διαστάυρωση”
Κατανόηση του προβλήματος
Σχεδίαση γενικής μεθοδολογίας
Υλοποίηση και εκτέλεση αλγορίθμου βήμα-βήμα χωρίς να γράφουμε όλο τον κώδικα από την αρχή
Έλεγχος με Μικροϋπολογιστές
Βήματα για καλύτερο προγραμματισμό
Ένα κακοφτιαγμένο και μη δομημένο κύκλωμα έχει ελάχιστες πιθανότητες να λειτουργήσει σωστά, ακόμα και αν ο προγραμματισμός είναι ορθός.
Χρησιμοποιούμε πολύμετρο για να ελέγξουμε τις συνδέσεις του κυκλώματος, πριν να εφαρμόσουμε τάσεις σε αυτό.
Για γείωση, χρησιμοποιούμε πάντα αυτή του μ/ε. (GND)
Έλεγχος με Μικροϋπολογιστές
ΓΕΝΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ
Έλεγχος με Μικροϋπολογιστές
μΥ και Ψηφιακός Έλεγχος
Τέλος Παρουσίασης 3