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

Σταθεροποιητής χειρός: 13 βήματα (με εικόνες)
Σταθεροποιητής χειρός: 13 βήματα (με εικόνες)

Βίντεο: Σταθεροποιητής χειρός: 13 βήματα (με εικόνες)

Βίντεο: Σταθεροποιητής χειρός: 13 βήματα (με εικόνες)
Βίντεο: SUPER LEICHT💝DONAUWELLEN-TORTE OHNE BUTTERCREME!💝 Schnelle VANILLECREME! Rezept von SUGARPRINCESS 2024, Ιούλιος
Anonim
Σταθεροποιητής χειροκίνητης κάμερας
Σταθεροποιητής χειροκίνητης κάμερας

Εισαγωγή

Αυτός είναι ένας οδηγός για τη δημιουργία ενός εξοπλισμού σταθεροποίησης κάμερας χειρός 3 αξόνων για μια GoPro χρησιμοποιώντας έναν πίνακα ανάπτυξης Digilent Zybo Zynq-7000. Αυτό το έργο αναπτύχθηκε για την κλάση λειτουργικών συστημάτων CPE σε πραγματικό χρόνο (CPE 439). Ο σταθεροποιητής χρησιμοποιεί τρία servos και ένα IMU για να διορθώσει την κίνηση του χρήστη για να διατηρήσει το επίπεδο της κάμερας.

Απαιτούμενα μέρη για το έργο

  • Πίνακας ανάπτυξης Digilent Zybo Zynq-7000
  • Sparkfun IMU Breakout - MPU 9250
  • 2 HiTec HS-5485HB Servos (αγοράστε κίνηση ή πρόγραμμα 180 μοιρών από 90 έως 180 μοίρες)
  • 1 HiTec HS-5685MH Servo (αγοράστε κίνηση ή πρόγραμμα 180 μοιρών από 90 έως 180 μοίρες)
  • 2 τυπικοί βραχίονες Servo
  • 1 Breadboard
  • 15 καλώδια από άλμα σε αρσενικό
  • 4 καλώδια από jumper από άντρα σε γυναίκα
  • Ζεστή κόλλα
  • Λαβή ή λαβή
  • Ξύλινος πείρος διαμέτρου 5 mm
  • GoPro ή άλλο υλικό κάμερας και τοποθέτησης
  • Τροφοδοτικό με δυνατότητα εξόδου 5V.
  • Πρόσβαση σε 3D εκτυπωτή

Βήμα 1: Εγκατάσταση υλικού Vivado

Εγκατάσταση υλικού Vivado
Εγκατάσταση υλικού Vivado

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

  1. Ανοίξτε το Vivado 2016.2, κάντε κλικ στο εικονίδιο "Δημιουργία νέου έργου" και κάντε κλικ στο "Επόμενο>".
  2. Ονομάστε το έργο σας και κάντε κλικ στο "Επόμενο>".
  3. Επιλέξτε το έργο RTL και πατήστε "Επόμενο>".
  4. Πληκτρολογήστε στη γραμμή αναζήτησης xc7z010clg400-1 και, στη συνέχεια, επιλέξτε το τμήμα και πατήστε "Επόμενο>" και "Τέλος".

Βήμα 2: Ρύθμιση σχεδιασμού μπλοκ

