mühendislik fakültesi - eee.ktu.edu.tr · robot kollar, dışarıdan bir kullanıcıyla ya da...

41
T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü ARDUINO İLE ROBOT KOL KONTROLÜ BİTİRME PROJESİ 243439 Gökay SEVİM 243475 Ufuk GÜRLER 243488 Sündüs ARINMIŞ Doç. Dr. Ayten ATASOY MAYIS 2014 TRABZON

Upload: ngothien

Post on 12-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

T.C.

KARADENİZ TEKNİK ÜNİVERSİTESİ

Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü

ARDUINO İLE ROBOT KOL KONTROLÜ

BİTİRME PROJESİ

243439 Gökay SEVİM

243475 Ufuk GÜRLER

243488 Sündüs ARINMIŞ

Doç. Dr. Ayten ATASOY

MAYIS 2014

TRABZON

T.C.

KARADENİZ TEKNİK ÜNİVERSİTESİ

Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü

ARDUINO İLE ROBOT KOL KONTROLÜ

BİTİRME PROJESİ

243439 Gökay SEVİM

243475 Ufuk GÜRLER

243488 Sündüs ARINMIŞ

Doç. Dr. Ayten ATASOY

MAYIS 2014

TRABZON

LİSANS BİTİRME PROJESİ ONAY FORMU

243439 Gökay SEVİM, 243475 Ufuk GÜRLER ve 243488 Sündüs ARINMIŞ tarafından

Doç. Dr. Ayten ATASOY yönetiminde hazırlanan “Arduino ile Robot Kol Kontrolü”

başlıklı lisans bitirme projesi tarafımızdan incelenmiş, kapsamı ve niteliği açısından bir

Lisans Bitirme Projesi olarak kabul edilmiştir.

Danışman : Unvanı Adı ve SOYADI Doç. Dr. Ayten ATASOY

Jüri Üyesi 1 : Unvanı Adı ve SOYADI Yrd. Doç. Dr. Yusuf SEVİM

Jüri Üyesi 2 : Unvanı Adı ve SOYADI Öğr. Gör. Oğuzhan ÇAKIR

Bölüm Başkanı : Unvanı Adı ve SOYADI Prof. Dr. İsmail Hakkı ALTAŞ

v

ÖNSÖZ

Bitirme çalışmamıza danışmanlık yapan ve proje süresince bizlere büyük destekleri

bulunan Sayın Doç. Dr. Ayten ATASOY hocamıza teşekkürlerimizi sunarız. Ayrıca bize

değerli zamanlarını ayıran hocalarımız Yrd. Doç. Dr. Yusuf SEVİM, Öğr. Gör. Oğuzhan

ÇAKIR ve arkadaşımız Hakan UZUN’ a teşekkürlerimizi sunarız. Projenin

gerçekleşmesinde her türlü olanağı sağlayan Bölüm Başkanlığına, desteklerinden ötürü

Mühendislik Fakültesi Dekanlığına ve Karadeniz Teknik Üniversitesi Rektörlüğüne

teşekkürlerimizi sunarız.

Her şeyden önce, eğitimimiz süresince maddi ve manevi desteklerini esirgemeyen

ailelerimize, bize kattıkları her şey için tüm hocalarımıza ve sevgili arkadaşlarımıza

teşekkürlerimizi bir borç biliriz.

Mayıs, 2014

Gökay SEVİM

Ufuk GÜRLER

Sündüs ARINMIŞ

İÇİNDEKİLER

Sayfa No:

LİSANS BİTİRME PROJESİ ONAY FORMU ………………………… iii

ÖNSÖZ ………………………… v

İÇİNDEKİLER ………………………… vii

ÖZET ………………………… iv

SEMBOLLER VE KISALTMALAR ………………………… xi

ŞEKİLLER VE ÇİZELGELER DİZİNİ ………………………… xiii

1. GİRİŞ ………………………… 1

2. TEORİK ALTYAPI ………………………… 4

2.1. Servo Motorlar ………………………… 4

2.2. Arduino Mikrodenetleyici ………………………… 5

2.3. Bağlantı Kutusu ………………………… 6

2.4.Güç ………………………… 7

2.5 Seri İletişim ………………………… 7

3. TASARIM KISMI ………………………… 9

3.2. Mekanik Kısmın Tasarımı ………………………… 10

3.3. Mekanik Kısmın Montajı ………………………… 10

4. DENEYSEL ÇALIŞMALAR ………………………… 13

4.1 Projede İzlenen Yöntem ………………………… 13

4.2. Robot Kol Kontrolü ………………………… 13

5. SONUÇLAR ………………………… 16

KAYNAKLAR ………………………… 17

EKLER ………………………… 18

EK-1. IEEE ETİK KURALLARI ………………………… 18 EK-2. DİSİPLİNLERARASI ÇALIŞMA ………………………… 21 EK-3. PROGRAMLAMA KISMI ………………………… 22 EK-4. STANDARTLAR VE KISITLAR FORMU………………………… 31 ÖZGEÇMİŞLER ………………………… 33

vii

iv

ÖZET

Günümüzde hızla artan insan ihtiyaçları doğrultusunda teknoloji de aynı oranda

gelişmektedir. Bu ihtiyaçların karşılanması için yapılan çalışmalar her geçen gün hayatı

daha da kolaylaştırmakta ve bu çalışmalar robot kol çalışmalarında yoğunlaşmaktadır.

Robot kollar, dışarıdan bir kullanıcıyla ya da daha önceden belirlenen komutları yerine

getirerek çalışırlar. Günümüzde nerdeyse her alanda ihtiyaç duyulan robot kolların en fazla

gelişme gösterdiği alan endüstri ve tıp sektörüdür.

Projede tasarlanan ve gerçekleştirilen robot kol 6 adet servo motor ile 5 eksen yönünde

hareket edebilme yeteneğine sahiptir. Bu sayede istenilen bir malzemeyi bir yerden alıp

başka bir yere taşıyabilir ve ayrıca aldığı malzeme ile karıştırma işlemi de

gerçekleştirebilir. Bu işlemi yaparken de arduino ve bilgisayar üzerinde önceden

oluşturulan ara yüz ile robot kontrolü sağlanmaktadır.

xi

SEMBOLLER VE KISALTMALAR

AA: Alternatif Akım.

DA: Doğru Akım.

V: Volt.

A: Amper.

mA:Miliamper.

s: Saniye.

ms: Milisaniye.

μs:Mikrosaniye.

MHz: Megahertz

kg: Kilogram.

cm: Santimetre.

mm: Milimetre

lt: Litre

PWM: Darbe genişlik modülasyonu (Pulse Width Modulation).

Vp-p: Tepeden tepeye genliği.

tk: Motor milinin herhangi bir lojik durumda kalma süresi.

TTL:Transistor–transistor logic

xiii

ŞEKİLLER VEÇİZELGELER DİZİNİ

Sayfa No:

Çizelge 1. İş-zaman çalışma takvimi .................... 2

Çizelge 2. Malzeme listesi .................... 9

Çizelge 3. Servo motorların kontrolü .................... 14

Çizelge 4. Robot kontrolü .................... 15

Şekil 1.DA servo motor .................... 4

Şekil 2. Projede kullanılan arduino mikrodenetleyicisi .................... 6

Şekil 3. Bağlantı kutusu .................... 7

Şekil 4. RS232 kablosu .................... 8

Şekil 5. Mekanik kısmın tasarımı .................... 10

Şekil 6. A, B ve C servo motorlarının montajı .................... 11

Şekil 7. D, E ve F servo motorlarının montajı .................... 11

Şekil 8. Projenin tamamlanmış hali .................... 12

1. GİRİŞ

Geçmişten günümüze insanlar her zaman ek yardımcı sistemlere ihtiyaç duymuştur.

Bilgi akışının hızla artması ile artık insanları farklı pazar arayışlarına yönlendirmiş ve

insanlar kaliteli ürünü ucuza imal edebilmek için rekabete girmişlerdir. Bunu

gerçekleştirebilmek için de otomasyon sistemlerine ihtiyaç vardır. Çünkü kaliteli ürün için

çalışanların tecrübeli ve iyi eğitilmiş olmalarının yanı sıra hataları minimize eden

standartlaştırılmış otomasyon sistemleri de gerekmektedir. İnsanlar, fiziksel özelliklerinden

dolayı güçlerinin yetmediği yerlerde yardımcı makineler kullanma ihtiyacı duymuşlardır.

Önceleri insan yardımına ihtiyaç duyularak çalıştırılan bu makineler, teknolojinin

ilerlemesiyle insan gücüne ihtiyaç duymadan kendiliğinden çalışır hale getirilmiştir.

Otomasyon sistemlerinin uygulamalarında en fazla kullanılan elemanlarından birisi de

robotlardır. Robotik sistemler; Makine Mühendisliği, Elektrik-Elektronik Mühendisliği ve

Bilgisayar Mühendisliğinin ortaklaşa çalışmaları sonucu ortaya çıkmıştır.

Projede, önceden belirlenen komutlar doğrultusunda belirlenen görevi yerine

getirmesi için tasarlanan robot kolun gerçekleştirilmesinde yapılan işlemler ve bu işlemler

esnasında mekanik ve yazılım konusunda çeşitli bilgi sahibi olmak için araştırmalar

yapılmış ve projeye uygulanmıştır.

İlk olarak, robot kolun ne işlevde olacağı ve hangi hareketleri yapabileceği

saptanmıştır. Bilgisayar aracılığıyla kontrolü yapılan robot kol; istenilen malzemeyi

taşıyabilir, karıştırabilir ve önceden bir kullanıcı tarafından belirlenen komutları yerine

getirebilir. Bu proje de belirlenen görevi ise; robot kol bir çay şekerini bulunduğu

zeminden alıp, çay dolu bardağın içine atmak suretiyle salınım hareketi sayesinde

karıştırma işlemini yaparak şekerin çay içerisinde çözünmesini hızlandırmasıdır. Bu

işlemlerin düzgün bir şekilde gerçekleştirilebilmesi için seçilecek motorun hassas

çalışabilmesi ve yüksek torkta olması gerektiğinden servo motor tercih edilmiştir. Robot

kol, 6 adet servo motordan oluşmaktadır ve bu motorlar yardımıyla 5 eksen yönünde

hareket edebilmektedir. Servo motorların fazla olması sebebiyle görevlerini anlatabilmek

için aşağıdan yukarıya doğru sırasıyla A’dan E’ye kadar isimlendirilmiştir. Robot kolun

kontrolü sunum günü oluşacak gürültüye bağlı olarak oluşabilecek iletişim kopukluklarını

2

engellemek amacıyla kablolu tercih edilmiş ve bu kontrolü RS232 seri iletişim devresiyle

gerçekleştirilmiştir.

Projede Java dilinde yazılan Arduino Uno R3 mikrodenetleyicisi programlanarak

servo motor kontrolü sağlanmıştır. Böylelikle servo motor girişlerinin bulunduğu devre

dışında herhangi bir devre yapımına gerek kalmaksızın arduino üzerinde bulunan

elemanlar sayesinde istenilen işlemler yapılabilmiştir. Mekanik bölüm için AutoCAD

programı ile robot çizilerek robot kolunun boyutları belirtilmiştir. Robotun çalışabilmesi

