Closed SyberMafia closed 7 months ago
Merhaba ilker bey; inav_7.0.0_STM32F411CE_HEX dosyasını yüklemeden önce STM32F411CE kartınızın üzerinde mutlaka gy87 modülünün bağlantılarını yapmış olmanız gerekir. Modül olmadan bağlantı sağlanmıyor. MPU9250 kullanmanızı tavsiye ederim. Sorunsuz çalışacaktır.
NOT: MPU6050 modülü CPU yükünü %90 çıkardığından INAV bunu kaldırdı. Betaflight içinde aynı durum var. CPU yükünü aşırı yükseltmekte. Kullanmamanızı tavsiye ederim. CPU yükü fazla olduğunda ARM işlemi gerçekleşmez. En iyisi SPI ara yüzü ile kullanılan MPU9250 modüldür. Bir tane de ek barometre kullanırsınız.
INAV 7.1 versiyonu STM32F411CE kartı için son destekti. Ardık bu kart INAV için kullanılmayacak. Betaflight için destek devam edecek.
Betafilght için aşağıdaki config.h dosyasını aşağıdaki gibi yapılandırdım.
TIMER_PIN_MAP( 0, PA3 , 3, -1) \
TIMER_PIN_MAP( 1, PB4 , 1, 0) \
TIMER_PIN_MAP( 2, PB5 , 1, 0) \
TIMER_PIN_MAP( 3, PB6 , 1, 0) \
TIMER_PIN_MAP( 4, PB7 , 1, 0) \
TIMER_PIN_MAP( 5, PA5 , 1, 0) \
TIMER_PIN_MAP( 6, PB10, 1, 0) \
TIMER_PIN_MAP( 7, PA0 , 2, 0) \
TIMER_PIN_MAP( 8, PA1 , 2, 0) \
TIMER_PIN_MAP( 9, PA2 , 2, 0) \
TIMER_PIN_MAP( 10, PA8 , 1, 0)
//#define USE_I2C //#define USE_I2C_DEVICE_1 //#define I2C_DEVICE I2CDEV_1
//#define DEFAULT_BARO_DEVICE BARO_NONE
//TODO #define VBAT_DETECT_CELL_VOLTAGE 300 //#define BEEPER_INVERTED
Betaflight da MPU6050 yine de görmez ise o zaman aşağıdaki CLI komutlarını kullanın.
set mag_bustype = I2C set mag_i2c_device = 1 set baro_bustype = I2C set baro_i2c_device = 1 set gyro_1_bustype = I2C set gyro_1_i2cBus = 1
Bilgilendirme için teşekkür ederim. inav STM32F411CE için ve mpu6050 (i2c) desteğinin kaldırıldığını biliyorum. Yakında Betaflight da kaldıracak dediğiniz gibi. STM32F411CE pyhton programlamayı desteklediği için uzun zaman önce almıştım ve üzerinde 8MBlık spi flash mevcut. Elimde GY-91 (MPU9250 ve BMP280 Barometre bir arada) sensör var ama aynı anda hem mpu9250 ve hem bmp280 i spi üzerinden haberleştiremedim.
GY-86 da verdiğiniz komutlar benim için çalıştı. özellilkle CLI den aktif edince sensörler otomatik tanınıyor set gyro_1_bustype = I2C set gyro_1_i2cBus = 1
Jiroskop ve İvme sensörleri için artık SPI arayüzü kullanmak şart
Bir kaç tane GY-91 aliexpress'ten aldım ama sahte çıktı. Üzerinde MPU6500 ve BMP280 var. Pusula eksik. Sizde MPU9250 veriyor mu? yani INAV bu sensörü MPU9250 olarak görüyor mu?
inav7 de tekrar denemedim ama betaflightta çalışıyor inavda ilk mesajda belirttiğiniz gibi deneyeceğim tekrar. Betaflightta: Gyro MPU9250 Acc MPU9250 MAG AK8963 olarak görünüyor. Bende aliexpresten almıştım.
Pusula eksik değil I2C bağlantısında varsayılan ayarlar ile direk olarak göremezsiniz. Çünkü mpu sensörüne slave olarak bağlı. aşağıdaki resimde de göreceksiniz pusula için mpu adresi üzerinden (0x68) ilgili 0x37 adresine 2 yazıyorum buda ana hatta bağlamak için bypass oluşturuyor bu satırdan sonra i2c scanner yaparsanız 3 adet adres çıktığını görebilirsiniz.
Aslında sensör MPU9255, pyton ile WHO_AM_I 0x75 adresini hex olarak okuduğumda 0x73 değerini veriyor
https://github.com/iNavFlight/inav/blob/master/docs/assets/images/Blackpill_F411.png INAV da spi1 MPU için tanımlanmış Benimde spi1 de 8MB spi flash var. Onun için özel derleme yapmak gerekiyor. CLI kısmı açılsa oradan değiştirebilirm belki ama flashladığımda pc bile görmüyor.
Tekrardan derleyip durumu burada paylaşırım
Malesef Inav için yaptığım veya hazır olan hex dosyalarını karta yüklediğimde usb tanınmıyor. Betaflight 4.5.0 için Barometreyi ayarlayamamıştım. Şimdi GY-91 tam bir şekilde çalışıyor. Ekran görüntüsünden sensör bilgilerine bakabilirsiniz.
Betaflight 4.5.0 için CONFIG.H dosyası bu şekilde Belki INAV için işinize yarayabilir.
// UART & I2C
// MOTORLAR
// KUMANDA
// LED ve SERIT LED
// SPI BAGLANTI
// BLACKBOX
// ADC
// DSHOT //#define DEFAULT_DSHOT_BURST DSHOT_DMAR_ON
// PINIO PIN
// TIMERS & DMA
TIMER_PIN_MAP( 0, PA3 , 3, -1) \
TIMER_PIN_MAP( 1, PB4 , 1, 0) \
TIMER_PIN_MAP( 2, PB5 , 1, 0) \
TIMER_PIN_MAP( 3, PB6 , 1, 0) \
TIMER_PIN_MAP( 4, PB7 , 1, 0) \
TIMER_PIN_MAP( 5, PB3 , 1, 0) \
TIMER_PIN_MAP( 6, PB10, 1, 0) \
TIMER_PIN_MAP( 7, PA2 , 2, 0) \
TIMER_PIN_MAP( 8, PA8 , 1, 0)
Betaflight da yeni model oluşturmak kolay. Inav için bunu belki doğru yapamadım bilmiyorum. INAV da yeni model nasıl tanımlıyorsunuz ? Betaflight da configs klasörünün içine yeni bir klasör oluşturarak içinede config.h dosyası oluşturuyorum make KARTADI deyince bir sorun yoksa hızlı bir şekilde hex dosyasını oluşturuyor. Inav biraz karışık geldi bana
CMakeLists.txt Dosyasında 25MHZ kristal tanımlaması var mı? eğer yoksa saat hızı doğru ayarlanamadığı için USB için gerekli 48MHZ ayarlanamadığı için USB desteği olmayacaktır. Onun dışında başka bir değişiklik yok.
target_stm32f411xe(STM32F411CE HSE_MHZ 25 SKIP_RELEASES)
Bendeki GY91 modüllerini test ettim, hepsi maalesef sahte. Aliexpress te Aldığınız yerin linki varsa paylaşabilir misiniz. Almak isterim.
İnav yeni hedef nasıl oluşturuluyor bulamadığım için BLACKPILL_411 hazır bir kart üzerinden değişiklik yapmıştım belki ordan bir sıkıntı çıkıyor. Betaflight gibi dökümantasyonları yok. target_stm32f411xe(BLACKPILL_411_BLACKBOX HSE_MHZ 25 SKIP_RELEASES) tanımlaması mevcut
Aliexpress mağazası boş görünüyor ama satıcı aynı https://www.tztstore.com/goods/show-5620.html
target.h ve target.c dosyalarınızı sıkıştırıp gönderin. Bir bakayım.
Bu arada derlediğim hex dosyasını yükleyin. Şemadaki SPI2 bağlantılarına göre GY-91 bağlayacaksınız. Ayrıca ek olarak barometre için CS pini PC15 olacak. inav_7.1.0_STM32F411CE.zip
Bu hex dosyasında sadece jiroskobu gördü. ayarlardan manuel olarak hepsini otomatik yaptım. sensörü tam algıladı. Gönderdiğiniz hex dosyasını flashladıktan sonra usb de otomatik olarak algılandı. Sorunsuz. Sensör bağlanmadan inav programı karta bağlanmıyor :) Dediğiniz gibi sensörü takınca connect oluyor. SPI FLASI algılamadı. Benim kullandığım ayarları ekliyorum. rica etsem bu son çalışan ayarlarınız paylaşabilir misiniz? BPMYDRONEV1.zip
Dosyalarınızda değişiklik yaptım. Derleyip test edebilirsiniz. BPMYDRONEV1.zip
INAV dan resmen nefret ettim derlemesi Betaflighta göre çok yavaş ve uzun sürüyor. Ama daha stabil ve geliştirilmiş. Son versiyonda tanımlama özelliklerinde baya değişiklik olmuş. İkisinde de nasıl sıfırdan anakart oluşturacağımı uzun uğraşlar sonucunda sizinde yardımınızla çözmüş bulunmaktayım. Bağlantılarda veya USB kablosunda bir temassızlık olduğunda otomatik olarak DFU moduna giriyor. (INAV için) Betafligth şuan daha sorunsuz gibi görünüyor, INAV için biraz daha beklenebilir. INAV derlerken beni deli ediyor aşırı yavaş kalıyor. Betaflight 1dk da derleniyor ve ayarlar sorunsuz geliyor. Inavda birçok eski özellikler desteğini yitirmiş durumda şuan 7.1.0 da ppm bile yok. Betaflight 4.5.0 da mevcut. DIYDRONE_V1.zip sizden önce bu dosyayı derlemiştim ve şuan GY-91 sensörü için çalışıyor INAVda :) WeAct STM32H743 bu kartın siparişi verdim Linki Burada https://tr.aliexpress.com/item/1005006632336183.html 480 MHZ çalışma hızı, 2MB Programlanabilir Hafızası 8MB extra SPI flashı ve hafıza kartı için dahili yeri mevcut. bu kart içinde uygun konfigürasyonlar ayarlanabiliyor, uçuş kontrol kartı almaktan daha uygun fiyata geliyor hem. Henüz uçuş denemesi yapmadım. Büyük bir ihtimal yeni kart geldiğinde deneme yapacağım. Yardımlarınız için teşekkür ederim.
Merhaba Rıza Bey, inav_7.0.0_STM32F411CE_HEX dosyasını yüklediğimde mavi led 2 kez yanıp söner ve durur. İnav tarafındanda tanınmıyor. Betaflight kısmında sorun yok.
GY-86 sensörüm mevcut. GY-87 ile aralarındaki tek fark barometrenin farklı olması. İnav da aynı konfigurasyonlar ile hex dosyasını oluşturamıyorum. mpu6050 inav5.1.1 den sonraki sürümler de kaldırılmış sadece spi olarak kullanılabiliyor. Betaflight içinde durum aynı. yapmış olduğun veya sonradan eklediğin dosyalarıda paylaşbilir misin? betaflightta GY-87 sensörünü I2C üzerinden nasıl yapılandırdın. config.h dosyasını paylaşabilir misin?
BETAFLIGHT 4.5.0 için aşağıdaki gibi yapılandırdığımda sadece MS5611 Barometre sensörü gözüküyor İvme gyro ve pusula sensörlerini bulamıyor.
define USE_GYRO
define USE_GYRO_MPU6050
define USE_ACC
define USE_ACC_MPU6050
define USE_MAG
define USE_MAG_HMC5883
define USE_BARO
define USE_BARO_MS5611
// UART & I2C
define USE_I2C
define I2C1_SCL_PIN PB8
define I2C1_SDA_PIN PB9
define UART1_TX_PIN PA9
define UART1_RX_PIN PA10
define UART2_TX_PIN PA2
define UART2_RX_PIN PA3
define SOFTSERIAL1_TX_PIN PB3
define SOFTSERIAL1_RX_PIN PB10
define BARO_I2C_INSTANCE (I2CDEV_1)
define MAG_I2C_INSTANCE (I2CDEV_1)