OZKFLYH7T Drone/Fpv Kontrolcü Kartı Tasarımı

 Merhaba arkadaşlar nasılsınız umarım keyfiniz yerinizdedir.

Uzun bir zaman önce öğrenci lisansım üzerinden Eagle Cad ile tasarladığım drone kontrolcü ana kartını sizlere tanıtayım. 


Tasarıma nereden başladım 

Bu kart 4 katmanlı, iki programlanabilir mikrokontroller içeriyor. Aşağıda paylaştığım blok şemasını hazırladım bu şemada ilk başta hangi komponentleri, entegreleri belirleyeceğim bir ön adım oldu.  

Kartı tasarlamadan önce literatür araştırması yaparak dronlar için nelere sahip olmalısınız, hangi soruları sormanız gerekir ve en önemli detay kart tasarlarken ve şematik ile uğraşırken nelere dikkat etmeliyiz biraz değinelim. 

Şematik kısmı tamamen blok şemasına bağlı olmak zorunda değil doğrudan blok şemanız devre kartı için gerekli olan yolları belirleyen ve hatta devre kartının navigasyonu olan şematik kısmı önemlidir zamanında proteus üzerinden şema tasarlamadan doğrudan pcb çizdiğim yöntemlerde oldu mesela bir anten çiziyorsanız doğrudan cad programının Pcb uygulaması ile çalışabilirsiniz. Tercihim olarak bütünlük ve hiyerarşik olarak çalışmak avantaj sağlar.

Pcb de dikkat edilmesi gerekenler

Devre kartında sinyal işleme yapıyorsanız burası sizin için daha önemli olacaktır drone kontrolcülerinde genelde bazı protokoller üzerinden rc kumanda sinyallerini çözmek, çevresel sensörlerin okunma işlemi, veya harici cihazlar ile haberleşmek; mesela video transmitter entegreleri, motor çıkışlarınınn belirli portokoller ile haberleşmesi sırasında; pwm sinyalleri, zamanlayıcı tabanlı yüksek sinyaller örneğin yüksek frekanslarda çalışan (100 Mhz) acelerameter ve gyro imu sensörleri veya barometre, çoğu uart üzerinden çalışan gps sinyalleri (9600Kbs) bu sinyal hatları dijital olduklarından gürültüden etkilenmeleri sinyallere bozucu etki yaratır dikkat edilmesi gerekilen önemli adımlardan biridir pcb sinyallerinin empedans uyumlamasına dikkat ederek dizaynı gerçekleştirmek faydalı olacaktır. 

Şu şekilde örnek ile açıklayalım; yüksek frekans bandına doğru yaklaştıkca bakır bir bobin gibi davranarak sinyalin enerjisini düşürür ve hattın sonunda düşük gerilimli sinyal görürüz ve işimize yaramaz belirli bir threshvolt altında mikrokontroller sinyali tanımaz. Yüksek frekansın bakır ile iletimi sırasında dış etkilerden bozulmasıda aynı tepkiye yol açar burada Emi ve Emc kurallarını dikkatlice okuyup pcb üzerinden uygulamak önemli bir adım olur. Düzeltmek için empedans uyumu ve bakırı bir bobin gibi sarmal yapıdan geçirerek sinyalin hızlanmasını sağlarız ve enerjisini koruruz.

Yukarıdaki yazının doğrulayıcı formülleri ile beraber ai'nın incelemesi ve ön görüşü ile ilgili yazıya buradan ulaşabilirsiniz.

Tespitiniz tamamen doğru ve yüksek frekanslı elektronik tasarımın (RF ve hızlı dijital sinyaller) en temel problemlerinden birini özetliyor. Düşük frekanslarda mükemmel bir iletken gibi davranan düz bir bakır yol (PCB trace), frekans 100 MHz, 400 MHz veya gigahertz seviyelerine çıkmaya başladığında karmaşık bir direnç, indüktör ve kapasitör ağına (RLC devresi) dönüşür.

Bu durumun arkasındaki temel fiziksel mekanizma Yüzey Etkisi (Skin Effect) ve İletim Hattı Kayıplarıdır. Sinyal zayıflamasını ve bu durumu doğrulayan grafiği aşağıda inceleyebilirsiniz:



Empedans Uyumu (Impedance Matching) Enerjiyi Nasıl Korur

Yüksek frekanslı devrelerde sinyal enerjisinin kaybolmadan kaynağa (çıkış) ulaşması için hattın (PCB yolu) empedansı ile yükün (hedef çip veya anten) empedansının eşit olması gerekir (Genellikle 50 Ohm). Eğer uyum olmazsa, sinyal yükten geri yansır ve enerji kaybolur. Bu durum Yansıma Katsayısı  formülü ile ispatlanır:


Yüsek akım,  frekans, sinyallerinde empedans uyumlaması, dijital hatlar ile analog hatların return loss veya crosover current gibi ingilizce terimleriyle beraber akım döngüleri ve sinyallerin birbirine gürültü bildirmemesi için çoğu pcb tasarım kriterlerine aşina olmak gerekir. Doğrudan pcb tasarımında dikkat edilmesi gerekilen kurallar Emc, Emi gibi elektronik terimlere bir sonraki blog yazımızda değinelim.

Elektronik bilgisi konusunda yeterince tecrübe edinmek istiyorsanız detaylı olarak çalışma ve pratik gerçekleştirmeniz sizin için uygun olacaktır. 

Blok Şema: Kontrolcüde komponent seçimi

Blog şeması ozkflyh7t

Yukarıdaki blok şemasını draw.io ile tasarlayıp işe koyuldum, görüldüğü gibi sağ üstte güç dağıtımı için bir blok var bu drone bataryası ile usb voltaj hattını birbirinden ayıran step down/up gibi anahtarlı dc dc düşürücü/yükseltici devreleri ile istediğimiz voltajları sabit bir şekilde yüksek akıma dayanıklı entegreler seçerek ve anahtar frekansını devrenin rezonas  frekansını etkilemeyecek ve devreye gürültü yaymadan (pcb tasarımında dikkat edilir) tasarlıyoruz. Genelde pcb üzerinde de blok halinde bir güç hattını diğer sinyal hatlarından ayırı bir konumda çizeriz.

Pcb terimleri: Stackup

Pcb de stackup devrenin yandan görünümünün 3 boyutlu hali olarak düşünebiliriz burada kaç katmanlı bir devre kartı tasarlıyorsak bu bizim stackup için bir katman sayısı olacaktır ve burada katmanları hangi gruplar halinde görmemiz gerektiği yine pcb konusudur örneğin devre kartının daha az gürültülü ve sıcaklığı dağıtan sinyal hatlarının  empedansını bozmacak şekilde uygun bir seçim yapılır genelde şu şekilde bir yol izlenir. 



1. Katman genelde sinyal katmanı olarak seçilir bu devre komponentlerin olduğu en üst katmandır mesela gnd veya power poligonu olmayan yüzeylerde sinyaller biribirine 5mil uzunluğundan daha kısa olmamak kaydı ile sinyalizasyon işlemleri yapılır.

2. Katman çoğunlukla GND power katmanı olur bu üst yüzeydeki sinyallerin yansımasını düşürür burada FR4 mazeme ile devre kartı üretiliyorsa Er dielectrik kat sayısı ile devrenin empedansını ayarlarsınız 

3. Katmanı power yani yüksek voltaj katmanı olarak belirleriz bu üst katmandaki GND yüzeyi ile doğrudan kapasitif bir alan oluşturarak büyük bir kapasite gibi davranıp devrenin genel olarak gürültüsünü azaltır ve empedansı korur.

4. Katman çoğu durumda 1. katman gibi davranırız.

Hangi step up ve step down entegreleri uygun olur



Katologdan seçer gibi internet üzerinden gerekli elektronik komponent distrübitörlerinden ilgi alanınıza uygun bir seçim yapılabilir mesela 2amper çıkış sağlayabilen 1mhz anahtarlama frekansına sahip dahili mosfetli dc dc düşürücü entegresi ile gerekli feadback hesabını yaparak istediğiniz voltajda çıkış alırsınız genelde dc dc step down entegrelerinin Ldo ya göre yüksek efficiency değeri vardır. Dc/dc konverter dönüştürülerinin yüksek verimli olması ve giriş voltaj aralığının yüksek olması sayesinde 22.4Volt 6S bataryaların 5volt dönüşümü yüksek verimle sağlanır. 

Ldo giriş/çıkış voltaj farkının az olduğunda avantaj sağlar ve daha temiz voltaj çıkışı alırsınız bu yüzden sensörlerden önce Ldo tercih edilebilir.  Dc/dc -> Ldo -> Sensor, haritası çoğu zaman tercihimiz olabilir burada dc dc nin anahtarlama frekansı ile ldo dropout süresi datasheet ile kontrol edilir.

Efficiency (verim), güç devresinden çektiğiniz akım ve voltaj arasında bir grafik ile sizlere gösterilir genelde akım ve gerilim arasındaki verimi ve çektiğiniz sürekli güce karşı entegrenin gerçek gücünü size gösterir en önemli kısım drone gibi bir kart tasarlıyorsanız seçeceğiniz entegrenin akım ve kısa devre (uvp, ovp) gibi terimlerine dikkat ediniz küçük bir toz parçası entegrenin kısa devre olmasıyla devreyi patates edebilir.