için de 6V’luk akü tercih edilmiştir.

Projenin tasarım aşamasından bitirme aşamasına kadar geçen süreye ait ayrıntılı iş-

zaman çalışma takvimi Çizelge 1’de verilmiştir.

3

Çizelge 1. İş-zaman çalışma takvimi

İş/Zaman 10-25

Ekim

25

Ekim-

10

Kasım

10

Kasım-

1 Aralık

1-15

Aralık

15

Aralık-

1 Ocak

3

Ocak

4

Ocak-

1

Mayıs

1-20

Mayıs

23

Mayıs

Proje

Konusunun

Belirlenmesi •

Proje Hakkında

Genel Bilgilerin

Toplanması

Arduino ve

Servo

Motorların

İncelenmesi

Mekanik

Kısmın

Tasarımı

Servo Motor

Devresinin

Tasarımı

Tasarım

Projesinin

Hazırlanması

Tasarım

Projesinin

Teslimi

Mekanik

Kısmın Montajı •

Yazılım Kısmı •

Bitirme Tezinin

Yazılması •

Bitirme Tezinin

Teslimi

2. TEORİK ALTYAPI

Projenin teorik alt yapısı, ana başlıklar ve alt başlıklar olarak aşağıda incelenmiştir.

2.1. Servo Motorlar

Servo; bir mekanizmanın işleyiş hatasını algılar, geri besleme yöntemiyle denetler ve

hataların giderilmesini sağlar. Servo motorun içinde alternatif akım (AA), doğru akım

(DA) veya step motorlar bulunabilir. Bunların yanı sıra sürücü ve kontrol devreleri

bulunmaktadır. Servo motorlar istediğimiz komutları yerine getirebilen motor çeşitleridir.

Çok küçük ya da çok büyük hızlarda bile kararlı bir şekilde çalışabilirler. Bu motorlarda

küçük boyuttan büyük moment elde edilebilir.

Servo motorlar kontrol sistemlerinde hızlı çalışmalar, fazla eksen hareketinin

yapılması, durum kontrolü ve bunun gibi alanlarda kullanılmaktadırlar. Servo motorlar bir

mekanizmanın son kontrol elemanıdırlar. Duyarlılıkları yüksektir ve servo motorlar

elektronik yapılı veya programlayıcı devrelerle birlikte kullanılmaktadırlar. Bu motorlar

AA ve DA olmak üzere ikiye ayrılır. AA servo motorlar fırçasız tip motorlar iken DA

servo motorlar fırçalıdır. Servo motorlar çoğunlukla üç kabloludur. Bunlar güç için kırmızı

kablo, topraklama için siyah ve kontrol (data, veri) için sarı renkli kablolardır [1]. Projenin

yapım aşamasında kullanılan servo motorlardan biri Şekil 1’de gösterilmektedir.

Şekil 1. DA servo motor

Projede Hitec HS-311standart servo motoru kullanılmıştır. Bu servo motorun bazı

özellikleri; çok yönlü çalışması, darbe genişlik kontrolünün 1500 μs olması, VP-P: 3-5 V

5

kare dalga ile çalışması ve çalışma geriliminin 4,8-6V olması gibi sıralanabilir. Kullanılan

servo motoren küçük çalışma geriliminde, çalışma hızı yüksüz olarak 0,19 s/60° ve torku

3kg/cm’dir.

Servo motorlar, sinyal durumuna göre kontrol edilirler. Bunu yaparken veri ucu

yardımıyla verilen darbe genişlik modülasyon (PWM) sinyali kullanılır. Her bir servo

motor, 10-20 ms’de ve 0,5-1,5 ms’de bir PWM sinyali ile kontrol edilir. Bu sinyalin lojik-

1‘de kalış süresine (tk) göre motor milinin konumları belirlenir. Bunlar;

• tk = 0,5 ms iken motor mili en sona döner,

• tk= 0,5- 1 ms iken motor milinin konumu ortadadır,

• tk= 1- 1,5 ms iken motor mili sağa döner,

• tk= 10-20 ms iken (tekrar aynı sinyal verildiğinde) eski konumunda kalır,

şeklindedir. Bu motorların konum kontrolü gerekli darbeler kullanılarak belirlenir.

Projede kullanılan DA servo motorlar çalışma esnasında gerilimleri 5V civarında

tutulmuştur.

2.2. Arduino Mikrodenetleyicisi

Genellikle programlama ve yazılım alanında kullanılan mikrodenetleyici tipi PIC

olsa da son zamanlarda arduino dünyada oldukça popüler hale gelmiştir. Arduinonun

geçmişi wiring ve processing projelerine dayanmaktadır[2]. Processing, programlama

deneyimi olmayanlara yönelik geliştirilmek amacıyla yazılmış bir dildir. Arduinolar wiring

programlama dili temelinde üretilmiştir. İkisinin de ortak özelliği, elektronik ve

programlama konusunda temel bilgi sahibi kişilerin dahi kolayca tasarım yapabileceği

ortamın sağlanmış olmasıdır. Arduino artık günümüzde giderek daha yaygın hale gelmeye

başlamıştır. Neredeyse her alanda kullanımı olan arduino ile yapılan insansız hava aracı

projeleri dahi görülmektedir.

Arduinonun bu derece hızlı bir şekilde yaygınlaşma sebepleri şunlardır;

• Sürücü kullanımıyla birlikte geliştirme ortamının basit olmasından dolayı bütün

platformlarda kullanılabilir.

6

• Gelişmiş kütüphanesi yardımıyla karmaşık olan işlemlere bile kolaylıkla çözüm

bulunabilir.

• Arduinoya yazılan programlar herhangi bir başka platformda koşturulmadığından hızlı