Τώρα θα αρχίσουμε να δημιουργούμε το σχέδιο μπλοκ προσθέτοντας και ρυθμίζοντας το Zynq IP Block.

  1. Στο αριστερό πλαίσιο, στην ενότητα IP Integrator, κάντε κλικ στην επιλογή "Δημιουργία σχεδίου μπλοκ" και, στη συνέχεια, κάντε κλικ στο "OK".
  2. Κάντε δεξί κλικ στην καρτέλα "Διάγραμμα" και επιλέξτε "Προσθήκη IP …".
  3. Πληκτρολογήστε "ZYNQ7 Processing System" και κάντε κλικ στην επιλογή.
  4. Κάντε διπλό κλικ στο μπλοκ Zynq που εμφανίζεται.
  5. Κάντε κλικ στην επιλογή "Εισαγωγή ρυθμίσεων XPS" και εισαγάγετε το παρεχόμενο αρχείο "ZYBO_zynq_def.xml".
  6. Μεταβείτε στη "Διαμόρφωση MIO" και επιλέξτε "Μονάδα επεξεργαστή εφαρμογών" και ενεργοποιήστε τα χρονόμετρα Timer 0 και Watchdog.
  7. Στην ίδια καρτέλα, στην ενότητα "I/O Peripherals", επιλέξτε ENET 0 (και αλλάξτε το αναπτυσσόμενο μενού σε "MIO 16.. 27", USB 0, SD 0, UART 1, I2C 0.
  8. Στην ενότητα "GPIO", επιλέξτε GPIO MIO, ENET Reset, USB Reset και I2C Reset.
  9. Τώρα μεταβείτε στο "Ρύθμιση παραμέτρων ρολογιού". Επιλέξτε FCLK_CLK0 κάτω από Ρολόι υφάσματος PL. Στη συνέχεια, κάντε κλικ στο "OK".

Βήμα 3: Δημιουργήστε προσαρμοσμένο μπλοκ IP PWM

Αυτό το μπλοκ IP επιτρέπει στην πλακέτα να στείλει ένα σήμα PWM έξω για να ελέγξει την κίνηση των servos. Το έργο βασίστηκε σε μεγάλο βαθμό στο σεμινάριο του Digitronix Nepal, που βρίσκεται εδώ. Η λογική προστέθηκε για να επιβραδύνει το ρολόι, ώστε ο παλμός να εξέρχεται με τον σωστό ρυθμό. Το μπλοκ παίρνει έναν αριθμό από 0 έως 180 και τον μετατρέπει σε παλμό από 750-2150 usec.

  1. Τώρα, στην καρτέλα Εργαλεία κοντά στην επάνω αριστερή γωνία, κάντε κλικ στην επιλογή "Δημιουργία και συσκευασία IP …" και πατήστε Επόμενο.
  2. Στη συνέχεια, επιλέξτε "Δημιουργία νέου περιφερειακού AXI4" και πατήστε Επόμενο.
  3. Ονομάστε το μπλοκ PWM IP (το ονομάσαμε pwm_core) και κάντε κλικ στο Επόμενο και, στη συνέχεια, κάντε κλικ στο Επόμενο στην επόμενη σελίδα επίσης.
  4. Τώρα κάντε κλικ στην επιλογή "Επεξεργασία IP" και πατήστε Τέλος. Αυτό θα ανοίξει ένα νέο παράθυρο για την επεξεργασία του μπλοκ pwm.
  5. Στην καρτέλα "Πηγές" και στην ενότητα "Πηγές σχεδίασης", επεκτείνετε το 'pwm_core_v1_0' (αντικαταστήστε το pwm_core με το όνομά σας) και ανοίξτε το αρχείο που γίνεται ορατό.
  6. Αντιγράψτε και επικολλήστε τον κώδικα που παρέχεται στο 'pwm_core_v1_0_S00_AXI.v' στο αρχείο zip στο κάτω μέρος του έργου. Ctrl + Shift + R και αντικαταστήστε το 'pwm_core' με το όνομά σας για το μπλοκ ip.
  7. Στη συνέχεια ανοίξτε το 'name _v1_0' και αντιγράψτε τον παρεχόμενο κωδικό στο αρχείο 'pwm_core_v1_0.v'. Ctrl + Shift + R και αντικαταστήστε το 'pwm_core' με όνομα.
  8. Τώρα μεταβείτε στην καρτέλα "IP Package - name" και επιλέξτε "Παράμετροι προσαρμογής".
  9. Σε αυτήν την καρτέλα θα υπάρχει μια κίτρινη γραμμή στο επάνω μέρος που έχει συνδεδεμένο κείμενο. Επιλέξτε αυτό και θα εμφανιστούν στο πλαίσιο οι "Κρυφές παράμετροι".
  10. Τώρα μεταβείτε στο "Customization GUI" και κάντε δεξί κλικ στο Pwm Counter Max επιλέξτε "Επεξεργασία παραμέτρου …".
  11. Επιλέξτε τα πλαίσια "Visible in Customization GUI" και "Specify Range".
  12. Αλλάξτε το αναπτυσσόμενο μενού "Τύπος:" σε Εύρος ακεραίων και ορίστε το ελάχιστο στο 0 και το μέγιστο στο 65535 και επιλέξτε το πλαίσιο "Εμφάνιση εύρους". Τώρα κάντε κλικ στο OK.
  13. Σύρετε το Pwm Counter Max κάτω από το δέντρο "Σελίδα 0". Τώρα πηγαίνετε στο "Review and Package" και κάντε κλικ στο κουμπί "Re-Package IP".

Βήμα 4: Προσθέστε το PWM IP Block στο Design

Προσθέστε PWM IP Block στο Design
Προσθέστε PWM IP Block στο Design

Θα προσθέσουμε το μπλοκ IP στο σχεδιασμό του μπλοκ για να επιτρέψουμε στον χρήστη πρόσβαση στο μπλοκ PWM IP μέσω του επεξεργαστή.

  1. Κάντε δεξί κλικ στην καρτέλα διαγράμματος και κάντε κλικ στην επιλογή "Ρυθμίσεις IP …". Μεταβείτε στην καρτέλα "Διαχείριση αποθηκών".
  2. Κάντε κλικ στο πράσινο κουμπί συν και επιλέξτε το. Τώρα βρείτε το ip_repo στο File Manager και προσθέστε το στο έργο. Στη συνέχεια, πατήστε Εφαρμογή και μετά OK.
  3. Κάντε δεξί κλικ στην καρτέλα διαγράμματος και κάντε κλικ στην επιλογή "Προσθήκη IP …". Πληκτρολογήστε το όνομα μπλοκ PWM IP και επιλέξτε το.
  4. Θα πρέπει να υπάρχει μια πράσινη γραμμή στο επάνω μέρος της οθόνης, πρώτα επιλέξτε "Εκτέλεση αυτοματισμού σύνδεσης" και κάντε κλικ στο OK. Στη συνέχεια, κάντε κλικ στην επιλογή "Εκτέλεση αυτοματοποίησης αποκλεισμού" και κάντε κλικ στο OK.
  5. Κάντε διπλό κλικ στο μπλοκ PWM και αλλάξτε το Pwm Counter Max σε 1024 από 128.
  6. Τοποθετήστε τον δείκτη του ποντικιού σας πάνω από το PWM0 στο μπλοκ PWM. Θα πρέπει να υπάρχει ένα μικρό μολύβι που θα εμφανίζεται όταν το κάνετε. Κάντε δεξί κλικ και επιλέξτε "Δημιουργία θύρας …" και κάντε κλικ στο OK όταν ανοίξει ένα παράθυρο. Αυτό δημιουργεί μια εξωτερική θύρα για τη μετάδοση του σήματος.
  7. Επαναλάβετε το βήμα 6 και για το PWM1 και το PWM2.
  8. Βρείτε το μικρό κυκλικό εικονίδιο διπλού βέλους στην πλαϊνή γραμμή και κάντε κλικ σε αυτό. Θα αναγεννήσει τη διάταξη και ο σχεδιασμός του μπλοκ σας θα πρέπει να μοιάζει με την παραπάνω εικόνα.

Βήμα 5: Διαμορφώστε το HDL Wrapper και ρυθμίστε το αρχείο περιορισμών

Διαμορφώστε το HDL Wrapper και ρυθμίστε το αρχείο περιορισμών
Διαμορφώστε το HDL Wrapper και ρυθμίστε το αρχείο περιορισμών

Τώρα θα δημιουργήσουμε το Σχέδιο υψηλού επιπέδου για το Block Design και στη συνέχεια θα χαρτογραφήσουμε τις καρφίτσες PWM0, PWM1 και PWM2 σε Pmod στον πίνακα Zybo.

  1. Μεταβείτε στην καρτέλα "Πηγές". Κάντε δεξί κλικ στο αρχείο σχεδίασης μπλοκ στην ενότητα "Πηγές σχεδίασης" και κάντε κλικ στην επιλογή "Δημιουργία περιτυλίγματος HDL …". Επιλέξτε "Αντιγραφή περιτυλίγματος που δημιουργήθηκε για να επιτρέπονται οι επεξεργασίες χρήστη" και κάντε κλικ στο OK. Αυτό δημιουργεί το σχέδιο υψηλού επιπέδου για το σχέδιο μπλοκ που δημιουργήσαμε.
  2. Το Pmod στο οποίο θα βγούμε είναι JE.
  3. Στην περιοχή Αρχείο, επιλέξτε "Προσθήκη πηγών …" και επιλέξτε "Προσθήκη ή δημιουργία περιορισμών" και κάντε κλικ στο Επόμενο.
  4. Κάντε κλικ στην επιλογή προσθήκη αρχείων και επιλέξτε το συμπεριλαμβανόμενο αρχείο "ZYBO_Master.xdc". Αν κοιτάξετε σε αυτό το αρχείο, θα παρατηρήσετε ότι όλα είναι χωρίς σχολιασμό, εκτός από έξι γραμμές "set_property" στην ενότητα "## Pmod Header JE". Θα παρατηρήσετε ότι τα PWM0, PWM1 και PWM2 είναι τα επιχειρήματα για αυτές τις γραμμές. Αντιστοιχίζονται στα pin 1, pin 2 και pin 3 του JE Pmod.

Βήμα 6: Δημιουργία Bitstream

Πρέπει να δημιουργήσουμε το bitstream για να εξάγει ο σχεδιασμός υλικού στο SDK πριν προχωρήσουμε.

  1. Στην ενότητα "Πρόγραμμα και εντοπισμός σφαλμάτων" στην πλαϊνή γραμμή, επιλέξτε "Δημιουργία ροής Bitstream". Αυτό θα εκτελέσει σύνθεση, μετά υλοποίηση και στη συνέχεια θα δημιουργήσει το bitstream για το σχέδιο.
  2. Διορθώστε τυχόν σφάλματα που εμφανίζονται, αλλά οι προειδοποιήσεις γενικά μπορούν να αγνοηθούν.
  3. Μεταβείτε στο Αρχείο-> Εκκινήστε το SDK και κάντε κλικ στο OK. Αυτό θα ανοίξει το SDK Xilinx.

Βήμα 7: Ρύθμιση έργου σε SDK

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

  1. Ξεκινήστε κατεβάζοντας την τελευταία έκδοση του FreeRTOS εδώ.
  2. Εξαγάγετε τα πάντα από τη λήψη και εισαγάγετε το FreeRTOS στο SDK κάνοντας κλικ στο Αρχείο-> Εισαγωγή και στην ενότητα "Γενικά" κάντε κλικ στην επιλογή "Υφιστάμενα έργα στον χώρο εργασίας" και, στη συνέχεια, κάντε κλικ στο Επόμενο.
  3. Μεταβείτε στο "FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702" στο φάκελο FreeRTOS. Εισαγάγετε μόνο "RTOSDemo" από αυτήν την τοποθεσία.
  4. Τώρα δημιουργήστε ένα πακέτο υποστήριξης πίνακα (BSP) κάνοντας κλικ στο Αρχείο-> Πακέτο υποστήριξης νέου πίνακα.
  5. Επιλέξτε "ps7_cortexa9_0" και επιλέξτε "lwip141" και κάντε κλικ στο OK.
  6. Κάντε δεξί κλικ στον μπλε φάκελο RTOSDemo και επιλέξτε "Αναφορές έργου".
  7. Καταργήστε την επιλογή "RTOSDemo_bsp" και ελέγξτε το νέο BSP που μόλις δημιουργήσαμε.

Βήμα 8: Τροποποιήσεις κώδικα FreeRTOS

Ο κώδικας που παρέχουμε μπορεί να διαχωριστεί σε 7 διαφορετικά αρχεία. main.c, iic_main_thread.c, xil_printfloat.c, xil_printfloat.h, IIC_funcs.c, IIC_funcs.h και iic_imu.h. Ο κώδικας στο iic_main_thread.c έχει προσαρμοστεί από τη βιβλιοθήκη του Kris Winer, τον οποίο μπορείτε να βρείτε εδώ. Μετατρέψαμε κυρίως τον κώδικα του για να ενσωματώσουμε εργασίες και να το κάνουμε να λειτουργεί με τον πίνακα Zybo. Προσθέσαμε επίσης λειτουργίες για τον υπολογισμό της διόρθωσης προσανατολισμού της κάμερας. Έχουμε αφήσει αρκετές εκτυπώσεις που είναι χρήσιμες για τον εντοπισμό σφαλμάτων. Τα περισσότερα από αυτά σχολιάζονται, αλλά αν νιώσετε την ανάγκη, μπορείτε να τα σχολιάσετε.

  1. Ο ευκολότερος τρόπος για να τροποποιήσετε το αρχείο main.c είναι να αντικαταστήσετε τον κωδικό με αντιγραμμένο κώδικα από το αρχείο main.c που περιλαμβάνεται.
  2. Για να δημιουργήσετε ένα νέο αρχείο, κάντε δεξί κλικ στο φάκελο src στο RTOSDemo και επιλέξτε Αρχείο πηγής C. Ονομάστε αυτό το αρχείο "iic_main_thread.c".
  3. Αντιγράψτε τον κώδικα από το συμπεριλαμβανόμενο "iic_main_thread.c" και επικολλήστε τον στο νέο αρχείο που δημιουργήσατε.
  4. Επαναλάβετε τα βήματα 2 και 3 με τα υπόλοιπα αρχεία.
  5. απαιτεί οδηγίες σύνδεσης στο gcc. Για να το προσθέσετε στη διαδρομή κατασκευής, κάντε δεξί κλικ στο RTOSDemo και επιλέξτε "C/C ++ Build Settings".
  6. Θα ανοίξει ένα νέο παράθυρο. Μεταβείτε στο σύνδεσμο ARM v7 gcc-> Βιβλιοθήκες. Επιλέξτε το μικρό αρχείο προσθήκης στην επάνω δεξιά γωνία και πληκτρολογήστε "m". Αυτό θα περιλαμβάνει τη μαθηματική βιβλιοθήκη στο έργο.
  7. Δημιουργήστε έργο με Ctrl + B για να επιβεβαιώσετε ότι όλα λειτουργούν. Ελέγξτε τις προειδοποιήσεις που δημιουργούνται αλλά ενδέχεται να μπορείτε να τις αγνοήσετε.
  8. Υπάρχουν μερικά μέρη που θα χρειαστούν τροποποίηση, κυρίως η μαγνητική απόκλιση της τρέχουσας θέσης σας. Θα εξηγήσουμε πώς να το αλλάξετε αυτό στο τμήμα βαθμονόμησης του σεμιναρίου.

Βήμα 9: Τρισδιάστατη εκτύπωση για σταθεροποιητή

Τρισδιάστατη εκτύπωση για σταθεροποιητή
Τρισδιάστατη εκτύπωση για σταθεροποιητή

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

  1. Χρησιμοποιήστε τα αρχεία που παρέχονται για να εκτυπώσετε το βραχίονα και τη βάση στήριξης για το GoPro.
  2. Πρέπει να προσθέσετε σκαλωσιές στο αρχείο.stl.
  3. Κόψτε/καθαρίστε τα μέρη της περίσσειας σκαλωσιάς μόλις εκτυπωθούν.
  4. Μπορείτε να αντικαταστήσετε τον ξύλινο πείρο με τρισδιάστατη εκτύπωση, εάν το επιθυμείτε.

Βήμα 10: Συναρμολόγηση των εξαρτημάτων

Συναρμολόγηση των μερών
Συναρμολόγηση των μερών

Υπάρχουν διάφορα μέρη για τη συναρμολόγηση του σταθεροποιητή. Τα στηρίγματα που αγοράστηκαν συνοδεύονται από 4 βίδες αυτοεπιπεδώματος και 4 μπουλόνια με παξιμάδια. Δεδομένου ότι υπάρχουν 3 σερβίτσια, πρέπει να προ-χτυπήσει ένα από τα σερβοκόρνα για να χωρέσουν 2 από τα μπουλόνια.

  1. Συγκολλήστε 8 ακίδες στο ξεμπλοκάρισμα IMU, 4 σε κάθε πλευρά.
  2. Το IMU είναι προσαρτημένο στο στήριγμα εκτύπωσης 3D για το GoPro στο κέντρο του βραχίονα.
  3. Προσανατολίστε το βραχίονα έτσι ώστε οι τρύπες τοποθέτησης σερβο να βρίσκονται στην αριστερή σας πλευρά. Τοποθετήστε το IMU στην πλησιέστερη άκρη προς εσάς, με τους πείρους να κρέμονται από την άκρη. Στη συνέχεια, τοποθετήστε το στήριγμα GoPro πάνω από το IMU, κολλώντας το IMU και το στήριγμα στη θέση του στο στήριγμα.
  4. Συνδέστε ένα HS-5485HB στον βραχίονα σερβο που είναι ενσωματωμένος στον βραχίονα 3D εκτύπωσης.
  5. Βιδώστε το βραχίονα GoPro στο σερβο που είναι συνδεδεμένο με το χέρι, βεβαιωθείτε ότι το σερβο είναι ρυθμισμένο έτσι ώστε να βρίσκεται στη μέση του εύρους κίνησης.
  6. Στη συνέχεια, συνδέστε το σερβο HS-5685MH σε έναν βραχίονα σερβο. Στη συνέχεια, πατήστε το σερβοκόρνα με μία από τις βίδες. Τώρα συνδέστε το σερβο στο κάτω μέρος του τελευταίου βραχίονα σερβο.
  7. Τώρα συνδέστε το τελευταίο σερβιτόρο στον βραχίονα στον οποίο έχει βιδωθεί το σερβο HS-5685MH. Στη συνέχεια, βιδώστε τον βραχίονα σε αυτό το σερβο, βεβαιωθείτε ότι ο βραχίονας είναι βιδωμένος, ώστε να μπορεί να κινείται 90 μοίρες προς κάθε κατεύθυνση.
  8. Για να ολοκληρώσετε την κατασκευή του gimbal, προσθέστε ένα μικρό κομμάτι του ξύλινου πείρου για να συνδεθείτε μεταξύ του βραχίονα GoPro και του τρισδιάστατου εκτυπωμένου βραχίονα. Τώρα έχετε συναρμολογήσει τον σταθεροποιητή.
  9. Τέλος, μπορείτε να προσθέσετε μια λαβή συνδεδεμένη στο κάτω σερβο -στήριγμα.

Βήμα 11: Σύνδεση του Zybo με τον Σταθεροποιητή

Σύνδεση Zybo με σταθεροποιητή
Σύνδεση Zybo με σταθεροποιητή

Υπάρχουν μερικά πράγματα που πρέπει να προσέξετε όταν το κάνετε αυτό. Θέλετε να βεβαιωθείτε ότι το 5V από το τροφοδοτικό δεν μπαίνει ποτέ στην πλακέτα Zybo, καθώς αυτό θα οδηγούσε σε προβλήματα με την πλακέτα. Βεβαιωθείτε ότι έχετε ελέγξει ξανά τους βραχυκυκλωτήρες σας για να επιβεβαιώσετε ότι δεν αλλάζουν καλώδια.

  1. Για να συνδέσετε το Zybo στον σταθεροποιητή θα χρειαστείτε 15 άλματα από άνδρες σε άνδρες και 4 από άνδρες σε θηλυκούς άλτες.
  2. Πρώτον, συνδέστε δύο βραχυκυκλωτήρες στην τροφοδοσία 5V σας κατά μήκος των ράδων + και - της σανίδας. Αυτά θα παρέχουν την ισχύ στα σερβο.
  3. Στη συνέχεια, συνδέστε 3 ζεύγη βραχυκυκλωτήρων στις + και - ράγες της σανίδας. Αυτές θα είναι η δύναμη για καθένα από τα σερβίς.
  4. Συνδέστε το άλλο άκρο του άλματος + και - σε κάθε ένα από τα servos.
  5. Συνδέστε έναν βραχυκυκλωτήρα μεταξύ της ράγας του breadboard και μιας από τις καρφίτσες GND στο Zybo JE Pmod (Δείτε το βήμα 5 εικόνα). Αυτό θα δημιουργήσει ένα κοινό έδαφος μεταξύ της πλακέτας Zybo και του τροφοδοτικού.
  6. Στη συνέχεια, συνδέστε ένα καλώδιο σήματος στην ακίδα 1, τον πείρο 2 και τον πείρο 3 του JE Pmod. Καρφιτσώστε 1 χάρτες στο κάτω σερβο, καρφίτσα 2 χάρτες στο σερβο στο τέλος του βραχίονα και καρφίτσα 3 χάρτες στο μεσαίο σερβο.
  7. Συνδέστε τα 4 θηλυκά καλώδια στις ακίδες GND, VDD, SDA και SCL του διαλείμματος IMU. Το GND και το VDD συνδέονται στο GND και το 3V3 στις ακίδες JF. Συνδέστε τον πείρο SDA στον πείρο 8 και τον SCL στον πείρο 7 στο JF (Δείτε το βήμα 5 εικόνα).
  8. Τέλος, συνδέστε τον υπολογιστή στην πλακέτα χρησιμοποιώντας καλώδιο micro usb. Αυτό θα επιτρέψει την επικοινωνία uart και θα σας επιτρέψει να προγραμματίσετε τον πίνακα Zybo.

Βήμα 12: True North Correction

True North Correction
True North Correction

Η βαθμονόμηση του μαγνητόμετρου στο IMU είναι σημαντική για τη σωστή λειτουργία της συσκευής. Η μαγνητική απόκλιση, η οποία διορθώνει τον μαγνητικό βορρά σε πραγματικό βορρά.

  1. Για να διορθώσετε τη διαφορά από τον μαγνητικό και τον πραγματικό βορρά, πρέπει να χρησιμοποιήσετε έναν συνδυασμό δύο υπηρεσιών, των Χαρτών Google και της αριθμομηχανής μαγνητικού πεδίου της NOAA.
  2. Χρησιμοποιήστε τους Χάρτες Google για να βρείτε το γεωγραφικό πλάτος και το γεωγραφικό μήκος της τρέχουσας τοποθεσίας σας.
  3. Πάρτε το τρέχον γεωγραφικό μήκος και πλάτος και συνδέστε το στην αριθμομηχανή μαγνητικού πεδίου.
  4. Αυτό που επιστρέφεται είναι η μαγνητική απόκλιση. Συνδέστε αυτόν τον υπολογισμό στον κωδικό στη γραμμή 378 του "iic_main_thread.c". Εάν η κλίση σας είναι ανατολική, τότε αφαιρέστε από την τιμή yaw, εάν δυτικά, τότε προσθέστε στην τιμή yaw.

*η φωτογραφία τραβήχτηκε από τον οδηγό σύνδεσης MPU 9250 του Sparkfun, που βρίσκεται εδώ.

Βήμα 13: Εκτέλεση του προγράμματος

Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος

Η στιγμή που περίμενες! Το καλύτερο μέρος του έργου είναι να το βλέπεις να λειτουργεί. Ένα πρόβλημα που έχουμε παρατηρήσει είναι ότι υπάρχει μετατόπιση από τις τιμές που αναφέρονται από το IMU. Ένα φίλτρο χαμηλής διέλευσης μπορεί να βοηθήσει στη διόρθωση αυτής της μετατόπισης και το τσαλακώσιμο με το μαγνητόμετρο, την επιτάχυνση και τις βαθμονομήσεις γυροσκόπιο θα βοηθήσει επίσης στη διόρθωση αυτής της μετατόπισης.

  1. Αρχικά, δημιουργήστε όλα στο SDK, αυτό μπορεί να γίνει πατώντας Ctrl + B.
  2. Βεβαιωθείτε ότι η τροφοδοσία είναι ενεργοποιημένη και ρυθμισμένη στα 5V. Ελέγξτε ξανά ότι όλα τα καλώδια πηγαίνουν στις σωστές θέσεις τους.
  3. Στη συνέχεια, για να εκτελέσετε το πρόγραμμα, πατήστε το πράσινο τρίγωνο στο επάνω κέντρο της γραμμής εργασιών.
  4. Όταν εκτελεστεί το πρόγραμμα, όλα τα servos θα επανέλθουν στις 0 θέσεις τους, οπότε να είστε έτοιμοι για την κίνηση του εξοπλισμού. Μόλις ξεκινήσει το πρόγραμμα, τα servos θα επιστρέψουν στις θέσεις τους 90 μοιρών.
  5. Θα εκτελεστεί μια λειτουργία βαθμονόμησης μαγνητόμετρου και θα εκτυπωθούν οδηγίες στο τερματικό UART, στο οποίο μπορείτε να συνδεθείτε μέσω μιας σειριακής οθόνης όπως «στόκος» ή της σειριακής οθόνης που παρέχεται στο SDK.
  6. Η βαθμονόμηση θα σας κάνει να μετακινήσετε τη συσκευή σε σχήμα 8 για περίπου 10 δευτερόλεπτα. Μπορείτε να καταργήσετε αυτό το βήμα σχολιάζοντας τη γραμμή 273 του "iic_main_thread.c". Εάν το σχολιάσετε, πρέπει να σχολιάσετε τις γραμμές 323 - 325 "iic_main_thread.c". Αυτές οι τιμές συγκεντρώθηκαν αρχικά από τη βαθμονόμηση του μαγνητόμετρου παραπάνω και στη συνέχεια συνδέθηκαν ως τιμές.
  7. Μετά τη βαθμονόμηση ο κωδικός σταθεροποίησης θα αρχικοποιηθεί και η συσκευή θα διατηρήσει τη φωτογραφική μηχανή σταθερή.

Συνιστάται: