Στόχος της συγκεκριμένης διπλωματικής εργασίας ήταν η θεωρητική προσέγγιση και υλοποίηση ενός συστήματος ανίχνευσης βλαβών στα διάφορα μηχανικά μέρη που απαρτίζουν μια μηχανή αυτοκινήτου. Ένας πιεζοηλεκτρικός αισθητήρας μετατρέπει τις δονήσεις της μηχανής σε ηλεκτρικό σήμα, το οποίο στη συνέχεια ενισχύεται και φιλτράρεται κατάλληλα ώστε να τροφοδοτήσει την είσοδο ενός analog-to-digital μετατροπέα του μικροελεγκτή ADuC 7020 της Αnalog Devices, ο οποίος ενσωματώνεται στο ADuC-MT7020 development board της Olimex. Αφού γίνει αυτό, το σήμα μας επεξεργάζεται ψηφιακά με τη χρήση κατάλληλου αλγορίθμου που αναπτύχθηκε για τη συγκεκριμένη εφαρμογή. Στα κεφάλαια που ακολουθούν αναλύεται διαδοχικά κάθε στάδιο της διαδικασίας. Έτσι στο 1ο κεφάλαιο παρουσιάζεται το φαινόμενο του πιεζοηλεκτρισμού και οι αρχές λειτουργίας που διέπουν τους πιεζοηλεκτρικούς μετατροπείς ενώ στο 2ο περιγράφεται η διαδικασία της ψηφιοποίησης αναλογικών σημάτων. Στο 3ο κεφάλαιο γίνεται η περιγραφή των μεθόδων που χρησιμοποιούνται ώστε να δημιουργήσουμε το φάσμα συχνοτήτων ενός σήματος ενώ στο 4ο παρουσιάζονται τα σημαντικά πλεονεκτήματα που μας παρέχει η λεπτομερής ανάλυσή του μέσα από την ενδεικτική παρουσίαση των κυριότερων μηχανικών σφαλμάτων και τις μεταβολές που αυτά επιφέρουν στο φάσμα. Στο 5ο κεφάλαιο γίνεται η περιγραφή των κυριότερων στοιχείων των μικροελεγκτών και των ενσωματωμένων συστημάτων ενώ παρουσιάζονται και τα χαρακτηριστικά του μικροελεγκτή και του development board που αναφέρθηκαν πιο πάνω για να ακολουθήσει στο 6ο η παρουσίαση των κυριότερων περιφερειακών του συγκεκριμένου μικροελεγκτή με τη χρησιμοποίηση και κάποιων παραδειγμάτων ώστε να γίνει σαφέστερη η λειτουργία τους. Στο τελευταίο κεφάλαιο παρουσιάζονται οι τρεις υλοποιήσεις κώδικα που έγιναν στο προγραμματιστικό περιβάλλον μVision 4 της Keil με σκοπό την αναγνώριση των συνιστωσών που απαρτίζουν το σήμα μας και την ταυτοποίησή τους. Οι δύο πρώτες υλοποιήσεις, στις οποίες χρησιμοποιήθηκαν ένας απλός και ένας fixed-point FFT αντίστοιχα, ήταν αδύνατο να ανταποκριθούν στις real-time απαιτήσεις της εφαρμογής μας και για το λόγο αυτό οδηγηθήκαμε στην τρίτη και τελική υλοποίηση, στην οποία χρησιμοποιήθηκε ο αλγόριθμος Goertzel. Για λόγους απλοποίησης χρησιμοποιήθηκε ένα ημίτονο για την αναπαράσταση ενός σήματος με ιδιαίτερα πολύπλοκη κυματομορφή όπως αυτό που προκύπτει από τις δονήσεις μιας μηχανής αυτοκινήτου, εντούτοις επαρκεί ώστε να κατανοηθεί και να επιβεβαιωθεί η ορθή λειτουργία του κώδικά μας. / The main target of this thesis was the theoretical approach and implementation of a system that recognizes the damages occurring at the machinery parts of a car’s engine. A piezoelectric sensor transforms the vibrations of the engine into an analog electric signal, which is then amplified and filtered before it is applied to the analog-to-digital converter of Analog’s ADuC 7020 microcontroller, incorporated in ADuC-MT7020 development board produced by Olimex. After that the signal is processed digitally through an appropriate algorithm developed for this application. Throughout the chapters that follow all the stages of this procedure are analyzed sequentially. At the first chapter the theory of piezoelectricity and the operating principles of piezoelectric sensors are presented, whereas at the second the procedure of digitizing analog signals is described. At chapter 3 the methods used in order to create a signal’s spectrum are mentioned while at chapter 4 the benefits from a spectrum’s proper analysis are highlighted through the indicative presentation of the most common machinery faults and how they alter it. At the fifth chapter a reference is made at the main characteristics of microcontrollers and embedded systems in general but also a more detailed description of the microcontroller and the development board mentioned above. ADuC 7020 microcontroller’s main peripherals are presented at chapter 6 together with some examples that illustrate their function. The programming part of this thesis is included at the last chapter where the three code implementations developed in Keil’s μVision 4 programming environment are presented. The first two implementations, within which a simple and a fixed-point FFT were used respectively, couldn’t meet the real-time needs of our application resulting in a final third implementation using a Goertzel algorithm. Although we used a simple sinusoid to represent the signal produced by the vibrations of a car’s engine characterized by a complex waveform, it is sufficient in comprehending and confirming the correct execution of the code we created.
Identifer | oai:union.ndltd.org:upatras.gr/oai:nemertes:10889/6284 |
Date | 04 September 2013 |
Creators | Δίκαρος, Γεώργιος |
Contributors | Δερματάς, Ευάγγελος, Dikaros, Georgios, Δερματάς, Ευάγγελος |
Source Sets | University of Patras |
Language | gr |
Detected Language | Greek |
Type | Thesis |
Rights | 6 |
Page generated in 0.0037 seconds