You are here: Home » Elektronik » Arduino ile Aeroquad

Arduino ile Aeroquad

31 Mayıs 2011 | Leave a comment(3) Go to comments

Arduino ile geliştirilen açık kaynak kodlu bir quad projesi olan Aeroquad ile ilgili uzun süredir araştırma ve çalışma yapıyordum ve sonunda bu konu hakkında yazı yazabilmeye vakit bulabildim. Quadkopter aslında 2 eksenli bir sistemin kanatlarının uçlarına oturtulmuş 4 motorun hızlarının, sistemin açısal hız ve ivmelenmesine göre kontrol edilerek hızlandırılıp/yavaşlatılmasıyla dengede kalması prensibine dayalı bir çeşit kopter olarak nitelendirilebilir.  Bu kopterlerin, 4 motor – 2 eksenli’leri olduğu gibi 6 motor – 3 eksen (hexakopter), 8 motor – 4 eksen (oktokopter) olanları da mevcuttur. Günümüzde medyada da sık sık konu olmaya başlayan ve ürün olarak satın alabileceğiniz çok eksenli kopterlerin  en ünlüleri mikrokopter, AR.Drone Parrot olarak sıralanabilir aslında. Hatta Ar.Drone’u hepsiburada.com’dan bile temin edebilirsiniz. Ar.Drone şu anda iPhone, iPod touch, iPad ile Wifi ile haberleşerek kontrol edilebilebiliyor  ve aynı zamanda çeşitli oyun ve uygulamalar için de kullanılabiliyor. Mikrokopter için ise fazla söze gerek yok. Çok uzun sürdir takip ettiğim ve hayranlıkla izlediğim bir ürün. Aslında mikrokopter tam olarak seri üretime geçmiş dünya çapında distribütörler aracılığı ile satılan bir ürün değil. Sitesine girdiğinizde izleyeceğiniz videoda gördüğünüz kişi tarafından Almanyada geliştirilen bir ürün. Aerquad’tan tek farkı açık kaynak kodlu olmaması ve çok daha stabil olarak hareket edebiliyor olması (videoları izlerseniz ne demek istediğimi anlayacaksınız 🙂 ) ama yine de kendinizin geliştirdiği ve çok daha ucuz bir maliyetle uçurabileceğiniz uçan bir sistemin verdiği haz kesinlikle ama kesinlikle paha biçilemez.Eğer siz de benim gibi Arduino fanıysanız ve kendi kopterinizi kendiniz yapmak istiyorsanız Aeroquad tam size göre diyebilirim 🙂

Aeroquad

Aeroquad’ı geliştiren topluluğa ve etkinliklerine http://www.aeroquad.com adresinden erişebilirsiniz. Bu sayfaya gittikten sonra Download alanından son sürüm Aeroquad uçuş yazılımını (yani Arduino’ya Upload edebileceğiniz firmware)  indirerek arduinonuza upload edebilirsiniz ya da istediğiniz gibi kodlarda değişiklik ve geliştirme yaparak size özel daha stabil bir quadkopter geliştirebilirsiniz.

Temel İhtiyaçlar

Temel olarak 4 motorlu bir aeroquad yapabilmek için 4 adet uygun brushless motora, 4 adet uygun ESC’ye, 2 adet saat yönünde ve 2 adet saat yönünün tersinde dönen yavaş uçuş pervanelerine, Arduino Mega ya da Arduino Uno’ya ki eğer gerçekten stabil uçan bir aeroquad istiyorsanız Mega’ya, 3 eksen ölçüm yapabilen Gyro sensöre, 3 eksen ölçüm yapabilen İvmeölçere, 3 eksen ölçüm yapabilen Magnetometreye, basınç sensörüne, Lipo pile, tüm saydıgım bu sensor ve diğer ekipmanları takabileceğiniz bir shielda, tüm bu malzemeler için sağlam bir kasaya  ve son olarak en az 6 eksenli bir uzaktan kumandaya ihtiyacınız var demektir 🙂

Biliyorum ilk başta çok fazla ekipman var gibi görünüyor ama hepsini temin ettikten sonra tek yapmanız gereken Ardunio’ya ilgili açık kaynak kodlu yazılımı upload etmek hepsi bu 🙂 Yukarıda saydığım malzemelerin bir çoğunu benim de ortağı olduğum http://www.teknotronik.org e-ticaret sitesinden temin edebilirsiniz. (kendi çizdiğim shield ve kasa dahil olmak üzere)

