Σχεδίαση Συστημάτων με Μικροελεγκτές (ECS04/EIP108)

Κωνσταντίνος Γιαννακόπουλος

Περιγραφή

Μικροελεγκτές

Arduino

Προγραμματισμός του Arduino

Αισθητήρες

Αρχιτεκτονική του ATmega328

Αρχιτεκτονική και Προγραμματισμός των Περιφερειακών του Atmega328

Συστήματα Λήψης και Καταγραφής Σημάτων στον Υπολογιστή, LabVIEW

Raspberry Pi

Γενικές Πληροφορίες Μαθήματος

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΙΚΡΟΕΛΕΓΚΤΕΣ (ECS04/EIP108): υποχρεωτικό των Ειδικεύσεων Α: Ηλεκτρονική - Κυκλώματα και Συστήματα (Electronics - Circuits and Systems) (ECS04) και Β: Ηλεκτρονική και Επεξεργασία της Πληροφορίας (Electronics and Information Processing) (EIP108) του ΠΜΣ του Τμήματος Φυσικής: Εφαρμογές της Φυσικής στην Ατμόσφαιρα και στην Ηλεκτρονική

Διδάσκεται στο Α' εξάμηνο και αντιστοιχεί σε 8 πιστωτικές μονάδες (ECTS) για την Ειδίκευση Α και 7 πιστωτικές μονάδες (ECTS) για την Ειδίκευση Β.

Το μάθημα αποτελείται από θεωρητικό (Θ) και εργαστηριακό (Ε) μέρος.

