Naze32 - Elektriksel kablolama ve ayarlar, Cleanflight / Baseflight

Zafer ŞAHİN

Mahna Mahna ...
Katılım
29 Ağu 2013
Mesajlar
1,313
Tepkime puanı
2,193
Yaş
47
Konum
İstanbul
İlgi Alanı
Multikopter
Arkadaşlar merhabalar,

Naze32, varsayılan ayarları ile bile, rahatlıkla konforlu bir uçuş yapabileceğiniz bir kart olmasına rağmen, özellikle Baseflight ve Cleanflight yazılımlarının gelişmesine bağlı olarak, eklenti(bluetooth, osd, gps, telemetry v.b.) kullanmak istediğimizde, uğraştırıcı olabilmektedir. Ben de kart ile ilgili yaşadığım sorunları, bulabildiğim çözümleri, çözümünü bulamadıklarımı :) bu konu altından paylaşmak istiyorum. Naze32, Cleanflight ya da Baseflight'ın dokümanında açıkça belirtilmiş şeyleri burada tekrar etmeyeceğim. Ama anlaşılması zor ve sıkıntılı konuları elimden geldiğince belirtiyor olacağım.

- Giriş, Temel ve gelişmiş elektronik yerleşim.

- Cleanflight ve Baseflight hakkında...

- Telemetri kullanımı ve seri portlar.


Naze32'de firmware olarak en başta Baseflight kullandım. Baseflight, kolay anlaşılan ve kolay konfigüre edilebilen bir arayüze sahip. Fakat pilotaj konusunda hiç bir iddiam olmamasından dolayı, özellikle OneShot gibi, daha seri uçuşlara olanak sağlayan özelliklere ihtiyacım olmasa da, Cleanflight yazılımını incelemeye başladım ve öncelikli olarak tek bir sebepten dolayı Cleanflight yazılımını kullanmaya başladım. Cleanflight'ın desteklediği "Adressable LED Strip" özelliği sayesinde, görsel olarak uçuş modları ve modelinizin durumu hakkında geri bildirim alabiliyorsunuz. Özellikle kartın "ARM" olup olmadığının ledler vasıtası ile bildirilebiliyor olması, kendi adıma güvenlik açısından faydalı bir özellik. Çünkü her kartın varsayılan, "ARM" etme yönergesi birbirinden farklı olabiliyor ve benim gibi az uçuş yapıp çok kart deneyen biri iseniz, komutları karıştırabiliyorsunuz :) .

Tablet üzerinden PID ayarı yapmak için'de BLUETOOTH modülü ekledim.

Ayrıca Pil voltajını görmek için ise Naze32'nin desteklediği FrSky telemetry özelliğini kullandım.

Bir çok farklı uyarıyı destekleyen buzzer de olmazsa olmazlardan zaten :D.

Yukarıdakilerin ışığında 250 quadımdaki elektriksel kablolamayı nasıl yaptığımı paylaşayım. Aşağıdaki çizim bana ait ve şu anda quadımdaki(suya düştüğü için yanmış olan VTX dışında :( ) aktif elektriksel yapıyı gösteriyor.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Elektriksel yükü dengeli olarak dağıtabilmek için ise her ESC'nin BEC'ini farklı bir bileşeni beslemek için kullandım. (-) hattı tüm bileşenlerde ortak olsa bile, dönen akımın gereğinden fazla devre üzerinde dolaşmasını engellemek için, mümkün olan her bileşeni tekrar (-) hattına bağladım.

Çizimde de görülebileceği üzere, D4R alıcının bağlantısını yapmak için 2 kablo(toprak ve RC1 sinyal ucu) kullanmış durumdayım. PPM ya da CPPM bağlantısı kullandığım için bu iki kablo yeterli oluyor. Ama aşağıdaki mesajlardan göreceğiniz üzere, FrSky alıcılarda frame rate ile ilgili bir sorundan dolayı dikkatli olmak gerekiyor. CPPM modda kullanılacaksa, ya maksimum 6 kanal kullanılması ya da 27ms firmware yüklenmesi gerekiyor.



Gelenksel olarak tüm kanallara ayrı kablo yani PWM olarak kullanmanın özellikle ufak quadlarda hiç bir gerekçesi ya da faydası yok. Dolayısı ile yazı boyunca, aksi bri durum olmadıkça hep CPPM olarak bağlantı üzerinden gideceğim.

WS2812 LED'ler için RC5 sinyal ucunu kullandım. Ve de 2.motora ait ESC'nin BEC devresinden beslemeyi aldım. Her bir WS2812 LED, 3 adet RGB LED'den oluşuyor. 4 adet WS2812 kullandığım için teorik olarak 12 tane LED'i beslemeye yetecek kadar akıma ihtiyacım vardı. Ve ayrı BEC, bence en sağlıklı çözüm.

Buzzer olarak 5V'luk aktif (kendinden devreli) buzzer kullanmak gerekiyor. Pasif (devresiz) buzzer kullanırsanız, "tık" sesinden başka bir ses alamazsınız.

LC filtre olarak kendi yaptığım ve aşağıdaki mesajımda bahsettiğim filtreyi kullanıyorum. Filtresiz olarak test henüz yapmadım ama şu hali ile gayet temiz görüntü aldım.


Bluetooth modülü olmazsa olmaz bir modül değil. Hatta Cleanflight'ın "In Flight Adjustment" özelliği sayesinde artık gereksiz bile sayılabilir. Ama Baseflight kullanmaktan gelme bir alışkanlıkla hala orada duruyor :) . Fakat artık gitmesi lazım, devri kapandı onun :D .

FrSky telemetri özelliğini varsayılan hali ile rahatlıkla kullanabiliyorsunuz. Ama ... Ama kısmı biraz uzun. O konuya sonraki mesajlarda değineceğim.

Ama alıcımı takayım ve hemen uçayım diyorsanız yapmanız gereken aşağıdakinden ibaret. Tabii Cleanflight arayüzünde(ya da Baseflight) PPM olarak seçmeyi de unutmayın.
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
 
Cleanflight ve Baseflight

Bu mesajda biraz Cleanflight ve Baseflight'tan bahsetmek istiyorum.
Cleanflight :
Baseflight :

Baseflight, 8 bitlik atmel işlemcilerde çalışan multiwii kodunun, 32 bitlik STM işlemcilerde çalışması amacı ile "güncellenmiş" ya da diğer bir deyişle "port" edilmiş bir versiyonudur. Baseflight-configurator isimli bir GUI ile beraber geliştirilmektedir. Bu da onun kullanımını ve güncellenmesini son derece kolay bir hale getirmiştir. Açık kaynak kodlu bir proje olarak ortaya çıkmış olmasına rağmen, Cleanflight geliştiricisi olan Dominic "HYDRA" Clifton ile olan sürtüşmelerden dolayı artık yarı açık kaynak kodlu olarak geliştirilmektedir.

Cleanflight ise Baseflight kodu kullanarak gelirştirilmektedir ama "daha temiz kodlanmış", "ek özelliklerle geliştirilmiş" bir sürüm olduğu söylenmektedir. Uçuş açısından bakıldığında, kullanıcılar pek bir fark olmadığını söylemektedirler. Açık kaynak kodlu olarak başlamış ve o şekilde devam etmektedir.

Kendi açımdan, kısa bir değerlendirme yapmak istersem.

Baseflight
Artıları
* Daha basit, yeni başlayanlar için anlaşılması ve kullanılması daha kolay.
Eksileri
* Geliştiricileri olan timecop ve cTn-dev, pek de mülayim insanlar değiller. İlginç bir şekilde açık kaynak kodlu bir ürün çıkarıp, sonrada bu ürün başkası tarafından kullanılınca savaş ilan ediyorlar. Bu da Baseflight'ın geride kalmasına yol açıyor.
* Hala ücretsiz olmasına rağmen artık açık kaynak kodlu değil. Hatta bazı platformlarda, "açık kaynak kodlu olmayan bir şey isteseydik, DJI NAZA alırdık" şeklindeki eleştirilerede maruz kalıyor.

CelanFlight
Artıları
* Kullanıcılar tarafından istenen bir çok özellik aktif olarak geliştiriliyor. "Autotune", "In Flight Adjustment", "LED Strip", "ONEShot" gibi Baseflight'ta hiç olmayan özelliklere sahip.
* Geliştiricisi olan Dominic Clifton, daha mülayim yapıda ve isteklere daha açık bir insan.
* Yeni başlayanlar için çok farketmese de, deneyimli kullanıcılar, PID profilleri sayesinde daha iyi uçuş hissiyatı yakaladıklarını belirtiyorlar.
* Dökümantasyonu, belirgin bir şekilde daha iyi.
* Baseflight'dan çok daha fazla kartı(CC3D, CJMCU, Flip32+, Naze32, Sparky, AlienWii32, STM32F3Discovery, Port103R, EUSTM32F103RB, Olimexino, Naze32Pro, STM32F3Discovery with Chebuzz F3 shield) destekliyor.
Eksileri
* Hızlı geliştiriliyor olmak, aynı zamanda bir dezavantaj. Önceki sürümde var olan özellikler, yeni sürümde aniden değişip farklı bir format kazanabiliyor.
* Yeni başlayanlar için, Baseflight'e göre biraz daha karmaşık ve anlaşılması zor gelebilecek özellikler barındırıyor.

İster Baseflight, ister Cleanflight kullanıyor olun, bir özelliği kurcalamak istiyorsanız beraberinde Naze32'nin dökümantasyonunuda iyice okumanız gerekiyor. Naze32, temel kullanımı kolay olsa da ayrıntılar konusunda kafa karıştırabiliyor.
 
Telemetri kullanımı ve seri portlar

Naze32 kartının faydalı özelliklerinden birisi de FrSky Telemetry protokolüne verdiği doğrudan destektir. Normal şartlarda, Naze32 ve D4R benzeri telemetri destekli bir alıcı kullandığınız takdirde tek yapmanız gereken, Naze32'nin telemetri pinlerine, D4R'den gelen kabloyu bağlamak ve, GUI üzerinden (hem Baseflight hem de Cleanflight tarafından destekleniyor.) telemetri özelliğini seçmekten ibaret...

D4R içinden çıkan telemetri kablosunda, yeşil(rx sinyal ucu) ve siyah(tüm elektriksel altyapıda ortak olan eksi uc) ucların kullanılması yeterli oluyor. Diğer kabloları bir topluiğne yardımı ile konnektörden sökebilirsiniz. Kablonun diğer tarafına standart bir servo ucu eklerseniz, Naze32'ye doğrudan takabileceğiniz bir kablonuz olmuş olur. Naze32 dökümantasyonunda, 3. sayfada 5 numara ile, FrSky telemetri bağlantı ucları gösterilmiştir.
[attachimg=1]

Aşağıdaki resimde, benim yaptığım bağlantıyı görebilirsiniz. Servo konnektörü yerine, elimde bulunan 2 pinli dupont konnektörlerinden kullandım.
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Naze32'yi varsayılan telemetri yapılandırması ile kullanırken, "ARM" etmeden telemetri bilgilerini göremiyorsunuz. Bu bir sorun değil aslında ama "ARM" edilmesi gerektiğini bilmeyenler, telemetrinin çalışmıyor olduğunu sanabiliyorlar. SoftSerial üzerinden telemetri kullanırken, "ARM" etme zorunluluğu bulunmuyor.

Naze32 kartı üzerindeki, özellikle bluetooth v.b. seri iletişim protokolleri için ayrılmış olan RX, TX pinleri(UART1), telemetri pinleri ile paylaşımlı olarak kullanılır. Telemetri özelliği aktifse, kartı "ARM" ettiğiniz anda seri iletişim kesilir ve Telemetri özelliği devreye girer. Eğer benim gibi, bluetooth ya da benzeri seri iletişim ile çalışan bir eklenti (GPS, serial RX v.b.)kullanmayı düşünüyorsanız, bu durum pek de kabul edilebilir olmaz. Ya telemetri özelliğini, ya da seri iletişim özelliğini farklı pinlere aktarmanız gerekir. Hem Naze32, hem de Cleanflight/Baseflight bu iki durumu da destekliyorlar. Bu yazının konusu Telemetri olduğundan dolayı, Telemetri özelliğini faklı pinlere aktarma özelliği üzerinden devam edelim.

Fakat burada bir not düşmek gerekiyor. FrSky telemetri protolünde sinyal, "ters çevrilmiş olarak" iletilir ve okunur. Dolayısı ile sinyal ya donanımsal "inverter" ile ters çevrilmeli, yada "SoftwareSerial" özelliği ile yazılımsal olarak ters çevrilmelidir. Naze32 kartının varsayılan telemetri pininde, donanımsal bir çevirici olduğundan dolayı, ek bir işlem yapmadan, FrSky telemetri sinyalleri alıcıya gönderilebilmektedir. Sadece Cleanflight yazılımında bulunan destekle, UART2 - RC3 pinide (CPPM özelliğini de aktive etmelisiniz yoksa bu pini kullanamazsınız) FrSky telemetri bilgilerini iletmek için kullanılabilir ama bu pin üzerinde donanımsal olarak bir çevirici bulunmadığından, ek bir "inverter" kullanmadan, bu pinden telemetri verisini okuyamazsınız.

Yukarıdaki bilgilerin ışığında belirtmekte fayda var. Telemetri bilgileri, seri olarak iletilir ve seri iletim portları vasıtası ile alıcıya ulaştırılabilir. Naze32 kartı üzerinde 3 adet donanımsal seri iletişim portu bulunmaktadır.

- UART1 - Şemadaki 8 numaralı pinlerdir. Üzerinde donanımsal "çevirici" olan 5 numaralı FrSky telemetri pinleri ile paylaşımlı olarak kullanılmaktadır.
- UART2 - Şemadaki 3(TX) ve 4(RX) numaralı RC Input pinleridir. Bu pinlerin serbest kalabilmesi için alıcının CPPM ya da SBUS modunda kullanılması gerekmektedir. Sadece Cleanflight tarafından desteklenir.
- UART3 - Bu kısmı ben de tam anlayamadım :). I2C pinleri tarafından kullanılıyor olması lazım. Yani boşta değil ...

UART2'yi ve ek bir donanımsal çevirici kullanmanın pek bir mantığı yok çünkü amaç kablo karmaşasından kaçmak... Eğer kablo karmaşasından kaçmayacak olsa idik doğrudan FrSky'ın basit bir voltaj bölücüden ibaret olan voltaj sensörlerini kullanırdık. O zaman, "SoftSerial" özelliğini kullanmak kalıyor. Son kullanıcı açısından değişen çok bir şey yok ama gene de bilmek isteyenler için belirteyim, normal şartlarda donanımsal olarak ele alına seri iletişim işlemlerinin, CPU gücü kullanılarak yazılımsal olarak farklı bir porta aktarılması işlemi "SoftSerial" özelliği olarak geçmektedir. Cleanflight taraından bu özellik ve bazı kısıtlamaları ile ilgili olarak belirtilmiş döküman gayet açıklayıcı.


Naze32 üzerinde iki tane kullanılabilir "SoftSerial" portu var. 1. "SoftSerial" portu RC6'da, 2. "SoftSerial" portu ise RC8'de bulunmaktadır.
Baseflight CLI üzerinden softserial etkinleştirme işlemi aşağıdaki şekilde gerçekleştiriliyor.
Kod:
feature SOFTSERIAL
Kod:
feature TELEMETRY
FrSky telemetri protokolü, 9600 baud hızı ile iletişim kurar.
Kod:
set softserial_baudrate=9600
Yukarıda da belirttiğimiz üzere FrSky telemetri protokolünde sinyalin çevrilmesi gerekmektedir. Burada çevrim işlemi yazılımsal olarak gerçekleşiyor. Merak edenler için belirteyim, aşağıdaki komut, UART portları üzerindeki donanımsal işlemler için geçerli değil.
Kod:
set softserial_1_inverted=1
Telemetri bilgisi için RC6 pini "1"numaralı telemetri portu'dur. "2" numaralı telemetri portu ise RC8 pinidir.
Kod:
set telemetry_port=1
FrSky protokolünü etkinleştirmek için "telemetry_provider=0" girilir.
Kod:
set telemetry_provider=0

Cleanflight üzerinde komut satırından işlem yapmak pek mantıklı değil çünkü "serial_port_functions" parametresi, birden çok özelliği etkinleştirmişseniz çok kafa karışıtırıcı olabiliyor, o sebeple GUı üzerinden konfigürasyon yapmakta fayda var. Ama gene de yukarıda da belirttiğimiz üzere FrSky telemetri protokolünde sinyalin çevrilmesi için aşağıdaki komutun girilmesi gerekiyor.
Kod:
set telemetry_inversion = 1

Telemetri bilgisi için RC6 pini "1"numaralı softserial portu'dur. "2" numaralı softserial portu ise RC8 pinidir.
[attachimg=2]

[attachimg=3]

Bu şekilde SoftSerial üzerinden Telemetri bilgisini okuduğumuzda hem kartı "ARM" etmeye gerek kalmıyor, hem de diğer modüllerin iletişimi engellememiş oluyoruz. Peki, SoftSerial portlarını kullanan WS2812 LED desteğini etkinleştirmek isediğimizde ne olacak ? Tabii ki bu durumda en başa yani varsayılan telemetri pinlerine geri dönmek en mantıklısı ama telemetri pini için anahtar ataması yaparsanız, sadece sizin kontrolünüzde olmak üzere Telemetri devreye girer. O da başka bir mesajın konusu olsun ;) ...
 

Ekli dosyalar

  • naze32-rev3-conn.png.png
    naze32-rev3-conn.png.png
    139.4 KB · Görülme: 1,170
  • softserial-telemetry-01.png
    softserial-telemetry-01.png
    25.5 KB · Görülme: 1,116
  • softserial-telemetry-02.png
    softserial-telemetry-02.png
    22.5 KB · Görülme: 1,185
Naze32 - Elektriksel kablolama ve ayarlar

Yine sahane bir konu, yine sahane aciklamalar. Ellerine saglik Zafer Hocam :RCKolik:
 
Naze32 - Elektriksel kablolama ve ayarlar

Zafer bey guzel bi baslangic olmus tam olarak goremedim kumandaniz nedir ledstrip yaptinizmi bilmiyorum
birincisi led strip yapmak icin kullanacagimiz led oyle sradan bi led degil rgp bi led ama bu yine bildigimiz rgp degil
w2812 olmasi lazim biyle bir koda sahip led yani programlanabilir bi led
ikincisi ise kumandamizin ve alicimizin ppm destegi olmasi lazim zira naze 32 ye led i baglarken rc5 kanalinin bos olmasi lazim
satalite kullanarak ucan arkadaslar olacaktir bundada rc5 kanalimiz bos ama satalitede led stribi desteklemiyor spektrum kumandalarla
yapilabiliyor ama orange alici ile yapabiliyoruz kendi alicisi ile yine olmuyor
siz farkli bi sekilde yapti iseniz paylasirsaniz sevinirim
 
Naze32 - Elektriksel kablolama ve ayarlar

Mehmet bey, yazı biraz yarım kaldı ama RC5 e bağlı WS2812 resimde gözüküyor olması lazım.
 
Naze32 - Elektriksel kablolama ve ayarlar

Teşekkürler Zafer bey tam da yeni bir quad toplamaya karar vermişken işime çok yarayacak. Gerçi değerli dostumuz Serdar Bey yardım edecek ama öğrenmek de gerek.

Eğitim şart Hocam. :saygilar:
 
Naze32 - Elektriksel kablolama ve ayarlar

Eline sağlık Zafer hocam. :thumbup:
 
Naze32 - Elektriksel kablolama ve ayarlar

Ben resmi detayli incelememistim evet resimde baglantisi gosterilmis siz led strip yaptinizmi peki
 
Naze32 - Elektriksel kablolama ve ayarlar

4 WS2812 kullanarak bir "Strip" yaptım. Renk kodları beklediğim gibi çalışmasa da sonuçlar en azından kendi adıma gayet tatmin edici. Videosu şu mesajımda var.


Renk olarak parlak yeşil ayarlamış olmama rağmen, ilk açılışta turuncu/sarı gözüküyorlar.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


En dıştaki LED'ler "ARM" durumunu gösteriyor ve beklediğim üzere "MAVİ" renkli.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Ama bir türlü, tam olarak seçtiğim renklerin yanmasını sağlayamadım. Bu arada ledleri Arduino ile test ettim. Ledleri Arduino ile tam istediğim renkte yakabiliyorum. Ya Cleanflight yazılımında bilmediğim bir şeyler var ya da yazılımda henüz eksik bazı noktalar var.
 
Naze32 - Elektriksel kablolama ve ayarlar, Cleanflight/Baseflight

Yazıyı biraz daha toparlama fırsatım oldu ...
 
Naze32 - Elektriksel kablolama ve ayarlar, Cleanflight/Baseflight

Zafer abi ellerine sağlık çok emek veriyorsun gerçekten ve karşılığında böyle harika konular çıkıyor. :thumbup:

Eminim eksiklikleride yakın zamanda giderirsin. Kolay gelsin.:saygilar:
 
Naze32 - Elektriksel kablolama ve ayarlar, Cleanflight/Baseflight

Yazı baştan sonra yine harika olmuş Zafer Hocam ama özellikle ne zamandır merak ettiğim "Baseflight" ile "Cleanflight" kıyaslaması en dikkatimi çeken kısım oldu. Ellerine sağlık :halay:
 
Telemetri ve seri portlar hakkında da yazı eklendi. Biraz sıkıcı ve uzun bir konu oldu ama yapacak çok da bir şey yok :D . Konuyu sıkılmadan okumayı başaran herkese sürpriz hediyeler, mesela çukulata versek mi acaba :D.
 
Zafer SAHIN' Alıntı:
Telemetri ve seri portlar hakkında da yazı eklendi. Biraz sıkıcı ve uzun bir konu oldu ama yapacak çok da bir şey yok :D . Konuyu okumayı başaran herkese sürpriz hediyeler, mesela çukulata versek mi acaba :D.

Zafer hocam bu yazdıklarının yarısını anlasam ve ben sana bir yemek ve ardına bir kilo baklava ısmarlasam nasıl olur.... :D...Forumun dehasısın başka ne diyeyim... :bravo: :saygilar: