29 Ekim 2013 Salı

"Arduino UNO " ile Quadcopter Yapmak Mümkün mü? -4-

Hamza Öztaş Share:
Image Hosted by ImageShack.us
(resim alıntı olup, temsilidir)
Merhaba arkadaşlar bugün kü yazımda brushless motor yönlerinin ayarlanması ve bu proje kapsamında kullanılması planlanan sensorlerden bahsetmeye çalışacağım. Önceki yazılara ulaşmak için;

Brushless Motor Yönünün Ayarlanması
Motor yönlerini ayarlamak için bir tane pot'tan yararlanacağız arkadaşlar, yani kısacası potansiyometre ile brushless motor kontrol edeceğiz, peki bunu nasıl yapacağız kısaca özetleyeyim.
  • Farz edelim ki elimizde 3s'lik bir ESC yani 3s 11.1 V ile çalışan bir ESC olsun.
  • Öncelikle elimizdeki ESC'nin çalışma gerilimi 11.1 V, Arduino'nun çalışma gerilim 5V, peki bunu nasıl yapacağız diyebilirsiniz.
  • Bunun için şöyle yapacağız. ESC'mizi Li-Po ile ayrı olarak besleyeceğiz.
  • Daha sonra Arduino'nun GND pinini ESC'nin GND pini ile birleştiriyoruz.
    • Ömer Faruk arkadaşımın dikkati üzerine bir noktaya değinmek istiyorum arkadaşlar, buradan da kendisine teşekkür ediyorum, ilgisi ve dikkati üzerine.
    • Buradaki GND'lerin birleştirilmesi eğer birden fazla farklı beslemeler kullanıyorsak geçerlidir.
    • Yukarıda öyle bahsetmemin nedeni Arduino'nun beslemesi PC tarafından, ESC'nin beslemesi lipo tarafından düşünüldüğü içindir.
    • Nitekim motor yönleri tamamen ayarlandıktan sonra malum ESC'ler Li-Po tarafından  beslenecek, brushless motorlarımız ve Arduino'muz ESC'ler üzerinden beslenecektir.
    • Yoksa Arduino'nuza kodunuzu yükledikten sonra Arduino direkt esc üzerinden beslenerek te motor yönü ayarlayabiliriz ve bü tür GND birleştirme işi ortadan kalkmış olur.
    • ESC'nin kontrolü için 3' lü pin +5V, GND ve sinyal pinidir, +5V ve GND pinini Arduino'muzun +5V ve GND pini ile sinyal pinini ise yine Arduino'muzun digital pwm pinlerinden birine bağlıyoruz.
  • Arduino kodu, daha ayrıntılı bilgi ve görseller için daha önce yazmış olduğum "Arduino UNO R3 İle Brushless( Fırçasız ) Motor Kontrolü" isimli yazımı ziyaret edebilirsiniz.
  • ESC ve motorun 3 bağlantı kablosunu gelişi güzel  birbiri ile bağlayın, Arduino kodunu yüklediğinizde motor bir tarafa dönecektir, tersi yönde dönmesini sağlamak için bu üç kablodan herhangi ikisinin yerini değiştirin.
    • Dikkat kabloların yerini değiştirirken Li-Po pil bağlantısını sökmeyi unutmayalım, kazalara yol açmayalım :D.
  • Video'u aşağıdan izleyebilirsiniz.


Sensorler


Accelerometer, Gyro, IMU gibi sensorlerle iligili internette pek çok döküman bulmak mümkün, o yüzden kısa bir şekilde bahsedeceğim.

  • Accelerometer  // İvmeölçer, konum belirlemek için kullanacağız
  • Gyroscope       // Angular velocity (açısal hız) belirlemek için kullanacağız
Image Hosted by ImageShack.us

  • IMU(Inertial Measurement Unit) [ GYRO + ACC ]
IMU adından da anlaşılacağı üzere gyro ve accelerometer'ın birleşimi diyebiliriz, ve böylece hız ve pozisyon gibi ölçümler tek bir üniteden alabiliyoruz. Birimi DOF(Degree of Freedom)'tur. Atıyorum 3 eksen accelerometer ve 3 eksen gyro'muz varsa 6 DOF IMU elde etmiş oluruz. Bu proje kapsamında 6 DOF IMU kullanmayı planlıyorum. IMU'dan elde etmiş olduğumuz ölçümler quad'ta kullanmak üzere "g" kuvvetine dönüştürülecektir.

Quad'ın Aşamaları


İlk olarak sadece pwm sinyalleri gönderilerek quad havada tutulacak, bir sonraki denemede aynı işlem gyro ve accelerometer kullanılarak denenecek bu stabilizasyon aşamasıdır, bir sonraki denemde magnetometer yani pusula sensorü kullanılarak yön tayini yapılacak ve son aşamada ise bu sensorlere ek olarak gps, barometer ve mesafe sensorü eklenerek konum belirleme gibi diğer özellikler eklenecek. Bu aşamalar bittikten sonra alt kısımda  "Geliştirmeye Yönelik Neler Yapılabilir?" konu başlığı altında bahsettiğim özellikler eklenecek.
  • Stabilization // GYRO + ACC
  • Orientation  // GYRO + ACC + MAG
  • Positioning  // GYRO + ACC + MAG + GPS + BAR + SONAR


Geliştirmeye Yönelik Neler Yapılabilir?
Bu birazda sizin bilginize ve hayal gücünüze kalmış, benim ilk olarak yapmayı planladıklarım;
  • Mesafe sensorü ile Altitude Hold yani yükseklik sabitleme yapmak, mesafe sensorü quad'ın altında yer alacak ve belli bir mesafede atıyorum 100 cm'i gördüğünde havada asılı kalacak.
  • Quad'ın her kolunun altında birer ayak yerleştirilecek ve bunların her biri ayrı bir servo ile kontrol edilecek, quad havalandıktan 30 saniye sonra ayakları içeri çekecek ve tekrar yere inmeye yakın bir zamanda ayaklar otomatik olarak geri çıkacak. Bir nevi uçakların havalandıktan sonra tekerlerini içeri alması ve çıkarması gibi.
  • GPS ile konum belirleme yapılacak ve quad'ın havadayken enlem ve boylam olarak nerede olduğu belirlenecek.
  • Şuan için yapmayı planladıklarım bunlar, ilerleyen zamanlarda yeni pek çok özellik eklenebilir tabi ama bu çalışma, zaman ve arge isteyen bir proje.
  • Quad kablosuz olarak pc tarafından yönetilecek
    • Kablosuz bağlantı için 3DR Radio Telemetry Kit kullanmayı düşünüyorum.
  • Quad'ı pc'den yönetmek ve telemetri bilgilerini almak için bir arayüz geliştirilecek, bunun için Matlab, C# yada C++ kullanılabilir.

Diğer Önemli Noktalar
  • ESC'ler mümkün olduğunca karttan uzak tutulmalıdır, bunun içinde esc - motor bağlantıları mümkün olduğunca kısa yapılacak.
  • Motorların 
    • ARM olması
    • Throttle range
    • ESC kalibrasyon
    • ESC ayarları
    • Bunlar nedir, ne değildir, nasıl yapılır, bunlarla ilgili bilgileri ilerleyen zamanlarda sonraki yazılarımda vereceğim
  • Quad havadayken maruz kaldığı yüksek g kuvvetini düşürmek için neler yapılabilir gibi sorulara da cevap bulmaya çalışacağız.
Tarafından Yayınlandı >> Hamza Öztaş

Hamza Öztaş'ı google plus'ta takip etmek için Google'a tıklayın;
Google+.

