ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή



Σχετικά έγγραφα
Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών.

KATATAΞH APΘPΩN. 6. Αρχές της προσφοράς και προμήθειας, ανθρώπινων ιστών και/ ή κυττάρων

ΟΙ ΜΙΚΡΟΜΕΣΑΙΕΣ ΕΠΙΧΕΙΡΗΣΕΙΣ ΣΤΗΝ ΕΛΛΑΔΑ ΚΑΙ Ο ΚΛΑΔΟΣ ΤΗΣ ΥΠΟΔΗΣΗΣ

Πρακτικό εργαλείο. για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας. τη σεξουαλική εκμετάλλευση

Η ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΘΡΗΣΚΕΙΑΣ ΣΤΟ ΟΥΔΕΤΕΡΟΘΡΗΣΚΟ ΣΧΟΛΕΙΟ (ΤΟΥ ΡΕΖΙΣ ΝΤΕΜΠΡΕ)

Ε.Ε. Π α ρ.ι(i), Α ρ.3638, 27/9/2002

του Παναγιώτη Πούλου

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου

Το ρολόι που κρατάς στα χέρια σου κρύβει ένα μυστικό: το μυστικό της κόκκινης ομάδας. Αν είσαι αρκετά τολμηρός, μπορείς κι εσύ να ενημερωθείς για τα

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

...ακολουθώντας τη ροή... ένα ημερολόγιο εμψύχωσης

237 Χημικών Μηχανικών Θεσσαλονίκης

«ΣΧΕΣΗ ΣΩΜΑΤΟΣ ΚΑΙ ΨΥΧΗΣ ΣΤΟΝ ΠΛΑΤΩΝΑ ΚΑΙ ΤΟΝ ΑΡΙΣΤΟΤΕΛΗ»

Ιστορία του Αραβοϊσλαμικού Πολιτισμού

ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο.

Σεπτέμβριος 2011: Εφημερίδα μηνός Αυγούστου, έκδ. 34 η

Περιεχόμενα. Εισαγωγή... 7 ΜΕΡΟΣ Α Κεφάλαιο 1. Κεφάλαιο 2. Κεφάλαιο 3. Κεφάλαιο 4. Κεφάλαιο 5. Κεφάλαιο 6. Κεφάλαιο 7. Κεφάλαιο 8.

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης

Ανδρέας Γούτης. Δάσκαλε... όταν δίδασκες. Μυθιστόρημα

ΙΙ. ΤΟ ΒΑΡΟΣ ΤΗΣ ΑΠΟΔΕΙΞΗΣ

ΕΘΝΙΚΟ ΠΛΑΙΣΙΟ ΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΔΡΑΣΕΩΝ

Υποψήφιοι Σχολικοί Σύμβουλοι

Οι 21 όροι του Λένιν

Τεύχος 10 Ιούλιος 2015

ΒΙΟΛΟΓΙΑ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ 2010 ΕΚΦΩΝΗΣΕΙΣ

Δαλιάνη Δήμητρα Λίζας Δημήτρης Μπακομήτρου Ελευθερία Ντουφεξιάδης Βαγγέλης

«Ειρήνη» Σημειώσεις για εκπαιδευτικούς

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

Περίληψη Εκδήλωσης. I. Ποια είναι η σχέση της έννοιας της λογοδοσίας µε την Ανοιχτή Κοινωνία;

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

8 Μάρτη. Η βία κατά των γυναικών

ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΚΟΙΝΩΝΙΚΗΣ ΑΝΘΡΩΠΟΛΟΓΙΑΣ ΚΑΙ ΙΣΤΟΡΙΑΣ Π.Μ.Σ. «ΓΥΝΑΙΚΕΣ ΚΑΙ ΦΥΛΑ: ΑΝΘΡΩΠΟΛΟΓΙΚΕΣ ΚΑΙ ΙΣΤΟΡΙΚΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ»

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης. (Νομοθετικές πράξεις) ΑΠΟΦΑΣΕΙΣ

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

Ε.Ε. Π α ρ.ι(i), Α ρ.4133, 13/7/2007

Ασυντήρητες και επικίνδυνες οικοδομές

Ομιλία του ημάρχου Αμαρουσίου, Προέδρου Ιατρικού Συλλόγου Αθηνών. Γιώργου Πατούλη, στην εκδήλωση μνήμης στον Ιωάννη Πασαλίδη

Ευρετήριο πινάκων. Ασκήσεις και υπομνήματα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΟΙΚΟΝΟΜΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ελλείψεις στο φορολογικό νομοσχέδιο. Σοβαρές ελλείψεις στη νέα μορφή του φορολογικού νομοσχεδίου

Συνωμοσία Πυρήνων της Φωτιάς - Πυρήνας Αντάρτικου Πόλης

ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ. Γραπτή έκφραση παραγωγή λόγου Α δημοτικού

Συνοπτική Παρουσίαση. Ελλάδα

ΚΕΦΑΛΑΙΟ 3 ο ΤΟ ΜΕΛΛΟΝ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ. 3.1 Εισαγωγή

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης. (Μη νομοθετικές πράξεις) ΚΑΝΟΝΙΣΜΟΙ

Καθηγητές στο μικροσκόπιο, ιδιώτες στην έρευνα. Ο νέος νόμος-πλαίσιο για τα πανεπιστήμια. Εφημερίδα: ΤΟ ΒΗΜΑ Ρεπορτάζ: ΜΑΡΝΥ ΠΑΠΑΜΑΤΘΑΙΟΥ

Βρήκαμε πολλά φυτά στο δάσος, αλλά και ήλιο, νερό, αέρα, έδαφος!

ΕΚΦΡΑΣΗ-ΕΚΘΕΣΗ Β ΛΥΚΕΙΟΥ 1 ο Λύκειο Καισαριανής ΕΠΑΓΓΕΛΜΑ: Κείμενα Προβληματισμού

Στις 22 Σεπτεμβρίου 1937, περί την δεκάτην πρωινήν, ο διευθυντής του ξενοδοχείου «Κεντρικόν» στην Κόρινθο χτύπησε την πόρτα του δωματίου όπου την

Ο ΠΕΡΙ ΤΗΣ ΕΠΙΒΟΛΗΣ ΠΕΡΙΟΡΙΣΤΙΚΩΝ ΜΕΤΡΩΝ ΣΤΙΣ ΣΥΝΑΛΛΑΓΕΣ ΣΕ ΠΕΡΙΠΤΩΣΗ ΕΚΤΑΚΤΗΣ ΑΝΑΓΚΗΣ ΝΟΜΟΣ ΤΟΥ Διάταγμα δυνάμει των άρθρων 4 και 5

Ε.Ε. Π α ρ.ι(i), Α ρ.4290, 29/7/2011

Το ολοκαύτωμα της Κάσου

ΣΥΖΗΤΗΣΗ ΝΟΜΟΣΧΕΔΙΟΥ ΥΠ.ΓΕΩΡΓΙΑΣ

Οι ιοί και οι ιογενείς λοιμώξεις του αναπνευστικού συστήματος στα παιδιά

Έλλειψη εσωτερικής ελευθερίας

Συµµαθητές σε µια νέα πατρίδα

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα

Πρόγραμμα Κοινωνικών Δεξιοτήτων Δεκεμβρίου

