KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Benzer belgeler
Karabük Üniversitesi, Mühendislik Fakültesi... STATİK (2. Hafta)

Android Telefonlarla Yol Bozukluklarının Takibi: Kitle Kaynaklı Alternatif Çözüm

DÜZLEMDE GERİLME DÖNÜŞÜMLERİ

Fizik 101: Ders 7 Ajanda

IMU KALMAN FİLTRESİ UYGULAMASI GÖKHAN GÖL

DİNAMİK. Ders_9. Doç.Dr. İbrahim Serkan MISIR DEÜ İnşaat Mühendisliği Bölümü. Ders notları için: GÜZ

Massachusetts Teknoloji Enstitüsü-Fizik Bölümü

Fizik 101-Fizik I Dönme Hareketinin Dinamiği

3-1 Koordinat Sistemleri Bir cismin konumunu tanımlamak için bir yönteme gereksinim duyarız. Bu konum tanımlaması koordinat kullanımı ile sağlanır.

Yavuz EROL, Murat SERHATLIOĞLU

KUVVET, MOMENT ve DENGE

4.1 denklemine yakından bakalım. Tanımdan α = dω/dt olduğu bilinmektedir (ω açısal hız). O hâlde eğer cisme etki eden tork sıfır ise;

Bölüm 3: Vektörler. Kavrama Soruları. Konu İçeriği. Sunuş. 3-1 Koordinat Sistemleri

Bölüm 2: Kuvvet Vektörleri. Mühendislik Mekaniği: Statik

ELK-301 ELEKTRİK MAKİNALARI-1

Hareket Kanunları Uygulamaları

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Mühendislik Mekaniği Dinamik. Yrd.Doç.Dr. Akın Ataş

Gerçek Zamanlı kuzey Gerçek Zamanlı g

TEMEL MEKANİK 5. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

Bölüm 2. Bir boyutta hareket

3 VEKTÖRLER. Pilot uçağın kokpit inden havaalanını nasıl bulur?

Fizik-1 UYGULAMA-7. Katı bir cismin sabit bir eksen etrafında dönmesi

Toplam

MÜHENDİSLER İÇİN VEKTÖR MEKANİĞİ: STATİK. Bölüm 1 Temel Kavramlar ve İlkeler

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Mimar Sinan Güzel Sanatlar Üniversitesi, Fizik Bölümü Fizik I Dersi Final Sınavı

STATİK MÜHENDİSLİK MEKANİĞİ. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN

İYİ MÜHENDİSLİK UYGULAMALARI NEDİR?

elde ederiz

Kompozit Malzemeler ve Mekaniği. Yrd.Doç.Dr. Akın Ataş

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

2. KUVVET SİSTEMLERİ 2.1 Giriş

1.1 Yapı Dinamiğine Giriş

Massachusetts Teknoloji Enstitüsü-Fizik Bölümü

JFM 301 SİSMOLOJİ ELASTİSİTE TEORİSİ Elastisite teorisi yer içinde dalga yayılımını incelerken çok yararlı olmuştur.

İÇİNDEKİLER. Ön Söz...2. Noktanın Analitik İncelenmesi...3. Doğrunun Analitiği Analitik Düzlemde Simetri...25

TEMEL MEKANİK 4. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

: MAXWELL TEKERLEĞİ. Deneyin Adı Deneyin Amacı

Manyetik Alanlar. Benzer bir durum hareketli yükler içinde geçerli olup bu yüklerin etrafını elektrik alana ek olarak bir manyetik alan sarmaktadır.

Fizik 101: Ders 6 Ajanda. Tekrar Problem problem problem!! ivme ölçer Eğik düzlem Dairesel hareket

Moment ve açısal momentum

BATMIŞ YÜZEYLERE GELEN HİDROSTATİK KUVVETLER

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

ELASTİSİTE TEORİSİ I. Yrd. Doç Dr. Eray Arslan

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

25 Eylül 2013 ÇARŞAMBA Resmî Gazete Sayı : YÖNETMELİK

GPS Nedir? Nasıl Çalışır?

Kompozit Malzemeler ve Mekaniği. Yrd.Doç.Dr. Akın Ataş

Bölüm-4. İki Boyutta Hareket

