Πίνακας περιεχομένων:

Πρωτότυπο σταθεροποιητή κάμερας (2DOF): 6 βήματα
Πρωτότυπο σταθεροποιητή κάμερας (2DOF): 6 βήματα

Βίντεο: Πρωτότυπο σταθεροποιητή κάμερας (2DOF): 6 βήματα

Βίντεο: Πρωτότυπο σταθεροποιητή κάμερας (2DOF): 6 βήματα
Βίντεο: ΤΟ ΜΙΚΡΟΤΕΡΟ GIMBAL ΚΙΝΗΤΟΥ κάτω από 70 ευρώ . FEIYUTECH VLOG POCKET - UNBOX & REVIEW (GREEK) 2024, Νοέμβριος
Anonim
Πρωτότυπο σταθεροποιητή κάμερας (2DOF)
Πρωτότυπο σταθεροποιητή κάμερας (2DOF)

Συγγραφείς:

Robert de Mello e Souza, Jacob Paxton, Moises Farias

Ευχαριστίες:

Ένα τεράστιο ευχαριστώ στην Ναυτιλιακή Ακαδημία του Πολιτειακού Πανεπιστημίου της Καλιφόρνια, στο πρόγραμμα Τεχνολογικής Μηχανικής και στον Δρ Chang-Siu που μας βοήθησαν να πετύχουμε με το έργο μας σε τόσο περίπλοκους καιρούς.

Εισαγωγή:

Μια συσκευή σταθεροποίησης κάμερας ή gimbal κάμερας, είναι μια βάση που αποτρέπει το κούνημα της κάμερας και άλλες αδικαιολόγητες κινήσεις. Ένας από τους πρώτους σταθεροποιητές που εφευρέθηκε ποτέ χρησιμοποίησε αμορτισέρ/ελατήρια για να μειώσει τις ξαφνικές αλλαγές στην κίνηση της κάμερας. Άλλοι τύποι σταθεροποιητών χρησιμοποιούν γυροσκόπια ή υποστηρίγματα για να επιτύχουν το ίδιο έργο. Αυτές οι συσκευές σταθεροποιούν ανεπιθύμητες κινήσεις σε έως και τρεις διαφορετικούς άξονες ή διαστάσεις. Αυτά περιλαμβάνουν τον άξονα x, y και z. Αυτό σημαίνει ότι ένας σταθεροποιητής μπορεί να αποσβέσει τις κινήσεις σε τρεις διαφορετικές κατευθύνσεις: ρολό, βήμα και χασμουρητό. Αυτό συνήθως επιτυγχάνεται με τη χρήση 3 κινητήρων που ελέγχονται με ένα ηλεκτρονικό σύστημα ελέγχου το καθένα αντισταθμίζοντας έναν διαφορετικό άξονα.

Αυτό το έργο μας ενδιέφερε εξαιρετικά για διάφορους λόγους. Όλοι μας απολαμβάνουμε διάφορες υπαίθριες δραστηριότητες, όπως snowboard και άλλα αθλήματα. Η λήψη βίντεο υψηλής ποιότητας από αυτές τις δραστηριότητες είναι δύσκολη λόγω της απαιτούμενης κίνησης. Μερικοί από εμάς έχουμε έναν πραγματικό σταθεροποιητή κάμερας που αγοράστηκε από το κατάστημα και έτσι θέλαμε να διερευνήσουμε τι χρειάζεται για να δημιουργήσουμε κάτι τέτοιο. Στα εργαστήρια και τις τάξεις διαλέξεων, μάθαμε πώς να αλληλεπιδρούμε με σερβοκινητήρες χρησιμοποιώντας το Arduino, την κωδικοποίηση που απαιτείται για να λειτουργούν και τη θεωρία πίσω από τα ηλεκτρονικά κυκλώματα που μας βοηθούν να σχεδιάσουμε τα κυκλώματα.

*ΣΗΜΕΙΩΣΗ: Λόγω του COVID-19, δεν μπορέσαμε να ολοκληρώσουμε αυτό το έργο στο σύνολό του. Αυτό το εκπαιδευτικό είναι ένας οδηγός για το κύκλωμα και τον κωδικό που απαιτείται για το πρωτότυπο του σταθεροποιητή. Σκοπεύουμε να ολοκληρώσουμε το έργο όποτε ξαναρχίσει το σχολείο και έχουμε ξανά πρόσβαση σε τρισδιάστατους εκτυπωτές. Η ολοκληρωμένη έκδοση θα έχει κύκλωμα μπαταρίας και περίβλημα με 3D εκτύπωση με βραχίονες σταθεροποίησης (φαίνεται παρακάτω). Επίσης, σημειώστε ότι η απενεργοποίηση των μοτέρ Servo από το τροφοδοτικό Arduino 5v είναι γενικά κακή πρακτική. Το κάνουμε απλώς για να επιτρέψουμε τη δοκιμή του πρωτοτύπου. Μια ξεχωριστή τροφοδοσία θα συμπεριληφθεί στο τελικό έργο και φαίνεται στο παρακάτω διάγραμμα κυκλώματος.