Αριθμός 3121/2014 ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟ ΙΚΕΙΟ ΠΕΙΡΑΙΩΣ ( ιαδικασία Εκουσίας ικαιοδοσίας)

I.Επί της Αρχής του σχεδίου Νόµου: ΙΙ. Επί των άρθρων του σχεδίου Νόµου: ΕΙΣΗΓΗΤΙΚΗ ΕΚΘΕΣΗ

109(Ι)/2014 ΝΟΜΟΣ ΠΟΥ ΠΡΟΝΟΕΙ ΓΙΑ ΤΟ ΕΛΑΧΙΣΤΟ ΕΓΓΥΗΜΕΝΟ ΕΙΣΟΔΗΜΑ ΚΑΙ ΓΕΝΙΚΟΤΕΡΑ ΠΕΡΙ ΚΟΙΝΩΝΙΚΩΝ ΠΑΡΟΧΩΝ ΤΟΥ 2014 ΚΑΤΑΤΑΞΗ ΑΡΘΡΩΝ

289 ον Σύστημα Αεροπροσκόπων Αγίας Φύλας ΟΜΑΔΑ ΠΡΟΣΚΟΠΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΑΛΚΙΝΟΥ ΤΡΙΦΥΛΛΟΥ

ΑΝΑΚΥΚΛΩΣΗ ΤΗΓΑΝΕΛΑΙΟΥ ΓΙΑΤΙ - ΠΩΣ - ΠΟΤΕ

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΚΡΙΤΙΚΗ ΒΙΒΑΙΟΥ

Πολιτική Χωρίς Πολιτικούς

ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΑΣ «ΚΑΤΟΙΚΙΔΙΑ ΖΩΑ»

ΚΑΝΟΝΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΔΗΜΟΤΙΚΩΝ ΚΟΙΜΗΤΗΡΙΩΝ ΔΗΜΟΥ ΘΕΡΜΗΣ

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ

Γίτσα Σοντζόγλου-Κοτταρίδη. Η ΤΡΙΤΗ ΗΛΙΚΙΑ: ΜΥΘΟΣ ΚΑΙ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ** Σκέψεις για μια επιστημονική έρευνα

Ο ΠΡΟΕ ΡΟΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΗΜΟΚΡΑΤΙΑΣ Εκδίδοµε τον ακόλουθο νόµο που ψήφισε η Βουλή:

Να γράψετε στο τετράδιό σας τον αριθµό κάθε µίας από τις παρακάτω ηµιτελείς προτάσεις Α1 έως Α5 και δίπλα στο γράµµα που αντιστοιχεί ση λέξη ή στη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

«ΣΥΝΕΝΤΕΥΞΗ ΤΟΥ ΗΜΑΡΧΟΥ ΙΛΙΟΥ, Κ. ΝΙΚΟΥ ΖΕΝΕΤΟΥ ΣΤΗΝ ΕΦΗΜΕΡΙ Α «ΜΙΤΟΣ» ΚΑΙ ΤΗ ΗΜΟΣΙΟΓΡΑΦΟ ΑΘΗΝΑ ΠΕΡΡΑΚΗ»

ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΟΥ

ΤΕΙ ΚΑΛΑΜΑΤΑΣ. ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος

ΣΧΕΔΙΟ ΠΡΟΤΑΣΕΩΝ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ & ΚΗΔΕΜΟΝΩΝ ΕΠΙ ΤΟΥ ΠΡΟΣΧΕΔΙΟΥ ΤΟΥ ΕΣΩΤΕΡΙΚΟΥ ΚΑΝΟΝΙΣΜΟΥ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 1 ου ΓΥΜΝΑΣΙΟΥ ΜΑΡΚΟΠΟΥΛΟΥ ΣΗΜΕΙΩΣΗ

323 Φυτικής Παραγωγής Γεωπονικού Παν. Αθήνας

Η ΑΥΤΕΠΑΓΓΕΛΤΗ ΑΝΑΖΗΤΗΣΗ ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ ΜΙΑ ΚΡΙΤΙΚΗ ΑΠΟΤΙΜΗΣΗ. ( Διοικητική Ενημέρωση, τ.51, Οκτώβριος Νοέμβριος Δεκέμβριος 2009)

Ενώνουμε δυνάμεις. Δείγματα Γραφής. Δυναμικά μπροστά ΑΝΔΡΕΑΣ Ζ. ΚΥΠΡΙΑΝΟΥ. Βουλευτής

Ατομικό ιστορικό νηπίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΔΙΕΘΝΩΝ ΚΑΙ ΕΥΡΩΠΑΪΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΙΣ ΔΙΕΘΝΕΙΣ ΚΑΙ ΕΥΡΩΠΑΪΚΕΣ ΣΠΟΥΔΕΣ

Το σύμπαν μέσα στο οποίο αναδύεστε

Επίσηµη Εφηµερίδα αριθ. C 372 της 09/12/1997 σ

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

ΕΝΟΤΗΤΑ 4. ΚΑΝΟΝΙΣΜΟΣ ΜΕΤΑΛΛΕΥΤΙΚΩΝ ΚΑΙ ΛΑΤΟΜΙΚΩΝ ΕΡΓΑΣΙΩΝ, ΚΜΛΕ

Ο αναλφαβητισμός ως σύγχρονο πρόβλημα

ΠΡΟΒΛΗΜΑΤΑ ΤΗΣ ΔΗΜΟΣΙΑΣ ΖΩΗΣ, ΜΙΑ ΨΥΧΑΝΑΛΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές!

στο σχέδιο νόµου «Κύρωση του Πρωτοκόλλου µεταξύ το οποίο τροποποιεί τη Σύµβαση µεταξύ της Ελληνικής Δηµοκρατίας και της Ελβετικής Συνοµοσπονδίας

Βιοπολιτική: Μία Νέα Διάσταση της Έννοιας του Κέρδους

Κος ΓΚΑΙΤΛΙΧ: Ευχαριστώ πολύ κυρία Πρόεδρε. Θα επιχειρήσω μέσα σε περίπου 10 με 15 λεπτά να συνοψίσω αυτά που συζητήθηκαν στο δικό μας workshop, το

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

Ρόδος και Αίγυπτος : λίκνα ευεργετισμού. Ματούλα Τομαρά-Σιδέρη

186(Ι)/2014 ΝΟΜΟΣ ΠΟΥ ΤΡΟΠΟΠΟΙΕΙ ΤΟΝ ΠΕΡΙ ΠΟΙΝΙΚΗΣ ΔΙΚΟΝΟΜΙΑΣ ΝΟΜΟ

Transcript:

ΤΕΙ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή Σπουδαστές: Ταβλάκης Γεώργιος ΑΕΜ: 1144 Βέργος Γεώργιος ΑΕΜ: 1836 ΕΠΙΒΛΕΠΩΝ: ΚΑΘΗΓΗΤΗΣ ΔΗΜΗΤΡΙΟΣ ΠΟΓΑΡΙΔΗΣ Καβάλα Μάιος 2014

2 2