TESTBOX Serisi Cihazlar ile Tarihi Bir Yapıda Kablosuz Yapısal Sağlık Takibi

TORK VE DENGE. İçindekiler TORK VE DENGE 01 TORK VE DENGE 02 TORK VE DENGE 03 TORK VE DENGE 04. Torkun Tanımı ve Yönü

MEKANİZMA TEKNİĞİ (3. Hafta)

TORK VE DENGE 01 Torkun Tanımı ve Yönü

1. Giriş. 2. Dört Rotorlu Hava Aracı Dinamiği 3. Kontrolör Tasarımı 4. Deneyler ve Sonuçları. 5. Sonuç

SİSMİK PROSPEKSİYON DERS-1 (GİRİŞ) DOÇ.DR. HÜSEYİN TUR

9. SINIF Geometri TEMEL GEOMETRİK KAVRAMLAR

Bölüm: Matlab e Giriş.

MODÜL-13 ÖRNEK SORULAR. 1. Aşağıdakilerden hangisi ana uçuş kontrol yüzeylerinden biri değildir?

11. SINIF KONU ANLATIMLI. 1. ÜNİTE: KUVVET VE HAREKET 8. Konu TORK VE DENGE ETKİNLİK VE TEST ÇÖZÜMLERİ

Sistem Dinamiği. Bölüm 3- Rijit Gövdeli Mekanik Sistemlerin Modellenmesi. Doç.Dr. Erhan AKDOĞAN

Ders 10: Elastik Gerilim-Deformasyon Bağlantısı

Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü

BELĐRLĐ BĐR SIKMA KUVVETĐ ETKĐSĐNDE BĐSĐKLET FREN KOLU KUVVET ANALĐZĐNĐN YAPILMASI

VERİLER. Yer çekimi ivmesi : g=10 m/s 2

Şekil 8.1: Cismin yatay ve dikey ivmesi

STATİK. Ders_9. Doç.Dr. İbrahim Serkan MISIR DEÜ İnşaat Mühendisliği Bölümü. Ders notları için: GÜZ


Bir cisme etki eden kuvvetlerin bileşkesi sıfır ise, cisim ya durur, ya da bir doğru boyunca sabit hızla hareketine devam eder.

Ödev 1. Ödev1: 600N luk kuvveti u ve v eksenlerinde bileşenlerine ayırınız. 600 N

Robot İzleme (Robot Tracing)

KKKKK VERİLER. Yer çekimi ivmesi : g=10 m/s 2. Metrik Ön Takılar sin 45 = cos 45 = 0,7

Fizik 101-Fizik I Hareket Kanunları. Nurdan Demirci Sankır Ofis: 325, Tel:4331 Enerji Araştırmalrı Laboratuarı (YDB- Bodrum Kat) İçerik

DİNAMİK. Merkezcil Kuvvet Kütle Çekimi. Konu Başlıkları Serbest Cisim Diyagramı Newton un Hareket Kanunları. Sürtünme Kuvveti

Soru 1: Şekil-1 de görülen düzlem gerilme hali için: b) elemanın saat yönünde 30 0 döndürülmesi ile elde edilen yeni durum için elemana tesir

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Mühendislik Mekaniği Dinamik. Yrd.Doç.Dr. Akın Ataş

Elektromanyetik Dalga Teorisi

Tanımlar, Geometrik ve Matemetiksel Temeller. Yrd. Doç. Dr. Saygın ABDİKAN Yrd. Doç. Dr. Aycan M. MARANGOZ. JDF329 Fotogrametri I Ders Notu

3.1 Vektör Tipleri 3.2 Vektörlerin Toplanması. 3.4 Poligon Kuralı 3.5 Bir Vektörün Skaler ile Çarpımı RİJİT CİSİMLER MEKANİĞİ

Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü

2. Konum. Bir cismin başlangıç kabul edilen sabit bir noktaya olan uzaklığına konum denir.

Düşen Elmanın Fiziği

MADDESEL NOKTANIN EĞRİSEL HAREKETİ

GERİLME ANALİZİ VE MOHR ÇEMBERİ MUKAVEMET

Vektörler. Skaler büyüklükler. Vektörlerin 2 ve 3 boyutta gösterimi. Vektörel büyüklükler. 1. Şekil I de A vektörü gösterilmiştir.

AKDENİZ ÜNİVERSİTESİ. Anten Parametrelerinin Temelleri. Samet YALÇIN

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Rijit Cisimlerin Dengesi

DİNAMİK MEKANİK. Şekil Değiştiren Cisimler Mekaniği. Mukavemet Elastisite Teorisi Sonlu Elemanlar Analizi PARÇACIĞIN KİNEMATİĞİ

DENİZ HARP OKULU TEMEL BİLİMLER BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

HARİTACILIKTA MESLEKİ HESAPLAMALAR H. İNCE Y. TÜREN

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BESMAK MARKA BCO 113 SERİSİ TAM OTOMATİK BİLGİSAYAR KONTROLLÜ HİDROLİK BETON TEST PRESİ VE EĞİLME TEST SİSTEMİ

KATI CİSİMLERİN BAĞIL İVME ANALİZİ:

Hazırlayan: Tugay ARSLAN

Doç. Dr. Muhammet Cerit Öğretim Üyesi Makine Mühendisliği Bölümü (Mekanik Ana Bilim Dalı) Elektronik posta ( ):

ELK101 - ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİNE GİRİŞ

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Transkript:

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SU TERAZİSİ, ŞAKÜL, GÖNYE TASARIM PROJESİ Büşra KARABELA 2015-2016 GÜZ DÖNEMİ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SU TERAZİSİ, ŞAKÜL, GÖNYE TASARIM PROJESİ Büşra KARABELA Bu projenin teslim edilmesi ve sunulması tarafımca uygundur. Danışman : Prof. Dr. Cemal KÖSE 2015-2016 GÜZ DÖNEMİ I

IEEE Etik Kuralları IEEE Code of Ethics Mesleğime karşı şahsi sorumluluğumu kabul ederek, hizmet ettiğim toplumlara ve üyelerine en yüksek etik ve mesleki davranışta bulunmaya söz verdiğimi ve aşağıdaki etik kurallarını kabul ettiğimi ifade ederim: 1. Kamu güvenliği, sağlığı ve refahı ile uyumlu kararlar vermenin sorumluluğunu kabul etmek ve kamu veya çevreyi tehdit edebilecek faktörleri derhal açıklamak; 2. Mümkün olabilecek çıkar çatışması, ister gerçekten var olması isterse sadece algı olması, durumlarından kaçınmak. Çıkar çatışması olması durumunda, etkilenen taraflara durumu bildirmek; 3. Mevcut verilere dayalı tahminlerde ve fikir beyan etmelerde gerçekçi ve dürüst olmak; 4. Her türlü rüşveti reddetmek; 5. Mütenasip uygulamalarını ve muhtemel sonuçlarını gözeterek teknoloji anlayışını geliştirmek; 6. Teknik yeterliliklerimizi sürdürmek ve geliştirmek, yeterli eğitim veya tecrübe olması veya işin zorluk sınırları ifade edilmesi durumunda ancak başkaları için teknolojik sorumlulukları üstlenmek; 7. Teknik bir çalışma hakkında yansız bir eleştiri için uğraşmak, eleştiriyi kabul etmek ve eleştiriyi yapmak; hatları kabul etmek ve düzeltmek; diğer katkı sunanların emeklerini ifade etmek; 8. Bütün kişilere adilane davranmak; ırk, din, cinsiyet, yaş, milliyet, cinsi tercih, cinsiyet kimliği, veya cinsiyet ifadesi üzerinden ayırımcılık yapma durumuna girişmemek; 9. Yanlış veya kötü amaçlı eylemler sonucu kimsenin yaralanması, mülklerinin zarar görmesi, itibarlarının veya istihdamlarının zedelenmesi durumlarının oluşmasından kaçınmak; 10. Meslektaşlara ve yardımcı personele mesleki gelişimlerinde yardımcı olmak ve onları desteklemek. IEEE Yönetim Kurulu tarafından Ağustos 1990 da onaylanmıştır. II

