Orodha ya maudhui:

Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000: Hatua 5
Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000: Hatua 5

Video: Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000: Hatua 5

Video: Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000: Hatua 5
Video: Ирония судьбы, или С легким паром, 1 серия (комедия, реж. Эльдар Рязанов, 1976 г.) 2024, Novemba
Anonim
Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000
Kutumia Quadcopter Kutumia Bodi ya Zybo Zynq-7000

Kabla hatujaanza, hapa kuna vitu kadhaa unavyotaka kwa mradi: Sehemu ya Orodha 1x Digilent Zybo Zynq-7000 bodi ya Quadcopter Frame inayoweza kupandisha Zybo (Faili ya Adobe Illustrator ya kushikamana kwa nguvu) 4x Turnigy D3530 / 14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A Mdhibiti wa Kasi 4x Propellers (hizi zinahitaji kuwa kubwa vya kutosha kuinua quadcopter yako) 2x nRF24L01 + transceiver 1x IMU BNO055Software MahitajiXilinx Vivado 2016.2 Zingatia: Motors hapo juu sio motors pekee ambazo zinaweza kutumika. Wao ndio tu hutumiwa katika mradi huu. Same huenda kwa sehemu zingine na mahitaji ya programu. Tunatumahi kuwa huo ni uelewa usiofahamika wakati wa kusoma Maagizo haya.

Hatua ya 1: Pata Mbio ya Moduli ya PWM

Panga SystemVerilog rahisi (au programu nyingine ya HDL) kusajili kaba ya HI na kaba ya LO kwa kutumia swichi za kuingiza. Hook PWM na ESC moja na Turnigy Brushless Motor. Angalia faili zifuatazo ili kujua jinsi ya kusawazisha ESC. Nambari ya mwisho imeambatishwa katika hatua ya 5 kwa moduli ya PWM. Starter ya PWM imeambatishwa katika hatua hii Takwimu ya data ya ESC: Turnigy ESC Datasheet PDF (Vitu vya kuzingatia ni njia tofauti ambazo unaweza kuchagua kutumia HI na LO throttle)

Hatua ya 2: Sanidi muundo wa Kuzuia

Unda Ubunifu wa Vizuizi Bonyeza mara mbili kizuizi kipya cha Leta mipangilio ya XPS iliyopakuliwa hapa: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Rekebisha mipangilio Usanidi wa PS-PL M AXI GP0 interface Peripheral I / O Pini Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Timer Configuration Timer 0

Hatua ya 3: Suluhisha IMU

Sawazisha IMU
Sawazisha IMU

Transceiver ya BNO055 hutumia mawasiliano ya I2C. (Usomaji uliopendekezwa na Kompyuta: https://learn.sparkfun.com/tutorials/i2c) Dereva wa kuendesha IMU iko hapa: https://github.com/BoschSensortec/BNO055_driver 055. Umekufa. Kwa sababu ya hii, hali ya operesheni muhimu ni hali ya IMU. Hii inabadilishwa kwa kuandika nambari ya binary xxxx1000 kwa rejista ya OPR_MODE, ambapo 'x' ni 'usijali'. Weka bits hizo kuwa 0.

Hatua ya 4: Unganisha kipitishaji kisichotumia waya

Jumuisha Transceiver isiyo na waya
Jumuisha Transceiver isiyo na waya
Jumuisha Transceiver isiyo na waya
Jumuisha Transceiver isiyo na waya

Transceiver isiyo na waya hutumia mawasiliano ya SPI. Kilichoambatishwa ni karatasi ya kubainisha ya nRF24L01 + Mafunzo mazuri kwenye nrf24l01 + lakini na arduino:

Hatua ya 5: Panga Zybo FPGA

MuhtasariHizi moduli ni moduli za mwisho kutumika kwa udhibiti wa PWM ya quadcopter. Kusudi: Kifuniko kinachukua pembe za Euler na asilimia kubwa. Inatoa PWM iliyolipwa ambayo itaruhusu quadcopter kutulia. Kizuizi hiki kipo, kwa sababu quadcopters hukabiliwa na usumbufu hewani na inahitaji utulivu wa aina fulani. Tunatumia pembe za Euler, kwani hatuna mpango wa kupindua au pembe nzito ambazo zinaweza kusababisha Gimbal Lock. Ingizo: Basi ya data 25-bit CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Asilimia ya Throttle}, Saa (clk), Synchronous CLR (sclr) Pato: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Asilimia ya Throttle PWM The Throttle Asilimia PWM ni kutumika kwa kuanzisha ESC, ambayo itataka PWM safi ya 30% - 70%, sio ile kutoka kwa maadili ya PWM ya Motor 1-4. Iliyoboreshwa - Vivado Zynq IP Blocks: 8 Add (LUTs) 3 Subtracts (LUTs) 5 Multipliers (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Kusudi: Dhibiti vifaa, pamoja na pato la MUX, PWM, na sclr ya motor_ctl_wrapper. Mashine yoyote ya Jimbo la Finite (FSM) hutumiwa kwa jambo moja: kudhibiti vifaa vingine. Kupotoka yoyote kubwa kutoka kwa lengo hili kunaweza kusababisha FSM inayodhaniwa kuchukua aina ya moduli tofauti (kaunta, nyongeza, n.k.) pwm_fsm ina majimbo 3: INIT, CLR, na FLYINIT: Ruhusu mtumiaji kupanga ESC kama taka. Inatuma ishara ya kuchagua kwa mux_pwm ambayo hutoa PWM moja kwa moja kwa motors zote. Loops kurudi yenyewe mpaka GO == '1'. CLR: Futa data katika motor_ctl_wrapper na moduli ya pwm nje. Inatuma PWM iliyolipwa kupitia mux_pwm. Ingiza: GO, Rudisha, clkOutput: RST kwa seti zingine za moduli, FullFlight kuashiria hali ya FLY, Kipindi cha kuendesha atmux_pwm.sv Kusudi: Pembejeo: Pato: PWM kwa motorspwm zote nne.:

Ilipendekeza: