Merhaba arkadaşlar, Bugünkü yazımda geçen senelerde üzerinde uzun zaman harcadığım fakat
tamamlayamadığım bir konu olan otopilot yapmak üzerine edindiğim tecrübeleri
anlatmak istiyorum. Yazıya başlamadan önce bu çalışmaların tamamını beraber
yaptığım Bahadır Gökçeaslan teşekkür etmeyi bir borç bilirim.
Evet otopilot aslında benim anlatacağım bölüme kıyasla biraz fazla geniş bir
kavram oldu. Zira malesef proje uçuş kontrolcüsü aşamalarında kaldı. Bir soru
ile başlayalım. Bir uçuş kontrolcüsü nedir? Bir uçuş kontrolcüsü temel olarak
havada uçan bir aracın yere göre açılarının istenilen şekilde olmasını sağlayan
sensör ve hareketli mekanizmalar bütünüdür. Aslında yere göre açılarla
sınırlamak çok mantıklı değil. Bir hava aracının yükseliğinin sabit olması veya
istenilen hızda istenilen konumda kalmasını sağlamak da bunun işidir. Fakat bu
projede, bir Quadcopter uçuş kontrolcüsü olarak tasarlanmış olan bu yapıda amaç
quadcopterin yere göre açılarını kumandadan gelen girdilere göre kontrol
etmekti.
2014 yılının Nisan ayında arkadaşlarımla beraber İstanbul Teknik Üniversitesi
bünyesinde İTÜNOM Otonom Hava Araçları Takımını kurduk. 2 Senedir aktif olarak
çalışmalarımıza devam ediyoruz. Amerikanın Maryland Eyaletinde düzenlenmekte
olan Student Unmanned Air System yarışmasına 2015 yılında katıldık 2016 yılında
da katılmak için hazırlanıyoruz.
Takımımızda şu an 10 kişiyiz. 3 adet uçak, 2 adet uzay, 2 adet elektronik, 2
adet bilgisayar, 1 adet kontrol mühendisliğinden üyemiz var. Özellikle
multidisipliner bir takım olmayı tercih ettik. Bu sayede her üyemizin farklı bir
uzmanlığı var ve kolayca farklı sistemleri tasarlayıp bir araya
getirebiliyoruz. Takımımızın Sitesi: https://www.itunom.com/ Facebook
Sayfası: https://www.facebook.com/itunom
Bu yazımda PID kontrol algoritmalarından bahsetmek istiyorum. Bu yazıyı yazmamın
2 sebebi var. PID algoritmaları hakkında bir çok yazı okudum fakat coğu akademik
ve karmaşık yazılar. Benim amacım anlaşılırlığı ve ayrıntıyı dengeli bir şekilde
maximum değerlerinde kullanmak. İkincisi ise bu algoritmanın özel olarak
multikopterlerde kullanımını basit bir şekilde açıklayan bir yazıya rastlamadım.
Bu yüzden bu yazıyı yazmaya karar verdim.
Bir otopilotun en temel 2 bileşeni hava aracının yönelimini tespit eden IMU
sensörü ve PID algoritmasıdır. IMU sensörü içinde bir kaç sensör barındırır ve
amacı hava aracının 3 boyutlu uzaydaki yönelimini bulmaktır. IMU konusundan
bu yazımda bahsetmiştim.
PID algoritmasının görevi ise temel olarak şöyledir: Yönelimi (3 eksendeki yere
göre açılar) sensörler üzerinden alır, istenen açıları da kullanıcıdan alır. Bu
ikisi arasındaki farkı en düşük seviyeye düşürmeyi amaçlar. İşte PID
algoritmasının görevi bu farkı minimuma indirmek için gerekli motor hız
değerlerini hesaplamaktır.
Daha önce kolay bulunabilecek malzemelerden nasıl gimbal yapılabileceğinden
bahsetmiştim
(O yazıya buradan ulaşabiliriniz).
Kontrol kartını sonra anlatacağım demiştim. Veee bu yazımda arduino ve MPU6050
sensörü kullanarak nasıl bir gimbal kontrol kartı yapabileceğimizden
bahsedeceğim. Bu kart sayesinde gimbalin yere göre açısını kontrol edebileceğiz.
Yere göre açısının sabit kalmasını da kontrol kartı üzerindeki IMU sensörü ile
sağlayacağız(Ayrıntılı bilgi için tıklayınız).
Kontrol kartı saniyede 100 değer okuyup servo PWM değerlerini ona göre
güncelliyor. Bu sayede oldukça yüksek çözünürlüklü her türlü seviyede
kullanılabilecek bir kontrol kartı yapmış oluyoruz. Ayrıca başa koyduğum ayar
parametreleri sayesinde her boyutta ve çeşitte servo gimbale kolayca uyumlu hale
getirilebilir. Kontrol kartının tanıtım videosu aşağıdadır.
Herkese Merhabalar, Bu yazımda her yerde temin edilebilecek ve maliyetsiz malzemelerle nasıl mini
servo gimbal yapılacağını anlatacağım. Bu arada en baştan belirteyim kontrol
kartı ve açı stabilizasyonu için daha sonra bir yazı hazırlayacağım.
Proje içi kullandığım malzemeler 2 adet servo, Arduino Nano, mini kamera, yoğurt
kabı, ve ataç. Gimbalin yapım aşamaları resimlerde sırasıyla anlatılmıştır.
Özetlemek gerekirse;
Yoğurt kabından bir köşe 2 kenarıyla beraber çıkarılır.
Servolardan bir tanesi için oyuk açılır ve servo oraya vidalanır.
Bu servonun koluna ataç vidalanır.
Ataç 90 derece büküldükten sonra diğer servo biraz da bant yardımıyla
sabitlenir.
Burada dikkat etmemiz gereken servoların dönme eksenlerinin kameranın ağırlık
merkezinden geçmesidir. Bu sayede servolara binen yükük minimuma düşer.
Kamera için yapılan kap vida yardımıyla 2. servonun koluna sabitlenir.
Ve son neredeyse hiç maliyetli 2 eksen gimbal yapmış olduk. Biraz titreşim
problemi olacaktır diye tahmin ediyorum. Daha az esnek malzemeler
kullanılarak bu sorun aşılabilir.
Bu yazımda size hava araçlarının en temel elektronik ekipmanı olan IMU
modullerinden bahsetmek istiyorum. IMU modullerinin hayati önem taşımasının
sebebi, modüllerin yönelim açılarını hesaplamak için kullanılmasıdır. En büyük
yolcu uçağından, roketten en küçük bir quadrokoptere kadar tüm hava araçları
stabil ve sağlıklı bir uçuş için bu modullerden birine sahip olmalıdırlar.
IMU ingilizcedeki “Inertial Mesurament Unit” kelime grubunun kısaltılmış
halidir. IMU ile bir cismin uzaydaki 3 boyutlu yönelimi bulunabilir. 3 boyutlu
yönelimi anlatmanın en kolay yolu Euler Açılarını kullanmaktır. Havacılık
sektöründe sıklıkla Euler açılarının özelleşmiş bir versiyonu olan “Yaw, Pitch,
Roll” açıları kullanılmaktadır.
Herkese Merhabalar! Bu projemin amacı MPU6050 ile hesaplanan pitch ve roll açıları ile 2 eksenli
bir gimbalı kontrol etmek. MPU6050 açılarını hesaplamak için FreeIMU
kütüphanesini kullandım.
Buradan indirebilirsiniz.
Aldığım açılar belli bir değerden büyükse servoların açılarını kademeli olarak
azalttım veya artırdım.Bu sayede gimbal, MPU6050yi eğdiğim yönde dönmüş oldu.
Projemin tanıtım videosunu aşağıdan izleyebilirsiniz.
Arkadaşlar projemin Arduino kodunu da paylaşıyorum.