Προμήθειες

-Μικροελεγκτής Arduino UNO

-Breadboard

-Σύρμα Jumper Kit

-MPU6050 Μονάδα αδρανειακής μέτρησης

-MG995 Servo Motor (x2)

-LCD1602 Ενότητα

-Μονάδα χειριστηρίου

Βήμα 1: Επισκόπηση έργου

Image
Image

Παρακάτω είναι ένα βίντεο του έργου μας και επίσης παρουσιάζει μια επίδειξη εργασίας.

Βήμα 2: Θεωρία και λειτουργία

Διάγραμμα κατάστασης/λογικής
Διάγραμμα κατάστασης/λογικής

Για τη σταθεροποίηση της κάμεράς μας, χρησιμοποιήσαμε δύο σερβοκινητήρες για να σταθεροποιήσουμε τον άξονα βήματος και ρολού. Μια μονάδα αδρανειακής μέτρησης (IMU) ανιχνεύει την επιτάχυνση, τη γωνιακή επιτάχυνση και τη μαγνητική δύναμη που μπορούμε να χρησιμοποιήσουμε για να καθορίσουμε τη γωνία της κάμερας. Με ένα IMU προσαρτημένο στη διάταξη, μπορούμε να χρησιμοποιήσουμε τα δεδομένα που ανιχνεύονται για να αντισταθμίσουμε αυτόματα την αλλαγή στην κίνηση της λαβής με τα servos. Επιπλέον, με ένα Arduino Joystick, μπορούμε να ελέγξουμε χειροκίνητα δύο άξονες περιστροφής, έναν κινητήρα για κάθε άξονα.

Στο σχήμα 1 μπορείτε να δείτε ότι το ρολό αντισταθμίζεται από τον σερβοκινητήρα ρολού. Καθώς η λαβή κινείται προς την κατεύθυνση του κυλίνδρου, ο σερβοκινητήρας ρολού περιστρέφεται προς την ίδια αλλά αντίθετη κατεύθυνση.

Στο σχήμα 2 μπορείτε να δείτε ότι η γωνία κλίσης ελέγχεται από έναν ξεχωριστό σερβοκινητήρα που λειτουργεί με παρόμοιο τρόπο με τον σερβοκινητήρα ρολού.

Οι σερβοκινητήρες είναι μια καλή επιλογή για αυτό το έργο επειδή συνδυάζει τον κινητήρα, τον αισθητήρα θέσης, έναν μικρό ενσωματωμένο μικροελεγκτή και τη γέφυρα H που μας επιτρέπει να ελέγχουμε χειροκίνητα και αυτόματα τη θέση του κινητήρα μέσω του Arduino. Ο αρχικός σχεδιασμός απαιτούσε μόνο έναν σερβοκινητήρα, αλλά μετά από κάποια σκέψη, αποφασίσαμε να χρησιμοποιήσουμε δύο. Πρόσθετα εξαρτήματα που προστέθηκαν ήταν οθόνη LCD Arduino και Joystick. Ο σκοπός της οθόνης LCD είναι να εμφανίσει σε ποια κατάσταση βρίσκεται ο σταθεροποιητής αυτήν τη στιγμή και την τρέχουσα γωνία κάθε σερβο σε κατάσταση χειροκίνητου ελέγχου.

Για τη δημιουργία του περιβλήματος για τη συγκράτηση όλων των ηλεκτρικών εξαρτημάτων, χρησιμοποιήσαμε τον σχεδιασμό με τη βοήθεια υπολογιστή (CAD) και θα χρησιμοποιήσουμε έναν εκτυπωτή 3D. Για τη συγκράτηση των ηλεκτρικών εξαρτημάτων, έχουμε σχεδιάσει ένα σώμα που θα λειτουργεί επίσης ως λαβή. Εδώ θα τοποθετηθεί ο αισθητήρας IMU και το χειριστήριο. Για έλεγχο διπλού άξονα, σχεδιάσαμε βάσεις για τους κινητήρες.

