Taula de continguts:
- Pas 1: feu funcionar el mòdul PWM
- Pas 2: configureu el disseny de blocs
- Pas 3: Calibreu l'IMU
- Pas 4: Integra el transceptor sense fils
- Pas 5: programa el Zybo FPGA
Vídeo: Quadcopter amb la placa Zybo Zynq-7000: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Abans de començar, aquí teniu algunes coses que voleu per al projecte: llista de peces: 1 placa Digilent Zybo Zynq-7000, 1 x quadre quadricòpter capaç de muntar Zybo (fitxer Adobe Illustrator per tall de trossos adjunt) 4x Turnigy D3530 / 14 Motors sense escombretes 1100KV 4x Turnigy ESC Basic -18A Speed Controller 4x hèlixs (han de ser prou grans per aixecar el quadcopter) 2x nRF24L01 + transceptor 1x IMU BNO055 Requisits del programari Xilinx Vivado 2016.2 NOTA: Els motors anteriors no són els únics motors que es poden utilitzar. Són només els que s’utilitzen en aquest projecte. El mateix passa amb la resta de peces i requisits de programari. Amb sort, això és una comprensió no expressada en llegir aquest instructiu.
Pas 1: feu funcionar el mòdul PWM
Programa un SystemVerilog simple (o un altre programa HDL) per registrar l’accelerador HI i l’accelerador LO mitjançant els commutadors d’entrada. Enganxeu el PWM amb un sol motor ESC i sense escombretes Turnigy. Consulteu els fitxers següents per esbrinar com calibrar l’ESC. El codi final s’adjunta al pas 5 per al mòdul PWM. En aquest pas s’adjunta un motor d’arrencada PWM Full de dades ESC: Full de dades de Turnigy ESC PDF (Les diferents modalitats que podeu prestar a l’accelerador HI i LO es poden seleccionar)
Pas 2: configureu el disseny de blocs
Crea un disseny de blocs Feu doble clic al bloc recentment generat Importeu la configuració XPS descarregada aquí: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Modifiqueu la configuració Configuració PS-PL M AXI Interfície GP0 Perifèric I / O pins Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Configuració del temporitzador 0 WatchdogClock Configuració FCLK_CLK0 i estableix la freqüència a 100 MHz Fes I2C i SPI extern Connecta FCLK_CLK0 a M_AXI_GP0_ACLK Executa l’automatització del bloc Crea un port i crida’l "gnd"
Pas 3: Calibreu l'IMU
El transceptor BNO055 utilitza comunicació I2C. (Lectura suggerida per a principiants: https://learn.sparkfun.com/tutorials/i2c)El controlador per executar l’IMU es troba aquí: https://github.com/BoschSensortec/BNO055_driver Un quadricòpter no requereix l’ús del magnetòmetre del BNO055. Per això, el mode d'operació necessari és el mode IMU. Això es canvia escrivint un número binari xxxx1000 al registre OPR_MODE, on 'x' és un 'no m'importa'. Establiu aquests bits a 0.
Pas 4: Integra el transceptor sense fils
El transceptor sense fils utilitza la comunicació SPI. S'adjunta el full d'especificacions del nRF24L01 + Un bon tutorial sobre el nrf24l01 + però amb arduino:
Pas 5: programa el Zybo FPGA
Aquests mòduls són els mòduls finals que s’utilitzen per al control del PWM del quadricòpter. motor_ctl_wrapper.sv Objectiu: l’embolcall té angles d’Euler i un percentatge d’accelerador. Emet un PWM compensat que permetrà estabilitzar el quadcopter. Aquest bloc existeix, perquè els quadcòpters són propensos a alteracions a l'aire i requereixen algun tipus d'estabilització. Estem utilitzant angles d'Euler, ja que no planegem capgirar ni angles pesats que puguin causar bloqueig de cardan. Entrada: bus de dades de 25 bits CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Percentatge d’accelerador}, Rellotge (clk), Sortida CLR síncrona (sclr): Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Percentatge d’accelerador PWM El percentatge d’accelerador PWM és s’utilitza per inicialitzar l’ESC, que desitjarà un rang pur de PWM entre el 30% i el 70%, no el dels valors PWM del motor 1-4. Avançat: blocs IP Vivado Zynq: 8 Suma (LUT) 3 Restes (LUT) 5 Multiplicadors (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Objectiu: controlar el maquinari, inclosos els MUX, la sortida PWM i sclr per a motor_ctl_wrapper. Qualsevol màquina d’estats finits (FSM) s’utilitza per a una cosa: controlar un altre maquinari. Qualsevol desviació important d’aquest objectiu pot fer que el suposat FSM adopti la forma d’un altre tipus de mòdul (comptador, sumador, etc.). Pwm_fsm té 3 estats: INIT, CLR i FLYINIT: permetre a l’usuari programar l’ESC com desitjat. Envia un senyal selectiu a mux_pwm que emet PWM directe a tots els motors. Torna a tornar a si mateix fins a GO == '1'. CLR: esborra les dades del motor_ctl_wrapper i del mòdul pwm out. Envia el PWM compensat a través de mux_pwm. Entrada: GO, RESET, clk Sortida: RST per a restabliments d'altres mòduls, FullFlight per senyalitzar el mode FLY, Període per executar atmux_pwm.sv Objectiu: Entrada: Sortida: PWM per a tots els 4 motorspwm.sv Objectiu: Entrada: Sortida:
Recomanat:
Com fer un dron amb Arduino UNO - Feu un Quadcopter amb microcontrolador: 8 passos (amb imatges)
Com fer un dron amb Arduino UNO | Feu un Quadcopter amb microcontrolador: Introducció Visiteu el meu canal de YouTube Un drone és un gadget (producte) molt car de comprar. En aquest post vaig a discutir, com ho faig a bon preu ?? I com pots fer-ho així a un preu barat … Bé, a l'Índia tots els materials (motors, ESC
Comandament a distància sense fils que utilitza el mòdul NRF24L01 de 2,4 Ghz amb Arduino - Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter - Helicòpter Rc - Avió Rc amb Arduino: 5 passos (amb imatges)
Comandament sense fils que utilitza un mòdul NRF24L01 de 2,4 Ghz amb Arduino | Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter | Helicòpter Rc | Avió Rc amb Arduino: per fer funcionar un cotxe Rc | Quadcopter | Drone | Avió RC | Vaixell RC, sempre necessitem un receptor i un transmissor, suposem que per RC QUADCOPTER necessitem un transmissor i un receptor de 6 canals i aquest tipus de TX i RX és massa costós, així que en farem un al nostre
WIDI - HDMI sense fils mitjançant Zybo (Tauler de desenvolupament Zynq): 9 passos (amb imatges)
WIDI: HDMI sense fils mitjançant Zybo (Zynq Development Board): alguna vegada heu desitjat connectar el televisor a un PC o portàtil com a monitor extern, però no voleu tenir tots aquests molestos cables? Si és així, aquest tutorial és només per a vosaltres. Tot i que hi ha alguns productes que assoleixen aquest objectiu, un
Com programar una placa AVR mitjançant una placa Arduino: 6 passos
Com programar una placa AVR mitjançant una placa Arduino: teniu instal·lada una placa de microcontrolador AVR? És complicat programar-lo? Bé, esteu al lloc correcte. Aquí us mostraré com programar una placa de microcontrolador Atmega8a mitjançant una placa Arduino Uno com a programador. Així que sense avançar
Càmera ZYBO OV7670 amb control panoràmic / inclinable: 39 passos (amb imatges)
Càmera ZYBO OV7670 amb control de panoràmica / inclinació: comenceu al primer pas per obtenir informació detallada sobre la creació d'un controlador servo PWM de 2 eixos. Comenceu al diagrama de blocs massiu (pas 19) per al projecte complet. Configuració de càmera + panoràmica / inclinació que hem utilitzat: https://www.amazon.com/gp/product/B013JF9GCAThe PmodCON3 de Digilent wa