Πίνακας περιεχομένων:
- Βήμα 1: Λειτουργήστε τη μονάδα PWM
- Βήμα 2: Ρυθμίστε το σχέδιο μπλοκ
- Βήμα 3: Βαθμονομήστε το IMU
- Βήμα 4: Ενσωματώστε τον Ασύρματο πομποδέκτη
- Βήμα 5: Προγραμματίστε το Zybo FPGA
Βίντεο: Quadcopter Using Zybo Zynq-7000 Board: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Πριν ξεκινήσουμε, εδώ είναι μερικά πράγματα που θέλετε για το έργο: Λίστα μερών 1x Digilent Zybo Zynq-7000 σανίδα 1x Quadcopter Frame ικανό να τοποθετήσει το Zybo (συνημμένο αρχείο Adobe Illustrator για λέιζερ) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A Speed Controller 4x Propellers (αυτά πρέπει να είναι αρκετά μεγάλα για να ανεβάσετε το τετρακόπτερό σας) 2x nRF24L01+ πομποδέκτης 1x IMU BNO055 Απαιτήσεις λογισμικούXilinx Vivado 2016.2 ΣΗΜΕΙΩΣΗ: Οι παραπάνω κινητήρες δεν είναι οι μόνοι κινητήρες που μπορούν να χρησιμοποιηθούν. Είναι μόνο αυτά που χρησιμοποιούνται σε αυτό το έργο. Το ίδιο ισχύει και για τα υπόλοιπα εξαρτήματα και απαιτήσεις λογισμικού. Ας ελπίσουμε ότι αυτή είναι μια ανείπωτη κατανόηση όταν διαβάζετε αυτό το Instructable.
Βήμα 1: Λειτουργήστε τη μονάδα PWM
Προγραμματίστε ένα απλό SystemVerilog (ή άλλο πρόγραμμα HDL) για να καταχωρίσετε το γκάζι HI και το γκάζι LO χρησιμοποιώντας διακόπτες εισόδου. Συνδέστε το PWM με ένα μόνο ESC και Turnigy Brushless Motor. Ελέγξτε τα ακόλουθα αρχεία για να μάθετε πώς μπορείτε να βαθμονομήσετε το ESC. Ο τελικός κώδικας επισυνάπτεται στο βήμα 5 για τη μονάδα PWM. Σε αυτό το βήμα επισυνάπτεται ένας εκκινητής PWM ESC Datasheet: Turnigy ESC Datasheet PDF (Τα πράγματα που πρέπει να προσέξετε είναι οι διαφορετικές λειτουργίες που μπορείτε να επιλέξετε χρησιμοποιώντας γκάζι HI και LO)
Βήμα 2: Ρυθμίστε το σχέδιο μπλοκ
Δημιουργία σχεδίασης μπλοκ Κάντε διπλό κλικ στο μπλοκ που δημιουργήθηκε πρόσφατα Εισαγωγή ρυθμίσεων XPS που κατεβάσατε εδώ: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Τροποποίηση ρυθμίσεων PS-PL Configuration M AXI GP0 interface Peripheral I/ O Pins Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Configuration Timer 0 WatchdogClock Configuration FCLK_CLK0 και ρυθμίστε τη συχνότητα στα 100 MHzΚάντε I2C και SPI εξωτερική σύνδεση FCLK_CLK0 σε M_AXI_GP0_ACLK Τερματίστε τον αυτοματισμό
Βήμα 3: Βαθμονομήστε το IMU
Ο πομποδέκτης BNO055 χρησιμοποιεί επικοινωνία I2C. (Προτεινόμενη ανάγνωση για αρχάριους: https://learn.sparkfun.com/tutorials/i2c)Το πρόγραμμα οδήγησης για την εκτέλεση του IMU βρίσκεται εδώ: https://github.com/BoschSensortec/BNO055_driver Ένα τετράπτερο δεν απαιτεί τη χρήση του μαγνητόμετρου από το BNO055. Εξαιτίας αυτού, ο τρόπος λειτουργίας που απαιτείται είναι η λειτουργία IMU. Αυτό αλλάζει γράφοντας έναν δυαδικό αριθμό xxxx1000 στον καταχωρητή OPR_MODE, όπου το 'x' είναι ένα 'δεν με νοιάζει'. Ορίστε αυτά τα bits στο 0.
Βήμα 4: Ενσωματώστε τον Ασύρματο πομποδέκτη
Ο ασύρματος πομποδέκτης χρησιμοποιεί επικοινωνία SPI. Επισυνάπτεται το φύλλο προδιαγραφών για το nRF24L01+ Ένα καλό σεμινάριο για το nrf24l01+ αλλά με arduino:
Βήμα 5: Προγραμματίστε το Zybo FPGA
ΕπισκόπησηΑυτές οι ενότητες είναι οι τελικές ενότητες που χρησιμοποιούνται για τον έλεγχο του PWM του τετρακόπτερου. motor_ctl_wrapper.svΣκοπός: Το περιτύλιγμα λαμβάνει γωνίες Euler και ποσοστό γκαζιού. Εξάγει ένα αντισταθμισμένο PWM που θα επιτρέψει στο quadcopter να σταθεροποιηθεί. Αυτό το μπλοκ υπάρχει, επειδή τα τετρακόπτερα είναι επιρρεπή σε διαταραχές στον αέρα και απαιτούν κάποιο είδος σταθεροποίησης. Χρησιμοποιούμε γωνίες Euler, καθώς δεν σχεδιάζουμε ανατροπές ή βαριές γωνίες που μπορεί να προκαλέσουν Gimbal Lock. Εισαγωγή: 25-bit bus δεδομένων CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Throttle Percentage}, Clock (clk), Synchronous CLR (sclr) Output: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Throttle Percentage PWM The Throttle Percentage PWM is χρησιμοποιείται για την προετοιμασία του ESC, το οποίο θα θέλει ένα καθαρό εύρος PWM 30% - 70%, όχι αυτό από τις τιμές του κινητήρα 1-4 PWM. Advanced - Vivado Zynq IP Blocks: 8 Προσθέτει (LUT) 3 Αφαιρεί (LUT) 5 Πολλαπλασιαστές (Μπλοκ μνήμης (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Σκοπός: Ελέγξτε το υλικό, συμπεριλαμβανομένων των εξόδων MUX, PWM και sclr για motor_ctl_wrapper. Κάθε Μηχανή Πεπερασμένης Κατάστασης (FSM) χρησιμοποιείται για ένα πράγμα: τον έλεγχο άλλου υλικού. Οποιαδήποτε μεγάλη απόκλιση από αυτόν τον στόχο μπορεί να προκαλέσει το υποτιθέμενο FSM να λάβει τη μορφή διαφορετικού τύπου μονάδας (μετρητής, αθροιστής κ.λπ.). Το pwm_fsm έχει 3 καταστάσεις: INIT, CLR και FLYINIT: Επιτρέψτε στον χρήστη να προγραμματίσει το ESC ως επιθυμητό. Στέλνει ένα επιλεγμένο σήμα στο mux_pwm που εξάγει απευθείας PWM σε όλους τους κινητήρες. Επιστρέφει στον εαυτό του μέχρι GO == '1'. CLR: Διαγράψτε τα δεδομένα στο motor_ctl_wrapper και τη μονάδα pwm out. FLY: Κάντε βρόχο για πάντα για να σταθεροποιήσετε το quadcopter (εκτός αν κάνουμε επαναφορά). Στέλνει το αντισταθμισμένο PWM μέσω του mux_pwm. Είσοδος: GO, RESET, clkOutput: RST για άλλες επαναφορές μονάδων, FullFlight για σήμα FLY mode, Period to run atmux_pwm.svΣκοπός: Είσοδος: Έξοδος: PWM και για τα 4 motorspwm.svΣκοπός: Είσοδος::
Συνιστάται:
F450 Quadcopter Using KK 2.1.5 Easy: 6 βήματα
Quadcopter F450 Χρησιμοποιώντας KK 2.1.5 Εύκολο: Γεια σας! Αυτό είναι το Teerth Warang Σήμερα Σήμερα θα φτιάξουμε ένα quadcopter F450 Frame χρησιμοποιώντας έναν ελεγκτή πτήσης KK 2.1.5. Τρέχει από έναν ελεγκτή πτήσης KK 2.1.5 και έναν πομπό και δέκτη FlySky Basic CT6B ο ελεγκτής πτήσης KK 2.1.5 διαθέτει διάθεση
Ασύρματο τηλεχειριστήριο χρησιμοποιώντας μονάδα NRF24L01 2.4Ghz με Arduino - Nrf24l01 Δέκτης πομπού 4 καναλιών / 6 καναλιών για Quadcopter - Rc Ελικόπτερο - Rc Plane Using Arduino: 5 βήματα (με εικόνες)
Ασύρματο τηλεχειριστήριο χρησιμοποιώντας μονάδα NRF24L01 2.4Ghz με Arduino | Nrf24l01 Δέκτης πομπού 4 καναλιών / 6 καναλιών για Quadcopter | Rc Ελικόπτερο | Rc Plane Using Arduino: Για να χειριστείτε ένα αυτοκίνητο Rc | Quadcopter | Drone | Αεροπλάνο RC | Σκάφος RC, χρειαζόμαστε πάντα έναν δέκτη και πομπό, ας υποθέσουμε ότι για το RC QUADCOPTER χρειαζόμαστε έναν πομπό και δέκτη 6 καναλιών και αυτός ο τύπος TX και RX είναι πολύ δαπανηρός, οπότε θα κάνουμε έναν
WIDI - Ασύρματο HDMI χρησιμοποιώντας το Zybo (πίνακας ανάπτυξης Zynq): 9 βήματα (με εικόνες)
WIDI - Wireless HDMI Using Zybo (Zynq Development Board): Θέλατε ποτέ να μπορούσατε να συνδέσετε την τηλεόρασή σας σε υπολογιστή ή φορητό υπολογιστή ως εξωτερική οθόνη, αλλά δεν θέλετε να έχετε όλα αυτά τα ενοχλητικά καλώδια στο δρόμο; Αν ναι, αυτό το σεμινάριο είναι μόνο για εσάς! Ενώ υπάρχουν κάποια προϊόντα που επιτυγχάνουν αυτόν τον στόχο, μια
AT Commands for Bluetooth Module (HC-05 W/ EN Pin and BUTTON) Using Arduino Board !: 5 Βήματα
AT Commands for Bluetooth Module (HC-05 W/ EN Pin and BUTTON) Using Arduino Board !: By Jay Amiel AjocGensan PH Αυτό το διδακτικό θα σας βοηθήσει να ξεκινήσετε με τη χρήση της μονάδας bluetooth HC05. Στο τέλος αυτού του διδακτικού, θα έχετε μάθει σχετικά με την αποστολή εντολών AT στη μονάδα για διαμόρφωση/τροποποίηση της (όνομα, κλειδί πρόσβασης, baud ra
Σύστημα βελτίωσης εικόνας Zynq: 7 βήματα
Σύστημα βελτίωσης εικόνας Zynq: Όπως πιθανότατα θα μπορούσατε να διακρίνετε από τον τίτλο, ο στόχος αυτού του έργου είναι να δημιουργήσετε ένα σύστημα βελτίωσης εικόνας χρησιμοποιώντας το ZYNQ ApSOC. Πιο συγκεκριμένα, επιθυμούμε να δημιουργήσουμε ένα σύστημα που θα μπορεί να καθαρίσει την ομίχλη από εικόνες ή βίντεο. Αυτό το σύστημα θα πάρει