Sisällysluettelo:
- Vaihe 1: Käynnistä PWM -moduuli
- Vaihe 2: Aseta lohkon suunnittelu
- Vaihe 3: Kalibroi IMU
- Vaihe 4: Integroi langaton lähetin -vastaanotin
- Vaihe 5: Ohjelmoi Zybo FPGA
Video: Nelikopteri Zybo Zynq-7000 -kortilla: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Ennen kuin aloitamme, tässä on muutamia asioita, joita haluat projektiin: Osaluettelo 1x Digilent Zybo Zynq-7000 -levy 1x nelikopterikehys, jolla voidaan asentaa Zybo (liitetty Adobe Illustrator-tiedosto laserileikkaukseen) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A nopeussäätimen 4x potkuria (niiden on oltava riittävän suuria nostaaksesi nelikopterisi) 2x nRF24L01+ lähetin -vastaanotin 1x IMU BNO055Ohjelmistovaatimukset Xilinx Vivado 2016.2 HUOMAUTUS: Yllä olevat moottorit eivät ole ainoita moottoreita, joita voidaan käyttää. He ovat vain niitä, joita käytetään tässä projektissa. Sama pätee muihin osiin ja ohjelmistovaatimuksiin. Toivottavasti tämä on sanaton ymmärrys tätä opetusohjelmaa luettaessa.
Vaihe 1: Käynnistä PWM -moduuli
Ohjelmoi yksinkertainen SystemVerilog (tai muu HDL -ohjelma) HI- ja LO -kaasun rekisteröimiseksi tulokytkimillä. Kiinnitä PWM yhdellä ESC: llä ja Turnigy Brushless -moottorilla. Tarkista seuraavat tiedostot, miten ESC kalibroidaan. PWM -moduulin lopullinen koodi on liitteenä vaiheessa 5. PWM -käynnistin on liitetty tähän vaiheeseen ESC Datasheet: Turnigy ESC Datasheet PDF (Huomioitavaa ovat eri tilat, jotka voit valita käyttämällä HI- ja LO -kaasua)
Vaihe 2: Aseta lohkon suunnittelu
Luo estorakenne Kaksoisnapsauta äskettäin luotua lohkoa Tuo XPS-asetukset, jotka on ladattu täältä: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Muokkaa asetuksia PS-PL Configuration M AXI GP0 -liitäntä Peripheral I/ O Nastat Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Configuration Timer 0 WatchdogClock Configuration FCLK_CLK0 ja aseta taajuus 100 MHz Tee I2C ja SPI ulkoinen yhteys FCLK_CLK0 arvoon M_AXI_GP0_ACLK Suorita lohkoautomatiikka Luo portti ja soita
Vaihe 3: Kalibroi IMU
BNO055 -lähetinvastaanotin käyttää I2C -tiedonsiirtoa. (Aloittelijan suosittelema luku: https://learn.sparkfun.com/tutorials/i2c) IMU: n ajuri sijaitsee täällä: https://github.com/BoschSensortec/BNO055_driver Nelikopteri ei vaadi magnetometrin käyttöä BNO055. Tämän vuoksi tarvittava toimintatapa on IMU -tila. Tämä muutetaan kirjoittamalla binääriluku xxxx1000 OPR_MODE -rekisteriin, jossa 'x' on 'välitä'. Aseta bitit arvoon 0.
Vaihe 4: Integroi langaton lähetin -vastaanotin
Langaton lähetinvastaanotin käyttää SPI -tiedonsiirtoa. Liitteenä nRF24L01+: n tekniset tiedot ja hyvä opetusohjelma nrf24l01+: sta, mutta arduinolla:
Vaihe 5: Ohjelmoi Zybo FPGA
Yleiskatsaus Nämä moduulit ovat viimeisiä moduuleja, joita käytetään nelikopterin PWM: n ohjaamiseen. motor_ctl_wrapper.sv Tarkoitus: Kääre ottaa Eulerin kulmat ja kaasuprosentin. Se tuottaa kompensoidun PWM: n, jonka avulla nelikopteri vakautuu. Tämä lohko on olemassa, koska nelikopterit ovat alttiita häiriöille ilmassa ja vaativat jonkinlaista vakauttamista. Käytämme Euler-kulmia, koska emme suunnittele kääntöjä tai raskaita kulmia, jotka voivat aiheuttaa kippilukon. 8] Euler Y, [7: 0] Kaasuprosentti}, Kello (clk), Synkroninen CLR (sclr) Lähtö: Moottori 1 PWM, Moottori 2 PWM, Moottori 3 PWM, Moottori 4 PWM, Kaasuprosentti PWM Kaasuprosentti PWM on käytetään ESC: n alustamiseen, joka haluaa puhtaan 30% - 70% PWM -alueen, ei moottorin 1-4 PWM -arvoja. Advanced - Vivado Zynq IP Blocks: 8 Adds (LUT) Kertoimet (lohkomuisti (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Tarkoitus: Ohjaa laitteistoa, mukaan lukien MUX, PWM -ulostulo ja motor_ctl_wrapperin sclr. Mitä tahansa äärellistä tilakonetta (FSM) käytetään yhteen asiaan: muiden laitteiden hallintaan. Kaikki suuret poikkeamat tästä tavoitteesta voivat saada oletetun FSM: n muodostumaan eri tyyppiseksi moduuliksi (laskuri, summain jne.). Pwm_fsm: llä on 3 tilaa: INIT, CLR ja FLYINIT: Salli käyttäjän ohjelmoida ESC haluttu. Lähettää valintasignaalin mux_pwm: lle, joka lähettää suoraan PWM: n kaikille moottoreille. Silmukkaa takaisin itseensä, kunnes GO == '1'. CLR: Tyhjennä tiedot motor_ctl_wrapperissa ja pwm out -moduulissa. Lähettää kompensoidun PWM: n mux_pwm: n kautta. Tulo: GO, RESET, clk Lähtö: RST muille moduulien nollauksille, FullFlight signaalille FLY -tila, ajanjakso atmux_pwm.sv Tarkoitus: Tulo: Lähtö: PWM kaikille 4 moottorille. Pv:
Suositeltava:
F450 -nelikopteri KK 2.1.5: n avulla Helppo: 6 vaihetta
F450 -nelikopteri KK 2.1.5: n avulla Helppo: Hei! Tämä on Teerth Warang lennonohjaimessa KK 2.1.5 on
Kotitekoinen nelikopteri: 8 vaihetta (kuvilla)
Kotitekoinen nelikopteri: Jos haluat tehdä nelikopterin ensimmäistä kertaa, se on 100% sinun ja sinulla ei ole 3D -tulostinta, tämä ohje on sinulle! Yksi tärkeimmistä syistä, miksi laitoin tämän ohjeen yhteen, on se, että sinun ei tarvitse käydä samaa läpi
Kuinka tehdä drone Arduino UNO: n avulla - Tee nelikopteri mikrokontrollerilla: 8 vaihetta (kuvilla)
Kuinka tehdä drone Arduino UNO: n avulla | Tee nelikopteri mikrokontrollerin avulla: Johdanto Vieraile Youtube -kanavallani Drone on erittäin kallis gadget (tuote) ostettavaksi. Tässä viestissä keskustelen siitä, miten saan sen halvalla ?? Ja kuinka voit tehdä omasi näin halvalla … No Intiassa kaikki materiaalit (moottorit, ESC
Kuinka rakentaa oma 3D -tulostettu nelikopteri: 4 vaihetta
Kuinka rakentaa oma 3D -painettu nelikopteri: Tänään aiomme tehdä täysin toimivan nelikopterin 3D -tulostetuista osista, moottoreista ja elektroniikasta
WIDI - langaton HDMI Zybo: n avulla (Zynq Development Board): 9 vaihetta (kuvien kanssa)
WIDI - langaton HDMI Zybo: n avulla (Zynq Development Board): Oletko koskaan toivonut, että voisit liittää television tietokoneeseen tai kannettavaan tietokoneeseen ulkoisena näyttönä, mutta et halunnut saada kaikkia näitä ärsyttäviä johtoja tielläsi? Jos on, tämä opetusohjelma on juuri sinua varten! Vaikka on olemassa joitakin tuotteita, jotka saavuttavat tämän tavoitteen