ÖNSÖZ Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son halini almasında yol gösterici olan kıymetli hocam Sayın Cemal Köse ye şükranlarımı sunmak istiyorum. Ayrıca bu çalışmayı destekleyen Karadeniz Teknik Üniversitesi Rektörlüğü ne Mühendislik Fakültesi Dekanlığına ve Bilgisayar Mühendisliği Bölüm Başkanlığına içten teşekkürlerimi sunarım. Her şeyden öte, eğitimim süresince bana her konuda tam destek verem aileme ve bana hayatlarıyla örnek olan tüm hocalarıma saygı ve sevgilerimi sunarım. Büşra KARABELA Trabzon, 2015 III

İçindekiler ÖNSÖZ...III İÇİNDEKİLER...IV ÖZET...V SEMBOLLER VE KISALTMALAR VI 1.GİRİŞ.1 2.MPU6050 SENSÖRÜ...2 2.1.İVMEÖLÇER ACCELEROMETER..2 2.2.JİROSKOP - GYROSCOPE...5 2.3.ATALETSEL ÖLÇÜ BİRİMİ - IMU.....7 2.4.DÖRDEY...8 3.ARDUINO VE MPU6050.9 4.PC UYGULAMASI..9 4.1.KÜPÜN EKRAN GÖRÜNTÜSÜ 10 4.2.KONSOL EKRANI..11 5.KAYNAKLAR 12 IV

ÖZET Bu projede yapı işleri, inşaat ve marangozlukta oldukça yaygın olarak kullanılan su terazisi, şakul ve gönye tek bir projede elektronik olarak gerçeklenmiştir. Bu üç malzemede farklı eksenlerde açı ölçtüğü için projeye özetle üç eksende açıölçer de denilebilir. Bunun için üç eksende açı ölçebilen MPU6050 sensörü ve bilgisayarla bağlantıyı sağlamak için Arduino UNO kullanılmıştır. V

SEMBOLLER VE KISALTMALAR KISALTMA AÇIKLAMA ACC GYR DMP IMU DOF Accelerometer Gyroscope Digital Motion Process Inertial Measurement Unit Degrees of Freedom VI

1. GİRİŞ 1

2. MPU6050 SENSÖRÜ MPU6050 sensörü, çeşitli hobi ve robotik projelerinde özellikle denge robotlarında ve hava araçlarında sıklıkla kullanılan üzerinde 3 eksenli bir gyro ve 3 eksenli bir ivmeölçer bulunduran 6 eksenli bir IMU sensör kartıdır. Kart 12C protokolünü desteklediğinden üzerindeki pinler standart 12C pinleridir ve Arduino nun standart 12C pinlerine takılmalıdır. Kart üzerinde voltaj regülatörü bulunduğundan 3 ile 5V arası bir besleme voltajı ile çalıştırılabilir. Her eksende 16 bitlik bir çözünürlükte çıkış verebilmektedir. Pinler arası boşluk standart olarak ayarlandığı için breadboard veya farklı devre kartlarında kullanılabilir. 2.1. İVMEÖLÇER - ACCELEROMETER Accelerometerlar üzerlerine düşen statik (yer çekimi) ve dinamik (aniden hızlanma veya durma) ivmeyi ölçmektedirler. Sensörden aldığımız değer m/ s2 veya yerçekimi türünden ifade edilebilir. Uygulamalarda genelde yerçekimi türünden ifade edilmektedir. Eğer uzayda veya herhangi bir çekim alanının kapsamında değilseniz sensör üzerine 1g lık bir çekim alanı etki etmektedir. Buda 9.8 m/s2 dir ve bulunulan noktaya göre değişiklik gösterebilmektedir. Sensör sürekli olarak yerçekimi etkisi altında kaldığından eğimölçer (yeni nesil akıllı cep telefonlarında kullanılmaktadır ve telefonun yatay ve dikey durumuna göre ekran değişmektedir) veya hareket algılayıcı (wii gibi ürünlerde elinizi salladığınızda oyundaki karakterlerde benzeri bir hareket yapar) olarak kullanılabilmektedir. Ölçü skalası olarak ±1, ±2, ±4 gibi ifade edilmektedir ve bir, iki, üç değerler ile eksende ölçüm yapabilen türleri vardır. Accelerometer Çalışması: İlk olarak uzayda olduğumuzu düşünelim. Yerçekimi ve ağırlığımız 0 dır. Önümüzde bir kutu ve kutunun ortasında da bir küre olduğunu düşünelim. Herhangi bir çekim etkisi olmadığından küre herhangi bir yüzeye temas etmeden hareketsiz bir şekilde durmaktadır. Kürenin hareketini görebilmek için kutunu +Y yönünde kalan yüzeyini kesip atalım. 2

x = 0g still weigtless state y = 0g z = 0g Kutuyu elimizde tutup +X yönünde 1g kuvveti ile hızlandırdığımızda küre kutunun X yüzeyine eylemsizlikten dolayı 1g lik kuvvet uygulayacaktır. Kutuyu alıp dünyaya dönelim. Kutuyu yere koyduğumuzda dünyanın 1g lik yerçekiminden dolayı küre Z yüzeyine 1g kuvvet uygular. 3

İvmeölçerlerde benzer şekilde çalışmaktadır. Yüzeyleri basınca veya manyetik alana tepki verecek şekilde yapılmaktadır ve ivmeölçerlerde bu tepkiyi ölçerek bize bir değer vermektedir. Sensörün yer yüze ile yaptığı açı değiştiğinde sensörün eksenlerine uygulanan kuvvet değişecektir ve bizde yeni değerleri okuyarak yeryüzü ile olan açıyı trigonometri ile hesaplarız. Örneğin kutuyu 45 derece sağa çevirirsek bu durumda kürenin X ve Z yüzeylerine kök içinde ½ lik bir kuvvet uygulanır. O da 0,707g ye eşittir. 4

Koordinat sistemi modeline geçersek; Burada R vektörü ivmeölçerimiz üzerine düşen kuvvet vektörü olsun. Bu kuvvet demin anlatıldığı gibi yerçekimi ve sensörün hareketi sonucu yerçekimi kuvveti ile eylemsizlik kuvvetinin bileşkesi olabilir. R vektörünün 3 bileşeni vardır ve R = [Rx, Ry, Rz] şeklinde ifade edilir. Pisagor teoreminden R vektörünü bu bileşenlerden şu şekilde hesaplanır; R^2 = Rx^2 + Ry^2 + Rz^2 Rx, Ry ve Rz bileşenlerini bildiğimiz takdirde şekilden de görüldüğü gibi trigonometrik fonksiyonlar yardımı ile R vektörünün X ve Y eksenleri ile yaptığı açıları hesaplayıp sensörümüzün yeryüzüne göre konumunu bulabiliriz. R vektörünün bileşenlerini de bize ivmeölçer g kuvveti türünden vermektedir. 2.2. JİROSKOP - GYROSCOPE Gyroscopes lar basitçe bir tekerleğin ekseni etrafında hızlıca döndürülmesi sonucu ortaya çıkar. Tekerleğin etrafındaki çembere dik açıyla kenetlenmiş başka bir çember ve bu çemberlere dik açıyla tutturulmuş başka bir çember jiroskobu modeller. Jiroskobun öne çıkan 5

iki özelliği vardır. Yatay eksende dönmekte olan jiroskoba birden yatay eksen doğrultusunda bir kuvvet uyguladığımızda yatay eksen etrafında dönmek yerine eksen etrafında dönmeye başlar. Diğer bir özelliği ise jiroskobun dönmeye başladığı eksenin jiroskobun durduğu yüzey ne açıyla oynatılırsa oynatılsın jiroskobun dönüş ekseni sabit kalır. Bu özelliğinden dolayı uyduların sürekli olarak dünyaya dönük kalması, uçaklarda ve çeşitli araçlarda yapay ufuk oluşturulması ve otopilot gibi uygulamalarda kullanılmaktadır. Piyasada bütünleşmiş devre olarak satılan modelleri rahatlıkla bulunmaktadır. İvmeölçerlerde olduğu gibi bir, iki veya üç eksende ölçüm yapabilen modelleri vardır ve saniyede dönüş hızı ölçümüne göre değerlendirilmektedirler. Bu hızların üzerindeki dönüşler sonucu sensör çıkışları anlamsız olabilmektedir. İki eksenli (X,Y) gyro kullandığımızı düşünelim. Burada R vektörünün XZ uzayındaki izdüşümü Rxz, YZ uzayındaki izdüşümü Ryz vektörü ile ifade edilmektedir. Bu vektörleri pisagor teoreminden Rxz^2 = Rx^2 + Rz^2 Ryz^2 = Ry^2 + Rz^2 olarak hesaplayabiliriz. 6

Vektörlerin Z ekseni ile yapmış olduğu açılar ise Axz ve Ayz dir. Sistemi Y ekseni etrafında döndürdüğümüzde Axy açısı, X ekseni etrafında döndürdüğümüzde ise Ayz açısı değişecektir. Gyroscopun dönüş hızını ölçtüğünü söylemiştik. Dönüş hızını zaman ile çarparsak dönüş açısını elde etmiş oluruz. to anındaki açımızın Axz0 olduğunu ve t1 anındaki açımızın Axz1 olduğunu düşünelim. O halde dönüş açımız (Axz1 Axz0) = RateAxz* (t1 t0) ile ifade edilir. Sensörden alacağımız değerleri dönüş hızına çevirmek içinse aşağıdaki formülleri kullanabiliriz. RateAxz = (AdcGyroXZ * Vref / 1023 VzeroRate) / Sensitivity RateAyz = (AdcGyroYZ * Vref / 1023 VzeroRate) / Sensitivity 2.3. Ataletsel Ölçüm Birimi - IMU (Inertial Measurement Unit) Gyroscope ve accelerometer tek başlarına yeterince güvenli bilgi vermezler. Bu yüzden bu iki sensörü birleştirerek yönelim, hız, pozisyon gibi bilgileri tek bi üniteden alabiliriz. Bu üniteyte IMU ( Inertial Measurement Unit) denilmektedir. Serbestlik derecesi DOF ( Degrees of Freedom) ile ifade edilmektedir. Örneğin 2 eksen gyro ve 3 eksen ivmeölçeriniz varsa 5 DOF IMU elde etmiş olursunuz. Gyro ve accelerometer bias drift adı verilen bir kayma yaparlar ve bundan dolayı hassas açı ölçümünde tek başlarına kullanılmazlar. Ayrıca accelerometerlar kuvvete karşı çok duyarlı olduğundan en ufak titreşimlerde çok yüksek gürültüler oluşturmaktadırlar. Gyrolar bu kuvvetlerden etkilenmezler. Şekilde görüldüğü gibi gyrolar ivmeölçer çıkışlarını filitreleyerek daha doğru ölçüm yapılmasını sağlarlar. 7

Filtreleme için çeşitli algoritmalar kullanılmaktadır. En yaygın olarak kullanılanlardan birtanesi kalman filtresidir. Sistemin bir önceki çıkışları ile yeni ölçümlerden yeni çıkışları tahmin edecek şekilde çalışmaktadır. 2.4. DÖRDEY Uçuş dinamiğinde hesaplama yapılırken dördeyler kullanılır. Bunun sebebi Euler açılarıyla hesaplama yaparken arctan fonksiyonunun tanımsız bölgesinden kaynaklanan gimbal lock sorunudur. Bu sorun eksenlerin 180 dereceden fazla dönmesinden kaynaklanan eksenlerin tanımsız bölgeye girip kilitlenmesidir. Dördeyler ile hesaplamada kullanılan karmaşık sayılar ve ek bir değişken ile bu sorun aşılmıştır. Kullanıcının ekranda okunabilir değer gösterebilmek için bu değerler kolayca dereceye çevrilebilmektedir. 3. ARDUINO VE MPU5060 MPU6050 içerisinde dahili hesaplama birimi içermektedir. DMP olarak isimlendiren bu birimde sensörden alınan veriler yine MPU6050 yongası içerisinde matematiksel hesaplamalardan geçirilip sonuç değerleri hesaplanabilir. Bu bağlamda euler açıları ve quaternion açıları MPU6050 yongasında hesaplanır. 8