çalışabilirler.

• Arduino ile uyumlu ve birlikte çalışabilecek çok fazla donanım desteği bulunmaktadır.

• Açık kaynak kodlu olduğu için çevresi ile iletişime kolay geçebilmektedir.

• Arduino kullanıcı sayısı fazla olması sebebiyle herhangi bir sorun oluştuğunda

kolaylıkla çözüme ulaşılabilir.

Projede arduinonun bir alt modeli olan Uno R3 tercih edildi. Bu model robot kol gibi

çok büyük ve karmaşık sistem gerektirmeyen çalışmalarda sıkça kullanılmaktadır.

Üzerinde Atmega328 mikrodenetleyicisi, USB portu, güç regülatörü ve 16MHz kristal gibi

bileşenler bulunduğundan dolayı ayrı bir baskı devreye ihtiyaç duyulmamaktadır. Projede

kullanılan arduino mikrodenetleyicisine ait resim Şekil 2’de verilmiştir.

Şekil 2. Projede kullanılan arduino mikrodenetleyicisi

2.3. Bağlantı Kutusu

Bağlantı kutusu; servo girişleri, seri iletişim girişi ve arduino pin girişlerinden

oluşmaktadır. Bu girişlere ait bağlantıların tamamı devrenin altına lehimlenmiş biçimde

bulunmaktadır. Kullandığımız bu devre sayesinde güç kaynağı olarak kullanılan aküden

7

gelen 5V’un servo motorlara dağıtılması sağlanmıştır. Bağlantı kutusuna ait resim Şekil

3’te verilmiştir.

Şekil 3. Bağlantı kutusu

2.4. Güç

Servo motorların kontrol devresini beslemesi için seçilen güç kaynağı, eş zamanlı

tüm servo motorların çalışması durumunda dahi aynı akımı verebilmektedir. Tüm servo

motorlar aynı anda çalıştırıldığında 0,5 A akım çekmektedirler. Ayrıca projede robotun

hareketi için kullanılan arduino için de 5 V’a ihtiyaç duyulmuştur. Bu ihtiyaç 6 V’luk akü

yardımıyla sağlanmıştır.

2.5. Seri İletişim

Kontrol devresinde arduinoya seri veri girişine yardımcı bir soket bulunmaktadır.

Bilgisayar yardımıyla bu üniteye bağlı bulunan RS232 seri portundan gönderilen komutlar

ile bir robotun hareket ettirilmektedir. Bu seri iletişim devresi, kontrol devresine

bağlanarak RS232 kablosu yardımıyla bilgisayarla robot arasındaki iletişimi sağlamaktadır.

Bu sayede gerekli program eşliğinde bilgisayar klavyesinden gönderilen komutlar ile

robotun hareketi sağlanır. RS232 kablosu ile birlikte seri iletişim devresi Şekil 4’te

verilmiştir.

8

Şekil 4. RS232 kablosu

3. TASARIM KISMI

Tasarım kısmı kendi içerisinde, mekanik kısmın tasarımı ve mekanik kısmın montajı

olmak üzere ikiye ayrılmaktadır. Mekanik kısmın tasarımında, robot kol yapımında

kullanılacak olan parçaların milimetrik çizimleri yardımcı program aracılığı ile yapılmıştır.

Mekanik kısmın montajında ise robot kolda kullanılan servo motorların isimlendirilmesi ve

robotun çalışması esnasındaki görevleri açıklanmıştır. Projenin yapımı bazı basamaklardan

oluşmaktadır. Bu basamaklar;

• Projenin yapımı için gerekli mekanik malzemelerin belirlenmesi,

• Projede kullanılacak mikrodenetleyici ve yazılımın belirlenmesi,

• Robot kolu uygun bir biçimde çalıştıracak servo motorların araştırılması ve seçilmesi,

• Mekanik kısım parçalarının uygun şekilde seçilmesi,

• Robot kol montajının gerçekleştirilmesi,

• Sistemin seçtiğimiz mikrodenetleyici ile amaca uygun şekilde çalışıp çalışmadığının test

edilmesi,

• Olası hatalar gözden geçirilerek sistemin tekrar yapılandırılması şeklinde verilmiştir. Bu

adımlar tamamlanarak robotun tasarımı tamamlanmıştır.

Arduino ile robot kol kontrolü adlı projemizde, robot kolun görevi olan zemindeki

şekeri alarak çay bardağının içine bırakması ve ardından çay kaşığı yardımıyla salınım

hareketi yaparak şekerin çay içinde çözünmesinin gerçekleştirmesinde kullanılan

malzemeler Çizelge 2’de verilmektedir.

Çizelge 2. Malzeme listesi

Sıra Malzeme Miktar Fiyat Tutar

1 Standart RC Servo Motor 6 22.00 132.00

2 ArduinoUno R3 1 60.00 60.00

3 2mm Pleksi levha şeffaf (135x200 cm) 1 43.48 43.48

4 Pleksi Yapıştırıcı (Kloroform) 1 lt 1 23.60 23.60

10

3.1. Mekanik Kısmın Tasarımı

Robot kolun mekanik kısmı için gerekli malzemeler temin edildikten sonra

AutoCAD üzerinde çizimi yapılarak malzemeler milimetrik olarak oluşturulmuştur. Bu

malzemeler ile mekanik kısmın montajı gerçekleştirilmiştir. Projenin mekanik kısmına ait

çizim Şekil 5’te verilmiştir.

Şekil 5. Mekanik kısmın tasarımı

3.2. Mekanik Kısmın Montajı

Kesilen parçalar, servo motorlarla birlikte birleştirilerek robot kolun montajı

tamamlanmış, robot kol 5 eksende hareket etmekte ve bu hareketini 6 adet RC Servo