3 Ευχαριστίες Θα θέλαμε να ευχαριστήσουμε θερμά τον καθηγητή κύριο Δημήτριο Πογαρίδη κυρίως για την εμπιστοσύνη που μας έδειξε, και την υπομονή που έκανε κατά τη διάρκεια υλοποίησης της πτυχιακής εργασίας. Όπως επίσης και για την πολύτιμη βοήθεια και καθοδήγηση του, για την επίλυση διάφορων θεμάτων. Θα θέλαμε επίσης να απευθύνουμε τις ευχαριστίες μας στους γονείς μας, οι οποίοι στήριξαν τις σπουδές μας με διάφορους τρόπους, φροντίζοντας για την καλύτερη δυνατή μόρφωση μας. 3

4 4

5 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ Ι 1.1 Εισαγωγή... 7 1.2 Προδιαγραφές...8 ΚΕΦΑΛΑΙΟ ΙΙ 2.1 Τι είναι το Arduino... 9 2.1.1 Υλικό (Hardware)...10 2.1.2 Λογισμικό...11 2.1.3 Ανάπτυξη... 12 2.2 Atmega328p... 13 2.3 Σταθεροποιητής LN7805... 14 2.4 Τρανζίστορ ΤΙΡ 120... 14 2.5 Tcrt5000... 15 2.6 Κινητήρες DC... 17 ΚΕΦΑΛΑΙΟ ΙΙI 3.1 Ηλεκτρονική Σχεδίαση... 19 3.2 Βασικά μέρη για την καλωδίωση ενός Atmega8/328 Arduino... 20 3.3 Υλοποίηση πλακέτας ρομποτικού οχήματος... 21 ΚΕΦΑΛΑΙΟ IV 4.1 Τι είναι PWM... 23 4.2 PWM με την βοήθεια του trimmer... 25 ΚΕΦΑΛΑΙΟ V 5.1 Μηχανολογική σχεδίαση... 26 5

6 ΚΕΦΑΛΑΙΟ VI 6.1 Προβλήματα κατά τον έλεγχο του συστήματος.. 35 ΚΕΦΑΛΑΙΟ VII 7.1 Συμπεράσματα.. 37 7.2 Προοπτικές 37 ΠΑΡΑΡΤΗΜΑ I Πρόγραμμα... 39 ΠΑΡΑΡΤΗΜΑ II Βιβλιογραφία... 41 6

7 ΚΕΦΑΛΑΙΟ Ι 1.1 ΕΙΣΑΓΩΓΗ Στην πτυχιακή εργασία κατασκευάστηκε ένα αυτόνομο όχημα το οποίο ακολουθάει μια γραμμή (μαύρη γραμμή σε άσπρο φόντο). Παρόμοια οχήματα χρησιμοποιούνται στην βιομηχανία για την μεταφορά υλικών μεταξύ των εργοστασιακών μονάδων. Το όχημα της εργασίας είναι ένα μοντέλο αυτού, με κλίμακα 1:100. Αποτελείται από ένα σασί από plexiglass και 2 κινητήρες DC. Στο μπροστινό μέρος υπάρχει μια διάτρητη πλακέτα όπου έχει πάνω 3 αισθητήρες φωτός tcrt5000, οι οποίοι διαβάζουν την πορεία της γραμμής και επιστρέφουν στον μικροελεγκτή το ανάλογο σήμα. Σύμφωνα με τον προγραμματισμό που έχει δοθεί, δίνονται και οι ανάλογες εντολές στους κινητήρες. Η βασική πλακέτα που βρίσκεται πάνω από το όχημα, αποτελείται από έναν μικροελεγκτή Atmega328p της Atmel. Ο μικροελεγκτής αυτός τον προγραμματίστηκε με την βοήθεια του Arduino Uno, όπου φορτώθηκε ο bootloader ο οποίος δίνει την δυνατότητα εύκολου προγραμματισμού σε C++. Στο κεφάλαιο 2, περιγράφεται αναλυτικά η λειτουργία του. Ο μικροελεγκτής τροφοδοτείται από έναν σταθεροποιητή LN 7805 στα 5 volt. Στον Atmega έχουν συνδεθεί οι αισθητήρες φωτός στις αναλογικές του εισόδους, όπου επεξεργάζεται το σήμα τους, και τα τρανζίστορ TIP 120, όπως θα δούμε στο κεφάλαιο 2. Στις εξόδους των τρανζίστορ τα οποία δίνουν κίνηση στους κινητήρες εφαρμόζουμε την τεχνική PWM η οποία περιγράφεται αναλυτικά στο κεφάλαιο 4 7

8 1.2 Προδιαγραφές οχήματος Σκοπός της παρούσας εργασίας είναι να σχεδιαστεί και κατασκευαστεί ένα όχημα που θα ακολουθεί μια γραμμή με τις παρακάτω προδιαγραφές: 1. Το όχημα θα ακολουθεί μια άσπρη γραμμή σε μαύρο φόντο. 2. Το όχημα θα είναι τρίτροχο. 3. Οι 2 μπροστινοί τροχοί θα έχουν κίνηση ανεξάρτητα ο ένας με τον άλλον με ξεχωριστό κινητήρα και θα στρίβουν αναλόγως σε ποιο κινητήρα δίνει κόβει το ρεύμα ο μικροελεγκτής. Ο πίσω τροχός είναι στη μέση για να κρατάει ισορροπία το όχημα. 4. Στον μπροστινό προφυλακτήρα θα έχει 3 αισθητήρες φωτός, όπου αναλόγως το φως που θα αντανακλάται από την γραμμή, ο μικροελεγκτής θα δίνει κίνηση στους τροχούς. 5. Ο μικροελεγκτής θα δίνει 5V στους αισθητήρες, και ο αισθητήρας ανάλογα με το φως που διαβάζει θα επιστρέφει και το ανάλογο ρεύμα πίσω 1-5V. 6. Ο μεσαίος αισθητήρας θα πρέπει πάντα να δίνει τουλάχιστον 3,5V που σημαίνει ότι πάντα θα πρέπει να διαβάζει την μαύρη γραμμή. 7. Ο αριστερός και ο δεξιός αισθητήρας θα πρέπει να επιστρέφουν λιγότερο από 1V που σημαίνει ότι δεν θα διαβάζουν την άσπρη γραμμή. 8. Όταν ο αριστερός ή ο δεξιός επιστρέψει ρεύμα κοντά στα 3V σημαίνει ότι υπάρχει στροφή, και ο μικροελεγκτής δίνει εντολή στους κινητήρες για να στρίψει το όχημα ανάλογα. 9. Εάν η γραμμή στριβεί προς τα αριστερά ο μικροελεγκτής θα κόβει το ρεύμα στον αριστερό κινητήρα και θα στρίβει το όχημα αριστερά. 10. Εάν η γραμμή στρίβει προς τα δεξιά μικροελεγκτής θα δίνει κόβει το ρεύμα στον δεξιό κινητήρα και το όχημα θα στρίβει δεξιά. 11. Το όχημα θα κινείται με μπαταρίες. 8

9 ΚΕΦΑΛΑΙΟ ΙΙ ΘΕΩΡΗΤΙΚΗ ΕΙΣΑΓΩΓΗ Σ αυτό το κεφάλαιο περιγράφεται αναλυτικά η υπολογιστική πλατφόρμα Arduino η οποία χρησιμοποιήθηκε για τον προγραμματισμό του μικροελεγκτή Atmega328p. Θα δούμε αναλυτικά τα ηλεκτρονικά που χρησιμοποιήθηκαν για την κατασκευή του οχήματος. 2.1 Τι είναι το Arduino Το Arduino (Εικόνα 1.1)είναι μια υπολογιστική πλατφόρμα βασισμένη σε μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο μικροελεγκτή και εισόδους/εξόδους, και η οποία μπορεί να προγραμματιστεί με τη γλώσσα Wiring (ουσιαστικά πρόκειται για τη γλώσσα προγραμματισμού C++ και ένα σύνολο από βιβλιοθήκες, υλοποιημένες επίσης στην C++ ). Εικόνα 1.1: Arduino Uno 9

