Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4 Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα Τρανζίστορ στη Λειτουργία ενός DC Κινητήρα. Η Χρήση της Διόδου. Το Πρόγραμμα που Οδηγεί έναν DC Κινητήρα Βασικές Εντολές του Προγράμματος AnalogWrite() 1
Μέρος Α : Σκοπός και Περιγραφή της Άσκησης 4.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΑΣΚΗΣΗΣ Στις προηγούμενες ασκήσεις, εξετάσαμε απλά συστήματα, για τη μέτρηση φυσικών μεταβλητών, όπως θερμοκρασία και ένταση φωτός, χρησιμοποιώντας αισθητήρες και στέλνοντας αυτές τις μετρήσεις στον υπολογιστή, μέσα από τον Arduino. Είδαμε τη δομή και τα βασικά στοιχεία αυτών των συστημάτων, δηλαδή τους αισθητήρες, το μικροελεγκτή (τον Arduino), μέσα από τον οποίο ο υπολογιστής επικοινωνεί και παίρνει τις μετρήσεις, από τους αισθητήρες. Είδαμε τη συνδεσμολογία αυτών των στοιχείων και τη λειτουργία του προγράμματος στον υπολογιστή, για να διαβάζει τις μετρήσεις από τους αισθητήρες, να τις επεξεργάζεται, αλλά και να ελέγχει και να λειτουργεί συσκευές, όπως μία LED. Η δυνατότητα όχι μόνον να διαβάζουμε τιμές τάσης στις εισόδους ενός μικροελεγκτή, αλλά και να δημιουργούμε τάσεις στις αναλογικές εξόδους του μικρολεγκτή, α- νάβοντας ή σβήνοντας μία LED, επιτρέπει μία καινούργια, πολύ σημαντική λειτουργία στο πρόγραμμα: όχι μόνο να αντιλαμβάνεται το εξωτερικό περιβάλλον, αλλά και να το ελέγχει. Σ αυτή την άσκηση, εξετάζουμε ακόμα περισσότερο αυτή τη διάσταση του προγράμματος που είδαμε μέσα από το άναμμα / σβήσιμο μίας LED και που είναι η επίδραση στο εξωτερικό περιβάλλον. Εξετάζουμε αυτή τη δυνατότητα, μέσα από τη λειτουργία ενός κινητήρα συνεχούς ρεύματος (DC κινητήρα), από το πρόγραμμα. Η λειτουργία κινητήρων από ένα πρόγραμμα, δίνει στο πρόγραμμα τη δυνατότητα να επιδρά και να διαμορφώνει το εξωτερικό περιβάλλον με πολλούς τρόπους, κινώντας για παράδειγμα ένα μηχανικό βραχίονα ή ένα ρομποτικό αυτοκίνητο. Όμως, η λειτουργία ενός DC κινητήρα, από ένα πρόγραμμα, πέρα από τις πολλές εφαρμογές που έχει, μας επιτρέπει να εξετάσουμε πως βασικά ηλεκτρονικά εξαρτήματα, όπως: Το Τρανζίστορ Ο Πυκνωτής Η Δίοδος χρησιμεύουν στο σύστημα οδήγησης του κινητήρα. 4.2 To Πείραμα Συνδέστε έναν κινητήρα συνεχούς ρεύματος (DC) στον Arduino, ακολουθώντας τη συνδεσμολογία της Εικόνας 1. Γράψτε ένα πρόγραμμα, στο περιβάλλον του Arduino (στη Processing), για να λειτουργεί, να περιστρέφει δηλαδή τον κινητήρα Μέσα από ένα πρόγραμμα, ρυθμίστε τη ταχύτητα και τη φορά περιστροφής του κινητήρα. 2
Εικόνα 1: Συνδεσμολογία ενός DC κινητήρα, στον Arduino 4.3 Βασική Αρχή Λειτουργίας των DC Κινητήρων Ο κινητήρας συνεχούς ρεύματος (DC κινητήρας) περιστρέφεται, όταν μία συνεχής τάση εφαρμόζεται στα άκρα του, Κινητήρες συνεχούς ρεύματος υπάρχουν σε πολλά διαφορετικά μεγέθη και χρησιμοποιούνται σε πολλές συσκευές. Για παράδειγμα, ο κινητήρας που περιστρέφει το CD ή το DVD, σ έναν DVD player, είναι DC κινητήρας. Αλλά DC κινητήρες είναι και αυτοί που χρησιμοποιούνται στα μικρά τηλεκατευθυνόμενα αυτοκίνητα. Η βασική αρχή λειτουργίας των DC κινητήρων είναι σχετικά απλή. Ρυθμίζουμε τη ταχύτητα περιστροφής τους, μεταβάλλοντας τη τάση στο κινητήρα. Αλλάζουμε τη φορά περιστροφής του κινητήρα, αλλάζοντας τη πολικότητα της τάσης, στα άκρα του. Οι DC κινητήρες με ψήκτρες (Brushed DC motors) που χρησιμοποιούμε στην άσκηση, αποτελούνται από ένα ακίνητο τμήμα, τον στάτη και ένα στρεφόμενο τμήμα, τον δρομέα. Ο στάτης είναι ένας ηλεκτρομαγνήτης με δύο πόλους, το βόρειο και το νότιο. Ο δρομέας αποτελείται από έναν κύλινδρο, από σιδηρομαγνητικό υλικό. Σε δύο αυλακώσεις, στην επιφάνεια του κυλίνδρου, είναι συμμετρικά τοποθετημένοι οι αγωγοί ενός πλαισίου. Το πλαίσιο αυτό ονομάζεται τύλιγμα του δρομέα. Τα άκρα 3
Εικόνα 2: Βασική δομή ενός DC κινητήρα. του τυλίγματος του δρομέα συνδέονται σε δύο δακτυλίους, µε τους οποίους ε- φάπτονται οι ψήκτρες (brushes). (Εικόνα 2). Ρεύμα μεταφέρεται στο τύλιγμα του πηνίου, μέσα από τις ψήκτρες (brushes) (Εικόνα 2). Γι αυτό, αυτοί οι κινητήρες ονομάζονται brushed DC motors. Σε αντίθεση με τους κινητήρες χωρίς ψήκτρες (brushless DC motors), όπως είναι οι βηματικοί κινητήρες, οι DC κινητήρες με ψήκτρες είναι φθηνότεροι και η ταχύτητα περιστροφής τους ρυθμίζεται πιο εύκολα. Όμως, φθείρονται και πιο γρήγορα, γιατί φθείρονται οι ψήκτρες. Οι DC κινητήρες (με ψήκτρες) λειτουργούν στη βάση της αρχής της επαγωγής. Ό- ταν μέσα από το πηνίο περνάει ρεύμα, τότε δημιουργείται ένα μαγνητικό πεδίο. Το μαγνητικό πεδίο έλκεται ή απωθείται, από τους πόλους του ηλεκτρομαγνήτη, α- νάλογα με τη πολικότητα του. Χρησιμοποιώντας τις ψήκτρες, μπορούμε να αλλάζουμε τη πολικότητα του μαγνητικού πεδίου, κάθε μισή στροφή, δημιουργώντας έτσι μία στροφορμή που περιστρέφει το δρομέα (Εικόνα 2). 4
Εικόνα 3: Αναλυτική παράσταση της συνδεσμολογίας DC κινητήρα, στον Arduino. 5
Αυτή είναι η βασική αρχή λειτουργίας των DC κινητήρων. Στη βάση αυτής της αρχής, μπορούμε να περιστρέφουμε το κινητήρα, εφαρμόζοντας συνεχή τάση, στα άκρα του και να μεταβάλλουμε τη ταχύτητα περιστροφής του, μεταβάλλοντας τη τάση στα άκρα του κινητήρα. 4.4 Πειραματική Διάταξη Η βασική συνδεσμολογία του κινητήρα συνεχούς ρεύματος, παριστάνεται στην Εικόνα 1. Η βασική συνδεσμολογία της Εικόνας 1, παριστάνεται πιο αναλυτικά, στην Εικόνα 3. 4.5 Το Πρόγραμμα Το πρόγραμμα, για τη λειτουργία του κινητήρα, από τον υπολογιστή, παριστάνεται στην Εικόνα 4. Μέσα από την εντολή, const int MOTOR 9; συνδέουμε τη μεταβλητή MOTOR με τη θύρα 9 του Arduino. Στη συνάρτηση setup() που αποτελεί το κυρίως πρόγραμμα, ορίζουμε τη θύρα 9, σαν έξοδο, χρησιμοποιώντας την εντολή: pinmode (MOTOR, OUTPUT); Στη συνάρτηση loop(), χρησιμοποιούμε την εντολή: analogwrite(motor, i) για να δημιουργήσουμε μία τάση στην έξοδο 9 του Arduino. Όσο μεγαλύτερη είναι η τιμή της μεταβλητής i, τόσο μεγαλύτερη θα είναι και η τάση στην έξοδο 9. Άρα, τόσο μεγαλύτερη η ταχύτητα περιστροφής του κινητήρα. Καθώς, η τιμή της μεταβλητής i, αλλάζει από 0 έως 255, αυξάνοντας τη τάση στην έξοδο 9, θα πρέπει να παρατηρήσουμε το κινητήρα να περιστρέφεται σταδιακά, πιο γρήγορα. Η δεύτερη επανάληψη, for ( int i = 255; i >= 0; i- - ) { analogwrite(motor, i); delay(10); } 6
Εικόνα 4: Το πρόγραμμα για τη λειτουργία το DC Κινητήρα 7
εκτελεί την αντίθετη λειτουργία, από τη προηγούμενη. Καθώς, η τιμή της μεταβλητής i, αλλάζει από 255 έως 0, ελαττώνοντας τη τάση στην έξοδο 9, θα πρέπει να παρατηρήσουμε το κινητήρα να περιστρέφεται σταδιακά, πιο αργά. Αυτή είναι η λειτουργία του προγράμματος που μέσα από τη περιστροφή του κινητήρα, δείχνει πως ένα πρόγραμμα μπορεί να περιστρέφει ένα κινητήρα, μεταβάλλοντας τη τάση σε μία από τις εξόδους ενός μικροελεγκτή (του Arduino). 8