Motorla gerçekleştirmektedir.

AutoCAD üzerinde parçaların çizimini yapılıp gerekli parçalar edinildikten sonra

mekanik kısmın tasarımı başlatılmış ve robot kolun bir hareketsiz alt gövde ve hareketli üst

gövdesi hazırlanmıştır. Robot kolun hareketsiz alt gövde kısmında bir adet servo motor

bulunmaktadır ve bu A servo motoru olarak adlandırılmıştır. A servo motoru sayesinde

robot kolun sağa sola dönme hareketi sağlamaktadır. Hareketli üst gövde kısmında ise 2

adet servo motor bulunmaktadır. Bu servo motorlar birbirlerine paralel şekilde çalışmaları

11

gerektiğinden ikisinin de başlangıç ve bitiş pozisyonları eş zamanlı ayarlanmıştır. Bu iki

servo motorda sırasıyla B ve C servo motorları olarak adlandırılmıştır.

B ve C servo motorlarının görevleri ise robot kolun aşağı ve yukarı hareket etmesini

sağlamaktır. A, B ve C servo motorlarının montajı Şekil 6’da verilmiştir.

Şekil 6. A,B ve C servo motorlarının montajı

D ve E olarak adlandırdığımız iki servo motor ise aynı eksen üzerine yerleştirilmiş

ve robotun üst kısım bağlantısında kullanılmıştır. Bunlardan D servo motoru alt kısım ile

üst kısmın birleştirilmesini, E servo motoru ise robotun parmaklarının aşağı-yukarı

hareketini sağlamaktadır. Robotun en üst kısmı parmak bölgesinde bulunan F servo

motoru ise dişliler yardımıyla parmakların zıt yönde hareketini sağlamaktadır.

Şekil 7. D,E ve F servo motorlarının montajı

12

Gerekli tüm parçaların montajı, bağlantıları ve denemeleri yapıldıktan sonra projenin

son hali Şekil 8’de verilmiştir.

Şekil 8. Projenin tamamlanmış hali

4. DENEYSEL ÇALIŞMALAR

Deneysel çalışmalar kendi içerisinde; projede izlenen yöntem, robot kol kontrol

sistemi ve programlama olmak üzere üç kısma ayrılmaktadır. Projede izlenen yöntem ve

robot kol kontrol sistemi kısımlarında, temel bilgiler verildikten sonra robotun istenilen

görevleri gerçekleştirebilmesi için gereken komutlar açıklanmıştır. Programa kısmında ise

robotun hareketi için gereken yazılım bilgileri bulunmaktadır.Projenin program kısmı,

görsel açıdanprojenin daha düzenli olması için Ek 3’te verilmiştir.

4.1. Projede İzlenen Yöntem

İlk olarak robot kollar hakkında bir tarihi araştırma yapılmış ve sistemin kurulması

için gerekli temel bilgiler edinilmiştir. Projede kullanılan robot kol eklemli tiptir ve 5

eksen yönünde hareket edebilmekte (sağa sola, yukarı aşağı ) ayrıca üzerinde bulunan tutaç

sayesinde tutma ve salınım hareketi yapabilmektedir. Robot kolun kontrolünü en uygun

biçimde sağlayabilmek için kullanılan mikrodenetleyici Arduino Uno R3 olarak

seçilmiştir. Bu mikrodenetleyicinin tercih edilme nedeni, açık kaynak kodlu olması,,

kullanımı diğer mikrodenetleyicilere göre daha kolay olması ve kullanıcı sayısı da daha

fazla olduğu için oluşabilecek bir hatanın çözümü için yardım alabilmenin daha ulaşılabilir

olmasıdır.

Bu çalışmalar yapıldıktan sonra kullanılacak servo motorlar hakkında ayrıntılı

bilgiler edinilmiştir. Robotun projede yapacak olduğu işlemleri düzgün bir şekilde

gerçekleştirilebilmesi, seçilecek motorun hassas çalışabilmesi ve yüksek torkta olması

gerektiği için servo motor tercih edilmiştir. Robot kol, 6 adet servo motordan

oluşmaktadır. Servo motorların fazla olması sebebiyle görevlerini anlatabilmek için

aşağıdan yukarıya doğru numaralandırılmıştır.

4.2. Robot Kol Kontrolü

Besleme kaynağından gelen 5V’luk gerilimin servo motorlara dağıtılması amacıyla

bağlantı kutusu yapılmıştır. Bunu yaparken de servo motor girişleri, arduino pin girişleri

ve iletişim devresi elemanları kullanılmıştır. Önceden seçilen parçaların uygun şekilde

14

birleştirilmesiyle robot kolun mekanik kısmı tasarlanmıştır. Yapılmış olan robot kolun

amacına uygun şekilde hareket ettirilebilmesi için seçilen uygun arduino

mikrodenetleyicisi ile yazılımı gerçekleştirilmiş ve ardından seri iletişim ve servo

motorlarla denemeler yapılarak sistem çalışması hakkında bilgi edinilmiştir. Yapılmış olan

robot kolun amacına uygun şekilde hareket ettirilebilmesi için seçilen uygun arduino

mikrodenetleyicisi ile yazılımı gerçekleştirilmiştir. Bilgisayar klavyesinde önceden

programa tanıtılarak belirlenen tuşlar ile robot kolun kontrolünü sağlamak amaçlı

denemeler yapılmış ve hatalı komutlar değiştirilmiştir. Seri iletişim yardımıyla bilgisayar

aracılığıyla robot kol kontrolü sağlanmış ve seri iletişim devresi olarak seçilen RS232

bilgisayarın USB çıkışını bir seri iletişim devresine çevirmiştir. Robotun kontrolü