10 Το Arduino μπορεί να χρησιμοποιηθεί για την ανάπτυξη ανεξάρτητων διαδραστικών αντικειμένων αλλά και να συνδεθεί με υπολογιστή μέσω προγραμμάτων σε Processing, Max/MSP, Pure Data, SuperCollider. Οι περισσότερες εκδόσεις του Arduino μπορούν να αγοραστούν προ-συναρμολογημένες το διάγραμμα και πληροφορίες για το υλικό είναι ελεύθερα διαθέσιμα για αυτούς που θέλουν να συναρμολογήσουν το Arduino μόνοι τους. 2.1.1 Υλικό (Hardware) Μία πλακέτα Arduino αποτελείται από ένα μικροελεγκτή Atmel AVR (ATmega328 και ATmega168 στις νεότερες εκδόσεις, ATmega8 στις παλαιότερες) και συμπληρωματικά εξαρτήματα για την διευκόλυνση του χρήστη στον προγραμματισμό και την ενσωμάτωση του σε άλλα κυκλώματα. Όλες οι πλακέτες περιλαμβάνουν ένα γραμμικό ρυθμιστή τάσης 5V και έναν κρυσταλλικό ταλαντωτή 16MHz (ή κεραμικό αντηχητή σε κάποιες παραλλαγές). Ο μικροελεγκτής είναι από κατασκευής προγραμματισμένος με ένα bootloader, έτσι ώστε να μην χρειάζεται εξωτερικός προγραμματιστής. Σε εννοιολογικό επίπεδο, στην χρήση του Arduino software stack, όλα τα boards προγραμματίζονται με μία RS-232 σειριακή σύνδεση, αλλά ο τρόπος που επιτυγχάνεται αυτό διαφέρει σε κάθε hardware εκδοχή. Οι σειριακές πλάκες Arduino περιέχουν ένα απλό level shifter κύκλωμα για να μετατρέπει μεταξύ σήματος επιπέδου RS-232 και TTL. Τα τωρινά Arduino προγραμματίζονται μέσω USB, αυτό καθιστάτε δυνατό μέσω της εφαρμογής προσαρμοστικών chip USB-to-Serial όπως το FTDI FT232. Κάποιες παραλλαγές, όπως το Arduino mini και το ανεπίσημο Boarduino, χρησιμοποιούν ένα αφαιρούμενο USB-to-Serial καλώδιο ή board, Bluetooth ή άλλες μεθόδους. (Όταν χρησιμοποιείτε με παραδοσιακά εργαλεία microcontroller αντί για το Arduino IDE, πρότυπος προγραμματισμός AVR ISP χρησιμοποιείτε) Ο πίνακας Arduino εκθέτει τα περισσότερα microcontroller I/O pins για χρήση από άλλα κυκλώματα. Τα Diecimila (Εικόνα 1.2), Duemilanove και το τρέχον Uno παρέχουν 14 ψηφιακά I/O pins, έξι από τα οποία μπορούν να παράγουν pulse-width διαμορφωμένα σήματα, και έξι αναλογικά δεδομένα. Αυτά τα pins βρίσκονται στην κορυφή του πίνακα μέσω female headers 0.1 ιντσών (2,2mm). Διάφορες εφαρμογές ασπίδων plug-in είναι εμπορικώς διαθέσιμα. 10

11 Το Arduino nano, και το Arduino-Compatible Bare Bones Board και Boarduino Board ενδέχεται να παρέχει male header pins στο κάτω μέρος του board προκειμένου να συνδέονται σε Breadboards. Υπάρχουν πολλά boards συμβατά με και προερχόμενα από Arduino boards. Κάποια είναι λειτουργικά ισάξια με ένα Arduino και μπορεί να χρησιμοποιηθούν εναλλακτικά. Πολλοί είναι το βασικό Arduino με την προσθήκη καινοτόμων output drivers, συχνά για την χρήση σχολικής μόρφωσης για να απλοποιήσουν την κατασκευή buggies και μικρών robot. Άλλες είναι ηλεκτρικά ισάξιες αλλά αλλάζουν τον παράγοντα μορφής, επιτρέποντας κάποιες φορές την συνεχόμενη χρήση των Shields ενώ κάποιες όχι. Κάποιες παραλλαγές είναι τελείως διαφορετικοί επεξεργαστές, με ποικίλα επίπεδα συμβατότητας. Εικόνα 1.2:Arduino Diecimila 11

12 2.1.2 Λογισμικό Arduino Το ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) του Arduino είναι μία εφαρμογή γραμμένη σε Java, που λειτουργεί σε πολλές πλατφόρμες, και προέρχεται από το IDE για τη γλώσσα προγραμματισμού Processing και το σχέδιο Wiring. Έχει σχεδιαστεί για να εισαγάγει τον προγραμματισμό στους καλλιτέχνες και τους νέους που δεν είναι εξοικειωμένοι με την ανάπτυξη λογισμικού. Περιλαμβάνει ένα πρόγραμμα επεξεργασίας κώδικα με χαρακτηριστικά όπως είναι η επισήμανση σύνταξης και ο συνδυασμός αγκύλων και είναι επίσης σε θέση να μεταγλωττίζει και να φορτώνει προγράμματα στην πλακέτα με ένα μόνο κλικ. Δεν υπάρχει συνήθως καμία ανάγκη να επεξεργαστείτε αρχεία make ή να τρέξετε προγράμματα σε ένα περιβάλλον γραμμής εντολών. Ένα πρόγραμμα ή κώδικας που γράφτηκε για Arduino ονομάζεται σκίτσο (sketch). Τα Arduino προγράμματα είναι γραμμένα σε C ή C++. Το Arduino IDE έρχεται με μια βιβλιοθήκη λογισμικού που ονομάζεται "Wiring" από το πρωτότυπο σχέδιο Wiring γεγονός που καθιστά πολλές κοινές λειτουργίες εισόδου/εξόδου πολύ πιο εύκολες. Οι χρήστες πρέπει μόνο να ορίσουν δύο λειτουργίες για να κάνουν ένα πρόγραμμα κυκλικής εκτέλεσης: -setup():μία συνάρτηση που τρέχει μία φορά στην αρχή του προγράμματος η οποία αρχικοποιεί τις ρυθμίσεις -loop():μία συνάρτηση η οποία καλείται συνέχεια μέχρι η πλακέτα να απενεργοποιηθεί 2.1.3 Ανάπτυξη Arduino Η κύρια ομάδα ανάπτυξης του Arduino αποτελείται από τους: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis και Nicholas Zambetti. Ο Massimo Banzi έδωσε συνέντευξη στις 21 Μαρτίου του 2009 στο επεισόδιο 61 του FLOSS Weekly στο κανάλι TWiT.tv, στο οποίο συζήτησε την ιστορία και τους στόχους του προγράμματος Arduino. Επίσης, έδωσε μια ομιλία στο TEDGlobal 2012 12