Οι παραδόσεις του μαθήματος γίνονται κάθε Δευτέρα 17:00-19:00 και Τετάρτη 11:00-13:00 στην αίθουσα Φ3 και στο Εργαστήριο Σχεδίασης Συστημάτων με Μικροελεγκτές (Β' κτίριο Φυσικής, 2ος όροφος).

Το ακαδημαϊκό έτος 2021-2022 το μάθημα θα πραγματοποιηθεί δια ζώσης σύμφωνα με το άρθρο 2 της 119847/ΓΔ6/23.09.2021 (ΦΕΚ 4406/24.09.2021 τ. Β’) ΚΥΑ.

Διδάσκων:

Κωνσταντίνος Γιαννακόπουλος (γραφείο 205, Β' κτίριο Φυσικής, 2ος όροφος, kgian1@upatras.gr) (περισσότερες πληροφορίες)

Ώρες Φοιτητών: Δευτέρα 11:00-13:00 και 16:00-17:00, Τρίτη 12:00-13:00, Τετάρτη 13:00-14:00

 

Ακαδημαϊκό Ημερολόγιο Χειμερινού Εξαμήνου 2019-2020Εξετάσεις: 24/01/2022-11/02/2022

 

Ίδρυση ΠΜΣ: 811/12740/24.04.2018 (ΦΕΚ 1607/09.05.2018 τ. Β?) όπως διορθώθηκε με το ΦΕΚ 343/11.02.2019 τ. Β? και τροποποιήθηκε με το 86/743/20377/26.06.2020 (ΦΕΚ 3058/23.07.2020 τ. Β?)

 

Κανονισμός ΠΜΣ: 1700/24771/25.07.2018 (ΦΕΚ 3781/03.09.2018 τ. Β?) όπως διορθώθηκε με το ΦΕΚ 3774/14.10.2019 τ. Β? και τροποποιήθηκε με το 86/743/20377/26.06.2020 (ΦΕΚ 3058/23.07.2020 τ. Β?)

Περιεχόμενο μαθήματος

Εισαγωγή στους Μικροελεγκτές

Μικροϋπολογιστές, μικροεπεξεργαστές (αρχιτεκτονική, χαρακτηριστικά, κατηγορίες), μικροελεγκτές (αρχιτεκτονική, πλεονεκτήματα), ενσωματωμένα συστήματα, μετατροπή A/D και D/A

Η Πλατφόρμα Arduino

Εισαγωγή, πλεονεκτήματα, εξέλιξη και εκδόσεις, σύγκριση εκδόσεων, πρόσθετα, περιγραφή Arduino UNO R3 (δομή, χαρακτηριστικά)

Εισαγωγή στον Προγραμματισμό του Arduino

Περιβάλλον Arduino IDE και άλλα εργαλεία/εξομοιωτές (Fritzing, Tinkercad, κτλ), η γλώσσα προγραμματισμού Arduino, προγραμματισμός μικροελεγκτών σε C, δομή ενός τυπικού Sketch, τύποι δεδομένων/τελεστές, μεταβλητές, ανάπτυξη και κλήση συναρτήσεων, κλήση συναρτήσεων από βιβλιοθήκη, δημιουργία βιβλιοθήκης, bitwise τελεστές και διαχείριση καταχωρητών

Εισαγωγή στους Αισθητήρες

Μικροελεγκτές και αισθητήρες, αισθητήρες θερμοκρασίας, πίεσης, υπερήχων, υπερύθρων, κτλ, επικοινωνία με υπέρυθρες

Η Αρχιτεκτονική του ATmega328

Δομή – δυνατότητες – βασικά αρχιτεκτονικά χαρακτηριστικά, MIPS, RISC/CISC, μπλοκ διάγραμμα, AVR CPU, ALU, καταχωρητές, μετρητής προγράμματος, στοίβα, χάρτης μνήμης

Αρχιτεκτονική και Προγραμματισμός των Περιφερειακών Μονάδων του ATmega328

I/O θύρες (χαρακτηριστικά, καταχωρητές ελέγχου, ψηφιακό διάγραμμα, ρύθμιση, άλλες λειτουργίες), ψηφιακές είσοδοι/έξοδοι, αναλογικές είσοδοι/έξοδοι (ADC διαδοχικής προσέγγισης), pulse width modulation (PWM) (fast PWM, phase correct PWM, PWM συχνότητες, prescaler), διαχείριση χρονιστών και διακοπών (interrupt vectors, εξωτερικές διακοπές), διαχείριση σειριακής θύρας, η διεπαφή TWI (ο δίαυλος I2C, το πρωτόκολλο I2C), SPI, εξοικονόμηση ενέργειας (sleep modes), αναλογικός συγκριτής, επικοινωνία μέσω Ethernet – Ethernet Shield

Συστήματα Λήψης και Καταγραφής Σημάτων στον Υπολογιστή, Εισαγωγή στο LabVIEW

Εργαλεία διαχείρισης, επεξεργασίας και καταγραφής σημάτων στον υπολογιστή, βασικά χαρακτηριστικά, οργάνωση και διαχείριση αρχείων πληροφορίας, LabVIEW και συστήματα συλλογής δεδομένων (βασικοί τύποι δεδομένων, ροή δεδομένων, βασικές δομές, τοπικές μεταβλητές, βασικές γραφικές παραστάσεις, subVIs, διαχείριση αρχείων, επικοινωνία μέσω σειριακής θύρας), παραδείγματα εφαρμογών και συστημάτων συλλογής δεδομένων (διασύνδεση EEPROM και real time clock με I2C πρωτόκολλο και διαχείριση μέσω LabVIEW), LabVIEW LINX Toolkit (ρυθμίσεις, παραδείγματα, συναρτήσεις)

Εισαγωγή στην Πλατφόρμα Raspberry Pi

Raspberry Pi 3 και αρχιτεκτονικές System on Chip (SoC), αρχιτεκτονικές IoT και συστήματα επίβλεψης και αναγνώρισης, λειτουργικά συστήματα και προγραμματισμός σε Python

Εργαστηριακές Ασκήσεις

Άσκηση 1: Εισαγωγή στους μικροελεγκτές με τη βοήθεια του Arduino Uno

Άσκηση 2: Ψηφιακές είσοδοι - έξοδοι

Άσκηση 3: Αναλογικές είσοδοι - έξοδοι

Άσκηση 4: Μέτρηση ωμικής αντίστασης, βιβλιοθήκες

Άσκηση 5: Μέτρηση χωρητικότητας, διακοπές

Άσκηση 6: Αισθητήρες υπέρηχων - υπέρυθρων, δημιουργία και ανίχνευση παλμοσειρών

Άσκηση 7: Εισαγωγή στην Processing, σύνδεση Arduino με το διαδίκτυο

Άσκηση 8: Εισαγωγή στο γραφικό περιβάλλον LabVIEW, Χειρισμός συστήματος καταγραφής από υπολογιστή

Άσκηση 9: Διασύνδεση μνήμης EEPROM και Real Time Clock με χρήση πρωτόκολλου I2C σε σύστημα μετρήσεων

Βαθμολογία

Εργαστήριο 50%

Εξετάσεις 50%

Απαιτείται η βάση στο καθένα από τα παραπάνω

Προτεινόμενη Ελληνική Βιβλιογραφία
  1. Ε. Ζυγούρης & Α. Καλαντζόπουλος, Σχεδίαση Συστημάτων με Μικροελεγκτές, Εργαστηριακές Ασκήσεις 1-9, Εργαστήριο Ηλεκτρονικής, Τμήμα Φυσικής, Πανεπιστήμιο Πατρών, 2017
  2. Α. Αργυρίου, Αισθητήρες Ημιαγωγών, Αισθητήρες Θερμικοί, Μηχανικοί, Μαγνητικοί, Αισθητήρες Ακτινοβολίας και Χημικοί Αισθητήρες, Πανεπιστημιακές Σημειώσεις, Τμήμα Φυσικής, Πανεπιστήμιο Πατρών, 2004
  3. Π. Παπάζογλου & Σ.-Π. Λιωνής, Ανάπτυξη Εφαρμογών με το Arduino, 2η Έκδοση, Εκδόσεις Τζιόλα, 2017
  4. Π. Παπάζογλου, Αρχιτεκτονική και Προγραμματισμός του Μικροελεγκτή AVR, Εκδόσεις Τζιόλα, 2017
  5. Ε. Πουλάκης, Προγραμματίζοντας με τον Μικροελεγκτή Arduino, 2015
Προτεινόμενη Διεθνής Βιβλιογραφία
  1. J. Boxall, Arduino Workshop A Hands-On Introduction with 65 Projects, 2nd Edition, No Starch Press, 2021
  2. J. C. Shovic, Raspberry Pi IoT Projects, 2nd Edition, Apress, 2021
  3. A. Pajankar, Practical Linux with Raspberry Pi OS, Apress, 2021
  4. S. F. Lott & D. Phillips, Python Object-Oriented Programming, 4th Edition, Packt Publishing Ltd, 2021
  5. Mathworks, Matlab Support Package for Arduino Hardware (User’s Guide, Reference, Release Notes) R2021b, 2021
  6. Mathworks, Simulink Support Package for Arduino Hardware (User’s Guide, Reference, Release Notes) R2021b, 2021
  7. J. M. Fiore, Embedded Controllers Using C and Arduino, 2nd Edition, version 2.1.10, May 2021
  8. J. M. Fiore, Embedded Controllers Using C and Arduino Laboratory Manual, 2nd Edition, version 2.3.5, April 2020
  9. M. Margolis, B. Jepson & N. R. Weldin, Arduino Cookbook, 3rd Edition, O’Reilly Media, 2020
  10. J. Blum, Exploring Arduino Tools and Techniques for Engineering Wizardy, 2nd Edition, Wiley, 2020
  11. N. Dunbar, Arduino Software Internals, Apress, 2020
  12. G. Koch, The LEGO Arduino Cookbook, Apress, 2020
  13. S. Watkiss, Learn Electronics with Raspberry Pi Physical Computing with Circuits, Sensors, Outputs, and Projects, 2nd Edition, Apress, 2020
  14. N. Cameron, Arduino Applied Comprehensive Projects for Everyday Electronics, Apress, 2019
  15. S. Monk, Programming Arduino Next Steps Going Further with Sketches, 2nd Edition, McGraw Hill, 2019
  16. R. Singh, A. Gehlot, B. Singh & S. Choudhury, Arduino-Based Embedded Systems, Interfacing, Simulation, and LabVIEW GUI, CRC Press, 2018
  17. W. Donat, Learn Raspberry Pi Programming with Python, 2nd Edition, Apress, 2018
  18. S. Monk, Electronics Cookbook Practical Electronic Recipes with Arduino & Raspberry Pi, O’Reilly Media, 2017
  19. J. Culkin & E. Hagan, Learn Electronics with Arduino An Illustrated Beginner’s Guide to Physical Computing, Maker Media, 2017
  20. S. Monk, Programming Arduino Getting Started with Sketches, 2nd Edition, McGraw Hill, 2016
  21. Atmel, 8-bit AVR Microcontrollers ATmega328/P Datasheet Complete, 2016
  22. Atmel, ATmega328P 8-bit AVR Microcontroller with 32K Bytes In-System Programmable Flash Datasheet, 2015
  23. M. Schwartz & O. Manickum, Programming Arduino with LabVIEW, Packt Publishing Ltd, 2015
  24. M. Banzi & M. Shiloh, Getting Started with Arduino, 3rd Edition, Maker Media, 2015
  25. K. Karvinen & T. Karvinen, Getting Started with Sensors Measure the World with Electronics, Arduino, and Raspberry Pi, Maker Media, 2014
  26. M. McRoberts, Beginning Arduino, 2nd Edition, Apress, 2013
  27. S. Fitzgerald & M. Shiloh, Arduino Projects Book, 2012

Ημερολόγιο

Ανακοινώσεις