mühendislik fakültesi - eee.ktu.edu.tr · robot kollar, dışarıdan bir kullanıcıyla ya da...
Post on 12-Sep-2018
221 Views
Preview:
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.
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
top related