programlama aşamasında daha önceden belirlenen bilgisayar klavyesindeki A, D, E, F, G,

I, O, P, R, S, T, U, Q, W, Y tuşları yardımıyla sağlanmaktadır. Robotun yüksekliği

klavyeden girilen komutlar doğrultusunda arttırılıp azaltılabilmektedir. Seçilen tuşlara göre

servo motorların kontrolü Çizelge 3’de verilmiştir.

Çizelge 3. Servo motorların kontrolü

Girilen komut Hareketi sağlayan servo motor Robotun hareketi

Q A servo motoru Sola döner

W A servo motoru Sağa döner

E B ve C servo motorları Yukarı hareket eder

R B ve C servo motorları Aşağı hareket eder

T D servo motoru Yukarı hareket eder

Y D servo motoru Aşağı hareket eder

U E servo motoru Yukarı hareket eder

I E servo motoru Aşağı hareket eder

O E servo motoru Parmakları açılır

P E servo motoru Parmakları kapanır

Robot kolun istenilen görevi yerine getirebilmesi için programa bu görevler için

belirli kodlar tanımlanmıştır. Kullanıcının bu kodları klavye aracılığı ile programa girmesi

durumunda robot, tanımlı hareketi gerçekleştirmektedir. Seçilen tuşlara göre robotun

kontrolü Çizelge 4’te verilmiştir.

15

Çizelge 4. Robot kontrolü

Girilen

komut Robot hareketi

A Belirlenen referans konumuna döner

S Y ekseni doğrultusunda hareket eder

D X ekseni yönünde hareket eder

F Daha önceden belirlenen yerde bulunan küp şekeri alır

G Daha önceden belirlenen yerde bulunan bardağa şekeri atar

5. SONUÇ

Robot kollar, birçok alanda geliştirilebilir yapıdadır. Robot kollar sayesinde birçok

işin yapımı kolaylaşmış ve ortaya çıkabilecek hata seviyesi minimuma indirilmiştir.

Örneğin; bazı eczanelerde kullanılmakta olan ilaç veren robotlar, projede gerçekleştirilen

robot kolun geliştirilmiş halidir. Bunun yanı sıra robot kolun hareket kabiliyeti daha da

arttırılıp, parmak kısmına kamera yerleştirilip, hassasiyeti arttırıldığında tıp sektöründen

otomasyon sistemlerine kadar geniş bir kullanım alanına sahip olabilmektedir. Bu şekilde

geliştirilen robot kollar ile tıp sektöründe hastanın enfeksiyon kapma riski en aza inerken

cerrahi müdahale esnasında insan kaynaklı hatalar da en aza indirilmiş olmaktadır. Bu

proje ile yapılan robot kol prototip niteliği taşımasına rağmen daha kapsamlı robotik

sistemler için geliştirilebilir bir niteliğe sahiptir. Bunların yanı sıra gelişime açık olan robot

kol sektörü ilerleyen zamanlarda önemini koruyacaktır.

Projenin amacı, 5 eksende hareket eden robot kol tasarımı ve bu robot kolun uygun

bir mikrodenetleyici ile bilgisayar üzerinden kontrolünün sağlanmasıdır. Bu amaç için

gerekli teorik ve pratik bilgiler edinilerek projenin yapılması için gerekli altyapı

oluşturulmuştur. Projenin yapılması ve geliştirilmesi sürecinde birçok teorik bilgi pratiğe

aktarılarak, projenin amacına uygun bir şekilde gerçekleşmesi sağlanmıştır.

Yapılan robot kol, temsili olarak bir çay şekerini bulunduğu yerden alıp, çay dolu

bardağa atarak kaşık yardımıyla salınım hareketi ile karıştırma işlemini yapabilmektedir.

Bu işlemler Arduino Uno R3 mikrodenetleyicisi yardımıyla bilgisayarda oluşturulan bir

ara yüz ile kontrol edilebilmektedir.

17

KAYNAKLAR [1]. Elektrik Elektronik Teknolojisi-Step ve Servo Motorlar, MEGEP, 2007.

[2].T. Coşkun, Arduino Uygulama Kitabı:Analog- Dijital- Sensörler- Haberleşme- Projeler, Dikeyeksen Yayınları, İstanbul, Türkiye:Şubat, 2013.

EKLER

EK-1. IEEE ETİK KURALLARI

IEEE Etik Kuralları IEEE Code of Ethics

IEEE üyeleri olarak bizler bütün dünya üzerinde teknolojilerimizin hayat standartlarını etkilemesindeki önemin farkındayız. Mesleğimize karşı şahsi sorumluluğumuzu kabul ederek, hizmet ettiğimiz toplumlara ve üyelerine en yüksek etik ve mesleki davranışta bulunmayı söz verdiğimizi ve aşağıdaki etik kuralları kabul ettiğimizi ifade ederiz.

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

IEEE

IEEE Code of Ethics

We, the members of the IEEE, in recognition of the importance of ourtechnologies in affecting the quality of life throughout the world, and in acceptinga personal obligation to our profession, its members and the communities weserve, do hereby commit ourselves to the highest ethical and professional

d t dconduct and agree:

1. to accept responsibility in making engineering decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;

2 id l i d fli f i h ibl d2. to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;

3. to be honest and realistic in stating claims or estimates based on available data;

4. to reject bribery in all its forms;

5. to improve the understanding of technology, its appropriate application, and potential consequences;

6. to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;

7. to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;

8. to treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin;

9. to avoid injuring others, their property, reputation, or employment by false or mlicious action;

10. to assist colleagues and co‐workers in their professional development and to support them in following this code of ethics.

Approved by the IEEE Board of DirectorsA 1990August 1990

ieee‐ies.org/resources/media/about/history/ieee_codeofethics.pdf

Code of Ethics for Engineers

Mühendisler İçin Etik Kuralları

Etik kuralları ile ilgili faydalıweb adresleri

IEEE Code of Ethicshttp://www.ieee.org/about/corporate/governance/p7‐8.html

NSPE Code of Ethics for Engineershtt // / / thi / d thihttp://www.nspe.org/resources/ethics/code‐ethics

American Society of Civil Engineers, UC Berkeley Chapterhttp://courses.cs.vt.edu/professionalism/WorldCodes/ASCE.html

Engineering Ethics BY DENISE NGUYENEngineering Ethics BY DENISE NGUYENhttp://sites.tufts.edu/eeseniordesignhandbook/2013/engineering‐ethics‐2/

Code of Ethics of Professional Engineers Ontariohttp://www.engineering.uottawa.ca/en/regulations

Bir kitap:What Every Engineer Should Know about EthicsYazar: Kenneth K. HumphreysCRC Press

EMO – Elektrik Mühendisleri OdasıEtik Kütüphanesihttp://www.emo.org.tr/genel/bizden_detay.php?kod=50871&tipi=46&sube=0#.U1QfyVV_tjs

EK-2. DİSİPLİNLERARASI ÇALIŞMA

Projede kullanılan robot kolun yazılımı için piyasadan Arduino Uno R3

mikrodenetleyicisi satın alınmıştır. Robotun sağlam bir zemin üzerinde bulunması ve servo

motor kablolarından kaynaklanan karışıklığın engellenmesi için çeşitli düzenlemeler

yapılmıştır. Bu amaçla marangozda robotun tahta bir malzeme üzerine oturtularak hem

sağlam bir şekilde durması hem de kablolardan kaynaklanan karışıklığın engellenmesi

amaçlanmıştır.

21

EK-3. PROGRAMLAMA KODLARI

Servo motorların kontrolünü sağlayıp robot kolun hareketlerini gerçekleştirebilmek

için gerekli program kodları aşağıda verilmiştir.

#include <Servo.h>

Servo servo1;

Servo servo2;

Servo servo3;

Servo servo4;

Servo servo5;

Servo servo6;

chargelenDeger;

int pos1,pos2,pos3,pos4,pos5,pos6;

int bekleme=5;

void setup() {

servo1.attach(2);

servo1.write(0);

servo2.attach(3);

servo2.write(0);

servo3.attach(4);

servo3.write(0);

servo4.attach(5);

22

servo4.write(0);

servo5.attach(6);

servo5.write(0);

servo6.attach(7);

servo6.write(0);

Serial.begin(9600);

}

void loop() {

if(Serial.available()>0) {

gelenDeger=Serial.read();

Serial.print("gelenDeger");

Serial.println(gelenDeger);

switch(gelenDeger) {

case 'A':

pos1Artir(pos1);

servo1.write(pos1);

delay(bekleme);

break;

case 'B':

pos1Azalt(pos1);

servo1.write(pos1);

delay(bekleme);

23

break;

case 'C':

pos2Artir(pos2);

servo2.write(pos2);

servo3.write(pos2);

delay(bekleme);

break;

case 'D':

pos2Azalt(pos2);

servo2.write(pos2);

servo3.write(pos2);

delay(bekleme);

break;

case 'E':

pos3Artir(pos3);

servo4.write(pos3);

delay(bekleme);

break;

case 'F':

pos3Azalt(pos3);

servo4.write(pos3);

delay(bekleme);

24

break;

case 'G':

pos4Artir(pos4);

servo5.write(pos4);

delay(bekleme);

break;

case 'H':

pos4Azalt(pos4);

servo5.write(pos4);

delay(bekleme);

break;

case 'J':

pos5Artir(pos5);

servo6.write(pos5);

delay(bekleme);

break;

case 'K':

pos5Azalt(pos5);

servo6.write(pos5);

delay(bekleme);

break;

}

25

}

}

int pos1Artir (int a) {

a=a+10;

pos1=a;

if(pos1>180) {

pos1=180;

}

Serial.println("pos1 artti");

Serial.println(pos1);

return a;

}

int pos1Azalt(int b) {

b=b-10;

pos1=b;

if(pos1<0) {

pos1=0;

}

Serial.println("pos1 azaldi");

26

Serial.println(pos1);

return b;

}

int pos2Artir (int c) {

c=c+10;

pos2=c;

if(pos2>180) {

pos2=180;

}

Serial.println("pos2 artti");

Serial.println(pos2);

return c;

}

int pos2Azalt(int d) {

d=d-10;

pos2=d;

if(pos2<0) {

pos2=0;

}

Serial.println("pos2 azaldi");

Serial.println(pos2);

return d;

27

}

int pos3Artir (int e) {

e=e+10;

pos3=e;

if(pos3>180) {

pos3=180;

}

Serial.println("pos3 artti");

Serial.println(pos3);

return e;

}

int pos3Azalt(int f) {

f=f-10;

pos3=f;

if(pos3<0) {

pos3=0;

}

Serial.println("pos3 azaldi");

Serial.println(pos3);

return f;

}

int pos4Artir (int g) {

28

g=g+10;

pos4=g;

if(pos4>180) {

pos4=180;

}

Serial.println("pos4 artti");

Serial.println(pos4);

return g;

}

int pos4Azalt(int h) {

h=h-10;

pos4=h;

if(pos4<0) {

pos4=0;

}

Serial.println("pos4 azaldi");

Serial.println(pos4);

return h;

}

int pos5Artir (int j) {

j=j+10;

pos5=j;

29

if(pos5>180) {

pos5=180;

}

Serial.println("pos5 artti");

Serial.println(pos5);

return j;

}