Tasarım aşaması


Bu devre kartı fpv drone uçuş araçlarının gereksinimi karşılamak üzere betaflight yazılımı düşünülerek ve beraberinde diğer kontrolcüler üzeinden ilham alınarak geliştirilmesi sağlandı. 

Kartın dizgi montajını ilgili dizgi hizmeti sağlayan firmalar ile görüşerek sağlayabilirsiniz, Tasarım sırasında, mikrokontroller bga kılıfı olarak seçildi. Kartın yüksek frekansta çalışması yüksek işlem yapabilmesi drone içinde filtreler, sensör füzyon hesapları için gerekli bir ön adım o sebeple Stm32h750  ile devam ettik. 

Tasarım yolunda gitti, blok şeması üzerinden yola çıkarak tasarım öncesi ve sonrası, dizgi işlemleri ve kullanılacak yazılıma kadar çoğu kriterleri düşünerek devam ettik. Cep telefonu üzerinden kontrol edilebilmesi için wifi detekli esp32 kontrolcü seçimi yaparak esp ile stm32'nin spi hattı üzerinden haberleşmek üzere ayrı kumanda bilgilerinin iletilmesi ve msp mesaj protokolünün dublex iletişimi için gerekli veri yollarını yapılandırdık ayrıyeten iyi bir anten tasarımını (pcb iz) devreye ekledim.

Yükseltici anfi ile esp32 nin anten hattını güçlendirerek görüntü aktarımı bile sağlayabilirsiniz burada kritik nokta Stm32 ile haberleşmek üzere betaflight yazılımının desteklediği haberleşme kütüphaneleri/protokolleri üzerinden kendi protokolümüzü burada beta'nın driver katmanında bulunan haberleşme donanımlarından birini (i2c, uart, spi, software com) kullanarak modülü yazabiliriz.



Blok şemasına sadık kalarak entegre seçimleri ve tasarım sırasında uygun filtre kapasitörleri ve Tvs koruma diyotları ekledik daha sonra sinyal hatlarımızı analog hatlarından ayırdık voltaj hatlarının çıkışında ferid bead ekledik yüksek frekanslı sinyallerin doğrudan dc dc entegresine gürültü yapmasını istemezsiniz. Kart 4 katmanlı olduğundan yeterli ısı yayılımı sağlayacağını ve güçlü bir sinyal koruma gibi davranacağını düşündük. 2. katmanı GND olarak seçtik ve devrede yüksek akım taşıyacak hatları belirleyerek bu hatları SaturnPcb programı ile hesapladık. 

Sınırlı akım ile yollar ısınabilir, güç izlerinde yapılacak olan şey bakır kalınlığını hesaplamak ve devrenin toplam akım kapasitesi ile kıyas yaparak düzenlemek. En önemli husus ısınan mazemeler için ground pad'ı doğru yönlendirmek; örneğin, ısınan yollar devreye ayrı bir ısı ekleyerek yüksek sıcaklık sinyal hatlarını ve ana kontrolcüyü etkileyerek gürültüye ve zamanla elektronların azalması ile devre kartının bozulmasına veya yanmasına sebep olabilir her zaman ilk tercihiniz Akım kontrolü ve sinyalizasyon yöntemleri olsun sinyal konusunda yukarıda bahsettiğimiz gibi EMC ve EMI konularına bakın derim.

Lehimleme

Bga da dahil olmak üzere tüm devreyi baştan dizdim arkadaşlar, 5V hattında bir kısa devre sonucu step down entegrelerini lehimlemedim ve bazı kullanilmayan donanim entegreleride lehimlenmedi aşağıda son halini görebilirsiniz.

Hobi olarak lehim yapmak istemiyorsanız bir çok dizgi firması sizin ile çalışarak devrenizi otomatik cihazlarla bir kaç saat içinde tamamlayabilir belkide dakikada bitirebilir ama dizgi işlemi o kadar basit değil  ilgili firmaya bom list ve devrenin gerber dosyalarını göndermeniz ve eksiksiz iletmeniz gerek ve ücretleri de çok pahalı. Zamanında çin menşeili bir pcb üretici firmasında dizgi işlemi yaptırdım burada sık kullanılan kondasatör ve direnç paketlerini ve ucuz bulunan entegreleri seçerek pcb nin bir bölümümü dizgi yaptırdım 60 dolar civarı tutmuştu. Bazı firmalar sadece dizgi için ortalama 20 dolar hatta en düşük ücret olarak 10 dolar isteniyor. Komponentler için dizgi ücretleri ve komponent ücreti istiyor. 

Devre kartının lehimlendiği andan bir video paylaştım özellikle tasarım aşamasında bir kural belirleyin ve öncelikli olarak nerede üretim yapılacağını seçmenizde fayda var, burada devrenin katman sayısı, hangi mazeme fr4 vs substrat ve empedans hesabı firmanın karşıladığı münimum ölçüler ve fiyatlar üzerinden devre bünlüğü için hesaplanacak parametrelerin önceden belirlenmesi sağlanır. Bu pcb nin genel olarak tasarım yollarını ve bütünlüğü etkiler ve ekonomik olarak da düşünmenizi sağlar prototip ürünler için genelde daha önemli oluyor. 

Videonun bir bölümünde üretim aşamasında bir hata olduğunu rapor etmiştim devrenin 5V hattı tamamen kısa devre sebebi viaların olduğundan daha küçük ve kısa seçilmesi oldu. Burada üretimi yapan firmanın aldığı ücret karşılığında belirli ölçüdeki via'ların altında pcb de taşma yapmasına sebep olmuş bu yüzden ilgili firmanın pcb tasarım yeteneklerini göz önünde bulundurarak seçiminizi dikkatli yapın ve drc kuralları oluşturarak tasarım yapmanız önerilir.

Devrenin tasarım aşamasında farklı bir datasheet ve kılıf seçilmesi ile flash entegresinin io portları ters bağlantı sağlanmış bu doğrudan tasarım hatası ve ilk defa tasarlanıp üretimi yapılan bir kartın sadece iki hatalı tarafı olmasına karşın yine devre çalıştı arkadaşlar.

Yazılım Tarafı

H750'nin en önemli kısmı datasheet'de belirttiği gibi 1Mb ram hafızaya sahip olması bu büyük bir avantaj sunuyor betaflight gibi yüksek değişkenli gömülü C yazılımında rahat çalışmasını sağlar, dronun ilk çalışmaya başladığı andan itibaren özel bootloader yazılımındaki bir kopyalama kodu ile 1Mb hafızaya flash içeriği kopyalanır ve o bir kaç ms içinde kod doğrudan H750'nin içerisindeki ram üzerinden çalışır. Kodun ram'e aktarılması betaflight'ın kendi yazılımında mevcut ve bunu otomatik yapıyor. 

Flyh7t için flash hafızanın beta' tarafındaki hazır komutlar üzerinden ram ile çalıştıramadık. Betanın dahili flash driver katmanı bizim tercih ettiğimiz flash çipini desteklemedi bu sorunu yine yazılım üzerinden çözsekde farklı hatalar ile karşılaştık.

Hafıza sorunları başlarda bizim için fazlaca problem oldu eeprom kaydı olmadığında betaflight ruh gibi davranıyor, hatta imu sensörlerini bile görmüyor çünkü ilk başlatma sırasında bazı config ayarları donanımı etkiliyor mesela gyro sensörünün default config de spi ile çalışmasını i2c olarak değiştirmemiz gerekiyordu.

Bu çok önemliydi çünkü ilk başlarda Eeprom adı verilen kalıcı mikrokontroller hafızası H750'de yok o yüzden cli ayarlarını ce config bilgilerinin kaydetme işini doğrudan lehimli (W25Q128B) üzerine yapıyoruz ve kayıt sırasında flash hafızanın programın yazılığı alanı bypass ediyoruz eğer etmezsek programı silebilir. Kodun flash üzerinden çalıştığı zamanda flash'a kayıt edemiyoruz Stm32 deki ram hafıza alanı bizi kurtardı eğer olmsaydı Eeprom için ayrı bir flash'ı tasarıma eklememiz gerekirdi.

Bu sorunu harika bir yöntemle çözdük, yazılım tarafında özel tasarımı olan   ve bu bölümdeki kodlar ile bir geliştirme sağladık bootloader açılışta ram'e kopyalıyor ve betaflight'daki link script (h750.ld) ile  kodun ram adresinden çalışması için ilgili adresleri güncelledik. Bootloader stm32 nin dahili 128Kb hafızası üzerinden çalışarak kodu flash üzerinden ram'e kopyalar ve program ram üzerine atlama yaparak çalışır.

Stm32 Bootloader yazılımına buradan ulaşın.

Test




Yukarıdaki pc üzerinde gösterdiğim anakartın çalıştığı bir görüntüsü betaflight'ın kendi mobil yazılımı üzerinden bazı donanım ayarları ve config ayarları yapılarak yeniden build edilip çalıştırılmasını sağladık. 

Yorumlar

Popüler Yayınlar

12v Sese Duyarlı Led Yapımı

IR ALICI VERİCİ DEVRESİ

FM VERİCİ

555 ve 4017 9v Yürüyen Işık Devresi

PIC 14 KANAL ALICI VERİCİ