Tartalomjegyzék:
- 1. lépés: Indítsa el a PWM modult
- 2. lépés: Állítsa be a blokktervet
- 3. lépés: Kalibrálja az IMU -t
- 4. lépés: Integrálja a vezeték nélküli adó -vevőt
- 5. lépés: Programozza a Zybo FPGA -t
Videó: Quadcopter a Zybo Zynq-7000 tábla használatával: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Mielőtt elkezdenénk, íme néhány dolog, amit szeretne a projekthez: Alkatrészlista 1x Digilent Zybo Zynq-7000 tábla 1x Quadcopter keret, amely Zybo-ra szerelhető (Adobe Illustrator fájl lézervágáshoz csatolva) 4x Turnigy D3530/14 1100KV kefe nélküli motorok 4x Turnigy ESC Basic -18A sebességszabályozó 4x légcsavar (ezeknek elég nagynak kell lenniük ahhoz, hogy felemeljék a quadcoptert) 2x nRF24L01+ adó -vevő 1x IMU BNO055SzoftverkövetelményekXilinx Vivado 2016.2MEGJEGYZÉS: A fenti motorok nem az egyetlen használható motorok. Ők csak azok, akiket ebben a projektben használnak. Ugyanez vonatkozik a többi alkatrészre és a szoftverkövetelményekre is. Remélhetőleg ez egy kimondatlan megértés, amikor elolvassa ezt az utasítást.
1. lépés: Indítsa el a PWM modult
Programozzon egy egyszerű SystemVerilog programot (vagy más HDL programot) a HI és LO fojtószelep regisztrálásához a bemeneti kapcsolók segítségével. Akassza a PWM -et egyetlen ESC -vel és Turnigy kefe nélküli motorral. Ellenőrizze a következő fájlokat, hogy megtudja, hogyan kell kalibrálni az ESC -t. A végső kód az 5. lépésben található a PWM modulhoz. Ebben a lépésben egy PWM indítót mellékelünk. ESC adatlap: Turnigy ESC adatlap PDF (Figyelembe kell venni a különböző módokat, amelyeket a HI és LO fojtószelep segítségével választhat)
2. lépés: Állítsa be a blokktervet
Blokktervezés létrehozása Kattintson duplán az újonnan létrehozott blokkra Az XPS-beállítások importálása innen letölthető: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Beállítások módosítása PS-PL Configuration M AXI GP0 interfész Perifériás 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 and set rate 100 MHz I2C és SPI external Connect FCLK_CLK0 beállítása M_AXI_GP0_ACLK Futtassa a blokk automatizálását
3. lépés: Kalibrálja az IMU -t
A BNO055 adó -vevő I2C kommunikációt használ. (A kezdők által javasolt olvasmány: https://learn.sparkfun.com/tutorials/i2c) Az IMU futtatásához szükséges illesztőprogram itt található: https://github.com/BoschSensortec/BNO055_driver A quadcopter nem igényli a magnetométer használatát a BNO055. Emiatt a szükséges üzemmód az IMU mód. Ezt úgy módosítják, hogy az xxxx1000 bináris számot az OPR_MODE regiszterbe írják, ahol az „x” egy „nem érdekel”. Állítsa ezeket a biteket 0 -ra.
4. lépés: Integrálja a vezeték nélküli adó -vevőt
A vezeték nélküli adó -vevő SPI kommunikációt használ. Csatolva az nRF24L01+ specifikációs lapja. Egy jó oktatóanyag az nrf24l01+ -ról, de arduino-val:
5. lépés: Programozza a Zybo FPGA -t
Ezek a modulok a quadcopter PWM vezérléséhez használt utolsó modulok. motor_ctl_wrapper.sv Cél: A csomagolás Euler szögeket és fojtószelep százalékokat vesz fel. Kompenzált PWM -et ad ki, amely lehetővé teszi a quadcopter stabilizálódását. Ez a blokk létezik, mivel a quadcopterek hajlamosak a levegő zavarására, és valamilyen stabilizációt igényelnek. Euler-szögeket használunk, mivel nem tervezünk olyan fordulatokat vagy nehéz szögeket, amelyek Gimbal Lock-ot okozhatnak. Bemenet: 25 bites busz adat CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] fojtószelep százalék}, óra (clk), szinkron CLR (sclr) kimenet: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Fojtószázalék PWM A fojtószelep százalékos PWM az ESC inicializálásához, amely tiszta 30% - 70% -os PWM tartományt akar, nem a Motor 1-4 PWM értékeit. Továbbfejlesztett - Vivado Zynq IP blokkok: 8 Hozzáadás (LUT) 3 Kivonás (LUT) 5 Szorzók (blokk memória (BRAM)) clock_div.sv (más néven pwm_fsm.sv) Cél: A hardver vezérlése, beleértve a MUX, a PWM kimenetet és a motor_ctl_wrapper sclr -jét. Bármely véges állapotú gépet (FSM) egy dologra használnak: más hardver vezérlésére. Ettől a célkitűzéstől való bármilyen nagy eltérés azt eredményezheti, hogy a feltételezett FSM más típusú modult (számlálót, összeadót stb.) Ölthet. kívánatos. Kiválasztási jelet küld a mux_pwm -nek, amely egyenes PWM -t ad ki minden motornak. Visszatér önmagához, amíg a GO == '1' nem lesz. CLR: Törölje az adatokat a motor_ctl_wrapper és a pwm out modulban. A kompenzált PWM -et elküldi a mux_pwm -en keresztül. Bemenet: GO, RESET, clk:
Ajánlott:
Otthoni automatizálás a Raspberry Pi segítségével a relé tábla használatával: 7 lépés
Otthonautomatizálás a Raspberry Pi segítségével a relé tábla használatával: Az emberek nagy része nagy kényelmet szeretne, de elfogadható áron. Lustának érezzük, hogy minden este megvilágítsuk a házakat, amikor lemegy a nap, és másnap reggel, újra lekapcsolva a villanyt, vagy a klímaberendezést/ventilátort/fűtőtestet be-/kikapcsolni, ahogy az
Halloween ijesztgetőgép PIR, 3D nyomtatott sütőtök és a Troll Arduino kompatibilis audio tréfa/praktikus vicc tábla használatával: 5 lépés
Halloween -ijesztőgép PIR -t, 3D -s nyomtatott tököt és a Troll Arduino -kompatibilis audio tréfát/praktikus vicc táblát használva: A Troll táblát Patrick Thomas Mitchell készítette az EngineeringShock Electronics -ból, és nem is olyan régen teljes mértékben finanszírozták a Kickstarteren. Néhány héttel hamarabb megkaptam a jutalmamat, hogy segítsek néhány használati példát írni, és egy Arduino könyvtárat felépíteni
Halványítható LED a Basys 3 tábla használatával: 5 lépés
Elhalványítható LED a Basys 3 tábla használatával: Ebben az útmutatóban egy külső LED fényerő -szabályozó rendszert építünk és irányítunk. A rendelkezésre álló gombokkal a felhasználó tetszőleges fényerőre tompíthatja a LED izzót. A rendszer a Basys 3 táblát használja, és egy olyan kenyérlaphoz van csatlakoztatva, amely
FM -rádió Inviot U1, Arduino -kompatibilis tábla használatával: 3 lépés
FM rádió Az Inviot U1, Arduino kompatibilis tábla használatával: A TEA5767 könnyen használható arduino -val. TEA5767 modult és InVIoT U1 kártyát használok az InvIoT.com webhelyről
WIDI - vezeték nélküli HDMI a Zybo segítségével (Zynq Development Board): 9 lépés (képekkel)
WIDI - vezeték nélküli HDMI a Zybo segítségével (Zynq Development Board): Azt kívánta valaha, hogy a TV -t külső monitorként PC -hez vagy laptophoz tudja csatlakoztatni, de nem akarta, hogy mindezek a bosszantó vezetékek ne legyenek útban? Ha igen, akkor ez az oktatóanyag csak neked szól! Bár vannak olyan termékek, amelyek elérik ezt a célt, egy