β1: Το μάθημα ολοκληρώθηκε
β2: Το μάθημα ολοκληρώθηκε
Στόχοι μαθήματος:
- Να συνδέσουμε και να προγραμματίσουμε έναν πραγματικό servo κινητήρα.
- Να ελέγξουμε την ακριβή γωνία περιστροφής (0° έως 180°).
- Να συνδυάσουμε το servo με αισθητήρες (ποτενσιόμετρο, κλίση) για έξυπνες εφαρμογές.
Τα project που δημιουργήσαμε στο Tinkercad:
Project 1:
Συνδέσαμε τον μικροκινητήρα SG90 στο pin 9 και τον προγραμματίσαμε ώστε να στραφεί από τις 0 μοίρες στις 90 μοίρες με μικρά βήματα των 10 μοιρών, όπου σε κάθε βήμα ο προσανατολισμός του θα διατηρείται για ένα δευτερόλεπτο. Η αλήθεια είναι ότι κατά τη διάρκεια του μαθήματος πειραματιστήκαμε με το χρόνο παραμονής σε κάθε προσανατολισμό ξεκινώντας από τη διάρκεια του μισού δευτερολέπτου μέχρι τα 0,1 δευτερόλεπτα. Ωστόσο στο περιβάλλον του Tinkercad γίνεται πιο καλά αντιληπτός ο τρόπος κίνησης του μικροκινητήρα αν ορίσουμε το χρόνο παραμονής σε κάθε προσανατολισμό στο 1 δευτερόλεπτο.
Εδώ θα βρείτε το project 1 που κάναμε στην τάξηProject 2:
Εδώ θα βρείτε το project 2 που κάναμε στην τάξη
Επισημάνσεις μαθήματος
1. Το micro servo SG90 είναι ένας μικρός, ελαφρύς και οικονομικός μηχανισμός, που χρησιμοποιείται ευρέως σε έργα ρομποτικής και αυτοματισμού. Σε αντίθεση με τους συνεχώς περιστρεφόμενους κινητήρες (DC motors), τα σέρβο μπορούν να κινηθούν σε συγκεκριμένη γωνία και να παραμείνουν σταθερά σε εκείνη τη θέση. Αυτό επιτυγχάνεται με έναν εσωτερικό μηχανισμό (ποτενσιόμετρο) που ελέγχει τη θέση του άξονα. Το SG90 μπορεί να περιστραφεί συνήθως από 0° έως 180° (αν και με κατάλληλο παλμό μπορεί να φτάσει και λίγο παραπάνω). Η γωνία καθορίζεται από το πλάτος ενός ηλεκτρικού παλμού που στέλνεται μέσω του καλωδίου σήματος.
Το SG90 είναι ιδανικό για κατασκευές όπου χρειάζεται ακριβής κίνηση, όπως ρομποτικοί βραχίονες, πηδάλια σε μοντέλα αυτοκινήτων/αεροπλάνων, κινούμενες κάμερες ή οποιοδήποτε έργο απαιτεί ελεγχόμενη γωνιακή περιστροφή. Χάρη στο μικρό του μέγεθος και το χαμηλό κόστος, αποτελεί βασικό δομικό στοιχείο για αρχάριους και προχωρημένους δημιουργούς. 2.
Ο τρόπος με τον οποίο συνδέουμε σε ένα κύκλωμα τον servo κινητήρα φαίνεται στην παρακάτω εικόνα.
Οι servo κινητήρες τύπου SG90 έχουν τρία pin τα οποία συνδέονται με τρία καλώδια. Το πρώτο pin με το καφέ (brown) καλώδιο συνδέεται με το GND. Το δεύτερο pin με το κόκκινο (red) καλώδιο συνδέεται με το pin των 5V. Τέλος, το pin με το πορτοκαλί (orange) καλώδιο συνδέεται με κάποιο από τα pin 11, 10, 9, 6, 5 , 3. Πρόκειται για τα pin με την ένδειξη ~. Αυτό φαίνεται στην παρακάτω εικόνα:
3. Ο μικροελεγκτής (π.χ. Arduino) ελέγχει το servo κινητήρα στέλνοντας διαρκώς παλμούς μέσω του καλωδίου σήματος (το πορτοκαλί καλώδιο). Κάθε παλμός έχει διάρκεια (πλάτος) μεταξύ 1 και 2 χιλιοστών του δευτερολέπτου (ms) και επαναλαμβάνεται κάθε 20 ms (περίοδος 50 Hz).
- Ένας παλμός διάρκειας 1 ms αντιστοιχεί συνήθως σε γωνία 0°.
- Ένας παλμός διάρκειας 1,5 ms αντιστοιχεί σε γωνία 90°.
- Ένας παλμός διάρκειας 2 ms αντιστοιχεί σε γωνία 180°.
Το εσωτερικό κύκλωμα του servo συγκρίνει τη διάρκεια του παλμού που λαμβάνει με την τρέχουσα θέση του άξονα (όπως την ανιχνεύει το ποτενσιόμετρο). Αν υπάρχει απόκλιση, οδηγεί τον κινητήρα να περιστραφεί προς την επιθυμητή γωνία και να παραμείνει εκεί.
Η σύνδεση της μορφής των ηλεκτρικών σημάτων και της γωνίας του κινητήρα φαίνεται στην παρακάτω εικόνα:
4. Ο προγραμματισμός του servo SG90 μέσω του Arduino Ide απαιτεί την εγκατάσταση της βιβλιοθήκης "Servo". Σε προηγούμενα μαθήματα έχει περιγραφεί ο τρόπος εγκατάστασης μιας βιβλιοθήκης στο Arduino Ide.
5. Ο αισθητήρας κλίσης SW-520D, ο οποίος φαίνεται στην παρακάτω εικόνα, είναι μια μικρή, απλή και οικονομική διάταξη που ανιχνεύει προσανατολισμό και κίνηση.
Σε αντίθεση με πιο σύνθετους αισθητήρες (όπως τα επιταχυνσιόμετρα), λειτουργεί σαν ένας απλός διακόπτης που ανοίγει ή κλείνει ανάλογα με τη θέση του. Μέσα στο μεταλλικό του περίβλημα υπάρχει μια μικρή μεταλλική μπίλια που κυλάει ελεύθερα. Όταν ο αισθητήρας είναι σε συγκεκριμένη γωνία (συνήθως με τους ακροδέκτες προς τα κάτω), η μπίλια ακουμπάει τους ακροδέκτες και κλείνει το κύκλωμα, επιτρέποντας το ρεύμα να περάσει. Αν γύρει τότε η μπίλια χάνει την επαφή με τους ακροδέκτες και το ρεύμα διακόπτεται, όπως φαίνεται στην παρακάτω εικόνα.
Το SW-520D μπορεί να ανιχνεύσει κλίση συνήθως από 15° έως 90° , ενώ παράλληλα είναι ευαίσθητο και σε κραδασμούς και δονήσεις. Είναι πλήρως σφραγισμένο, αδιάβροχο και προστατευμένο από σκόνη, γεγονός που το καθιστά ιδανικό για χρήση σε διάφορα περιβάλλοντα.
Το SW-520D είναι ιδανικό για έργα όπου χρειάζεται να γνωρίζουμε τον προσανατολισμό ή την κίνηση ενός αντικειμένου, όπως συστήματα συναγερμού και ασφάλειας, ανίχνευση πτώσης συσκευών, διακόπτες ενεργοποίησης σε περίπτωση ανατροπής ρομποτικών οχημάτων, ηλεκτρονικά παιχνίδια που αντιδρούν στην κίνηση και αυτόματη απενεργοποίηση συσκευών όταν ανατρέπονται (π.χ. θερμάστρες) . Χάρη στην απλότητά του, το χαμηλό κόστος και την αξιοπιστία του, αποτελεί μια εξαιρετική λύση για αρχάριους και προχωρημένους δημιουργούς που θέλουν να προσθέσουν ανίχνευση κλίσης στα έργα τους.
6. Ο τρόπος σύνδεσης του αισθητήρα κλίσης SW-520D φαίνεται στην επόμενη εικόνα (Προσοχή! Στο περιβάλλον του Tinkercad δεν θα βρούμε τον αισθητήρα SW-520D, ωστόσο αυτός που θα βρούμε εκεί έχει τον ίδιο τρόπο σύνδεσης).
Συγκεκριμένα το ένα άκρο του αισθητήρα (δεν έχει σημασία ποιο) συνδέεται με το pin των 5V, ενώ το δεύτερο άκρο συνδέεται με κάποιο ψηφιακό pin από το 2 ως το 13 (γενικά αποφεύγουμε τη χρήση των pin 0 και 1) και αντιστάτη των 10kΩ. Το άλλο άκρο του αντιστάτη συνδέεται με το pin GND.
7. Η ψηφιακή λειτουργία του αισθητήρα κλίσης είναι απλή. Όταν ο αισθητήρας είναι όρθιος (με τα άκρα του προς τα κάτω), τότε διαρρέεται από ηλεκτρικό ρεύμα και στέλνει στο pin όπου είναι συνδεδεμένος (π.χ. pin 4) ένα ηλεκτρικό σήμα με την τιμή 1 (ή HIGH). Όταν ο αισθητήρας γύρει, τότε παύει να διαρρέεται από ηλεκτρικό ρεύμα, επομένως στέλνει στο συνδεδεμένο pin του Arduino ένα ηλεκτρικό σήμα με τιμή 0 (ή LOW). Η τιμή αυτού του σήματος μπορεί να δώσει τη μία ή την άλλη εντολή σε κάποιο ηλεκτρικό στοιχείο στο κύκλωμα (π.χ. led, buzzer, servo κινητήρας κτλ).
8. Στο περιβάλλον του Tinkercad υπάρχει ο αισθητήρας κλίσης SW-200D. Θα τον βρούμε αν επιλέξουμε στο πλαίσιο "Components" την επιλογή "All", όπως δείχνει η παρακάτω εικόνα.
Ο αισθητήρας αυτός λειτουργεί και συνδέεται ακριβώς όπως ο πραγματικός αισθητήρας SW-520D.
Όταν κάνετε το project σας και πατήσετε το "Start simulation" για να το δείτε να λειτουργεί, αν κάνετε κλικ πάνω στον αισθητήρα θα δείτε την επόμενη εικόνα.
Μετακινώντας το δρομέα με το μικρό βελάκι προς τα δεξιά, τότε προσομοιάζεται την κλίση του αισθητήρα.
Εργασίες για το σπίτι (Tinkercad ή πραγματικό kit):
Εργασίες για το σπίτι για τους μαθητές που δεν μπορούν να κάνουν τις εργασίες στο Tinkercad ή με πραγματικό kit: