Სარჩევი:
- ნაბიჯი 1: გაუშვით PWM მოდული
- ნაბიჯი 2: შექმენით ბლოკის დიზაინი
- ნაბიჯი 3: IMU დაკალიბრება
- ნაბიჯი 4: უკაბელო გადამცემის ინტეგრირება
- ნაბიჯი 5: პროგრამირება Zybo FPGA
ვიდეო: Quadcopter Zybo Zynq-7000 დაფის გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
სანამ დავიწყებთ, აქ არის რამოდენიმე რამ, რაც გსურთ პროექტისთვის: ნაწილების სია 1x Digilent Zybo Zynq-7000 დაფა 1x Quadcopter Frame შეუძლია დააინსტალიროს Zybo (Adobe Illustrator ფაილი ლაზერული ჭრისთვის არის მიმაგრებული) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A სიჩქარის კონტროლერი 4x პროპელერები (ეს უნდა იყოს საკმარისად დიდი თქვენი ოთხკუთხედის ასამაღლებლად) 2x nRF24L01+ გადამცემი 1x IMU BNO055 პროგრამული მოთხოვნები Xilinx Vivado 2016.2. შენიშვნა: ზემოთ მოყვანილი ძრავები არ არის ერთადერთი ძრავა, რომლის გამოყენებაც შესაძლებელია. ისინი მხოლოდ ის არიან, ვინც ამ პროექტში გამოიყენება. იგივე ეხება დანარჩენ ნაწილებს და პროგრამული უზრუნველყოფის მოთხოვნებს. ვიმედოვნებთ, რომ ეს არის უთქმელი გაგება ამ ინსტრუქციის წაკითხვისას.
ნაბიჯი 1: გაუშვით PWM მოდული
დაპროგრამეთ მარტივი SystemVerilog (ან სხვა HDL პროგრამა), რათა დაარეგისტრიროთ HI და Throle throttle შესასვლელი კონცენტრატორების გამოყენებით. შეაერთეთ PWM ერთი ESC და Turnigy Brushless Motor– ით. შეამოწმეთ შემდეგი ფაილები იმის გასარკვევად, თუ როგორ უნდა დაკალიბრდეთ ESC. საბოლოო კოდი თან ერთვის მე –5 ნაბიჯს PWM მოდულისთვის. PWM დამწყები თან ერთვის ამ ნაბიჯს ESC Datasheet: Turnigy ESC Datasheet PDF (რასაც ყურადღება უნდა მიაქციოთ არის სხვადასხვა რეჟიმი, რომელიც შეგიძლიათ აირჩიოთ HI და LO throttle გამოყენებით)
ნაბიჯი 2: შექმენით ბლოკის დიზაინი
ბლოკის დიზაინის შექმნა ორმაგად დააწკაპუნეთ ახლად წარმოქმნილ ბლოკზე აქ გადმოწერილი XPS პარამეტრები: https://github.com/ucb-bar/fpga-zynq/tree/master/z… პარამეტრების შეცვლა PS-PL კონფიგურაცია M AXI GP0 ინტერფეისი პერიფერიული I/ O ქინძისთავები Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO კონფიგურაციის ქრონომეტრი 0 WatchdogClock კონფიგურაცია FCLK_CLK0 და დააყენეთ სიხშირე 100 MHz გააკეთეთ I2C და SPI გარე შეაერთეთ FCLK_CLK0 M_AXI_GP0_ACLK გაუშვით ავტომატიკა"
ნაბიჯი 3: IMU დაკალიბრება
BNO055 გადამცემი იყენებს I2C კომუნიკაციას. (დამწყებთათვის რეკომენდებული კითხვა: https://learn.sparkfun.com/tutorials/i2c) დრაივერი IMU– ს გასაშვებად არის აქ: https://github.com/BoschSensortec/BNO055_driver BNO055. ამის გამო, ოპერაციის აუცილებელი რეჟიმი არის IMU რეჟიმი. ეს იცვლება ორობითი რიცხვის xxxx1000 ჩაწერით OPR_MODE რეგისტრში, სადაც 'x' არის 'არ მაინტერესებს'. დააყენეთ ეს ბიტები 0 -ზე.
ნაბიჯი 4: უკაბელო გადამცემის ინტეგრირება
უკაბელო გადამცემი იყენებს SPI კომუნიკაციას. მიმაგრებულია სპეციფიკაციის ფურცელი nRF24L01+ კარგი გაკვეთილი nrf24l01+ მაგრამ arduino– ით:
ნაბიჯი 5: პროგრამირება Zybo FPGA
მიმოხილვა ეს მოდულები არის საბოლოო მოდულები, რომლებიც გამოიყენება კვადროპტოპერის PWM კონტროლისთვის. motor_ctl_wrapper.sv მიზანი: შეფუთვა იღებს ეილერის კუთხეებს და გროლის პროცენტს. გამოდის კომპენსაციური PWM, რომელიც საშუალებას მისცემს ოთხკუთხედს სტაბილიზაცია. ეს ბლოკი არსებობს, რადგან ოთხკუთხედები მიდრეკილნი არიან ჰაერის დარღვევებისკენ და საჭიროებენ რაიმე სახის სტაბილიზაციას. ჩვენ ვიყენებთ ეულერის კუთხეებს, რადგან არ ვგეგმავთ გადაბრუნებას ან მძიმე კუთხეებს, რამაც შეიძლება გამოიწვიოს გიმბალის ჩაკეტვა. შეყვანა: მონაცემთა 25-ბიტიანი ავტობუსი CTL_IN = {[24] GO, [23:16] ეულერ 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 პროცენტული PWM Throttle პროცენტული PWM არის გამოიყენება ESC– ის ინიციალიზაციისთვის, რომელსაც სურს PWM– ის სუფთა 30% - 70% დიაპაზონი, არა ის ძრავის 1-4 PWM მნიშვნელობებიდან. გაფართოებული - Vivado Zynq IP ბლოკები: 8 დამატება (LUT) 3 გამოკლება (LUT) 5 მულტიპლიკატორები (ბლოკის მეხსიერება (BRAM)) clock_div.sv (AKA pwm_fsm.sv) მიზანი: აკონტროლეთ აპარატურა, მათ შორის MUX, PWM გამომავალი და sclr for motor_ctl_wrapper. ნებისმიერი სასრული მდგომარეობის მანქანა (FSM) გამოიყენება ერთ რამეში: სხვა ტექნიკის კონტროლი. ამ მიზნიდან რაიმე დიდმა გადახრამ შეიძლება გამოიწვიოს სავარაუდო FSM მიიღოს სხვადასხვა ტიპის მოდული (მრიცხველი, დამატება და სხვა). Pwm_fsm– ს აქვს 3 მდგომარეობა: INIT, CLR და FLYINIT: მიეცით მომხმარებელს საშუალება ESC– ის პროგრამირების სასურველი. აგზავნის არჩეულ სიგნალს mux_pwm- ზე, რომელიც გამოდის პირდაპირ PWM ყველა ძრავაზე. მარყუჟები დაუბრუნდება საკუთარ თავს GO == '1'. CLR: მონაცემების გასუფთავება motor_ctl_wrapper- ში და pwm out მოდულში. FLY: სამუდამოდ მარყუჟი quadcopter– ის სტაბილიზაციისთვის (თუ ჩვენ არ გადატვირთავთ). აგზავნის კომპენსირებულ PWM- ს mux_pwm- ის საშუალებით. შეყვანა: GO, RESET, clkOputput: RST სხვა მოდულის გადატვირთვისთვის, FullFlight სიგნალის FLY რეჟიმში, პერიოდი ატმოსფეროს გაშვებისთვის atmux_pwm.sv მიზანი: შეყვანა: გამომავალი: PWM ოთხივე motorspwm.sv მიზანი: შეყვანა::
გირჩევთ:
დროის გასვლის კამერა ESP32-CAM დაფის გამოყენებით: 6 ნაბიჯი
დროის გასვლის კამერა ESP32-CAM დაფის გამოყენებით: ეს პროექტი ემყარება წინა ციფრული გამოსახულების კამერის პროექტს და ჩვენ ვაშენებთ დროის გასვლის კამერას ESP32-CAM დაფის გამოყენებით. ყველა სურათი ინახება microSD ბარათზე თანმიმდევრობით და დაფა იძინებს სურათის გადაღების შემდეგ, რათა დაზოგოს
სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით: 7 ნაბიჯი
სახლის ავტომატიზაცია ჟოლოს პი -ით სარელეო დაფის გამოყენებით: ადამიანების უმრავლესობას სურს დიდი კომფორტი, მაგრამ გონივრულ ფასად. ზარმაცი ვართ, რომ ყოველ საღამოს მზის ჩასვლისას ვანათებთ სახლებს და მეორე დილით, ისევ ჩავაქრობთ შუქს, ან კონდიციონერს/ვენტილატორს/გამათბობლებს ჩავრთავთ/ვაქცევთ
ჰელოუინის შეშინების მანქანა PIR– ის, 3D დაბეჭდილი გოგრასა და Troll Arduino– ს თავსებადი აუდიო პრანკერის/პრაქტიკული ხუმრობის დაფის გამოყენებით .: 5 ნაბიჯი
ჰელოუინის შეშინება მანქანა PIR, 3D დაბეჭდილი გოგრა და Troll Arduino თავსებადი აუდიო შემსრულებელი/პრაქტიკული ხუმრობის დაფა. მე მივიღე ჩემი ჯილდო რამდენიმე კვირით ადრე, რათა დამეხმარა მაგალითების დაწერაში და არდუინოს ბიბლიოთეკის მშენებლობაში
IP კამერა სახის გამოვლენით ESP32-CAM დაფის გამოყენებით: 5 ნაბიჯი
IP კამერა სახის გამოვლენით ESP32-CAM დაფის გამოყენებით: ეს პოსტი სხვებთან შედარებით განსხვავებულია და ჩვენ გადავხედავთ ძალიან საინტერესო ESP32-CAM დაფას, რომელიც საოცრად იაფია (9 დოლარზე ნაკლები) და მარტივი გამოსაყენებლად. ჩვენ ვქმნით მარტივ IP კამერას, რომელიც შეიძლება გამოყენებულ იქნას პირდაპირი ვიდეო ნაკადის გადასაცემად 2
WIDI - უკაბელო HDMI გამოყენებით Zybo (Zynq განვითარების დაფა): 9 ნაბიჯი (სურათებით)
WIDI - უკაბელო HDMI გამოყენებით Zybo (Zynq განვითარების დაფა): ოდესმე გსურდათ რომ შეგეძლოთ თქვენი ტელევიზორის კომპიუტერთან ან ლეპტოპთან დაკავშირება როგორც გარე მონიტორი, მაგრამ არ გინდათ რომ გქონდეთ ყველა ის გამაღიზიანებელი კაბელი? თუ ასეა, ეს გაკვეთილი მხოლოდ თქვენთვისაა! მიუხედავად იმისა, რომ არსებობს პროდუქტები, რომლებიც აღწევენ ამ მიზანს