Innholdsfortegnelse:
- Trinn 1: Få PWM -modulen i gang
- Trinn 2: Sett opp blokkdesign
- Trinn 3: Kalibrer IMU
- Trinn 4: Integrer den trådløse mottakeren
- Trinn 5: Programmer Zybo FPGA
Video: Quadcopter som bruker Zybo Zynq-7000 Board: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Før vi begynner, er det noen ting du vil ha for prosjektet: Deleliste1x Digilent Zybo Zynq-7000 board 1x Quadcopter Frame som kan monteres Zybo (Adobe Illustrator-fil for laserskjæring vedlagt) 4x Turnigy D3530/14 1100KV børsteløse motorer 4x Turnigy ESC Basic -18A Speed Controller 4x Propeller (disse må være store nok til å løfte quadcopter) 2x nRF24L01+ transceiver 1x IMU BNO055Software KravXilinx Vivado 2016.2 MERK: Motorene ovenfor er ikke de eneste motorene som kan brukes. Det er bare de som brukes i dette prosjektet. Det samme gjelder resten av delene og programvarekravene. Forhåpentligvis er det en uuttalt forståelse når du leser denne instruksjonsboken.
Trinn 1: Få PWM -modulen i gang
Programmer en enkel SystemVerilog (eller et annet HDL -program) for å registrere HI -gass og LO -gass ved hjelp av inngangsbrytere. Fest PWM med en enkelt ESC og Turnigy børsteløs motor. Kontroller følgende filer for å finne ut hvordan du kalibrerer ESC. Den endelige koden er vedlagt i trinn 5 for PWM -modulen. En PWM -starter er vedlagt i dette trinnet ESC -datablad: Turnigy ESC -datablad PDF (ting du må ta hensyn til er de forskjellige modusene du kan velge ved hjelp av HI- og LO -gass)
Trinn 2: Sett opp blokkdesign
Opprett blokkdesign Dobbeltklikk på den nylig genererte blokken Importer XPS-innstillinger lastet ned her: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Endre innstillinger PS-PL-konfigurasjon M AXI GP0-grensesnitt Perifer I/ O Pins Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Konfigurasjonstidsur 0 WatchdogClock Configuration FCLK_CLK0 og sett frekvensen til 100 MHz Gjør I2C og SPI ekstern Koble FCLK_CLK0 til M_AXI_GP0_ACLK Kjør blokkering Opprett g.
Trinn 3: Kalibrer IMU
BNO055 -transceiveren bruker I2C -kommunikasjon. (Nybegynner foreslått lesing: https://learn.sparkfun.com/tutorials/i2c) Sjåføren for å kjøre IMU ligger her: https://github.com/BoschSensortec/BNO055_driver Et quadcopter krever ikke bruk av magnetometeret fra BNO055. På grunn av dette er nødvendig driftsmodus IMU -modus. Dette endres ved å skrive et binært tall xxxx1000 til OPR_MODE -registeret, der 'x' er et 'ikke bryr seg'. Sett disse bitene til 0.
Trinn 4: Integrer den trådløse mottakeren
Den trådløse senderen mottar SPI -kommunikasjon. Vedlagt er spesifikasjonsarket for nRF24L01+ En god opplæring om nrf24l01+ men med arduino:
Trinn 5: Programmer Zybo FPGA
Oversikt Disse modulene er de siste modulene som brukes for kontroll av quadcopter's PWM. motor_ctl_wrapper.sv Formål: Pakningen tar inn Euler -vinkler og en gassprosent. Den sender ut en kompensert PWM som lar quadcopter stabilisere seg. Denne blokken eksisterer, fordi quadcopters er utsatt for forstyrrelser i luften og krever en slags stabilisering. Vi bruker Euler-vinkler, ettersom vi ikke planlegger å snu eller tunge vinkler som kan forårsake Gimbal Lock. Inndata: 25-biters buss med data CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Gassprosent}, Klokke (clk), Synkron CLR (sclr) Utgang: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Gassprosent PWM Gassprosenten PWM er brukes til å initialisere ESC, som vil ha et rent 30% - 70% PWM -område, ikke det fra motor 1-4 PWM -verdier. avansert - Vivado Zynq IP -blokker: 8 tillegg (LUT) 3 trekk (LUT) 5 Multiplikatorer (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Formål: Kontroller maskinvaren, inkludert MUX, PWM -utgang og sclr for motor_ctl_wrapper. Enhver Finite State Machine (FSM) brukes for en ting: kontroll annen maskinvare. Enhver stor avvik fra dette målet kan føre til at den antatte FSM tar form av en annen type modul (teller, adder, etc.). Pwm_fsm har 3 tilstander: INIT, CLR og FLYINIT: La brukeren programmere ESC som ønsket. Sender et utvalgssignal til mux_pwm som sender rett PWM til alle motorer. Går tilbake til seg selv til GO == '1'. CLR: Slett data i motor_ctl_wrapper og pwm out -modulen. FLY: Sløyfe for alltid for å stabilisere quadcopter (med mindre vi blir tilbakestilt). Sender den kompenserte PWM gjennom mux_pwm. Input: GO, RESET, clkOutput: RST for andre moduler tilbakestilles, FullFlight for å signalisere FLY -modus, Periode for å kjøre atmux_pwm.sv Formål: Input: Output: PWM for alle 4 motorspwm.sv Formål: Input: Output:
Anbefalt:
HJEMAUTOMASJON BASERT PÅ LOKAL MQTT -SERVER SOM BRUKER RASPBERRY PI OG NODEMCU BOARD: 6 trinn
HJEMAUTOMASJON BASERT PÅ LOKAL MQTT -SERVER SOM BRUKER RASPBERRY PI OG NODEMCU BOARD: Hittil har jeg laget flere opplæringsvideoer om kontroll av apparater over internett. Og for det foretrakk jeg alltid Adafruit MQTT -serveren, da den var enkel å bruke og brukervennlig også. Men alt det var basert på internett. Det betyr at vi
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter - Rc Helikopter - RC -fly som bruker Arduino: 5 trinn (med bilder)
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter | Rc Helikopter | Rc -fly ved bruk av Arduino: For å betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båt, vi trenger alltid en mottaker og sender, anta at for RC QUADCOPTER trenger vi en 6 -kanals sender og mottaker, og den typen TX og RX er for kostbar, så vi lager en på vår
Slik bruker du Mac Terminal og hvordan du bruker viktige funksjoner: 4 trinn
Slik bruker du Mac Terminal og hvordan du bruker viktige funksjoner: Vi viser deg hvordan du åpner MAC Terminal. Vi viser deg også noen få funksjoner i terminalen, for eksempel ifconfig, endring av kataloger, tilgang til filer og arp. Ifconfig lar deg sjekke IP -adressen din og MAC -annonsen din
WIDI - Trådløs HDMI ved hjelp av Zybo (Zynq Development Board): 9 trinn (med bilder)
WIDI - Trådløs HDMI ved hjelp av Zybo (Zynq Development Board): Har du noen gang ønsket at du kunne koble TV -en til en PC eller bærbar datamaskin som en ekstern skjerm, men ville ikke ha alle de irriterende ledningene i veien? I så fall er denne opplæringen bare noe for deg! Selv om det er noen produkter ute som oppnår dette målet
Hvordan lage en autonom basketballball som bruker en IRobot Lag som base: 7 trinn (med bilder)
Slik lager du en autonom basketballball som bruker en IRobot Lag som base: Dette er min oppføring for iRobot Create -utfordringen. Den vanskeligste delen av hele denne prosessen for meg var å bestemme hva roboten skulle gjøre. Jeg ønsket å demonstrere de kule funksjonene i Create, samtidig som jeg la til litt robo -teft. Alle mine