13
replies
  1. İtina ile takip ediyorum. Bende quadcopter yapmaktayım x frame bitti, alüminyumdan yaptım biraz ağır oldu ama deneme sonuçta, iletide malzemeye değiştirebilirim. Kontroller ilk önce PIC düşündüm ama beklentilerimi karşılamadı. Arduino daha rahat ve örnek çok, bende arduino Uno alacağım ve sizle eş zamanlı olarak bitirmeye çalışacağım kismetse. Başarılar.

    YanıtlaSil
    Yanıtlar
    1. merhaba, takip ve ilginiz için çok teşekkür ederim, evet quadcopter projesi PIC ile çok zor olur, Arduino ile çok daha hızlı ve rahat olur kanaatindeyim. Arduino'nun pek çok serisi ile rahatlıkla çalışabilirsiniz ama tabi bu birazda sizin istek ve beklentilerinize bağlı. Başlangıç olarak ben Arduino Nano kullanacağım, sonra diğer fonksiyonları eklemeye başladığımda farklı bi karta geçmeyi düşünüyorum. Projenin tamamlanması biraz zaman alacak gibi, yaklaşık 6 ay gibi süre netten uzak olacağım, o yüzden siz benden önce bitirebilirsiniz :D. Size de iyi çalışmalar diliyorum.

      Sil
    2. bu arada frame ağırlığı önemli etkenlerden biridir, mümkün olduğunca hafif yapmakta fayda var.

      Sil
  2. Dediğiniz gibi frame ağırlığı önemli. Bu benim bitirme projem olacak. Ayrıca sadece dengeli bir biçimde olduğu yerden 1 metre yukarı kalkıp inmesi kafi benim için. Kumanda sistemini daha sonra düşünüyorum. Şuan mesafe ölçme işlemi ile yerden yüksekliğini kontrol ederek olduğu yerde indirip kaldıracağım. Şuan tek sıkıntım elimde IMU yok. Ayrı ayrı gyroskop ve accelerometer sensör ve ultrasonik mesafe ölçer kartları var. Acaba bunları aynı anda kullanabilir miyim diye düşünüyorum, zira bu kartlar gördüğüm kadarı ile analog girişten bağlanıyor. O yüzden arduino kartı seçiminde zorlanıyorum :) Biraz daha araştıracağım.

    YanıtlaSil
    Yanıtlar
    1. sadece yerden 1 metre yükselip inmesi yeterli ise, işiniz çok zor olmaz düşüncesindeyim, yazılım olarak ta fazla zorlamaz sizi. Ben yazılım olarak kalman filtresi kullanmayı düşünüyorum. Sensorleride ayrı ayrı kullanabilirsiniz tabi. Quadcopter projesi son zamanlarda pek çok kişinin bitirme projesi olarak tercih ettiği bir proje, biraz karışık olmasıyla birlikte aynı zamanda çok eğlenceli bir proje aslında.

      Sil
  3. Aynen bugün biraz araştırdım kalman filtresi ile aynı anda almak mümkünmüş verileri. Multiplexer gibi işlem görüyor anladığım kadarı ile.
    http://t1309.hizliresim.com/1f/l/stm9x.jpg
    frame bu, pil de taktım , şuan escleri plastik kelepçe ile kollara sabitliyorum. Kart ve sensörleri de monte ettikten sonra kol dengelerine bakıp en son program ve test işini yapıcam. Umarım uygun sırada ilerliyorumdur :)

    YanıtlaSil
    Yanıtlar
    1. frame'iniz güzelmiş, motor ve esc'lerinizin bağlantılarının kolay olması için gold konekterlar oluyo onlardan kullanabilirsiniz, böylece tak çıkar ve yer değiştirme işlemlerinde daha rahat çalışırsınız.
      Kullanmayı düşündüğünüz pervane bu ise pervane seçimi doğru değil, bu frame'iniz için sanırım 10x45 veya 12.45 inç pervane daha iyi bir tercih olur sanırım. Bu arada yine quad'ın dışarıdan görünümünü daha iyi hale getirmek için şöyle yapabilirsiniz. Motorlarınızın kablolarını uzatıp profil içinden geçirin ESC'leri orta bölmeye kartın etrafına koyun. :D

      Sil
    2. motordan motora uzunluğunuz nedir?

      Sil
  4. tabi, şu da var yapmış olduğum araştırmalarda ve testlerde, esc ve kart arası kabloların uzun tutulması daha verimli oluyo, diğer türlü çok yakın olursa parazitlenme oluyor. Ama çok iyi performans almak isteyenler için bi durum. Motor kablolarını uzatıp ESC'leri kartın yanına koymanızın görüntü olarak güzel olmasıyla birlikte, olası bi kaza durumunda ESC'leriniz, ESC kabloları zarara görmemiş olur.

    YanıtlaSil
    Yanıtlar
    1. paylasımınız için cok tesekkürler cok faydalı bir paylasım tebrik ediyorum.bende quadrotor yapımına arduino mega ile baslamayı dusunuyorum ve kontrolu uzaktan kumanda ile sağlamak istiyorum.quadrotoru pc üzerinden programlayıp kontrolu uzaktan kumanda ile sağlamak istiyorum.bunu nasıl yapabilirim.yorumlarınızı ve bilgilerinizi bekliyorum şimdiden cok tesekkür ederim.

      Sil
  5. paylasımınız için cok tesekkürler cok faydalı bir paylasım tebrik ediyorum.bende quadrotor yapımına arduino mega ile baslamayı dusunuyorum ve kontrolu uzaktan kumanda ile sağlamak istiyorum.quadrotoru pc üzerinden programlayıp kontrolu uzaktan kumanda ile sağlamak istiyorum.bunu nasıl yapabilirim.yorumlarınızı ve bilgilerinizi bekliyorum şimdiden cok tesekkür ederim.

    YanıtlaSil
    Yanıtlar
    1. merhaba güzel düşünceleriniz için çok teşekkür ederim, kumanda ile kontrol pc kontrole göre daha kolay olacaktır, başlangıç olarak yazmış olduğum 5 yazı size faydalı olur, ilerleyen zamanlarda devam yazılarını yazmaya çalılşacağım, muhtemeln bi 5 yazı daha çıkar diye tahmin ediyoumn,kumanda olarak model araçlar için çok güzel kumandalar var onları kullanabilirsiniz,

      Sil
  6. Merhaba.
    Öncellikle Hamza Bey paylaşımlarınız için çok teşekkürler. Açıklayıcı bir anlatım olmuş.
    Arkadaşlar bende Arduino UNO " ile Quadcopter yapmayı planlıyorum ve araştırmaya koyuldum suanda elimde arduino uno bulunmakta. Gerekli parçaları almaktan önce işin programsal kısmını düşünüyorum bu konuda yardımcı olabilirmisiniz?

    YanıtlaSil

Get Updates in your Email
Complete the form below, and we'll send you our best of articles.

İletişim

© >> |
TOP