13 Conference, όπου περιέγραψε διάφορες χρήσεις των πλακετών Arduino σε όλο τον κόσμο. Το Arduino είναι υλισμικό ανοιχτού λογισμικού : τα σχέδια αναφοράς του υλισμικού του Arduino διανέμονται υπό την Creative Commons Attribution Share-Alike 2.5 άδεια και είναι διαθέσιμα στην ιστοσελίδα του Arduino. Ο σχεδιασμός και η παραγωγή αρχείων για κάποιες εκδόσεις του υλισμικού Arduino είναι επίσης διαθέσιμοι. Ο πηγαίος κώδικας για το IDE είναι διαθέσιμος και διανέμεται υπό την GNU General Public License, έκδοση 2. Παρά το γεγονός ότι το υλισμικό και τα σχέδια του λογισμικού είναι διαθέσιμα ελεύθερα υπό άδειες πνευματικών δικαιωμάτων, οι προγραμματιστές έχουν ζητήσει η ονομασία "Arduino" είναι αποκλειστική για το επίσημο προϊόν και δεν πρέπει να χρησιμοποιείται για τις εργασίες χωρίς άδεια. Το επίσημο έγγραφο πολιτικής σχετικά με τη χρήση του ονόματος Arduino τονίζει ότι το πρόγραμμα είναι ανοιχτό στη συνεργασία με άλλους στο επίσημο προϊόν. 2.2 Atmega328p Ένας μικροελεγκτής είναι ένα υπολογιστής σε ένα - chip που βελτιστοποιείται για να ελέγξει τις συσκευές. Είναι ένας τύπος μικροεπεξεργαστή που υποστηρίζει την αυτάρκεια και την οικονομική αποτελεσματικότητα, σε αντίθεση με έναν γενικής χρήσης μικροεπεξεργαστή, το είδος που χρησιμοποιείται σε ένα PC. Ένας χαρακτηριστικός μικροελεγκτής περιέχει όλη τη μνήμη και τις I/O γραμμές που απαιτούνται, ενώ ένας μικροεπεξεργαστής γενικού σκοπού απαιτεί πρόσθετα τσιπ για να παρέχει αυτές τις απαραίτητες λειτουργίες. Οι μικροελεγκτές είναι κύριο συστατικό σε πολλά είδη ηλεκτρονικού εξοπλισμού. Είναι η μεγάλη πλειοψηφία όλων των τσιπ επεξεργαστών που πωλούνται. Πάνω από 50% είναι "απλοί" ελεγκτές, και άλλα 20% είναι πιο ειδικευμένοι επεξεργαστές ψηφιακών σημάτων (DSPs). Ένα χαρακτηριστικό σπίτι στο δυτικό κόσμο είναι πιθανό να έχει μόνο έναν ή δύο γενικής χρήσης μικροεπεξεργαστές αλλά κάπου μεταξύ μίας και δύο δωδεκάδων μικροελεγκτών. Μπορούν να βρεθούν σχεδόν σε οποιουσδήποτε τύπου ηλεκτρικής συσκευής, πλυντήρια ρούχων, φούρνους μικροκυμάτων, τηλέφωνα κλπ. Οι περισσότεροι μικροελεγκτές είναι σήμερα βασισμένοι στην αρχιτεκτονική Von Neumann, η οποία καθόρισε σαφώς τα τέσσερα βασικά συστατικά που απαιτούνται για ένα ενσωματωμένο σύστημα. Αυτά περιλαμβάνουν έναν πυρήνα CPU, τη μνήμη 13

14 για το πρόγραμμα (μνήμη ROM ή FLASH), τη μνήμη για τις μεταβλητές (RAM), έναν ή περισσότερους timers (αυτόνομοι και watchdog), καθώς επίσης και τις I/O γραμμές για να επικοινωνήσουν με τις εξωτερικές περιφερειακές μονάδες και τους συμπληρωματικούς πόρους - όλο αυτό σε ένα ενιαίο ολοκληρωμένο κύκλωμα. Ένας μικροελεγκτής διαφέρει από ένα γενικής χρήσης τσιπ CPU επειδή το δεύτερο είναι γενικά αρκετά εύκολο να σταθεί σε έναν λειτουργών υπολογιστή, με το ελάχιστο των εξωτερικών τσιπ υποστήριξης. Ο Atmega328p έχει 14 ψηφιακά I/O pins, έξι από τα οποία μπορούν να παράγουν pulse-width διαμορφωμένα σήματα, και έξι αναλογικά δεδομένα. 2.3 Σταθεροποιητής LN7805 Εικόνα 1.3: Σταθεροποιητής LN7805 Η είσοδος (Input) του σταθεροποιητή 5 Volt LN7805 (3-Terminal 1A Positive Voltage Regulator) (Εικόνα 1.3) είναι στα αριστερά και είναι 7,4 volt από το + της μπαταρίας, η γείωση (GND) είναι στη μέση όπου είναι το της μπαταρίας και κοινό με το - της εξόδου και η έξοδος (Output) όπου είναι 5V είναι στα δεξιά. Ο σταθεροποιητής μπορεί να σηκώσει φορτίο έως 1 A. Οι κινητήρες τραβάν φορτίο από 0,4 Α ο καθένας και ο AVR Atmega8/328, 0,2 ma. 14

15 2.4 Τρανζίστορ ΤΙΡ 120 Το τρανζίστορ TIP 120 (Εικόνα 1.4) είναι ένα NPN Power Darlington Transistor το οποίο μπορεί να χρησιμοποιηθεί με τον μικροελεγκτή για να οδηγήσει κινητήρες όπως στην περίπτωση της παρούσας εργασίας άλλα και γενικότερα για τη λειτουργία πολλών διάφορων συσκευών. Τα τρανζίστορ ανάμεσα στον Atmega328p και στους κινητήρες δίνουν την δυνατότητα να λειτουργούν σαν διακόπτες, και να δίνουν ρεύμα στους κινητήρες ανεξάρτητα από τον Atmega. Δηλαδή το κεντρικό pin του ΤΙΡ 120, το base, δέχεται σήμα από την έξοδο του ελεγκτή και ενεργοποιείται ο διακόπτης από το collector στο emitter. Εικόνα 1.4:Τρανζίστορ TIP 120 2.5 Tcrt5000 Ο αισθητήρας φωτός tcrt5000 (Εικόνα 1.6) είναι ένας ανακλαστικός οπτικός αισθητήρας με τρανζίστορ εξόδου. Πρόκειται για ανεστραμμένη λογική. Όταν το τρανζίστορ (στον αισθητήρα) είναι κλειστό, δεν άγει, η έξοδος διατηρείται ψηλά(high) εξαιτίας του R2. Όταν ο αισθητήρας βλέπει το IR από το led, αρχίζει να μεταδίδει και η έξοδος αρχίζει να πηγαίνει χαμηλά(low). Η έξοδος θα μπορούσε να συνδέεται με ένα συνδεδεμένο αναλογικό στο Arduino. Θα μπορούσαμε να διαβάσουμε την κατάσταση της 15

16 σύνδεσης, και με βάση τον κώδικα μας, να κάνουμε X αν το Pin είναι Υ ή κάτω από το Υ ή πάνω από το Υ ή μεταξύ Υ και Ζ, κλπ. Εικόνα 1.5: Αισθητήρας Φωτός TCRT5000 Εικόνα 1.6:Κύκλωμα Αισθητήρα Φωτός Δηλαδή εάν ο αισθητήρας είναι πάνω από τo άσπρο φόντο, βλέπει το φως του IR led και επιστρέφει 0,5 volt. Ενώ όταν είναι πάνω από μαύρη γραμμή δεν αντανακλάται το φως και τότε επιστρέφει > 4,2 volt. 16

17 Σύμφωνα με το κύκλωμα (Εικόνα 1.6) η έξοδος (output) οδηγείται στην αναλογική είσοδο του μικροελεγκτή για την σύγκριση των ρευμάτων. Στην περίπτωση μας όταν είναι ο αριστερός και ο δεξιός αισθητήρας είναι πάνω απ το άσπρο φόντο, τότε στον κώδικα μας λέμε αν είναι κάτω από 1 volt τότε δώσε κίνηση και στους 2 κινητήρες, διαφορετικά επέστρεψε στους κινητήρες 0 volt. Οπότε όταν ένας εκ των 2 αισθητήρων επιστρέψει >1 volt, σημαίνει ότι βλέπει μαύρη γραμμή, οπότε του λέμε κόψε κίνηση στον ανάλογο κινητήρα, δηλαδή εάν η στροφή είναι δεξιά, κόψε την κίνηση στον δεξιό κινητήρα ώστε να στρίψει το όχημα δεξιά 2.6 Κινητήρες DC Οι κινητήρες είναι απλοί κινητήρες DC (Εικόνα 1.7). Οι κινητήρες δουλεύουν στα 3V-6V και επειδή εμείς θέλουμε να ρυθμίζουμε την ταχύτητα τους, δίνουμε στην έξοδο του μικροελεγκτή PWM (Pulse Width Modulation) το οποίο μας το επιτρέπει. Εικόνα 1.7:Κινητήρες DC 17

18 18

19 ΚΕΦΑΛΑΙΟ ΙΙΙ Σ αυτό το κεφάλαιο περιγράφεται η ηλεκτρονική σχεδίαση του κυκλώματος, καθώς και η λεπτομερής συνδεσμολογία των ηλεκτρονικών στους ακροδέκτες του μικροελεγκτή. 3.1 Ηλεκτρονική Σχεδίαση Στην εικόνα 2.1 φαίνεται το ηλεκτρονικό σχέδιο του κυκλώματος των 2 πλακετών του οχήματος. Εικόνα 2.1:Ηλεκτρονικό Σχέδιο 19

20 3.2 Βασικά μέρη για την καλωδίωση ενός Atmega8/328 Arduino: Μια διάτρητη πλακέτα 7805 ρυθμιστής τάσης 16 MHz ρολόι κρυστάλλου 2 22 pf πυκνωτές 2 10 μf πυκνωτές Τοποθετείται ο ρυθμιστής ισχύος 7805 και τα καλώδια για να τροφοδοτηθεί η πλακέτα. Ο ρυθμιστής είναι ένα πακέτο TO-220, όπου η είσοδος από το εξωτερικό τροφοδοτικό είναι στα αριστερά, η γείωση είναι στη μέση και η έξοδος 5V είναι στα δεξιά (βλέποντας το μπροστινό μέρος του ρυθμιστή). Τοποθετούνται δύο 10μF πυκνωτές οι οποίοι είναι απαραίτητοι για την υλοποίηση του κυκλώματος καθώς εξομαλύνουν όποιο θόρυβο δημιουργείται από το on-off των κινητήρων. Το θετικό των πυκνωτών το συνδέουμε στο + της εισόδου (input) και το + της εξόδου (output) και το στη κοινή γείωση (ground). Εικόνα 2.2 Χαρτογράφηση Atmega328-Arduino 20

21 Με την βοήθεια της εικόνας 2.2 τοποθετείται ένα 16 MHz εξωτερικό ρολόι ανάμεσα στα pin 9 και 10, και προστίθενται δύο 22 pf πυκνωτές να τρέχουν προς τη γείωση ξεκινώντας από κάθε μία από αυτές τις συνδέσεις. 3.3 Υλοποίηση πλακέτας ρομποτικού οχήματος Για την άρτια λειτουργία της κεντρικής πλακέτας χρησιμοποιήθηκαν τα εξής : Atmega328p Σταθεροποιητής LN7805 2 Τρανζίστορ ΤΙΡ 120 2 πυκνωτές 10μF 1 πυκνωτή 33μF Ένα ρολόι κρυστάλλου στα 16 Mhz 2 πυκνωτές 22 pf 2 αντιστάσεις 2,2KΩ 3 αντιστάσεις 220Ω 3 Led 1 trimmer 10 KΩ Για την συνδεσμολογία της μπροστινής πλακέτας χρησιμοποιήθηκαν τα εξής : 3 αισθητήρες φωτός tcrt5000 3 αντιστάσεις 270 Ω 3 αντιστάσεις 10 ΚΩ 21

22 22

23 ΚΕΦΑΛΑΙΟ IV Σ αυτό το κεφάλαιο περιγράφεται τι είναι η λειτουργία PWM και πως αυτή η τεχνική χρησιμοποιείται. 4.1 Τι είναι PWM P.W.M. (Pulse Width Modulation) είναι μια τεχνική που χρησιμοποιεί ένα ψηφιακό κύκλωμα για να δημιουργήσει ένα μεταβλητό αναλογικό σήμα. Το P.W.M. σαν έννοια είναι απλή, ανοίγει και κλείνει ένα διακόπτη με ομοιόμορφα επαναλαμβανόμενα χρονικά διαστήματα. Σήμερα η τεχνική P.W.M. έχει μεγάλο εύρος εφαρμογών, όπως τον έλεγχο τάσης, ρεύματος, ηλεκτροκινητήρα, ισχύος κ.α.. Πιο αναλυτικά, χρησιμοποιείται ψηφιακός έλεγχος για να δημιουργηθεί ένας τετραγωνικός παλμός, ένα σήμα που εναλλάσσεται μεταξύ on και off. Αυτό το on-off μοτίβο μπορεί να προσομοιώσει τάσεις μεταξύ 0V και 5V αλλάζοντας την αναλογία του χρόνου μεταξύ on και off κατάστασης. Η διάρκεια του «on χρόνου» ονομάζεται πλάτος του παλμού. Για να προκύψουν διάφορες αναλογικές τιμές, μπορούμε να αλλάξουμε ή να διαμορφώσουμε, το πλάτος παλμού. Αν επαναλάβουμε αυτό το onoff μοντέλο αρκετά γρήγορα με ένα LED, το αποτέλεσμα είναι μια φαινομενικά σταθερή τάση σήματος μεταξύ 0V και 5V που ελέγχει την φωτεινότητα του LED. Γράφοντας μια αναλογική τιμή (PWM κύμα) σε ένα pin. Μπορεί να χρησιμοποιηθεί για να οδηγήσει το μοτέρ σε διαφορετικές ταχύτητες. Αφού κληθεί η συνάρτηση analog Write (), το pin θα δημιουργήσει ένα σταθερό τετραγωνικό κύμα του συγκεκριμένου κύκλου εργασίας μέχρι την επόμενη κλήση για την analog Write () (ή μια κλήση της digitalread () ή της digitalwrite () στο ίδιο pin). Η συχνότητα του σήματος PWM για τα περισσότερα pins είναι περίπου στα 490 Hz. Το PWM έχει διάφορες χρήσεις : Να αυξομειώνει ένα LED Να παρέχει μια αναλογική έξοδο; εάν η ψηφιακή έξοδος φιλτράρεται, θα παράσχει μία αναλογική τάση μεταξύ 0% και 100%. Να παράγει ηχητικά σήματα. 23