Aslında en minimum ekipman gereksinimleriyle Aeroquadı uçurabilmek için sensörlerden 3 eksen ivmeölçer, 3 eksen Magnetometer ve Basınç sensörüne ihtiyacınız yok. (Eğer bu sensörleri almazsanız Arduino UNO yeterli olacaktır ama bu sensörlerin herhangi birini daha almak isterseniz giriş/çıkış pinleri yetmeyeceğinden UNO işinizi görmeyecektir, onun için başlangıçta MEGA almakta yarar var) Çünkü bu sensörler stabiliteyi arttırmak için kullanılan sesörler ve kodlardan enable/disable edilebiliyorlar. Benim tavisyem hepsini almanızdan yana olacaktır fakat henüz yeterli bütçeniz yoksa Magnetometer ve Basınç sensörünü daha sonra alabilirsiniz. Ama Stable Mode’ta uçabilmek için ivmeölçer almanız şart.

Uçuş Modları – Temel Sensörler

Uçuş modu olarak 2 farklı mode mevcut, Acrobatic Mode ve Stable Mode. “Acrobatic Mode” ile uçuş sırasında denge ölçümleri için sadece Gyro sensörler kullanılır. Bu da çok da stabil olmayan ani manevralara sebep olacaktır. Çünkü Gyrolar ile denge için sadece açısal hız değişimine göre ölçüm yapılır. “Stable Mode” ile uçuş esnasında ise hem Gyrolardan gelen ölçüm verileri hem de ivmeölçerlerden gelen ölçüm verileri harmanlaranarak çeşitli filtrelerden geçirilerek daha stabil bir uçuş sağlanabilir. Gyrolar ve İvmeölçerler ile ilgili daha fazla bilgiyi şu yazıdan edinebilirsiniz http://www.hakancakiroglu.com/wordpress/?p=264 (3 eksen Gyro : BMA180, 3 eksen  İvmeölçer : ITG-3200)

Aeroquadı uçuş için X mode yada  + mode olmak üzere 2 fakrlı şekilde konfigure edebilirsiniz. X mode’da iken ön sol, ön sağ, arka sol ve arka sağ motor olacaktır.  + mode’ta iken ise sağ,sol,ön,arka motorlar olacaktır. Ben genelde + mode’ta uçmayı tercih ediyorum. Burada seçim size kalmış.

Diğer sensör ve ekipmanlardan da kısaca bahsebelim ;

Stabilite Sensörleri

Magnetometer (HMC5843), Heading Hold özelliği için kullanılır. Rüzgara ve sizin kasanızın durumuna göre Aeroquadın uçuş esnasında kendi ekseni etrafında dönecektir. Çünkü uçuş prensibi olarak farklı eksenlerdeki motorların hızlanıp/yavaşlaması ile yön değiştirebilen Aeroquad farklı eksenlerdeki motorların yavaşlaması/hızlanması  ile kendi ekseni etrafında dönecektir. (Zaten 1 eksenin saat yönünde dönen motorlara ve uygun pervenelere diğer eksenin de tersine dönen motor ve pervanlere ihtiyaç duymasının sebebi Aeroquad’ın kendi ekseni etrafında dönmesini engellemektir.) Bu kendi ekseninde dönme, kontrol esnasında büyük zorluklar oluşturur. Çünkü uzaktan kumanda ile yönettiğiniz Aeroquad’ın yönetilmesi en zor olan tarafı sizin bulunduğunuz pozisyona göre ön tarafının neresi oldugunu tespit etmektir. Tespit edemezseniz, Aeroquad için uzaktan kumandadan sağa gitmesini isteseniz de ön taraf size göre başka bir yöne bakıyorsa Aeroquad farklı bir yöne gidecektir. İşte Magnetormeter bu kendi ekseni etrafında dönmeyi minimuma indirmeyi sağlıyor. (bu özellik kumadadan istenildiğinde aktiflenip istenildiginde deaktive edilebilir.)

Basınç sensörü (BMP085) ise Altitute Hold özelliği için kullanılır. Rüzgara göre ve sizin uzaktan kumandadan gönderdiğiniz komutlara göre Aeroquad’ın yüksekliği değişecektir. Altitute Hold özelliğini aktif hale getirirseniz (kumadadan istenildiğinde aktiflenip istenildiginde deaktive edilebilir.) Aeroquad basnç sensöründen gelen bilgilere göre ilk aktfilendiği yükseklikteki değere göre motorların hızlarını yavaşlatıp/hızlandırarak yüksekliğini sabit tutmaya çalışacaktır.

Motorlar brushless yani fırçasız DC motor olmalıdır. Bu motorlar verilen voltaj değerine ve üzerinden geçirilen akıma göre çok yüksek devirlere ulaşabiliyorlar. Fakat Aeroquad için uygun motor hızı ortalama olarak 800-1200 rpm/V olarak seçilmelidir. Yani dakikada volt başına 800 ile 1200 devir yapabilen bir Brushless motor seçimi Aeroquad için uygun olacaktır. (3s lipo ile kullandığınızı düşündüğümüzde 11.1V * 1000 = ~11000RPM 🙂 ) Motor ve ESC konusunda diğer bir önemli husus ise kullanılan motor ve ESC’lerin her birinin mutlaka aynı marka ve model olması gerektiğidir hatta ESC’ler aynı konfigurasyon ile programlanmış olmalıdır. (çoğu ESC’ler programlanabilir.)

ESC seçimi de önemli çünkü motorlarınız max güçte çekeceği akıma göre ESC’lerin akım değerlerini hesaplayarak seçim yapmalısınız. Aksi durumda ESC’leriniz çok kısa sürede yanacaktır. Aynı zamanda Lipo pil seçimi de anlık çekilecek akımı kaldırabiliyor olmalıdır. Lipo pillerin üzerindeki C değeri ile mAh değerlerinin çarpımı Lipo pilin anlık verebileceği akım değerini verecektir. (Yani 20C – 2200mAh bir pil anlık olarak 44A akım verebilir.) Bu konuda daha detaylı biligi şu yazıdan edinebilirsiniz http://www.hakancakiroglu.com/wordpress/?p=24

Aeroquad Configurator – Kontrol Yazılımı

Ayrıca Aeroquad için yazılmış bir kontrol yazılımı mevcut. Bu yazılım ile USB’den bilgisayarınıza bağladığınız Aeroquadınızın birçok uçuş, kumanda, filtreleme, sensör parametrelerini değiştirebilmeniz mümkün.  AeroQuad Configurator sayesinde daha önce de söylediğim gibi tek yapmanız gereken doğru Shield (aeroquadın sitesinde birden fazla shield mevcut oldugundan kaynak kodda ilgili shield ve sensörlerin olduğu satırları aktiflemeli ya da deaktive etmelisiniz.) konfigurasyonuyla derledğiniz yazılımı Arduino’ya upload etmek ve USB’den Aeroquad Configurator’e baglanarak uçuş ayarlarını yapmak ve ardından uçuşa çıkmak 🙂

 

Çok fazla uçuş imkanım olmadı ve profesyonel çekim de yapamadım ama ilk uçuşlarımdan birinin görüntülerini sizlerle paylaşıyorum

 

Youtube üzerinde “Aeroquad” diye aratarak daha birçok videoya ulaşabilirsiniz.

 

Umarım faydalı bir paylaşım olmuştur, yeni bir yazıda görüşmek dileğiyle…

Filed under

Elektronik

| Tags:

  1. bu sistemi türkiyede geliştirmek lazım. Wireles ile kontrol yapılabilir, hatta 10 inç ik küçük notebooklar var onlar bile monitör cıkarılıp ( hafif olması ve enerji cekmemesi için )entegre edilebilir. wirelessde 120km ye kadar mesafe yapılabiliyormuş. sisteme pc entegre edildikten sonra işin ucu baya bi acılır. enerji konusuda araştırma yapıyorum. paylaşımınız için teşekkürler

    • Hakan Çakıroğlu

      Merhaba Emrah;

      Bu sistem açık kaynak kodlu. Yani geliştirilmeye çok açık bir proje olarak nitelendirilebilir. Hobby olarak ugrasmak çok iyi ama inanın ben de sizin gibi düşünüyorum. Keşke yeterince vaktim ve imkanım olsa da bahsettiğiniz geliştirmeleri yapabilsem/yapabilsek ve hatta benim de kafamda olan bir çok fikri uygulayabilsek…

  2. Merhabalar iyi çalışmalar, bem arduino uno gy-86 nRF24L01 ve 2 joystick lipo batarya motorlar escler ile birlikte uçuş yapmak istiyorum ama joystick kontrollolerini bir türlü ayarlayamadım bana yardım eder misiniz? Deinos 7.4V 2S 5200mah 30C lipo pil klasik çin malı esc ve turuncu motorlar ve F450 frame

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.