Βήμα 3: Διάγραμμα κατάστασης/λογικής

Ο κωδικός αποτελείται από τρεις καταστάσεις, καθεμία από τις οποίες θα υποδεικνύεται στην οθόνη LCD. Όταν το Arduino λάβει ισχύ, η οθόνη LCD θα εκτυπώσει "Initializing …" και η επικοινωνία I2C ξεκινά με το MPU-6050. Τα αρχικά δεδομένα από το MPU-6050 καταγράφονται για να βρεθεί ο μέσος όρος. Μετά, το Arduino θα εισέλθει στη λειτουργία χειροκίνητου ελέγχου. Εδώ, και οι δύο σερβοκινητήρες μπορούν να ρυθμιστούν χειροκίνητα με το χειριστήριο. Εάν πατήσετε το κουμπί του joystick, θα μπει στη συνέχεια στην κατάσταση "Auto Level" και η πλατφόρμα σταθεροποίησης θα διατηρήσει το επίπεδο σε σχέση με τη Γη. Οποιαδήποτε κίνηση στην κατεύθυνση του ρολού ή του βήματος θα αντισταθμιστεί από τους σερβοκινητήρες, διατηρώντας έτσι το επίπεδο της πλατφόρμας. Με ένα άλλο πάτημα του κουμπιού του χειριστηρίου, το Arduino θα εισέλθει σε μια κατάσταση "Μην κάνετε τίποτα" όπου οι σερβοκινητήρες θα κλειδωθούν. Με αυτή τη σειρά, οι καταστάσεις θα συνεχίσουν να αλλάζουν με κάθε πάτημα του κουμπιού του χειριστηρίου.

Βήμα 4: Διάγραμμα κυκλώματος

Διάγραμμα κυκλώματος
Διάγραμμα κυκλώματος

Η παραπάνω εικόνα απεικονίζει το διάγραμμα κυκλώματος του έργου μας στη λειτουργία OFF. Ο μικροελεγκτής Arduino παρέχει τις απαραίτητες συνδέσεις για τη λειτουργία του MPU-6050 IMU, του Joystick και της οθόνης LCD. Οι κυψέλες LiPo συνδέονται άμεσα με τον εναλλάκτη και παρέχουν ισχύ τόσο στον μικροελεγκτή Arduino όσο και στους δύο σερβοκινητήρες. Κατά τη διάρκεια αυτού του τρόπου λειτουργίας, οι μπαταρίες συνδέονται παράλληλα με τη χρήση ενός διακόπτη διπλής ρίψης 3 σημείων (3PDT). Ο διακόπτης μας επιτρέπει να αποσυνδέσουμε το φορτίο, ενώ ταυτόχρονα συνδέουμε το φορτιστή και αλλάζουμε τις κυψέλες από μια σειρά σε παράλληλη διαμόρφωση. Αυτό επιτρέπει επίσης την ταυτόχρονη φόρτιση της μπαταρίας.

Όταν ο διακόπτης αναστραφεί στη λειτουργία ON, δύο κυψέλες 3.7v θα παρέχουν ισχύ στα Arduino και Servo Motors. Κατά τη διάρκεια αυτού του τρόπου λειτουργίας, οι μπαταρίες συνδέθηκαν σε σειρά με τη χρήση ενός διακόπτη διπλής ρίψης 3 σημείων (3PDT). Αυτό μας επιτρέπει να λαμβάνουμε 7,4v από την πηγή τροφοδοσίας μας. Τόσο η οθόνη LCD όσο και ο αισθητήρας IMU χρησιμοποιούν επικοινωνία I2C. Το SDA χρησιμοποιείται για τη μετάδοση των δεδομένων, ενώ το SCL είναι η γραμμή ρολογιού που χρησιμοποιείται για το συγχρονισμό των μεταφορών δεδομένων. Οι σερβοκινητήρες έχουν τρία καλώδια το καθένα: ισχύ, γείωση και δεδομένα. Το Arduino επικοινωνεί με τα servos μέσω των ακίδων 3 και 5. Αυτές οι ακίδες χρησιμοποιούν Pulse Width Modulation (PWM) για να μεταδώσουν τα δεδομένα με ομαλότερες μεταβάσεις.

*Το κύκλωμα φόρτισης μπαταρίας προέρχεται από το Adafruit.com

Βήμα 5: Κατασκευή

Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή
Κατασκευή

Ο βασικός σχεδιασμός ενός gimbal φωτογραφικής μηχανής είναι αρκετά απλός, καθώς είναι ουσιαστικά μόνο μια λαβή και βάση για μια φωτογραφική μηχανή. Το gimbal αποτελείται από δύο σερβοκινητήρες για να αντισταθμίσει κάθε κίνηση στην κατεύθυνση του ρολού και του βήματος. Η χρήση ενός Arduino Uno απαιτεί σημαντικό χώρο, οπότε προσθέσαμε επίσης ένα περίβλημα στο κάτω μέρος της λαβής για να περιέχει όλα τα ηλεκτρικά εξαρτήματα. Το περίβλημα, η λαβή και οι βάσεις σερβοκινητήρα θα είναι όλα εκτυπωμένα 3D, επιτρέποντάς μας να ελαχιστοποιήσουμε το κόστος και το συνολικό μέγεθος, καθώς μπορούμε να έχουμε τον πλήρη έλεγχο του σχεδιασμού. Υπάρχουν διάφοροι τρόποι με τους οποίους θα μπορούσε κανείς να σχεδιάσει το gimbal, αλλά ο μεγαλύτερος παράγοντας που πρέπει να ληφθεί υπόψη είναι η αποφυγή περιστροφής ενός σερβοκινητήρα σε έναν άλλο. Στο πρωτότυπο, ο ένας σερβοκινητήρας συνδέεται ουσιαστικά με τον άλλο. Όταν έχουμε ξανά πρόσβαση σε τρισδιάστατους εκτυπωτές, θα εκτυπώσουμε 3D τον βραχίονα και την πλατφόρμα που φαίνεται παραπάνω.

*Τα σχέδια για τον βραχίονα και την πλατφόρμα προέρχονται από τη διεύθυνση

Βήμα 6: Συνολικά ευρήματα και πιθανές βελτιώσεις

Η αρχική έρευνα που κάναμε για τα άκρα της κάμερας ήταν πολύ εκφοβιστική. Ενώ υπήρχε πληθώρα πηγών και πληροφοριών για το θέμα, φαινόταν πολύ σαν ένα έργο που θα ήταν εκτός του πρωταθλήματός μας. Ξεκινήσαμε αργά, κάνοντας όση περισσότερη έρευνα μπορούσαμε, αλλά απορροφώντας ελάχιστα. Κάθε εβδομάδα συναντιόμασταν και συνεργαζόμασταν. Καθώς εργαζόμασταν, κερδίζαμε όλο και περισσότερη δυναμική και τελικά γίναμε λιγότερο φοβισμένοι και περισσότερο ενθουσιασμένοι για το έργο. Ενώ προσθέσαμε ένα επιπλέον joystick και μια οθόνη LCD, υπάρχουν ακόμα πολλά που θα μπορούσαμε να προσθέσουμε στο έργο. Υπάρχουν επίσης μερικές βελτιώσεις που θα μπορούσαν να προστεθούν, όπως περιορισμοί στο χειροκίνητο έλεγχο που θα απέτρεπαν τον χρήστη από την περιστροφή του ενός σερβοκινητήρα στον άλλο. Αυτό είναι ένα μικρό πρόβλημα και θα μπορούσε επίσης να διορθωθεί με διαφορετικό σχεδιασμό τοποθέτησης. Συζητήσαμε επίσης τις δυνατότητες προσθήκης μιας λειτουργίας ταψιού. Αυτό θα επιτρέψει στον χρήστη να χρησιμοποιήσει τους σερβοκινητήρες για να μετακινηθεί σε μια περιοχή σε καθορισμένο χρόνο.

Ως ομάδα, δουλέψαμε όλοι μαζί πολύ καλά. Παρά τις συνθήκες, και μόνο την ικανότητα να συναντιόμαστε εικονικά, βγάλαμε το καλύτερο από αυτό και διατηρούσαμε συχνή επικοινωνία. Όλα τα μέρη και τα εξαρτήματα δόθηκαν σε ένα άτομο και αυτό έκανε λίγο πιο δύσκολο για την υπόλοιπη ομάδα να βοηθήσει στην αντιμετώπιση τυχόν προβλημάτων που προέκυψαν. Μασταν σε θέση να αντιμετωπίσουμε τα θέματα που προέκυψαν, αλλά αν είχαμε όλοι τα ίδια υλικά, θα ήταν λίγο πιο εύκολο να βοηθήσουμε. Συνολικά, η μεγαλύτερη συμβολή στην ολοκλήρωση του έργου μας ήταν η δυνατότητα κάθε μέλους να έχει διαθεσιμότητα και διάθεση να συναντηθούν και να συζητήσουν για το έργο.

Συνιστάται: