ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη Μικρής Αυτόνομης Ρομποτικής Πλατφόρμας Οδηγούμενης μέσω Ασύρματης Σειριακής Διασύνδεσης Σπουδαστής: Απόστολος Μπόλλας Επιβλέπων Καθηγητής: Ιωάννης Καλόμοιρος
ΣΚΟΠΟΣ ΤΗΣ ΕΡΓΑΣΙΑΣ Η σχεδίαση και ανάπτυξη ενός μικρού αυτόνομου ρομποτικού οχήματος που θα κινείται στο επίπεδο Ο ασύρματος έλεγχος του οχήματος από ηλεκτρονικό υπολογιστή μέσω ασύρματης σειριακής διασύνδεσης
ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ Ένα τηλεκατευθυνόμενο μοντέλο αυτοκινήτου Ένας μικροελεγκτής PIC Το ολοκληρωμένο κύκλωμα MAX232 Δύο ασύρματοι πομποδέκτες Ένας ηλεκτρονικός υπολογιστής
ΤΑ ΗΛΕΚΤΡΙΚΑ ΕΞΑΡΤΗΜΑΤΑ ΤΟΥ ΟΧΗΜΑΤΟΣ Σερβοκινητήρας Δέχεται παλμό διάρκειας 1ms μέχρι 2ms Στρίβει τους μπροστινούς τροχούς Ελεγκτής ταχύτητας (ESC) Τροφοδοτεί περιοδικά τον ηλεκτρικό κινητήρα Ηλεκτρικός κινητήρας Η ταχύτητα του ορίζεται από τον ελεγκτή ταχύτητας Δίνει κίνηση στο όχημα Επαναφορτιζόμενη μπαταρία Συνδέεται με τον ελεγκτή ταχύτητας
ΣΕΡΒΟΚΙΝΗΤΗΡΑΣ
ΤΡΟΠΟΠΟΙΗΣΗ ΟΧΗΜΑΤΟΣ
ΜΕΙΩΤΗΡΑΣ ΣΤΡΟΦΩΝ
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΜΙΚΡΟΕΛΕΓΚΤΗ Η θύρα PORTB για την έξοδο των δύο σημάτων PWM που οδηγούν το σερβοκινητήρα και τον ελεγκτή ταχύτητας Οι χρονιστές Timer0 και Timer1 για την παραγωγή των δύο σημάτων PWM O χρονιστής Timer2 για την μέτρηση της διάρκειας κάθε κίνησης Η υπομονάδα USART Για την σειριακή επικοινωνία με τον υπολογιστή Σήματα διακοπής Κατά την παραγωγή των σημάτων PWM
ΚΥΚΛΩΜΑ ΜΙΚΡΟΕΛΕΓΚΤΗ
ΒΑΣΙΚΕΣ ΕΝΕΡΓΕΙΕΣ ΜΙΚΡΟΕΛΕΓΚΤΗ Επικοινωνεί σειριακά με τον κεντρικό υπολογιστή Εκτελεί την κίνηση που λαμβάνει από τον υπολογιστή Περιστρέφει τους κινητήρες στέλνοντάς τους το κατάλληλο σήμα PWM
ΣΕΙΡΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ Πρότυπο RS-232 Ρυθμός μετάδοσης 9600bps Πλαίσιο με μέγεθος δεδομένων 8bit Το MAX232 για την μετατροπή από TTL σε RS-232 Δύο ασύρματοι πομποδέκτες
ΠΡΩΤΟΚΟΛΛΟ ΕΠΙΚΟΙΝΩΝΙΑΣ Το όχημα μπορεί να βρεθεί σε 3 διαφορετικές καταστάσεις: Κατάσταση 1: Το όχημα περιμένει να λάβει δεδομένα ελέγχου από τον υπολογιστή. Τα δεδομένα αυτά δηλώνουν στο όχημα σε πια κατάσταση πρέπει να μεταβεί. Κατάσταση 2: Το όχημα περιμένει να λάβει δεδομένα κίνησης. Τα δεδομένα αυτά είναι τρεις αριθμοί (διάρκεια παλμών πρώτου σήματος, διάρκεια παλμού δεύτερου σήματος, διάρκεια κίνησης) που θα χρησιμοποιηθούν στην συνέχεια για την μετατόπιση του οχήματος. Κατάσταση 3: Το όχημα μετατοπίζεται. Όταν ολοκληρωθεί η μετατόπιση το όχημα ενημερώνει τον υπολογιστή.
ΜΕΤΑΤΟΠΙΣΗ ΟΧΗΜΑΤΟΣ Η μετατόπιση γίνεται σε τρία βήματα: Ο μικροελεγκτής στέλνει παλμούς στο σερβοκινητήρα που ελέγχει τη στροφή, για να στραφούν οι μπροστινοί τροχοί του οχήματος. Το μέγεθος της στροφής λαμβάνεται από τον υπολογιστή μέσω της σειριακής θύρας. Ο μικροελεγκτής στέλνει παλμούς στον ελεγκτή ταχύτητας. Ο ελεγκτής ταχύτητας περιστρέφει τον ηλεκτρικό κινητήρα του οχήματος για να μετατοπιστεί το όχημα. Το εύρος και η διάρκεια εφαρμογής των παλμών λαμβάνεται από τον υπολογιστή, μέσω της σειριακής διασύνδεσης. Ο μικροελεγκτής στέλνει παλμούς 1,5ms, οπότε ο ελεγκτής ταχύτητας σταματάει τον ηλεκτρικό κινητήρα του οχήματος.
ΠΑΡΑΓΩΓΗ ΣΗΜΑΤΩΝ PWM Ο Timer0 προγραμματίζεται να μετρήσει 20ms (ΟΝ+OFF) και ο Timer1 να μετρήσει ένα μικρό χρονικό διάστημα (1ms) (Διάρκεια ON). Όταν περάσει το διάστημα αυτό προγραμματίζεται ο Timer1 να μετρήσει την επιθυμητή διάρκεια παλμού (1ms - 2ms) του πρώτου σήματος και γίνεται ο ακροδέκτης RB0 = 1. Όταν περάσει ο χρόνος αυτός προγραμματίζεται ο Timer1 να μετρήσει την επιθυμητή διάρκεια παλμού (1ms - 2ms) του δεύτερου σήματος, γίνεται ο ακροδέκτης RB0 = 0 και ο ακροδέκτης RB1 = 1. Όταν περάσει και αυτός ο χρόνος γίνεται ο ακροδέκτης RB1 = 0. Η διαδικασία αυτή επαναλαμβάνεται κάθε 20ms όταν δηλαδή παράγεται σήμα διακοπής από τον Timer0.
ΠΑΡΑΓΩΓΗ ΣΗΜΑΤΩΝ PWM
ΕΞΟΔΟΣ ΕΛΕΓΚΤΗ ΤΑΧΥΤΗΤΑΣ 1400μs 1500μs 1550μs 1600μs
ΒΑΣΙΚΕΣ ΕΝΕΡΓΕΙΕΣ ΥΠΟΛΟΓΙΣΤΗ Επιτρέπει στον χρήστη να ορίσει το σημείο προορισμού Υπολογίζει την διαδρομή που πρέπει να ακολουθήσει το όχημα Επικοινωνεί σειριακά με το όχημα
ΕΦΑΡΜΟΓΗ ΕΛΕΓΧΟΥ
ΥΠΟΛΟΓΙΣΜΟΣ ΔΙΑΔΡΟΜΗΣ
ΕΛΕΓΧΟΣ ΟΧΗΜΑΤΟΣ Ο υπολογιστής ζητάει από το μικροελεγκτή να μεταβεί στην κατάσταση 2. Στέλνει στον μικροελεγκτή τις εντολές κίνησης για την πρώτη κίνηση που υπολόγισε. Λέει στον μικροελεγκτή να μεταβεί στην κατάσταση 3 (όπου το όχημα αρχίζει να κινείται). Όταν ολοκληρωθεί η πρώτη κίνηση, ο υπολογιστής λέει στον μικροελεγκτή να μεταβεί στην κατάσταση 2. Στέλνει στον μικροελεγκτή τις εντολές κίνησης για την δεύτερη κίνηση που υπολόγισε. Λέει στον μικροελεγκτή να μεταβεί στην κατάσταση 3. Όταν ολοκληρωθεί και η δεύτερη κίνηση ο υπολογιστής επιτρέπει στον χρήστη να πραγματοποιήσει νέα μετατόπιση.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ Ο βασικός κώδικας της εφαρμογής ελέγχου του οχήματος χωρίστηκε στις παρακάτω κλάσεις: CGraph Υπολογίζει την διαδρομή CComPort Επικοινωνεί με το όχημα CVehicle Ελέγχει το όχημα
ΕΠΙΚΟΙΝΩΝΙΑ ΟΧΗΜΑΤΟΣ ΜΕ ΥΠΟΛΟΓΙΣΤΗ
ΠΕΙΡΑΜΑΤΙΚΕΣ ΔΟΚΙΜΕΣ (200,-100) (0,-100) (-100,0) (300,-100)