Innehållsförteckning:
- Steg 1: Kör PWM -modulen
- Steg 2: Konfigurera blockdesignen
- Steg 3: Kalibrera IMU
- Steg 4: Integrera den trådlösa sändtagaren
- Steg 5: Programmera Zybo FPGA
Video: Quadcopter med Zybo Zynq-7000 Board: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Innan vi sätter igång, här är några saker du vill ha för projektet: Dellista1x Digilent Zybo Zynq-7000 board 1x Quadcopter Frame som kan monteras Zybo (Adobe Illustrator-fil för laserskärning bifogad) 4x Turnigy D3530/14 1100KV borstlösa motorer 4x Turnigy ESC Basic -18A Speed Controller 4x Propeller (dessa måste vara tillräckligt stora för att lyfta din quadcopter) 2x nRF24L01+ transceiver 1x IMU BNO055Software KravXilinx Vivado 2016.2OBS: Motorerna ovan är inte de enda motorerna som kan användas. Det är bara de som används i detta projekt. Detsamma gäller resten av delar och programvarukrav. Förhoppningsvis är det en outtalad förståelse när du läser denna instruerbara.
Steg 1: Kör PWM -modulen
Programmera ett enkelt SystemVerilog (eller annat HDL -program) för att registrera HI -gas och LO -gas med hjälp av ingångsbrytare. Haka fast PWM med en enda ESC och Turnigy borstlös motor. Kontrollera följande filer för att ta reda på hur du kalibrerar ESC. Den slutliga koden bifogas i steg 5 för PWM -modulen. En PWM -starter är bifogad i detta steg ESC -datablad: Turnigy ESC -datablad PDF (saker att vara uppmärksam på är de olika lägen du kan välja med hjälp av HI- och LO -gasreglage)
Steg 2: Konfigurera blockdesignen
Skapa blockdesign Dubbelklicka på det nybildade blocket Importera XPS-inställningar som laddats ner här: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Ändra inställningar PS-PL-konfiguration M AXI GP0-gränssnitt Perifer I/ O Pins Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Konfigurationstimer 0 WatchdogClock Configuration FCLK_CLK0 och ställ in frekvensen till 100 MHzMake I2C och SPI extern Anslut FCLK_CLK0 till M_AXI_GP0_ACLK Kör blockera "skapa block" och skapa "gata block" och skapa "gon" och skapa "gon"
Steg 3: Kalibrera IMU
BNO055 -sändtagaren använder I2C -kommunikation. (Nybörjarens föreslagna läsning: https://learn.sparkfun.com/tutorials/i2c) Föraren för att köra IMU finns här: https://github.com/BoschSensortec/BNO055_driver En quadcopter kräver inte användning av magnetometern från BNO055. På grund av detta är det nödvändiga driftsläget IMU -läget. Detta ändras genom att skriva ett binärt tal xxxx1000 till OPR_MODE -registret, där 'x' är ett 'don't care'. Ställ in dessa bitar till 0.
Steg 4: Integrera den trådlösa sändtagaren
Den trådlösa sändtagaren använder SPI -kommunikation. Bifogat är specifikationsbladet för nRF24L01+ En bra handledning om nrf24l01+ men med arduino:
Steg 5: Programmera Zybo FPGA
Översikt Dessa moduler är de sista modulerna som används för kontroll av quadcopterens PWM. motor_ctl_wrapper.sv Syfte: Omslaget tar in Euler -vinklar och en gasprocent. Den matar ut en kompenserad PWM som gör att quadcoptern kan stabiliseras. Detta block finns, eftersom quadcopters är benägna att störa luften och kräver någon form av stabilisering. Vi använder Euler-vinklar, eftersom vi inte planerar att vända eller tunga vinklar som kan orsaka Gimbal Lock. Inmatning: 25-bitars databas CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Throttle Percentage}, Clock (clk), Synchronous CLR (sclr) Output: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Throttle Percentage PWM Throttle Percentage PWM is används för att initiera ESC, som vill ha ett rent 30% - 70% PWM -område, inte det från motor 1-4 PWM -värden Avancerat - Vivado Zynq IP -block: 8 Adds (LUTs) 3 Subtracts (LUTs) 5 Multiplikatorer (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Syfte: Kontrollera hårdvaran, inklusive MUX, PWM -utdata och sclr för motor_ctl_wrapper. Alla Finite State Machine (FSM) används för en sak: styr annan hårdvara. Varje stor avvikelse från detta mål kan få den förmodade FSM att ta formen av en annan typ av modul (räknare, adderare, etc.). Pwm_fsm har 3 tillstånd: INIT, CLR och FLYINIT: Låt användaren programmera ESC som önskad. Skickar en valt signal till mux_pwm som matar ut rak PWM till alla motorer. Loopar tillbaka till sig själv tills GO == '1'. CLR: Rensa data i motor_ctl_wrapper och pwm out -modulen. FLY: Loop för alltid för att stabilisera quadcoptern (om vi inte återställs). Skickar den kompenserade PWM genom mux_pwm. Input: GO, RESET, clkOutput: RST för andra modulåterställningar, FullFlight för att signalera FLY -läge, Period för att köra atmux_pwm.sv Syfte: Input: Output: PWM för alla 4 motorspwm.sv Syfte: Input: Output:
Rekommenderad:
Hur man gör en drönare med Arduino UNO - Gör en quadcopter med mikrokontroller: 8 steg (med bilder)
Hur man gör en drönare med Arduino UNO | Gör en Quadcopter Med Microcontroller: Introduktion Besök min Youtube -kanal En Drone är en mycket dyr gadget (produkt) att köpa. I det här inlägget ska jag diskutera, hur gör jag det billigt ?? Och hur kan du göra din egen så här till billigt pris … Tja i Indien alla material (motorer, ESC
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
WIDI - Trådlöst HDMI med Zybo (Zynq Development Board): 9 steg (med bilder)
WIDI - Trådlöst HDMI med Zybo (Zynq Development Board): Har du någonsin önskat att du kunde ansluta din TV till en dator eller bärbar dator som en extern bildskärm, men ville inte ha alla dessa irriterande sladdar i vägen? Om så är fallet är den här självstudien bara för dig! Även om det finns några produkter ute som uppnår detta mål, är en
ZYBO OV7670 kamera med pan/tilt -kontroll: 39 steg (med bilder)
ZYBO OV7670-kamera med panorering/tiltkontroll: Börja i steg ett för detaljer om hur du bara skapar en 2-axlig servo PWM-kontroller. Börja med det massiva blockdiagrammet (steg 19) för hela projektet. Kamera + Pan/tilt-inställning vi använde: https://www.amazon.com/gp/product/B013JF9GCAThe PmodCON3 från Digilent wa
Laser Harp Synthesizer på Zybo Board: 10 steg (med bilder)
Laser Harp Synthesizer på Zybo Board: I denna handledning kommer vi att skapa en fullt fungerande laserharpa med IR -sensorer med ett seriellt gränssnitt som gör att användaren kan ändra inställning och ton för instrumentet. Denna harpa kommer att vara en nyinspelning av det gamla instrumentet från 2000 -talet. De