Cuprins:
- Pasul 1: Executați modulul PWM
- Pasul 2: configurați designul blocului
- Pasul 3: Calibrați IMU
- Pasul 4: Integrarea transmițătorului wireless
- Pasul 5: Programați Zybo FPGA
Video: Quadcopter folosind placa Zybo Zynq-7000: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Înainte de a începe, iată câteva lucruri pe care le doriți pentru proiect: Listă de piese 1x placă Digilent Zybo Zynq-7000 1x cadru Quadcopter capabil să monteze Zybo (fișier Adobe Illustrator pentru tăiere cu laser atașat) 4x Turnigy D3530 / 14 1100KV Motoare fără perii 4x Turnigy ESC Basic -18A Speed Controller 4x Elice (acestea trebuie să fie suficient de mari pentru a vă ridica quadcopterul) 2x nRF24L01 + transceiver 1x IMU BNO055 Cerințe software Xilinx Vivado 2016.2 NOTĂ: Motoarele de mai sus nu sunt singurele motoare care pot fi utilizate. Acestea sunt doar cele utilizate în acest proiect. Același lucru este valabil și pentru restul cerințelor de piese și software. Sperăm că aceasta este o înțelegere nerostită atunci când citiți acest Instructable.
Pasul 1: Executați modulul PWM
Programați un SystemVerilog simplu (sau alt program HDL) pentru a înregistra clapeta HI și clapeta LO folosind comutatoare de intrare. Cuplați PWM cu un singur ESC și un motor fără perii Turnigy. Verificați următoarele fișiere pentru a afla cum se calibrează ESC. Codul final este atașat la pasul 5 pentru modulul PWM. În acest pas este atașat un starter PWM Foaie de date ES: Turnigy ESC Foaie de date PDF (Lucrurile la care trebuie să fiți atenți sunt diferitele moduri pe care le puteți selecta folosind clapeta HI și LO)
Pasul 2: configurați designul blocului
Creați design de bloc Faceți dublu clic pe blocul nou generat Importați setările XPS descărcate aici: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Modificați setările Configurarea PS-PL M Interfața AXI GP0 Periferică I / O pini Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Timer de configurare 0 WatchdogClock Configuration FCLK_CLK0 și setați frecvența la 100 MHz Faceți I2C și SPI extern Conectați FCLK_CLK0 la M_AXI_GP0_ACLK Rulați automatizarea blocului Creați portul și apelați-l "gnd"
Pasul 3: Calibrați IMU
Transmițătorul BNO055 folosește comunicația I2C. (Lectura sugerată pentru începători: https://learn.sparkfun.com/tutorials/i2c) Driverul pentru a rula IMU se află aici: https://github.com/BoschSensortec/BNO055_driver Un quadcopter nu necesită utilizarea magnetometrului de la BNO055. Din această cauză, modul de operare necesar este modul IMU. Acest lucru se schimbă scriind un număr binar xxxx1000 în registrul OPR_MODE, unde „x” este „nu-mi pasă”. Setați acei biți la 0.
Pasul 4: Integrarea transmițătorului wireless
Transmițătorul fără fir utilizează comunicația SPI. Atașată este foaia de specificații pentru nRF24L01 + Un tutorial bun pe nrf24l01 +, dar cu arduino:
Pasul 5: Programați Zybo FPGA
Prezentare generală Aceste module sunt ultimele module utilizate pentru controlul PWM al quadcopterului. motor_ctl_wrapper.sv Scop: Învelișul ia unghiuri Euler și un procent de accelerație. Emite un PWM compensat care va permite quadcopterului să se stabilizeze. Acest bloc există, deoarece quadcopterele sunt predispuse la tulburări în aer și necesită un fel de stabilizare. Folosim unghiuri Euler, deoarece nu planificăm îndoiri sau unghiuri grele care ar putea provoca blocarea cardanului. Intrare: magistrală de date pe 25 de biți CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Procentaj accelerație}, Ceas (clk), CLR sincron (sclr) Ieșire: motor 1 PWM, motor 2 PWM, motor 3 PWM, motor 4 PWM, procentaj accelerație PWM Procentul accelerației PWM este folosit pentru inițializarea ESC, care va dori o gamă pură de 30% - 70% de PWM, nu cea din valorile motorului 1-4 PWM. Avansat - Blocuri IP Vivado Zynq: 8 Adăugați (LUT) 3 Scade (LUT) 5 Multiplicatori (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Scop: Controlați hardware-ul, inclusiv MUX, ieșirea PWM și sclr pentru motor_ctl_wrapper. Orice mașină de stat finit (FSM) este utilizată pentru un singur lucru: controlați alte componente hardware. Orice abatere mare de la acest obiectiv poate determina presupusul FSM să ia forma unui alt tip de modul (contor, sumator etc.). Pwm_fsm are 3 stări: INIT, CLR și FLYINIT: Permiteți utilizatorului să programeze ESC ca dorit. Trimite un semnal selectat către mux_pwm care transmite PWM direct tuturor motoarelor. Bucle înapoi la sine până GO == '1'. CLR: Ștergeți datele din motor_ctl_wrapper și modulul pwm out. FLY: Buclați definitiv pentru a stabiliza quadcopterul (cu excepția cazului în care suntem resetați). Trimite PWM compensat prin mux_pwm. Intrare: GO, RESET, clk Ieșire: RST pentru alte resetări ale modulului, FullFlight pentru a semnaliza modul FLY, Perioadă de rulare atmux_pwm.sv Scop: Intrare: Ieșire: PWM pentru toate cele 4 motorspwm.sv Scop: Intrare: Ieșire:
Recomandat:
F450 Quadcopter folosind KK 2.1.5 Ușor: 6 pași
F450 Quadcopter folosind KK 2.1.5 Ușor: Bună ziua! Acesta este Teerth Warang aici Astăzi vom realiza un quadcopter F450 Frame folosind un controler de zbor KK 2.1.5 Este administrat de un controler de zbor KK 2.1.5 și un transmițător și receptor de FlySky Basic CT6B controlerul de zbor KK 2.1.5 are o disp
Cum se face o dronă folosind Arduino UNO - Realizați un Quadcopter folosind microcontrolerul: 8 pași (cu imagini)
Cum se face o dronă folosind Arduino UNO | Realizați un Quadcopter folosind microcontrolerul: Introducere Vizitați canalul meu Youtube O dronă este un gadget (produs) foarte scump de cumpărat. În această postare voi discuta, cum o fac la prețuri ieftine ?? Și cum poți să-ți faci propriile tale la prețuri ieftine … Ei bine, în India toate materialele (motoare, ESC-uri
WIDI - HDMI wireless folosind Zybo (placa de dezvoltare Zynq): 9 pași (cu imagini)
WIDI - Wireless HDMI folosind Zybo (Zynq Development Board): Ți-ai dorit vreodată să-ți poți conecta televizorul la un PC sau laptop ca monitor extern, dar nu ai vrut să ai toate acele cabluri plictisitoare? Dacă da, acest tutorial este doar pentru dvs.! Deși există câteva produse care ating acest obiectiv, un
Procesare video folosind VHDL și un Zybo: 10 pași
Procesare video folosind VHDL și un Zybo: FPGA-urile sunt mai rapide de procesat decât CPU-urile, deoarece pot face multe calcule în paralel Notă: Acest proiect este încă în construcție și urmează să fie îmbunătățit (imediat ce am timp). Între timp călătoresc prin lume
Sintetizator cu harpă laser pe placa Zybo: 10 pași (cu imagini)
Sintetizator cu harpă laser pe placa Zybo: În acest tutorial vom crea o harpă laser complet funcțională utilizând senzori IR cu o interfață serială care va permite utilizatorului să schimbe reglajul și tonul instrumentului. Această harpă va fi remake-ul secolului 21 al instrumentului vechi