Turinys:
- 1 veiksmas: paleiskite PWM modulį
- 2 veiksmas: nustatykite bloko dizainą
- 3 žingsnis: kalibruokite IMU
- 4 žingsnis: integruokite belaidį siųstuvą -imtuvą
- 5 veiksmas: užprogramuokite „Zybo FPGA“
Video: Keturkopteris naudojant „Zybo Zynq-7000“plokštę: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Prieš pradėdami, štai keli dalykai, kurių norite projektui: Dalių sąrašas 1x „Digilent Zybo Zynq-7000“plokštė 1x „Quybocopter“rėmas, galintis pritvirtinti „Zybo“(pridedamas „Adobe Illustrator“failas lazeriniam pjovimui) 4x „Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic“-18A greičio reguliatorius 4x sraigtai (jie turi būti pakankamai dideli, kad pakeltų jūsų keturkojį) 2x nRF24L01+ siųstuvas -imtuvas 1x IMU BNO055 Programinės įrangos reikalavimai Xilinx Vivado 2016.2 PASTABA: Aukščiau pateikti varikliai nėra vieninteliai varikliai, kuriuos galima naudoti. Jie yra tik tie, kurie naudojami šiame projekte. Tas pats pasakytina apie likusias dalis ir programinės įrangos reikalavimus. Tikimės, kad tai yra neišsakytas supratimas skaitant šią instrukciją.
1 veiksmas: paleiskite PWM modulį
Užprogramuokite paprastą „SystemVerilog“(arba kitą HDL programą), kad įvesties jungikliais užregistruotumėte HI ir LO droselius. Sujunkite PWM su vienu ESC ir „Turnigy Brushless“varikliu. Patikrinkite šiuos failus, kad sužinotumėte, kaip sukalibruoti ESC. PWM modulio 5 veiksme pridedamas galutinis kodas. Šiame žingsnyje pridedamas PWM starteris ESC duomenų lapas: Turnigy ESC duomenų lapas PDF (Į ką reikia atkreipti dėmesį, yra skirtingi režimai, kuriuos galite pasirinkti naudodami HI ir LO droselius)
2 veiksmas: nustatykite bloko dizainą
Sukurti bloko dizainą Dukart spustelėkite naujai sukurtą bloką Importuoti XPS nustatymus, atsisiųstus čia: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Nustatymų keitimas PS-PL konfigūracija M AXI GP0 sąsaja Periferinis I/ O kaiščiai „Ethernet“0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO konfigūracijos laikmatis 0 „WatchdogClock“konfigūracija FCLK_CLK0 ir nustatykite 100 MHz dažnį
3 žingsnis: kalibruokite IMU
BNO055 siųstuvas -imtuvas naudoja I2C ryšį. (Siūlomas pradedančiųjų skaitymas: https://learn.sparkfun.com/tutorials/i2c) IMU paleidimo tvarkyklė yra čia: https://github.com/BoschSensortec/BNO055_driver Keturkopteriui nereikia naudoti magnetometro iš BNO055. Dėl šios priežasties būtinas darbo režimas yra IMU režimas. Tai pakeičiama įrašant dvejetainį skaičių xxxx1000 į OPR_MODE registrą, kur „x“yra „nesvarbu“. Nustatykite tuos bitus į 0.
4 žingsnis: integruokite belaidį siųstuvą -imtuvą
Belaidis siųstuvas -imtuvas naudoja SPI ryšį. Pridedamas „nRF24L01+“specifikacijų lapas. Gera pamoka apie nrf24l01+, bet su arduino:
5 veiksmas: užprogramuokite „Zybo FPGA“
Šie moduliai yra paskutiniai moduliai, naudojami keturkojo PWM valdymui. motor_ctl_wrapper.sv Tikslas: Apvyniojimas apima Eulerio kampus ir droselio procentą. Jis išleidžia kompensuotą PWM, kuris leis keturkojui stabilizuotis. Šis blokas egzistuoja, nes kvadrokopteriai yra linkę į oro sutrikimus ir reikalauja tam tikro stabilizavimo. Mes naudojame „Euler“kampus, nes neplanuojame apversti ar didelių kampų, kurie gali sukelti „Gimbal Lock“. Įvestis: 25 bitų duomenų magistralė CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euleris Y, [7: 0] droselio procentas}, laikrodis (clk), sinchroninis CLR (sclr) išėjimas: 1 variklis PWM, 2 variklis PWM, 3 variklis PWM, 4 variklis variklis, droselio procentas PWM Droselio procentas PWM naudojamas ESC inicijavimui, kuris norės gryno 30–70% PWM diapazono, o ne to, kuris yra iš variklio 1–4 PWM verčių. Išplėstiniai - „Vivado Zynq“IP blokai: 8 pridėjimai (LUT) 3 atimtys (LUT) 5 Daugikliai (blokinė atmintis (BRAM)) clock_div.sv (dar žinomas kaip pwm_fsm.sv) Tikslas: valdykite aparatinę įrangą, įskaitant MUX, PWM išvestį ir motor_ctl_wrapper „sclr“. Bet kuri baigtinės būsenos mašina (FSM) naudojama vienam dalykui: valdyti kitą aparatūrą. Bet koks didelis nukrypimas nuo šio tikslo gali sukelti tariamą FSM kitokio tipo modulio (skaitiklio, sumavimo ir kt.) Formą. Pwm_fsm turi 3 būsenas: INIT, CLR ir FLYINIT: leiskite vartotojui užprogramuoti ESC kaip norima. Siunčia pasirinktą signalą mux_pwm, kuris visiems varikliams perduoda tiesioginį PWM. Kilpos atgal į save, kol GO == '1'. CLR: Išvalykite duomenis motor_ctl_wrapper ir pwm out modulyje. FLY: Visą laiką kartokite, kad stabilizuotumėte keturkojį (nebent būsime atstatyti). Siunčia kompensuotą PWM per mux_pwm. Įvestis: GO, RESET, clk:
Rekomenduojamas:
Kaip sukurti MP3 grotuvą naudojant LCD naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: 6 žingsniai
Kaip sukurti MP3 grotuvą naudojant skystųjų kristalų ekraną naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: Šiandien mes pagaminsime MP3 grotuvą su LCD, naudodami „Arduino“ir „DFPlayer“mini MP3 grotuvo modulį. Projektas gali nuskaityti MP3 failus SD kortelėje ir gali pristabdyti ir žaisti taip pat, kaip ir prieš 10 metų. Taip pat jame yra linksma ankstesnė ir kita daina
ATmega328 programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: 4 žingsniai
„ATmega328“programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: šioje Instrukcinėje medžiagoje aprašysiu žingsnis po žingsnio programavimo ATmega328P IC (tas pats mikrovaldiklis, esantis „Arudino UNO“) programavimą, naudojant „Arduino IDE“ir „Arduino UNO“kaip programuotoją, kad padarytumėte save pasirinktinis „Arduino“, kad galėtumėte kurti savo projektus
WIDI - belaidis HDMI naudojant „Zybo“(„Zynq Development Board“): 9 žingsniai (su paveikslėliais)
WIDI - belaidis HDMI naudojant „Zybo“(„Zynq Development Board“): ar kada nors norėjote, kad galėtumėte prijungti televizorių prie kompiuterio ar nešiojamojo kompiuterio kaip išorinio monitoriaus, bet nenorėjote, kad visi šie erzinantys laidai netrukdytų? Jei taip, ši pamoka kaip tik jums! Nors yra keletas produktų, kurie pasiekia šį tikslą
Vaizdo įrašų apdorojimas naudojant VHDL ir „Zybo“: 10 žingsnių
Vaizdo įrašų apdorojimas naudojant VHDL ir „Zybo“: FPGA apdoroja greičiau nei procesoriai, nes jie gali lygiagrečiai atlikti daugybę skaičiavimų. Pastaba: Šis projektas vis dar kuriamas ir bus patobulintas (kai tik turėsiu laiko). Tuo tarpu aš keliauju po pasaulį
Keturkopteris su „Nodemcu“ir „Blynk“(be skrydžio valdiklio): 5 žingsniai (su nuotraukomis)
„Quadcopter“su „Nodemcu“ir „Blynk“(be skrydžio valdiklio): Sveiki, vaikinai! Čia baigiasi paieška, kaip padaryti bepilotį orlaivį be skrydžio valdiklio. Aš sukūriau droną savo projektui, susijusiam su žiaurumu. Aš naršiau tinkle per naktį, kad jis veiktų be skrydžio valdytojas ir jis buvo labai nusivylęs