Sadržaj:
- Korak 1: Pokrenite PWM modul
- Korak 2: Postavite dizajn bloka
- Korak 3: Kalibrirajte IMU
- Korak 4: Integrirajte bežični primopredajnik
- Korak 5: Programirajte Zybo FPGA
Video: Quadcopter pomoću Zybo Zynq-7000 ploče: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Prije nego što započnemo, evo nekoliko stvari koje želite za projekt: Popis dijelova1x Digilent Zybo Zynq-7000 ploča 1x okvir Quadcoptera koji može montirati Zybo (u prilogu datoteka Adobe Illustrator za lasersko rezanje) 4x Turnigy D3530/14 1100KV Motori bez četkica 4x Turnigy ESC Basic -18A regulatori brzine 4x propeleri (oni moraju biti dovoljno veliki da podignu vaš quadcopter) 2x nRF24L01+ primopredajnik 1x IMU BNO055Zahtjevi za softverXilinx Vivado 2016.2NAPOMENA: Gore navedeni motori nisu jedini motori koji se mogu koristiti. Oni su samo oni koji su korišteni u ovom projektu. Isto vrijedi i za ostale zahtjeve za dijelove i softver. Nadajmo se da je to neizgovoreno razumijevanje dok čitate ovaj Instructable.
Korak 1: Pokrenite PWM modul
Programirajte jednostavan SystemVerilog (ili neki drugi HDL program) za registriranje HI leptira za gas i LO zaklopke pomoću ulaznih prekidača. Priključite PWM s jednim motorom bez četkica ESC i Turnigy. Provjerite sljedeće datoteke kako biste saznali kako kalibrirati ESC. Završni kôd priložen je u koraku 5 za PWM modul. PWM starter je priključen u ovom korakuESC podatkovni list: Turnigy ESC podatkovni list PDF (Treba obratiti pozornost na različite načine koje možete odabrati pomoću HI i LO gasa)
Korak 2: Postavite dizajn bloka
Izradite dizajn bloka Dvaput kliknite na novo stvoreni blok Uvoz XPS postavki preuzetih ovdje: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Izmjena postavki PS-PL konfiguracija M AXI GP0 sučelje Periferija I/ O Pinovi Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Konfiguracijski mjerač 0 WatchdogClock Konfiguracija FCLK_CLK0 i postavite frekvenciju na 100 MHzNapravite I2C i SPI vanjski Povežite FCLK_CLK0 na M_AXI_GP0_ACLK Pokrenite automatizirati "i pozvati"
Korak 3: Kalibrirajte IMU
BNO055 primopredajnik koristi I2C komunikaciju. (Predloženo štivo za početnike: https://learn.sparkfun.com/tutorials/i2c)Upravljački program za pokretanje IMU -a nalazi se ovdje: https://github.com/BoschSensortec/BNO055_driver Četvorokopter ne zahtijeva upotrebu magnetometra sa BNO055. Zbog toga je radni način rada IMU način rada. To se mijenja upisivanjem binarnog broja xxxx1000 u registar OPR_MODE, gdje je 'x' 'nije me briga'. Postavite te bitove na 0.
Korak 4: Integrirajte bežični primopredajnik
Bežični primopredajnik koristi SPI komunikaciju. U privitku je tehnički list za nRF24L01+ Dobar vodič za nrf24l01+, ali s arduinom:
Korak 5: Programirajte Zybo FPGA
Pregled Ovi moduli su posljednji moduli koji se koriste za kontrolu PWM -a četverokopterca. motor_ctl_wrapper.svNamjena: Omotač uzima Eulerove kutove i postotak gasa. On emitira kompenzirani PWM koji će omogućiti stabilizaciju kvadrokoptera. Ovaj blok postoji jer su četverokopter skloni smetnjama u zraku i zahtijevaju neku vrstu stabilizacije. Koristimo Eulerove kutove jer ne planiramo preokrete ili teške kutove koji bi mogli uzrokovati Gimbal Lock. Ulaz: 25-bitna sabirnica podataka CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Postotak leptira za gas}, Sat (clk), Sinkroni CLR (sclr) Izlaz: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Postotak gasa PWM Postotak gasa PWM je koristi se za inicijalizaciju ESC -a, koji će htjeti čisti raspon PWM -a od 30% - 70%, a ne onaj iz vrijednosti 1-4 PWM -a motora. Napredno - Vivado Zynq IP blokovi: 8 zbrajanja (LUT) 3 oduzimanja (LUT) 5 Množitelji (Blokovska memorija (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Svrha: Upravljajte hardverom, uključujući MUX, PWM izlaz i sclr za motor_ctl_wrapper. Bilo koji stroj konačnih stanja (FSM) koristi se za jednu stvar: upravljanje drugim hardverom. Svako veliko odstupanje od ovog cilja može uzrokovati da pretpostavljeni FSM poprimi oblik druge vrste modula (brojač, sabirač itd.). Pwm_fsm ima 3 stanja: INIT, CLR i FLYINIT: Dopustite korisniku da programira ESC kao željeni. Šalje signal odabira na mux_pwm koji izravno šalje PWM na sve motore. Vraća se sam sebi sve do GO == '1'. CLR: Brisanje podataka u motor_ctl_wrapper i modulu pwm out. FLY: Vječno petlja do stabilizacije četverokopter (osim ako smo resetirani). Šalje kompenzirani PWM kroz mux_pwm. Ulaz: GO, RESET, clkOutput: RST za resetiranje drugih modula, FullFlight za signal FLY načina rada, Razdoblje za pokretanje atmux_pwm.svNamjena: Ulaz: Izlaz: PWM za sva 4 motorspwm.svNamjena: Ulaz: Output:
Preporučeni:
Time Lapse kamera pomoću ploče ESP32-CAM: 6 koraka
Time Lapse Camera pomoću ESP32-CAM ploče: Ovaj se projekt nadovezuje na prethodni projekt digitalnih fotoaparata za slike, a mi pravimo kameru s vremenskim odmakom koristeći ESP32-CAM ploču. Sve se slike uzastopno spremaju na microSD karticu, a ploča nakon snimanja ide u stanje mirovanja radi lakšeg spremanja
Kućna automatizacija s Raspberry Pi pomoću relejne ploče: 7 koraka
Kućna automatizacija s Raspberry Pi pomoću relejne ploče: Veliki broj ljudi želi veliku udobnost, ali po razumnim cijenama. Lijeno nam je paliti kuće svake večeri kad zađe sunce i sljedećeg jutra, ponovo isključiti svjetla Ili uključiti/isključiti klima uređaj/ventilator/grijače kao što je bilo
Stroj za strahovanje za Noć vještica pomoću PIR -a, 3D ispisane bundeve i kompatibilne audio šaljivdžice/praktične ploče za šale Troll Arduino .: 5 koraka
Stroj za strahove za Noć vještica koji koristi PIR, 3D tiskanu bundevu i kompatibilni audio pranker Troll Arduino/praktična ploča za šalu: ploča Troll koju je stvorio Patrick Thomas Mitchell iz EngineeringShock Electronics, a nedavno je u potpunosti financirana na Kickstarteru. Dobio sam nagradu nekoliko tjedana ranije kako bih pomogao napisati neke primjere upotrebe i izgraditi Arduino biblioteku u pokušaju
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz s Arduinom - Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter - Rc helikopter - Rc avion pomoću Arduina: 5 koraka (sa slikama)
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz s Arduinom | Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter | Rc helikopter | Rc avion pomoću Arduina: Za upravljanje Rc automobilom | Kvadrokopter | Dron | RC ravnina | RC brod, uvijek nam je potreban prijemnik i odašiljač, pretpostavimo da za RC QUADCOPTER trebamo 6 -kanalni odašiljač i prijemnik, a ta vrsta TX -a i RX -a je preskupa, pa ćemo napraviti jedan na našem
WIDI - Bežični HDMI pomoću Zyba (Zynq razvojna ploča): 9 koraka (sa slikama)
WIDI - Bežični HDMI pomoću Zybo -a (Zynq Development Board): Jeste li ikada poželjeli da možete povezati svoj televizor s računalom ili prijenosnim računalom kao vanjski monitor, ali niste htjeli imati sve te dosadne kabele na putu? Ako je tako, ovaj vodič je samo za vas! Iako postoje neki proizvodi koji postižu ovaj cilj