int pos5Azalt(int k) {

k=k-10;

pos5=k;

if(pos5<0) {

pos5=0;

}

Serial.println("pos5 azaldi");

Serial.println(pos5);

return k;

}

30

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

STANDARTLAR VE KISITLAR FORMU

EK-4. STANDARTLAR VE KISITLAR FORMU Tasarım Projesinin hazırlanmasında Standart ve Kısıtlarla ilgili olarak, aşağıdaki soruları cevaplayınız.

1. Projenizin tasarım boyutu nedir? Açıklayınız.

Projenintasarımboyutu 60*20*20 (yükseklik*uzunluk*genişlik) cm boyutlarındadır.

2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?

Herhangi bir problem formüle edilerek çözülmemiştir.

3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?

İletişim tekniği ve sinyaller dersinde öğrenilen pek çok teorik bilgi pratiğe dönüştürülmüştür. Bunun yanı

sıra bilgisayar programlama derslerinde oluşturulan programlama mantığı ile yeni bir programlama dili

öğrenimi kolaylaşmıştır.

4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?

Projede kullanılacak olan malzemelerin ilk olarak AutoCAD yardımıyla çizimi tamamlanmış ve ardından

bu malzemeler araştırılarak teknolojik yönleri öğrenilip projeye uygunluğu üzerinde denemeler

yapılmıştır. Servo motorların ve Arduinonun 5 VDA’da çalıştığı öğrenilip kaynak gerilimi belirlenirken

bu hususlar dikkate alınmıştır. Ayrıca robot kol ile Arduino haberleşmesi TTL standartlarına göre

gerçekleştirilmiştir. Dikkate alınan standartlar şunlardır:

TS EN ISO 10218-2 Aile özellikleri: Robotlar ve robot cihazları-Endüstriyel ortamlar için robotlar -

Güvenlik kuralları - Bölüm 1: Robot sistemleri ve entegrasyonu.

TS EN ISO 13482 Aile özellikleri: Robotlar ve robotik cihazlar - kişisel bakım robotlar için emniyet

gerekleri (ISO 13482:2014)

TS EN ISO 10218-1 Aile özellikleri: Robotlar ve robotik cihazlar - Endüstriyel robotlar için güvenlik

gereksinimleri - Bölüm 1: Robotlar.

TSE ISO/TR 11062 Aile özellikleri: Robotlar endüstriyel- Elle işletilen- Elektromanyetik uyumluluk

(emu) deney metotları ve performans değerlendirme kriterleri- Kılavuz.

TS EN 50410 Aile özellikleri: Ev ve benzeri yerlerde kullanılan elektrikli cihazlar - Güvenlik -Dekoratif

robotlar için özel kurallar.

5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?

a) Ekonomi: Projenin yapımı esnasında ekonomik şartlar da dikkate alınarak kullanılan malzemeler ile

proje en az maliyetli hale getirilmeye çalışılmıştır.

b) Çevre sorunları: Projenin çevreye herhangi bir zararı bulunmamaktadır.

c) Sürdürülebilirlik: Günümüzde artan insan ihtiyaçlar doğrultusunda hızla gelişen robot teknolojisi insan

gücünden tasarruf sağladığından ileri ki yıllarda bu teknolojiye çok daha fazla ihtiyaç duyulacaktır.

Ayrıca proje istenildiği gibi programlanabildiği için de çevre cihazlarla uyumlu hale getirilebilir.

d) Üretilebilirlik: Projede yapılan robot kol kullanıcının istediğine göre programlandığı sürece ulaşılmak

istenilen hedefe sorunsuz bir şekilde ulaşılabilir. Bu sebepten üretilebilirlik açısından uygundur.

e) Etik: Robot kolun gerçekleştirilmesi esnasında etik kurallar göz önünde bulundurulmuştur.

f) Sağlık: Proje sağlık konusunda bir sorun teşkil etmediği gibi aksine tıp alanında son günlerde çoğu

cerrahi operasyonlarda kullanılmaktadır.

31

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

STANDARTLAR VE KISITLAR FORMU

g) Güvenlik: Proje güvenlik açısından herhangi bir sorun teşkil etmemektedir. Olası riskler sigorta ile

engellenmiştir.

h) Sosyal ve politik sorunlar: Sosyal ya da politik hiçbir sorun teşkil etmemektedir.

Projenin Adı ARDUINO İLE ROBOT KOL KONTROLÜ

Projedeki Öğrencilerin adları Gökay SEVİM, Ufuk GÜRLER, Sündüs ARINMIŞ

Tarih ve İmzalar 30.05.2014

32

ÖZGEÇMİŞLER

Gökay SEVİM

10 Ocak 1992 Kırklareli-Pınarhisar doğumluyum. Lise öğrenimimi Kırklareli

Anadolu Lisesi’nde tamamladım. Lisans eğitimim Karadeniz Teknik Üniversitesi Elektrik-

Elektronik Mühendisliği Bölümünde devam etmekteyim.

Ufuk GÜRLER

10 Mayıs 1991 Adıyaman-Merkez doğumluyum. Lise öğrenimimi Adıyaman Bilgi

Anadolu Lisesi’nde tamamladım. Lisans eğitimim Karadeniz Teknik Üniversitesi Elektrik-

Elektronik Mühendisliği Bölümünde devam etmekteyim.

Sündüs ARINMIŞ

1 Şubat 1989 Ankara-Altındağ doğumluyum. Lise öğrenimimi Ankara’da

Etimesgut Lisesi’nde tamamladım. Lisans eğitimim Karadeniz Teknik Üniversitesi

Elektrik-Elektronik Mühendisliği Bölümünde devam etmekteyim.

33