24 Να δίνει τη δυνατότητα έλεγχου ταχύτητας των κινητήρων. Να παράγει ένα διαμορφωμένο σήμα, για παράδειγμα το υπέρυθρο LED που χρησιμοποιείται σε ένα τηλεχειριστήριο. Simple Pulse Width Modulation (PWM) με analogwrite Η Γλώσσα προγραμματισμού του Arduino κάνει το PWM εύκολο στη χρήση. Απλά καλούμε την analogwrite (pin, κύκλο λειτουργίας), όπου κύκλος λειτουργίας είναι μια τιμή από 0 έως 255, και το pin είναι ένα από τα pins του PWM (3, 5, 6, 9, 10, ή 11). Η συνάρτηση analogwrite παρέχει μια απλή πλατφόρμα λειτουργιάς με το hardware του PWM, αλλά δεν παρέχει κανένα έλεγχο επί της συχνότητας. (Σημειώνουμε ότι, παρά το όνομα της συνάρτησης, η έξοδος είναι ένα ψηφιακό σήμα, που συχνά αναφέρεται ως τετραγωνικό κύμα). Μπορούμε απλά να χρησιμοποιούμε την analogwrite, αλλά υπάρχουν και άλλες επιλογές που παρέχουν μεγαλύτερη ευελιξία. Εικόνα 3.1: Παλμογράφημα PWM Στην εικόνα 3.1, οι πράσινες γραμμές αντιπροσωπεύουν μια κανονική χρονική περίοδο. Αυτή η διάρκεια ή η περίοδος είναι το αντίστροφο της συχνότητας του PWM. Με άλλα λόγια, με τη συχνότητα PWM Arduino να είναι περίπου 500Hz, οι πράσινες γραμμές θα έχουν απόσταση 2 χιλιοστά του δευτερολέπτου μεταξύ τους. 24

25 Καλώντας τη συνάρτηση analog Write() (με κλίμακα από 0 έως 255) έτσι ώστε για analog Write (255) να ζητά το 100% του κύκλου λειτουργίας(πάντα on), και analog Write (127) το 50% του κύκλου λειτουργίας (για το ήμισυ του χρόνου on). 4.2 PWM με την βοήθεια του trimmer Στο όχημα που κατασκευάστηκε λοιπόν για να ελεγχθεί η ταχύτητα των κινητήρων χρησιμοποιείται η τεχνική PWM με την βοήθεια ενός ποτενσιόμετρου (trimmer) (Εικόνα 3.2) το οποίο το συνδέεται σε μια αναλογική είσοδο του ελεγκτή, και ανάλογα την τιμή που διαβάζει, δίνει και την ανάλογη έξοδο στα transistor. Όλα αυτά με την βοήθεια του κώδικα analogwrite(ak,pot / 4); Εικόνα 3.2 Trimmer 10KΩ 25

26 Οι 2 πίσω ακροδέκτες συνδέονται στο κύκλωμα, με τον πίσω αριστερά στο θετικό +5V και ο πίσω δεξιά στη γείωση. Ο μπροστινός ακροδέκτης οδηγείται στην αναλογική είσοδο του μικροελεγκτή. 26

27 ΚΕΦΑΛΑΙΟ V Σ αυτό το κεφάλαιο περιγράφεται η μηχανολογική σχεδίαση του οχήματος και αναλυτικά βλέπουμε όλα τα υλικά και πως χρησιμοποιήθηκαν για την υλοποίηση του οχήματος. 5.1 Μηχανολογική Σχεδίαση Το μηχανολογικό μέρος της εργασίας αποτελείται από το σασί του οχήματος από plexiglass (Εικόνα 4.1) και τις ρόδες (Εικόνα 4.2). Εικόνα 4.1: Το σασί του οχήματος 27

28 Εικόνα 4.2: Οι ρόδες του οχήματος Εικόνα 4.3: Πίσω ρόδα στήριξης οχήματος 28

29 Εικόνα 4.4: Κινητήρες DC Επίσης από την πίσω ρόδα στήριξης (Εικόνα 4.3) τους κινητήρες (Εικόνα 4.4) και τους μηχανισμούς τους στήριξης αυτών (Εικόνα 4.5) Εικόνα 4.5: Μηχανισμοί στήριξης των κινητήρων 29

30 Στην εικόνα 4.6 φαίνεται η ενοποίηση όλων των μηχανολογικών εξαρτημάτων. Εικόνα 4.6: Συναρμολογημένο όχημα Στην συνέχεια χρησιμοποιήθηκε ένας διακόπτης on-off (Εικόνα 4.7) που τοποθετήθηκε στο σασί, ένα βύσμα θηλυκό (Εικόνα 4.8), που χρησιμοποιήθηκε με το αρσενικό για την ένωση της μπαταρίας στο κύκλωμα (Εικόνα 4.9). Εικόνα 4.7: Διακόπτης on-off 30

31 Εικόνα 4.8: Θηλυκό βύσμα Εικόνα 4.9: Μπαταρία 31

32 Τοποθετήθηκε μια υποδοχή μπαταρίας από plexiglass, η οποία κολλήθηκε με θερμοσιλικόνη (Εικόνα 4.10). Εικόνα 4.10: Υποδοχή μπαταρίας Η μπροστινή πλακέτα που αποτελείται από τους αισθητήρες φωτός (Εικόνα 4.11), τοποθετήθηκε κάτω από ένα προστατευτικό από plexiglass το οποίο βιδώθηκε πάνω στο σασί του οχήματος (Εικόνα 4.12). Εικόνα 4.11: Μπροστινή πλακέτα Εικόνα 4.12: Καπάκι μπροστινής πλακέτας 32

33 Η κεντρική πλακέτα (Εικόνα 4.13) βιδώθηκε πάνω στο σασί και κολλήθηκε από πάνω ένα καπάκι από plexiglass (Εικόνα 4.14) για προστασία. Εικόνα 4.13: Κεντρική πλακέτα Εικόνα 4.14: Καπάκι μπροστινής πλακέτας Απ' το κάτω μέρος της κεντρικής πλακέτας βγαίνουν τα καλώδια των εισόδων και των εξόδων του κυκλώματος τα οποία καλύφθηκαν με θερμοσυστελόμενους σωλήνες για την προστασία αυτών (Εικόνα 4.15). Εικόνα 4.15: Κάτω μέρος οχήματος 33

34 Το τελικό αποτέλεσμα του οχήματος φαίνεται στην εικόνα 4.16 Εικόνα 4.16: Το τελικό όχημα 34

35 ΚΕΦΑΛΑΙΟ VI Σ αυτό το κεφάλαιο περιγράφονται τα προβλήματα υλοποίησης της εργασίας και τις λύσεις που δόθηκαν σ'αυτα. 6.1 Προβλήματα κατά τον έλεγχο του συστήματος Τα προβλήματα που παρουσιάστηκαν κατά την διάρκεια της εργασίας ήταν πολυάριθμα, αλλά τα ποιο σημαντικά ήταν: Οι αισθητήρες φωτός δεν διάβαζαν σωστά την γραμμή και το όχημα έβγαινε εκτός πορείας. Αυτό οφειλόταν στο ότι αρχικά οι αισθητήρες τοποθετήθηκαν σε μεγαλύτερη απόσταση από το έδαφος, απ ότι προέβλεπε ο κατασκευαστής. Οι αισθητήρες τοποθετήθηκαν σε απόσταση μικρότερη από 0.8 εκ. Οι κινητήρες αρχικά ήταν συνδεδεμένοι στην έξοδο του ελεγκτή με λογική HIGH, δηλαδή δέχονταν απευθείας 0 ή 5 volt.αυτό είχε σαν αποτέλεσμα να έχουν μεγάλη ταχύτητα και να μην προλαβαίνει ο ελεγκτής να δώσει τις σωστές εντολές στα τρανζίστορ. Αυτό το πρόβλημα επιλύθηκε χρησιμοποιώντας την τεχνική PWM, μειώνοντας έτσι τη ταχύτητα. Ο σταθεροποιητής μετά από ένα διάστημα λειτουργίας υπερθερμαίνονταν, με αποτέλεσμα να μην μπορεί να αποδώσει σωστά, και το κύκλωμα υπολειτουργούσε. Το πρόβλημα αυτό επιλύθηκε τοποθετώντας μια ψύχτρα κρατώντας έτσι τον σταθεροποιητή σε χαμηλή θερμοκρασία. 35

36 36

37 ΚΕΦΑΛΑΙΟ VII Σ αυτό το κεφάλαιο περιγράφονται τα συμπεράσματα που βγήκαν από την πτυχιακή εργασία καθώς και οι προοπτικές για το όχημα. 7.1 Συμπεράσματα Τα συμπεράσματα που βγήκαν από την παρούσα πτυχιακή εργασία είναι ότι το πάντρεμα της θεωρίας κυκλωμάτων μαζί με φτηνά υλικά κατασκευής, μπορούν να δώσουν ένα αξιόπιστο αποτέλεσμα. Τα κυκλώματα που χρησιμοποιήθηκαν θα μπορούσαν οδηγήσουν με μια μικρή παραλλαγή και μεγαλύτερο όχημα με ισχυρότερους κινητήρες. 7.2 Προοπτικές Το μοντέλο του ρομποτικού οχήματος που υλοποιήθηκε έχει πολλά περιθώρια βελτίωσης και εξέλιξης, καθώς το εύρος ευελιξίας μέσω του προγραμματισμού είναι πολύ μεγάλο. Για παράδειγμα με κατάλληλες εντολές να μπορεί το όχημα να διαβάσει και άλλα χρώματα γραμμών όπως κίτρινο, κόκκινο και μπλε. Αυτό θα ήταν χρήσιμο γιατί με ένα διακόπτη 5 θέσεων, θα μπορεί να διαβάζει 5 χρώματα, ώστε να εκτελεί διαφορετικό κώδικα, συνεπώς να ακολουθεί διαφορετικό δρομολόγιο. Επίσης με την προσθήκη άλλων 2 αισθητήρων φωτός, και την αλλαγή του κυκλώματος σε Η-bridge θα μπορούσε το όχημα να περιστραφεί 180, σε περίπτωση που φτάσει σε αδιέξοδο, το οποίο θα το αναγνώριζε με μια μαύρη κάθετη γραμμή. Με όλες αυτές τις παραλλαγές το όχημα θα είχε μεγάλη χρηστικότητα στη βιομηχανία, καθώς θα μπορούσε να ακολουθεί διαφορετικό δρομολόγιο από μια μονάδα σε μια άλλη και να σταματά για να δεχτεί ή να αφήσει φορτίο. 37

38 38

39 ΠΑΡΑΡΤΗΜΑ I Πρόγραμμα int led = 13; //Δηλώνουμε το pin 13 σαν led int ak = 6; // Δηλώνουμε το Pin 6 (pwm) σαν ak. (αριστερός κινητήρας) int dk = 5; // Δηλώνουμε το Pin 5 (pwm) σαν ak. (δεξιός κινητήρας) int pot= 0; //pot= τιμή που επιστρέφει το ποτενσιόμετρο trimmer void setup() { pinmode(ak, OUTPUT); //το pin ak γίνεται έξοδος για τον αριστερό κινητήρα pinmode(dk, OUTPUT); //το pin dk γίνεται έξοδος για τον δεξιό κινητήρα pinmode(led, OUTPUT); //το pin led γίνεται έξοδος για το κόκκινο led } // the loop routine runs over and over again forever: void loop() { pot = analogread(a2); // διάβασε την τιμή του pot η οποία από 0 έως 1023. int sensorvalue = analogread(a0); //διάβασε την τιμή του Α0 δηλαδή του αριστερού αισθητήρα φωτός και αποθήκευσε την στο sensorvalue 39

40 int sensorvalue1 = analogread(a1); //διάβασε την τιμή του Α1 δηλαδή του δεξιού αισθητήρα φωτός και αποθήκευσε την στο sensorvalue1 float voltagea_a = sensorvalue * (5.0 / 1023.0); //μετέτρεψε την αναλογική είσοδο του αριστερού αισθητήρα που πάει από 0-1023 σε 0-5 V και αποθήκευσε την στο voltagea_a float voltaged_a = sensorvalue1 * (5.0 / 1023.0); //μετέτρεψε την αναλογική είσοδο του δεξιού αισθητήρα που πάει από 0-1023 σε 0-5 V και αποθήκευσε την στο voltaged_a digitalwrite(led, HIGH); //άναψε το led if (voltagea_a <1.) AnalogWrite (ak, pot / 4); //εάν το ρεύμα του αριστερού αισθητήρα είναι μικρότερο του 1V τότε analogwrite(0-255)- δώσε στον αριστερό κινητήρα ρεύμα ίσο με pot/4 δηλαδή 0-1023/4ό Else digitalwrite (ak, LOW); //διαφορετικά δώσε 0 V if (voltaged_a <1.) analogwrite(dk, pot / 4); //εάν το ρεύμα του δεξιού αισθητήρα είναι μικρότερο του 1V τότε analogwrite(0-255)- δώσε στον δεξιό κινητήρα ρεύμα ίσο με pot/4 δηλαδή 0-1023/4 else digitalwrite(dk, LOW); //διαφορετικά δώσε 0 V } 40

41 ΠΑΡΑΡΤΗΜΑ II ΒΙΒΛΙΟΓΡΑΦΙΑ Τα παρακάτω βιβλία χρησιμοποιήθηκαν για την υλοποίηση της πτυχιακής εργασίας: Σχεδίαση Συστημάτων Μικροεπεξεργαστών : Δ. Πογαρίδης Δρ. Ηλεκτρονικός Μηχανικός Μικροϋπολογιστές Μικροελεγκτές : Δ. Πογαρίδης Δρ. Ηλεκτρονικός Μηχανικός Ενσωματωμένα Συστήματα - Ο μικροελεγκτής AVR: Δ. Πογαρίδης Δρ. Ηλεκτρονικός Μηχανικός επίσης αντλήθηκαν πληροφορίες από το διαδίκτυο http://www.wikipedia.org/ http://www.arduino.cc/ 41