Table des matières:
- Étape 1: Lancez le module PWM
- Étape 2: Configurer la conception de bloc
- Étape 3: Calibrer l'IMU
- Étape 4: Intégrer l'émetteur-récepteur sans fil
- Étape 5: programmer le FPGA Zybo
Vidéo: Quadcopter utilisant la carte Zybo Zynq-7000 : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Avant de commencer, voici quelques éléments que vous souhaitez pour le projet: Liste des pièces 1x carte Digilent Zybo Zynq-7000 1x cadre quadrirotor capable de monter du Zybo (fichier Adobe Illustrator pour la découpe au laser joint) 4x moteurs Turnigy D3530/14 1100KV Brushless 4x Turnigy ESC Basic -18A Speed Controller 4x Hélices (celles-ci doivent être assez grandes pour soulever votre quadcopter) 2x émetteur-récepteur nRF24L01+ 1x IMU BNO055Software RequirementsXilinx Vivado 2016.2REMARQUE: Les moteurs ci-dessus ne sont pas les seuls moteurs qui peuvent être utilisés. Ce ne sont que ceux utilisés dans ce projet. Il en va de même pour le reste des pièces et des exigences logicielles. Espérons que c'est une compréhension tacite lors de la lecture de ce Instructable.
Étape 1: Lancez le module PWM
Programmez un simple SystemVerilog (ou un autre programme HDL) pour enregistrer les gaz HI et LO à l'aide des commutateurs d'entrée. Accrochez le PWM avec un seul ESC et un moteur sans balais Turnigy. Consultez les fichiers suivants pour savoir comment calibrer l'ESC. Le code final est joint à l'étape 5 pour le module PWM. Un démarreur PWM est joint à cette étape. Fiche technique ESC: Turnigy ESC Datasheet PDF (les points auxquels vous devez faire attention sont les différents modes que vous pouvez sélectionner à l'aide de l'accélérateur HI et LO)
Étape 2: Configurer la conception de bloc
Créer une conception de bloc Double-cliquez sur le bloc nouvellement généré Importez les paramètres XPS téléchargés ici: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Modifiez les paramètres Configuration PS-PL Interface M AXI GP0 Périphérique 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 et régler la fréquence sur 100 MHzMake I2C et SPI external Connect FCLK_CLK0 à M_AXI_GP0_ACLK Exécuter l'automatisation du bloc Créer un port et l'appeler "gnd"
Étape 3: Calibrer l'IMU
L'émetteur-récepteur BNO055 utilise la communication I2C. (Lecture suggérée pour les débutants: https://learn.sparkfun.com/tutorials/i2c) Le pilote pour exécuter l'IMU se trouve ici: https://github.com/BoschSensortec/BNO055_driver BNO055. De ce fait, le mode de fonctionnement nécessaire est le mode IMU. Ceci est modifié en écrivant un nombre binaire xxxx1000 dans le registre OPR_MODE, où 'x' est un 'indifférent'. Mettez ces bits à 0.
Étape 4: Intégrer l'émetteur-récepteur sans fil
L'émetteur-récepteur sans fil utilise la communication SPI. Ci-joint la fiche technique du nRF24L01+Un bon tuto sur le nrf24l01+ mais avec arduino:
Étape 5: programmer le FPGA Zybo
AperçuCes modules sont les derniers modules utilisés pour le contrôle du PWM du quadricoptère. motor_ctl_wrapper.svPurpose: le wrapper prend en compte les angles d'Euler et un pourcentage d'accélérateur. Il produit un PWM compensé qui permettra au quadricoptère de se stabiliser. Ce bloc existe, car les quadricoptères sont sujets aux perturbations dans l'air et nécessitent une sorte de stabilisation. Nous utilisons des angles d'Euler, car nous ne prévoyons pas de retournements ou d'angles importants qui pourraient provoquer un blocage du cardan. Entrée: bus de données 25 bits CTL_IN = { [24] GO, [23:16] Euler X, [15: 8] Euler Y, [7:0] Throttle Percentage }, Clock (clk), Synchronous CLR (sclr)Sortie: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Throttle Percentage PWM Le Throttle Percentage PWM est utilisé pour initialiser l'ESC, qui voudra une plage pure de 30% à 70% de PWM, pas celle des valeurs PWM du moteur 1-4. Avancé - Vivado Zynq IP Blocks:8 Ajoute (LUT)3 Soustrait (LUT)5 Multiplicateurs (Block Memory (BRAM))clock_div.sv (AKA pwm_fsm.sv) Objectif: Contrôler le matériel, y compris le MUX, la sortie PWM et le sclr pour motor_ctl_wrapper. Toute machine à états finis (FSM) est utilisée pour une chose: contrôler d'autres matériels. Tout écart important par rapport à cet objectif peut amener le FSM supposé à prendre la forme d'un type de module différent (compteur, additionneur, etc.). pwm_fsm a 3 états: INIT, CLR et FLYINIT: Permet à l'utilisateur de programmer l'ESC comme voulu. Envoie un signal de sélection à mux_pwm qui envoie un PWM direct à tous les moteurs. Reboucle sur lui-même jusqu'à GO == '1'. CLR: efface les données dans motor_ctl_wrapper et le module de sortie pwm. FLY: boucle indéfiniment pour stabiliser le quadricoptère (sauf si nous sommes réinitialisés). Envoie le PWM compensé via le mux_pwm. Entrée: GO, RESET, clkOutput: RST pour les autres réinitialisations du module, FullFlight pour signaler le mode FLY, Période pour exécuter atmux_pwm.svPurpose: Entrée: Sortie: PWM pour les 4 moteursspwm.svPurpose: Entrée: Sortie:
Conseillé:
Installation De La Carte TagTagTag Pour Nabaztag / Installer la carte TagTagTag sur votre Nabaztag : 15 étapes
Installation De La Carte TagTagTag Pour Nabaztag / Installation du TagTagTag Board on Your Nabaztag : (voir ci-dessous pour la version anglaise)La carte TagTagTag a été créée en 2018 lors de Maker Faire Paris pour faire renaitre les Nabaztag et les Nabaztag:tag. Elle a fait l'objet ensuite d'un financement participatif sur Ulule en juin 2019, si vous souhaitez
Lecteur audio utilisant Arduino avec carte Micro SD : 7 étapes (avec photos)
Lecteur audio utilisant Arduino avec une carte Micro SD : veuillez vous abonner à ma chaîne pour plus de projets………. Beaucoup de gens veulent interfacer la carte SD avec arduino ou souhaitez une sortie audio via arduino. Voici donc le moyen le plus simple et le moins cher d'interfacer une carte SD avec arduino. vous pouvez nous
WIDI - HDMI sans fil utilisant Zybo (carte de développement Zynq) : 9 étapes (avec photos)
WIDI - HDMI sans fil utilisant Zybo (carte de développement Zynq) : Avez-vous déjà souhaité pouvoir connecter votre téléviseur à un PC ou un ordinateur portable en tant que moniteur externe, mais vous ne vouliez pas avoir tous ces câbles embêtants ? Si c'est le cas, ce tutoriel est fait pour vous ! Bien qu'il existe certains produits qui atteignent cet objectif, un
Comment programmer une carte AVR à l'aide d'une carte Arduino : 6 étapes
Comment programmer une carte AVR à l'aide d'une carte Arduino : Avez-vous une carte de microcontrôleur AVR qui traîne ? Est-ce compliqué de le programmer ? Eh bien, vous êtes au bon endroit. Ici, je vais vous montrer comment programmer une carte de microcontrôleur Atmega8a en utilisant une carte Arduino Uno en tant que programmeur. Alors sans plus
Synthétiseur de harpe laser sur carte Zybo : 10 étapes (avec photos)
Synthétiseur de harpe laser sur carte Zybo : Dans ce didacticiel, nous allons créer une harpe laser entièrement fonctionnelle à l'aide de capteurs IR avec une interface série qui permettra à l'utilisateur de modifier l'accord et la tonalité de l'instrument. Cette harpe sera le remake du 21ème siècle de l'instrument séculaire. Les