INHOUDSOPGAWE:
- Stap 1: Begin die PWM -module
- Stap 2: Stel die blokontwerp op
- Stap 3: Kalibreer die IMU
- Stap 4: Integreer die draadlose ontvanger
- Stap 5: Programmeer die Zybo FPGA
Video: Quadcopter met behulp van Zybo Zynq-7000 Board: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hier is 'n paar dinge wat u wil hê vir die projek voordat ons begin: Onderdele-lys 1x Digilent Zybo Zynq-7000-bord 1x Quadcopter-raam wat Zybo kan monteer (Adobe Illustrator-lêer vir lasersny) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A Speed Controller 4x Propellers (dit moet groot genoeg wees om u quadcopter op te lig) 2x nRF24L01+ transceiver 1x IMU BNO055 Sagtewarevereistes Xilinx Vivado 2016.2 OPMERKING: Die motors hierbo is nie die enigste motors wat gebruik kan word nie. Dit is net diegene wat in hierdie projek gebruik word. Dieselfde geld vir die res van die onderdele en sagtewarevereistes. Hopelik is dit 'n onuitgesproke begrip wanneer u hierdie instruksies lees.
Stap 1: Begin die PWM -module
Programeer 'n eenvoudige SystemVerilog (of ander HDL -program) om HI -gashendel en LO -gashendel te registreer met behulp van insetskakelaars. Haak die PWM vas met 'n enkele ESC en Turnigy Brushless Motor. Kyk na die volgende lêers om uit te vind hoe u die ESC kan kalibreer. Die finale kode is aangeheg in stap 5 vir die PWM -module. 'N PWM -aansitter is aangeheg in hierdie stap ESC -gegewensblad: Turnigy ESC -datablad PDF (waaraan u aandag moet gee, is die verskillende modusse wat u kan kies met behulp van HI- en LO -versneller)
Stap 2: Stel die blokontwerp op
Skep blokontwerp Dubbelklik op die nuut gegenereerde blok Invoer XPS-instellings wat hier afgelaai is: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Verander instellings 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 en stel die frekwensie in op 100 MHz Maak I2C en SPI ekstern Verbind FCLK_CLK0 met M_AXI_GP0_ACLK Skakel blokkeer "Create block" outomatiseer "Create block" outomatiseer
Stap 3: Kalibreer die IMU
Die BNO055 -ontvanger gebruik I2C -kommunikasie. (Voorgestelde lesing vir beginners: https://learn.sparkfun.com/tutorials/i2c) Die bestuurder om die IMU te bestuur, is hier geleë: https://github.com/BoschSensortec/BNO055_driver 'n Quadcopter benodig nie die magnetometer van die BNO055. As gevolg hiervan is die nodige werksmodus die IMU -modus. Dit word verander deur 'n binêre getal xxxx1000 in die OPR_MODE -register te skryf, waar 'x' 'gee nie' nie. Stel die stukkies op 0.
Stap 4: Integreer die draadlose ontvanger
Die draadlose ontvanger gebruik SPI -kommunikasie. Hierby is die spesifikasieblad vir die nRF24L01+ 'n Goeie handleiding oor die nrf24l01+ maar met arduino:
Stap 5: Programmeer die Zybo FPGA
Oorsig Hierdie modules is die finale modules wat gebruik word vir die beheer van die PWM van die quadcopter. motor_ctl_wrapper.sv Doel: die omhulsel neem Euler -hoeke en 'n versnellingspersentasie in. Dit lewer 'n vergoedde PWM uit wat die quadcopter in staat sal stel om te stabiliseer. Hierdie blok bestaan omdat vierkopters geneig is tot versteurings in die lug en 'n soort stabilisering vereis. Ons gebruik Euler-hoeke, aangesien ons nie van plan is om flips of swaar hoeke te veroorsaak wat Gimbal Lock kan veroorsaak nie. Invoer: 25-bis data-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 word gebruik vir die initialisering van die ESC, wat 'n suiwer PWM -reeks van 30% - 70% wil hê, nie die van die motor 1-4 PWM -waardes nie. Vermenigvuldigers (Blokgeheue (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Doel: Beheer die hardeware, insluitend die MUX-, PWM -uitset en sclr vir motor_ctl_wrapper. Enige eindige staatsmasjien (FSM) word vir een ding gebruik: beheer ander hardeware. Enige groot afwyking van hierdie doelwit kan veroorsaak dat die veronderstelde FSM die vorm aanneem van 'n ander tipe module (teller, opteller, ens.). Pwm_fsm het 3 toestande: INIT, CLR en FLYINIT: Laat die gebruiker toe om die ESC te programmeer as verlang. Stuur 'n geselekteerde sein na mux_pwm wat reguit PWM na alle motors stuur. Loop terug tot homself totdat GO == '1'. CLR: Vee data uit in motor_ctl_wrapper en die pwm out -module. FLY: Loop vir ewig om die quadcopter te stabiliseer (tensy ons herstel word). Stuur die vergoedde PWM deur die mux_pwm. Invoer: GO, RESET, clkOutput: RST vir ander module -terugstellings, FullFlight om FLY -modus aan te dui, Periode om atmux_pwm.sv uit te voer Doel: Invoer: Uitset: PWM vir al 4 motorspwm.sv Doel: Invoer: Uitset:
Aanbeveel:
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
Hoe om 'n hommeltuig te maak met Arduino UNO - Maak 'n quadcopter met behulp van mikrokontroller: 8 stappe (met foto's)
Hoe om 'n hommeltuig te maak met Arduino UNO | Maak 'n quadcopter met behulp van mikrobeheerder: inleiding Besoek my Youtube -kanaal 'n Drone is 'n baie duur apparaat (produk) om te koop. In hierdie pos gaan ek bespreek hoe ek dit goedkoop kan maak ?? En hoe kan u u eie goedkoop maak teen goedkoop pryse … In Indië is al die materiale (motors, ESC's
WIDI - Draadloos HDMI met behulp van Zybo (Zynq Development Board): 9 stappe (met foto's)
WIDI - Draadlose HDMI met behulp van Zybo (Zynq Development Board): het u al ooit gewens dat u u TV as 'n eksterne monitor aan 'n rekenaar of skootrekenaar kon koppel, maar wou u nie al die lastige toue in die pad hê nie? As dit die geval is, is hierdie tutoriaal net vir u! Alhoewel daar 'n paar produkte is wat hierdie doel bereik, is 'n
Videoverwerking met behulp van VHDL en 'n Zybo: 10 stappe
Videoverwerking met behulp van VHDL en 'n Zybo: FPGA's is vinniger as CPU's om te verwerk, want dit kan baie berekenings parallel doen. Let wel: hierdie projek is nog in aanbou en gaan verbeter word (sodra ek tyd het). Intussen reis ek die wêreld vol