Satura rādītājs:
- 1. darbība: aktivizējiet PWM moduli
- 2. darbība: iestatiet bloka dizainu
- 3. darbība: kalibrējiet IMU
- 4. solis: integrējiet bezvadu uztvērēju
- 5. darbība: ieprogrammējiet Zybo FPGA
Video: Quadcopter Izmantojot Zybo Zynq-7000 dēli: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Pirms darba sākšanas šeit ir dažas lietas, ko vēlaties projektam: Daļu saraksts 1x Digilent Zybo Zynq-7000 plate 1x Quadcopter Frame, kas spēj piestiprināt Zybo (pievienots Adobe Illustrator fails lāzergriešanai) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A ātruma regulatora 4x dzenskrūves (tām jābūt pietiekami lielām, lai paceltu jūsu kvadkopteri) 2x nRF24L01+ raiduztvērējs 1x IMU BNO055Prasības programmatūrai Xilinx Vivado 2016.2. PIEZĪME. Iepriekš minētie motori nav vienīgie izmantojamie motori. Tie ir tikai tie, kas izmantoti šajā projektā. Tas pats attiecas uz pārējām detaļām un programmatūras prasībām. Cerams, ka tā ir neizteikta izpratne, lasot šo pamācību.
1. darbība: aktivizējiet PWM moduli
Programmējiet vienkāršu SystemVerilog (vai citu ABL programmu), lai reģistrētu HI un LO droseļvārstu, izmantojot ievades slēdžus. Pievienojiet PWM ar vienu ESC un Turnigy bezsuku motoru. Pārbaudiet šādus failus, lai uzzinātu, kā kalibrēt ESC. Galīgais kods ir pievienots 5. darbībai PWM modulim. Šajā solī ir pievienots PWM starteris ESC datu lapa: Turnigy ESC datu lapa PDF (Jāpievērš uzmanība dažādiem režīmiem, kurus varat izvēlēties, izmantojot HI un LO droseļvārstu)
2. darbība: iestatiet bloka dizainu
Izveidot bloka dizainu Veiciet dubultklikšķi uz jaunizveidotā bloka Importēt XPS iestatījumus, kas lejupielādēti šeit: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Iestatījumu maiņa PS-PL Configuration M AXI GP0 saskarne Perifērijas I/ O Tapas Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO konfigurācijas taimeris 0 WatchdogClock konfigurācija FCLK_CLK0 un iestatiet frekvenci uz 100 MHz Padara I2C un SPI ārējo savienojumu FCLK_CLK0 uz M_AXI_GP0_ACLK Palaist bloka automatizāciju "Izveidot portu un to izsaukt"
3. darbība: kalibrējiet IMU
Uztvērējs BNO055 izmanto I2C sakarus. (Iesācēja ieteiktais lasījums: https://learn.sparkfun.com/tutorials/i2c) IMU palaišanas draiveris atrodas šeit: https://github.com/BoschSensortec/BNO055_driver Quadcopter neprasa magnetometra izmantošanu no BNO055. Šī iemesla dēļ nepieciešamais darbības režīms ir IMU režīms. Tas tiek mainīts, ierakstot bināro skaitli xxxx1000 reģistrā OPR_MODE, kur “x” ir “vienalga”. Iestatiet šos bitus uz 0.
4. solis: integrējiet bezvadu uztvērēju
Bezvadu uztvērējs izmanto SPI sakarus. Pievienota specifikācijas lapa nRF24L01+ Laba apmācība par nrf24l01+, bet ar arduino:
5. darbība: ieprogrammējiet Zybo FPGA
Pārskats Šie moduļi ir pēdējie moduļi, ko izmanto kvadkoptera PWM kontrolei. motor_ctl_wrapper.sv Mērķis: iesaiņojumā tiek ņemti Eilera leņķi un droseļvārsta procents. Tas izvada kompensētu PWM, kas ļaus kvadracopterim stabilizēties. Šis bloks pastāv, jo kvadkopteri ir pakļauti traucējumiem gaisā un tiem ir nepieciešama sava veida stabilizācija. Mēs izmantojam Eilera leņķus, jo neplānojam apvērst vai smagus leņķus, kas varētu izraisīt gimbalu bloķēšanu. Ievads: 25 bitu datu kopne CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Eilers Y, [7: 0] droseļvārsta procents}, pulkstenis (clk), sinhronā CLR (sclr) izeja: motors 1 PWM, motors 2 PWM, motors 3 PWM, motors 4 PWM, droseles procents PWM Droseles procents PWM ir izmanto, lai inicializētu ESC, kas vēlēsies tīru 30–70% PWM diapazonu, nevis to, kas iegūts no motora 1–4 PWM vērtībām. Uzlaboti - Vivado Zynq IP bloki: 8 pievieno (LUT) 3 atņemumus (LUT) 5 Reizinātāji (bloka atmiņa (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Mērķis: kontrolēt aparatūru, ieskaitot MUX, PWM izeju un motor_ctl_wrapper sclr. Jebkura ierobežota stāvokļa mašīna (FSM) tiek izmantota vienam: citas aparatūras kontrolei. Jebkura liela novirze no šī mērķa var izraisīt iespējamo MFV cita veida moduļa (skaitītāja, saskaitītāja utt.) Veidā. Pwm_fsm ir 3 stāvokļi: INIT, CLR un FLYINIT: ļauj lietotājam programmēt ESC kā vēlamo. Nosūta atlases signālu uz mux_pwm, kas visiem motoriem izvada tiešu PWM. Atgriežas pie sevis, līdz GO == '1'. CLR: notīriet datus motor_ctl_wrapper un pwm out modulī. FLY: Loop uz visiem laikiem, lai stabilizētu quadcopter (ja vien mēs neesam atiestatīti). Nosūta kompensēto PWM caur mux_pwm. Ieeja: GO, RESET, clkIzeja: RST citiem moduļu atiestatījumiem, FullFlight, lai signalizētu FLY režīmu, Periods, lai palaistu atmux_pwm.sv:
Ieteicams:
Mājas automatizācija ar Raspberry Pi, izmantojot releja dēli: 7 soļi
Mājas automatizācija, izmantojot Raspberry Pi, izmantojot Relay Board: Liela daļa cilvēku vēlas lielisku komfortu, bet par saprātīgām cenām. Mēs jūtamies slinki, lai apgaismotu mājas katru vakaru, kad saule noriet, un nākamajā rītā, atkal izslēdzot gaismas vai ieslēdzot/izslēdzot gaisa kondicionētāju/ventilatoru/sildītājus, kā tas bija
Helovīna biedēšanas mašīna, izmantojot PIR, 3D drukātu ķirbi un ar troļļu Arduino saderīgu audio draiveri/praktisku joku dēli: 5 soļi
Helovīna biedēšanas mašīna, izmantojot PIR, 3D drukātu ķirbi un ar troļļu Arduino saderīgu audio draiveri/praktisku joku dēli. Troļļa dēli izveidoja Patrick Thomas Mitchell no EngineeringShock Electronics, un tas tika pilnībā finansēts Kickstarter ne tik sen. Es saņēmu atlīdzību dažas nedēļas agrāk, lai palīdzētu uzrakstīt dažus lietošanas piemērus un izveidot Arduino bibliotēku
Kā programmēt PIC MCU, izmantojot programmētāju PICkit, izmantojot maizes dēli: 3 soļi
Kā programmēt PIC MCU ar programmētāju PICkit, izmantojot maizes dēli: Lai spēlētu ar PIC (vai jebkuru citu) mikrokontrolleri, nav nepieciešami dārgi un sarežģīti rīki. Viss, kas jums nepieciešams, ir maizes dēlis, kurā pārbaudāt savu shēmu un programmēšanu. Protams, ir nepieciešams kaut kāds programmētājs un IDE. Šajā instrukcijā
Skārienslēdzis - Kā izveidot skārienjutīgu slēdzi, izmantojot tranzistoru un maizes dēli: 4 soļi
Skārienslēdzis | Kā izveidot skārienjutīgu slēdzi, izmantojot tranzistoru un maizes dēli: skārienjutīgais slēdzis ir ļoti vienkāršs projekts, kura pamatā ir tranzistoru pielietojums. Šajā projektā tiek izmantots tranzistors BC547, kas darbojas kā skārienjutīgs slēdzis. PĀRLIECINIETIES SKATĪTIES VIDEO, KURŠ DOS Jums PILNAS ZIŅAS PAR PROJEKTU
WIDI - bezvadu HDMI, izmantojot Zybo (Zynq Development Board): 9 soļi (ar attēliem)
WIDI - bezvadu HDMI, izmantojot Zybo (Zynq Development Board): Vai esat kādreiz vēlējies, lai televizoru varētu savienot ar datoru vai klēpjdatoru kā ārēju monitoru, bet nevēlējāties, lai tiktu traucētas visas šīs nepatīkamās auklas? Ja tā, šī apmācība ir paredzēta tieši jums! Lai gan ir daži produkti, kas sasniedz šo mērķi