İçindekiler:
- Adım 1: PWM Modülünü Çalıştırın
- Adım 2: Blok Tasarımını Ayarlayın
- 3. Adım: IMU'yu kalibre edin
- Adım 4: Kablosuz Alıcı-Vericiyi Entegre Edin
- Adım 5: Zybo FPGA'yı programlayın
Video: Zybo Zynq-7000 Kartını Kullanan Quadcopter: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Başlamadan önce, proje için istediğiniz bazı şeyler şunlardır: Parça Listesi1x Digilent Zybo Zynq-7000 board 1x Quadcopter Frame Zybo'yu monte edebilir (lazer kesim için Adobe Illustrator dosyası ekli) 4x Turnigy D3530/14 1100KV Fırçasız Motorlar 4x Turnigy ESC Basic -18A Hız Kontrol Cihazı 4x Pervaneler(Bunların quadcopter'inizi kaldıracak kadar büyük olması gerekir) 2x nRF24L01+ alıcı-verici 1x IMU BNO055Yazılım GereksinimleriXilinx Vivado 2016.2NOT: Yukarıdaki motorlar kullanılabilecek tek motor değildir. Onlar sadece bu projede kullanılanlardır. Aynısı diğer parçalar ve yazılım gereksinimleri için de geçerlidir. Umarım, bu Eğitilebilir Yazıyı okurken bu konuşulmayan bir anlayıştır.
Adım 1: PWM Modülünü Çalıştırın
Giriş anahtarlarını kullanarak HI ve LO gazını kaydetmek için basit bir SystemVerilog (veya başka bir HDL programı) programlayın. PWM'yi tek bir ESC ve Turnigy Fırçasız Motor ile bağlayın. ESC'nin nasıl kalibre edileceğini öğrenmek için aşağıdaki dosyaları kontrol edin. Son kod, PWM modülü için 5. adımda eklenmiştir. Bu adımda bir PWM başlatıcı eklenmiştirESC Veri Sayfası: Turnigy ESC Veri Sayfası PDF (Dikkat etmeniz gereken şey, HI ve LO gazını kullanarak seçebileceğiniz farklı modlardır)
Adım 2: Blok Tasarımını Ayarlayın
Blok Tasarımı Oluştur Yeni oluşturulan bloğa çift tıklayın Buradan indirilen XPS ayarlarını içe aktarın: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Ayarları değiştirin PS-PL Konfigürasyonu M AXI GP0 arayüzü Çevre Birimi I/ O Pinler Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Konfigürasyon Zamanlayıcı 0 WatchdogClock Konfigürasyonu FCLK_CLK0 ve frekansı 100 MHz olarak ayarlayın I2C ve SPI harici bağlayın FCLK_CLK0'ı M_AXI_GP0_ACLK'ya bağlayın Blok otomasyonunu çalıştırın Port oluşturun ve "gnd" olarak adlandırın
3. Adım: IMU'yu kalibre edin
BNO055 alıcı-verici, I2C iletişimini kullanır. (Yeni Başlayanlar İçin Önerilen Okuma: https://learn.sparkfun.com/tutorials/i2c)IMU'yu çalıştıracak sürücü şurada bulunur: https://github.com/BoschSensortec/BNO055_driverA quadcopter, manyetometre kullanımını gerektirmez. BNO055. Bu nedenle gerekli çalışma modu IMU modudur. Bu, OPR_MODE kaydına xxxx1000 ikili sayı yazılarak değiştirilir, burada 'x' bir 'umurumda değil'dir. Bu bitleri 0'a ayarlayın.
Adım 4: Kablosuz Alıcı-Vericiyi Entegre Edin
Kablosuz alıcı-verici SPI iletişimini kullanır. nrf24l01+ ama arduino ile nRF24L01+A iyi öğretici için teknik özellik sayfası ektedir:
Adım 5: Zybo FPGA'yı programlayın
Genel BakışBu modüller, quadcopter'ın PWM'sinin kontrolü için kullanılan son modüllerdir. motor_ctl_wrapper.svPurpose: Sarıcı, Euler açılarını ve bir kısma yüzdesini alır. Quadcopter'in stabilize olmasını sağlayacak telafi edilmiş bir PWM verir. Bu blok mevcuttur, çünkü quadcopterler havadaki bozulmalara eğilimlidir ve bir çeşit stabilizasyon gerektirir. Gimbal Lock'a neden olabilecek çevirmeler veya ağır açılar planlamadığımız için Euler açıları kullanıyoruz. Giriş: 25 bit veri yolu CTL_IN = { [24] GO, [23:16] Euler X, [15: 8] Euler Y, [7:0] Gaz Kelebeği Yüzdesi }, Saat (clk), Senkron CLR (sclr)Çıkış: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Gaz Kelebeği Yüzdesi PWM Gaz Kelebeği Yüzdesi PWM Motor 1-4 PWM değerlerinden değil, saf %30 - %70 PWM aralığı isteyecek olan ESC'yi başlatmak için kullanılır. Gelişmiş - Vivado Zynq IP Blokları:8 Ekler (LUT'ler)3 Çıkarmalar (LUT'lar)5 Çarpanlar (Blok Bellek (BRAM))clock_div.sv (AKA pwm_fsm.sv) Amaç: Motor_ctl_wrapper için MUX, PWM çıkışı ve sclr dahil olmak üzere donanımı kontrol edin. Herhangi bir Sonlu Durum Makinesi (FSM) bir şey için kullanılır: diğer donanımı kontrol etmek. Bu hedeften herhangi bir büyük sapma, varsayılan FSM'nin farklı bir modül tipi (sayıcı, toplayıcı, vb.) şeklini almasına neden olabilir.pwm_fsm'nin 3 durumu vardır: INIT, CLR ve FLYINIT: Kullanıcının ESC'yi aşağıdaki gibi programlamasına izin verin. İstenen. Tüm motorlara düz PWM çıkışı veren mux_pwm'ye bir seçme sinyali gönderir. GO == '1' olana kadar kendine geri döner. CLR: motor_ctl_wrapper ve pwm out modülündeki verileri temizleyin. FLY: Quadcopter'ı stabilize etmek için sonsuza kadar döngü yapın (sıfırlanmadıkça). Telafi edilmiş PWM'yi mux_pwm aracılığıyla gönderir. Giriş: GO, RESET, clkOutput: Diğer modül sıfırlamaları için RST, FLY modunu sinyallemek için FullFlight, atmux_pwm.sv'yi çalıştırmak için süre Amaç:Giriş:Çıkış: 4 motorun tümü için PWM Amaç:Giriş:Çıkış:
Önerilen:
ESP32-CAM Kartını Kullanan Hızlandırılmış Kamera: 6 Adım
ESP32-CAM Kartı Kullanan Hızlandırılmış Kamera: Bu proje, önceki dijital görüntü kamerası projesine dayanmaktadır ve ESP32-CAM kartını kullanarak hızlandırılmış bir kamera oluşturuyoruz. Tüm görüntüler sırayla microSD karta kaydedilir ve kart, karttan tasarruf etmeye yardımcı olmak için bir resim çektikten sonra uyku moduna geçer
ESP32-CAM Kartını Kullanan Dijital Hareketsiz Görüntü Kamerası: 5 Adım
ESP32-CAM Kartını Kullanan Dijital Hareketsiz Görüntü Kamerası: Bu yazıda, ESP32-CAM kartını kullanarak bir dijital hareketsiz görüntü kamerasının nasıl oluşturulacağını öğreneceğiz. Sıfırlama düğmesine basıldığında, kart bir görüntü alacak, bunu microSD karta kaydedecek ve ardından derin uyku moduna geri dönecektir. EEPROM t kullanıyoruz
ESP32-CAM Kartını Kullanan 9 ABD Doları RTSP Video Streamer: 3 Adım
9$'lık RTSP Video Streamer ESP32-CAM Kartını Kullanarak: Bu gönderi size RTSP ve ESP32-CAM kartını kullanan 9$'lık bir video akış cihazını nasıl oluşturabileceğinizi gösterecektir. Çizim, mevcut bir WiFi ağına bağlanacak şekilde yapılandırılabilir veya aynı zamanda bağlanabileceğiniz kendi erişim noktasını da oluşturabilir
Arduino İle 2.4Ghz NRF24L01 Modülünü Kullanan Kablosuz Uzaktan Kumanda - Nrf24l01 Quadcopter için 4 Kanal / 6 Kanal Verici Alıcı - Rc Helikopter - Arduino Kullanan Rc Uçak: 5 Adım (Resimlerle)
Arduino İle 2.4Ghz NRF24L01 Modülünü Kullanan Kablosuz Uzaktan Kumanda | Nrf24l01 Quadcopter için 4 Kanal / 6 Kanal Verici Alıcı | Rc Helikopter | Arduino Kullanan Rc Uçak: Bir Rc araba çalıştırmak için | Quadcopter | dron | RC uçak | RC tekne, her zaman bir alıcı ve vericiye ihtiyacımız var, RC QUADCOPTER için 6 kanallı bir verici ve alıcıya ihtiyacımız olduğunu ve bu tür TX ve RX'in çok maliyetli olduğunu varsayalım, bu yüzden bir tane yapacağız
WIDI - Zybo Kullanan Kablosuz HDMI (Zynq Geliştirme Kartı): 9 Adım (Resimlerle)
WIDI - Zybo (Zynq Geliştirme Kartı) Kullanan Kablosuz HDMI: Hiç TV'nizi bir PC veya dizüstü bilgisayara harici bir monitör olarak bağlayabilmeyi dilediniz, ancak tüm bu sinir bozucu kablolara sahip olmak istemediniz mi? Eğer öyleyse, bu eğitim tam size göre! Bu hedefe ulaşan bazı ürünler olsa da, bir