MPU6050 hareket sensörü Arduino ile I2C protokolü ile haberleşir. Hesaplanan roll, pitch, yaw değerleri birer kaydedici içerisinde tutulur. Bunlar Arduino ile I2C kanalı üzerinden 400Khz hızında alınır. Arduino tarafından taranan veriler RS232 kanalı üzerinden bilgisayara aktarılmak üzere geçici bellekte tutulur. Mpu6050'ye yapılan herbir I2C sorgusu sonrasında bilgisayar programının okuyabileceği biçimde formatlanıp 115200 baudrate hızında serikanala basılır. Formatlı serikanal girdisi : $q.w,q.x,q.y,q.z 4. PC UYGULAMASI Hesaplanan verilerin görselleştirilmesi için Visual Studio 2015 IDE'si ve C# programlama dili kullanılmıştır. Pc uygulaması 115200 baudrate ile periyodik serikanal taraması yaparak, Arduino'dan hesaplanan quaternion açılarını almaktadır. Serikanaldan gelen formatlı verinin önce ayıklanması gerekmektedir. Serikanaldan veri sıralı gelmeyeceğinden başlangıç karakteri olan '$' okununca veriye senkron olunur. Peşisıra gelen 4 quaternion değeri ',' karakteri ile ayrılmıştır. Görselleştirme için ekrana Form_3Dcuboid kütüphanesi kullanılarak küp çizdirilmiştir. Bu kütüphane sensör kutusunu temsil edecek şekilde çizdirilmiş ve kutu eksenleriyle aynı olacak şekilde kapak resimleriyle süslenmiştir. Herbir serikanal sonrası yapılan ayıklama işlemi sonrasında quaternion açılarının küpü döndürebilmesi için rotasyon matrisine çevrilmesi gerekmektedir : public static float[] ConvertToRotationMatrix() { float num = 2f * q[0] * q[0] - 1f + 2f * q[1] * q[1]; 9

float num2 = 2f * (q[1] * q[2] + q[0] * q[3]); float num3 = 2f * (q[1] * q[3] - q[0] * q[2]); float num4 = 2f * (q[1] * q[2] - q[0] * q[3]); float num5 = 2f * q[0] * q[0] - 1f + 2f * q[2] * q[2]; float num6 = 2f * (q[2] * q[3] + q[0] * q[1]); float num7 = 2f * (q[1] * q[3] + q[0] * q[2]); float num8 = 2f * (q[2] * q[3] - q[0] * q[1]); float num9 = 2f * q[0] * q[0] - 1f + 2f * q[3] * q[3]; return new float[] { num, num2, num3, num4, num5, num6, num7, num8, num9 }; } Herbir çevrim ayrı bir thread üzerinde yapıldığından görselleştirme UI threadini zorlamayacak, akıcı bir görüntü oluşacaktır. 4.1. KÜPÜN EKRAN GÖRÜNTÜSÜ 10

Kutunun 3 eksene karşılık düzen kenarlarıının kendi eksenleriyle paralelliğini kontrol edebilmek için Euler açılarının hesaplanması gerekmeltedir. Ekrana yazdırılan bu veriler (roll, pitch, yaw), kendi eksenine paralel olduğunda 0 değerini gösterecektir. public static float[] ConvertToEulerAngles() { float radians = (float)math.atan2((double)(2f * (q[2] * q[3] - q[0] * q[1])), (double)(2f * q[0] * q[0] - 1f + 2f * q[3] * q[3])); float radians2 = (float)(-(float)math.atan(2.0 * (double)(q[1] * q[3] + q[0] * q[2]) / Math.Sqrt(1.0 - Math.Pow(2.0 * (double)q[1] * (double)q[3] + 2.0 * (double)q[0] * (double)q[2], 2.0)))); float radians3 = (float)math.atan2((double)(2f * (q[1] * q[2] - q[0] * q[3])), (double)(2f * q[0] * q[0] - 1f + 2f * q[1] * q[1])); return new float[] { Rad2Deg(radians), } } Rad2Deg(radians2), Rad2Deg(radians3) Hesaplanan değerler radyan cinsinde olup 3 boyutlu dizide geri döndürülmektedir. Ekrana yazdırırken bu değerler dereceye çevrilir. 4.2. KONSOL EKRANI 11

5. KAYNAKLAR http://www.barissamanci.net/makale/26/accelerometer-gyroscope-imu-nedir/ https://www.arduino.cc/ https://www.cdiweb.com/datasheets/invensense/mpu-6050_datasheet_v3%204.pdf https://www.arduino.cc/en/main/arduinoboarduno http://www.robotistan.com/mpu6050-6-eksen-ivme-ve-gyro-sensoru-6-dof-3-axisaccelerometer-and-gyros https://github.com/jrowberg/i2cdevlib http://playground.arduino.cc/main/mpu-6050 12