T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ. Mühendislik Fakültesi PIC PROGRAMLAMA İLE ROBOT KOLU KONTROLÜ BİTİRME ÇALIŞMASI



Benzer belgeler
T.C. NECMETTĠN ERBAKAN ÜNĠVERSĠTESĠ Mühendislik ve Mimarlık Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü BĠTĠRME ÖDEVĠNĠN ADI BİTİRME PROJESİ

5.50. OTOMOBĠL TEKERLEĞĠ MONTAJ OTOMASYONU

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

ERA 03P BRÜLÖR KONTROL RÖLESĠ

KULLANIM KLAVUZU DCB-I KRAMER KAPI KONTROL KARTI. Lifkon Elektrik Elektronik DCB-I. D.No: D.Ver:

DC motorların sürülmesi ve sürücü devreleri

2. Malzemeler: Bu bölümde size verilecek malzemeler anlatılacaktır ve montaj yaparken dikkat etmeniz gereken hususlar belirtilecektir.

5.46. EBAT KONTROL OTOMASYONU

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version

AÇILIġ EKRANI. G:220 Ç:220 Y:000 SERVOMATĠK REG 05 Sn. KORUMA AYARLARI KORUMA AYARLARI

3 YIL GARANTĠ YÜKSEK KALĠTE SERİ KUMANDA KUTUSU RPB

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

RTX 6A-BX RF Uzaktan Kumanda

5.26. YÜZEY PARLATMA (SİLME) TEZGAHI OTOMASYONU

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

BESLEME KARTI RF ALICI KARTI

RTX12-BX UZAKTAN KUMANDA

5.27. ŞİFRELİ OTOMATİK KAPI KONTROL PROJESİ

FARKLI RENKLERDE IġIĞIN VE SICAKLIK DEĞĠġĠMĠNĠN GÜNEġ PĠLĠNĠN GÜCÜNE ETKĠSĠNĠN ARAġTIRILMASI

Uygulama kağıtları ve Kısa Sınav kağıtlarına; Ad, Soyad, Numara ve Grup No (Ör: B2-5) mutlaka yazılacak.

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

BQ300 RF Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Program AkıĢ Kontrol Yapıları

03H ALEV MONİTÖRÜ. Uygulama : Uygulama Notları : 03H Alev monitörünün yapısı : 03H Alev monitörünün uygulama alanları :

MULTĠMETRE... 2 A. ÜST TUġ TAKIMININ KULLANIMI... 3 B. FONKSĠYON SEÇĠM DÜĞMESĠ... 5 C. GĠRĠġLER... 7 D. MULTĠMETRENĠN KULLANIMI...

DENEY 6: FLİP-FLOP (BELLEK) DEVRESİ UYGULAMALARI

5.31. MODÜLER MOBİLYA ÜRETİMİNDE KULLANILAN SERİ ÜRETİM HATLARINDAN ZIMPARA MAKİNASININ BESLEME ÜNİTESİ OTOMASYONU

MKT 210 OTOMATĠK KONTROL

EasyPic 6 Deney Seti Tanıtımı

5.34. VİDA YUVASI AÇMA OTOMASYONU

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

SSM - 4 ORANSAL SERVOMOTOR SSM 4 TANITIM BİLGİLERİ :

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

PIC MİKROKONTROLÖR TABANLI ADIM MOTORU KONTROLU

Yaptığımız aracın yere çizilen bir çizgiyi tanıması ve bu çizgiyi takip etmesi.

EEM 419-Mikroişlemciler Güz 2017

EEM 311 KONTROL LABORATUARI

5.22. OTOMATİK SU ÇEKME VE TAŞIMA SİSTEMİ

UYGULAMA 1 SİEMENS S PLC UYGULAMALARI CPU-1214C

IDC101 Bağlantı Şeması

HT 200. LCD li Oda Termostat Kontrolleri. Kullanım

5.24. TAVUK KÜMESLERİ İÇİN SULAMA OTOMASYONU

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

5.49. METRO ULAŞIM SİSTEMİ OTOMASYONU

T.C. AKDENĠZ ÜNĠVERSĠTESĠ BEDEN EĞĠTĠMĠ VE SPOR YÜKSEKOKULU BEDEN EĞĠTĠMĠ VE SPOR ÖĞRETMENLĠĞĠ BÖLÜMÜ ARAŞTIRMA PROJESİ UYGULAMA ESASLARI

HT 250 SET. LCD li Kablosuz Oda Termostatı Kontrolleri. Kullanım

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

5.15. VİNÇ BENZETİM PROJESİ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Robotik AKTUATÖRLER Motorlar: Çalışma prensibi

Operatör panelleri FED

5.48. KALİTE KONTROL OTOMASYONU

HT 150 SET. LCD li Kablosuz Oda Termostatı Kontrolleri. Kullanım

Robot Bilimi. Robot Aktüatörler (Çıkış Elemanları, Uygulayıcılar) Öğr. Gör. M. Ozan AKI. r1.0

Şekil XNOR Kapısı ve doğruluk tablosu

MARDİN ARTUKLU ÜNİVERSİTESİ 2014 YILI SAYIŞTAY DENETİM RAPORU

T.C. BÜLENT ECEVİT ÜNİVERSİTESİ JEOLOJİ MÜHENDİSLİĞİ. SSP900 Sosyal Sorumluluk Projesi Genel Sınav Raporu

ABR 320 SET LCD li Kablosuz Oda Termostat Kontrolleri

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER. Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul

ABSOLUTE ROTARY ENKODER Tek Turlu Absolute Enkoder, Manyetik Ölçüm GENEL ÖZELLİKLER

5.45. KONNEKTÖRLERE KABLO EKLEME OTOMASYONU

BQ301 RF Ekstra Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

İÇ DENETİM BİRİMİ BAŞKANLIĞI SOSYAL YARDIMLAR GENEL MÜDÜRLÜĞÜ İÇ KONTROL VE RİSK YÖNETİMİ ÇALIŞTAY RAPORU

RTX2-LRN BX UZAKTAN KUMANDA

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

EvoTorque2 Elektrikli Tork Anahtarı Kullanma Kılavuzu

ÖN PANEL FONKSİYONEL ÖZELLİKLER

MASA ÜSTÜ CNC FREZE TEZGÂH TASARIMI VE PROTOTİP İMALATI

TÜBİTAK 2209-A ÜNİVERSİTE ÖĞRENCİLERİ YURT İÇİ ARAŞTIRMA PROJELERİ DESTEK PROGRAMI ENDÜSTRİYEL ROBOT KOL KARABÜK ÜNİVERSİTESİ MEKATRONİK MÜHENDİSLİĞİ

ABSOLUTE ROTARY ENKODER Çok Turlu Absolute Enkoder, Manyetik Ölçüm GENEL ÖZELLİKLER

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Doç. Dr. Mustafa ÖZDEN Arş. Gör. Gülden AKDAĞ Arş. Gör. Esra AÇIKGÜL

Bilgisayar Üzerinden Bir Silah Kontrol Sistemi Prototipinin Tasarımı ve GerçekleĢtirilmesi

Security Geçiş Sistemleri. Döner Kapılar. Hastane Kapıları. 90 Derece. Kayar Kapılar. Kapılar METAXDOOR MS30. Otomatik Yana Açılır

5.39. MALZEME SAYIMI VE AMBALAJI PROJESİ OTOMASYONU

VAROL, A.: Koli İstifleme Otomasyonu, Otomasyon, Aylık Elektrik Elektronik Makine Bilgisayar Dergisi, Sayı: 107, Mayıs 2001, S:

DOKUMANLAR

RADYO FREKANSIYLA KABLOSUZ SICAKLIK KONTROLÜ WIRELESS TEMPERATURE CONTROL BY RADIO FREQUENCY

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Elektriksel-Fiziksel Özellikler... 2 Kullanım... 3 Uygulama Örnekleri... 7

İçerik. Ürün no.: MLD300-T3L Çok ışınlı güvenlik fotoelektrik sensör verici

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ

UPSLIFT ASANSÖR KURTARMA GÜÇ MODÜLÜ KULLANIM KILAVUZU

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

GEPA. RFD-121 Arıza Gösterge Düzeneği. Kullanma Kılavuzu. Orta Gerilim Yer Altı Şebekeleri İçin Arıza Akımı Gösterge Düzeneği.

MUSTAFA KEMAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

IŞIK ĐZLEYEN ROBOT PROJESĐ FOLLOWĐNG ROBOT SĐNOP LIGHT PROJECT. Proje Yürütücüleri Bünyamin TANGAL, Sinop Ünv. Meslek Yüksekokulu Mekatronik Bölümü

BaĢkent Üniversitesi Sağlık Bilimleri Fakültesi Sağlık Yönetimi Bölümü Bitirme Projesi Dersi Yönetim, DanıĢmanlık ve Proje Sunum Uygulama Esasları

RTX6-056 Uzaktan Kumanda

T.C. ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ STAJ RAPORU. Buraya Öğrencinin Adı Soyadı yazılacaktır

Transkript:

T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölüm PIC PROGRAMLAMA İLE ROBOT KOLU KONTROLÜ BİTİRME ÇALIŞMASI ABDULLAH UYSAL ONUR YILMAZ HALĠT ATEġ Yrd. Doç. Dr. Yusuf SEVĠM MAYIS 2013 TRABZON

T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölüm PIC PROGRAMLAMA İLE ROBOT KOLU KONTROLÜ BİTİRME ÇALIŞMASI ABDULLAH UYSAL ONUR YILMAZ HALĠT ATEġ Yrd. Doç. Dr. Yusuf SEVĠM MAYIS 2013 TRABZON

LİSANS BİTİRME PROJESİ ONAY FORMU 21033 Abdullah UYSAL, 210227 Onur YILMAZ ve 228454 Halit ATEġ tarafından Yrd. Doç. Dr. Yusuf SEVĠM yönetiminde hazırlanan PIC Programlama ile Robot Kolu 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 Yrd. Doç. Dr. Yusuf SEVĠM Jüri Üyesi 1 : Unvanı Adı ve SOYADI Öğr. Gör. Cahit ALTAN Jüri Üyesi 2 : Unvanı Adı ve SOYADI Yrd. Doç. Dr. Gökçe HACIOĞLU Bölüm BaĢkanı : Unvanı Adı ve SOYADI Prof. Dr. Ġsmail Hakkı ALTAġ iii

ÖNSÖZ Robot kolu teknolojisi birçok sektörde ihtiyaç duyulan ve bu ihtiyacın giderek arttığı bir teknolojidir. Günümüzde insanın fiziksel gücüne duyulan ihtiyaç giderek azalmaktadır. Bu noktada robot kolu devreye girer. Robot kolu teknolojisi kullanılarak hem verimin artması hem de hata oranının en aza indirilmesi sağlanabilir. Bitirme çalıģmamıza danıģmanlık yapan ve proje süresince bizlere büyük destekleri bulunan Sayın Yrd. Doç. Dr. Yusuf SEVĠM hocamıza teģekkürlerimizi sunarız. Ayrıca bize değerli zamanlarını ayıran hocalarımız Ayten ATASOY, Cahit ALTAN, Oğuzhan ÇAKIR ve laboratuar sorumlusu Mustafa Sedat BAYKAN a teģekkürlerimizi sunarız. Projemin gerçekleģmesinde her türlü olanağı sağlayan Bölüm baģkanlığına ve desteklerinden ötürü Mühendislik Fakültesi Dekanlığı ve KTÜ Rektörlüğüne teģekkürlerimi sunarım. Eğitim hayatlarımız boyunca maddi ve manevi desteklerini bizlerden esirgemeyen, bugünlere gelmemizde en büyük pay sahibi olan ailelerimize sonsuz teģekkürlerimizi sunarız. Abdullah UYSAL Onur YILMAZ Halit ATEġ TRABZON 2013 iv

İÇİNDEKİLER ÖNSÖZ... iv ĠÇĠNDEKĠLER... v ÖZET... vi SEMBOLLER VE KISALTMALAR... vii ġekġller DĠZĠNĠ... viii 1. GĠRĠġ... 2 ĠĢ-Zaman ÇalıĢma Takvimi Tablo 1 de verilmiģtir.... 3 Tablo 1. ĠĢ-Zaman ÇalıĢma Takvimi... 3 2.PROJEDE KULLANILAN TEMEL MALZEMELER... 4 2.1. Servo Motorlar... 4 2.2. PIC16f877A MikroiĢlemci... 5 2.3. Servo Motor Kontrol Devresi... 6 2.4. Kontrol Devresinin Elemanları... 8 2.4.1 Güç... 8 2.4.2. Açma Kapama Butonu... 8 2.4.3. Butonlar... 8 2.4.4. LED ler... 9 2.4.5. Seri ĠletiĢim... 9 2.4.6. LCD Ekran... 10 2.4.7. ICSP... 10 2.5. Mekanik Kısım... 10 3. PROJENĠN GENEL ĠġLEM BASAMAKLARI... 12 3.1. Projede Ġzlenen Yöntem... 12 3.2. Mekanik Kısmın Montajı... 14 3.3. Program Kısmı... 18 4. SONUÇLAR... 28 5. KAYNAKLAR... 29 EKLER... 30 EK-1 STANDARTLAR VE KISITLAR FORMU... 30 ÖZGEÇMĠġ... 32 v

ÖZET Teknolojinin çok hızlı ilerlediği günümüzde robotik alanında da büyük ve köklü değiģimler olmaktadır. Robot kolu ya bir operatör yardımıyla ya da daha önceden belirlenmiģ bazı komutlar doğrultusunda verilen görevi yerine getiren cihazdır. Birçok alanda uygulanan robot kolu teknolojisi çeģitli ihtiyaçlar doğrultusunda yönlendirilmiģtir. Robot kolu teknolojisi özellikle endüstri ve tıp sektörlerinde geniģ uygulama alanına sahiptir. Robot kolu ile bir insanın yapamayacağı iģler daha kolay ve hem maddi açıdan hem de zaman açısından daha ekonomik olarak yapılabilmektedir. Ayrıca insan faktörünün yetersiz kaldığı ortamlarda da çalıģma imkanı sunmaktadır. Projemizde yapılan robot kolu 6 adet servo motor ile 5 eksende hareket edebilmektedir. Bu sayede istenilen bir malzemeyi bir yerden alıp baģka bir yere koyabilmektedir. Aynı zamanda daha önceden belirlenmiģ bir iģi yapabilecek fonksiyona sahiptir. RS232 seri iletiģim devresi yardımıyla robot kolu kablolu olarak kumanda edilmektedir. Bunun yanında servo motor kontrol devresi üzerinde bulunan butonlar yardımıyla devre üzerinden de belli kontrolleri yapılabilmektedir. Devre üzerinde bulunan LCD ekran yardımıyla ilk servo giriģine takılan servo motorun konum bilgisi görülebilmektedir. Servo motorların kontrolü PIC16F877A mikroiģlemcisinin microc programlama dili kullanılarak programlanması ile sağlanmaktadır. Ayrıca ICSP yardımıyla PIC mikroiģlemcisinin devreden sökülüp takılmadan programlanabilmesi sağlanmaktadır. Böylece mikroiģlemcinin daha az zarar görmesi ve zamandan tasarruf yapılması sağlanmaktadır. vi

SEMBOLLER VE KISALTMALAR AC DC V ma s ms : Alternatif Akım (Alternative Current) : Doğru Akım (Direct Current) : Volt : Miliamper : Saniye : Milisaniye µs : Mikrosaniye kg cm bps I/O ICSP PWM LED LCD : Kilogram : Santimetre : Saniyedeki Bit Sayısı (Bit Per Second) : GiriĢ/ÇıkıĢ (Ġnput/Output) : Devre Üzerinden Seri Programlama (In-Circuit Serial Programming) : Darbe GeniĢlik Modülasyonu (Pulse Width Modulation) : IĢık Yayan Diyot (Light Emitting Diode) : Sıvı Kristal Ekran (Liquid Crystal Display) vii

ŞEKİLLER DİZİNİ Tablo 1. ĠĢ-Zaman ÇalıĢma Takvimi ġekil 1. Projede kullanılan servo motorlardan biri ġekil 2. Servo motor kontrol devresi ISIS programında çizimi ġekil 3. Servo motor kontrol devresi ġekil 4. Ġki konumlu anahtar (toggle switch) ġekil 5. Seri iletiģim devresi ve RS232 kablosu ġekil 6. Servo motor kontrol devresinde kullanılan LCD ekran ġekil 7. Robot kol mekanik kısmı ġekil 8. Robot kol parçalarının AUTOCAD programında çizimi ġekil 9. Ġlk 3 servo motorun monte edilmiģ hali ġekil 10. Robot kolun el kısmı ve 6 numaralı servo motor ġekil 11. Projenin tamamlanmıģ hali viii

1. GİRİŞ Teknolojinin çok hızlı ilerlediği günümüzde de robotik alanında büyük ilerlemeler kaydedilmiģtir. Hemen her alanda kullanılan robot teknolojisi insanların yaģamına büyük kolaylıklar sağlamaktadır. Bu projede çeģitli amaçlar doğrultusunda belirli bir görevi yerine getirmek için tasarlanacak robot kolunun yapımında ne tür iģlemlerin uygulanacağını, bu iģlemler sırasında yazılım, mekanik ve bu ikisinin uyum içerisinde nasıl bir araya getirileceğine karar verilmiģtir. Bilgisayar ile kontrolü yapılacak olan robot kolu istenilen bir malzemeyi bir yerden alıp bir yere koyabilecek özellikte olup aynı zamanda daha önceden belirlenmiģ bir iģi yapabilecek fonksiyona da sahip olacaktır ve 6 adet servo motor ile 5 eksende hareket edebilecek özelliktedir. Servo motorlar karıģıklık olamaması amacıyla aģağıdan yukarıya doğru 1 den baģlayarak numaralandırılmıģtır. DüĢük gerilimle yüksek tork üretme ve hassas çalıģabilme özelliğinden dolayı servo motorlar kullanılmıģtır. Aynı zamanda RS232 seri iletiģim devresi yardımıyla robot kolunun kablolu olarak kontrol edilmesi sağlanmıģtır. Projede MicroC programlama dili ile PIC16F877A mikroiģlemcisini programlayıp servo motorların kontrolü sağlanmıģtır. Ayrıca ICSP kullanılarak PIC16F877A mikroiģlemcisini devreden söküp takma zahmetine girilmeden programlanması sağlanmıģtır. Mekanik kısım ise AUTOCAD çizim programı ile çizilerek robot kolunun boyutları belirtilmiģtir. Bu projede servo motor kullanılarak herhangi bir sistemin konum ve hız kontrolünün yapılmasına dair bir prototip niteliğindedir. Birçok alanda uygulaması mevcut olan robot kolu teknolojisi çeģitli ihtiyaçlar doğrultusunda yönlendirilmiģtir. Ġnsan gücünün azaltılması ve çeģitli sebeplerden dolayı meydana gelen sakatlanmaların azaltılması amacıyla endüstri sektöründe yaygın olarak kullanılmaktadır. Seri üretimin yapıldığı sektörlerde ürünün mümkün olduğunca az hata ile üretilmesi istenmektedir. Ġnsan hatasını minimize etmek için en etkin çözümlerden biri robot teknolojisinin uygulamaya geçmesidir. Ayrıca insan elinin uzanamayacağı ve sağlık açısından zararlı bölgelerde (radyasyonlu, kimyevi veya biyolojik maddelerin bulunduğu ya da çok 2

sıcak ve soğuk ortamlarda, patlayıcı bulunan yerlerde) çalıģmaya imkan tanıyan robot kolu teknolojisi bu sektörde yaygın bir Ģekilde uygulanmaktadır. Bunun yanında tıbbi alanda da operasyonların insan eliyle değil de bilgisayar ile robot kolunun uzaktan kontrol edilmesi ile gerçekleģtirilmesi önem arz etmektedir. Çünkü operasyonlarda insan eli bazı durumlarda yetersiz kalmaktadır. Robot kolu ile operasyon yönteminin ana avantajları küçük kesiklerden (santimetre düzeyinde) gerçekleģtirilmesi ve böylece yara iyileģmesi kolaylığı, estetik kaygılara yanıt vermesi olarak söylenebilir. ĠĢ-Zaman ÇalıĢma Takvimi Tablo 1 de verilmiģtir. Tablo 1. ĠĢ-Zaman ÇalıĢma Takvimi ĠĢ / Zaman 3-16 Eki m Proje Konusunun Belirlenmesi Proje Hakkında Genel Bilgilerin Toplanması PIC MikroiĢlemcile ri ve Servo Motorların Ġncelenmesi Servo Motor Kontrol Devresinin Tasarlanması Yazılımın OluĢturulması Robot Kolun Montajının Yapılması Bitirme Tezinin Yazılması ve Teslimi X 31 Ekim- 13 Kasım X 14-30 Kası m X 1-30 Aralı k X X 1-30 Ocak X 1-28 ġubat X 1-31 Mar t X 1-30 Nisan X 1-24 Mayıs X 3

2.PROJEDE KULLANILAN TEMEL MALZEMELER 2.1. Servo Motorlar Servo motorlar konum ve hız kontrolü gereken sistemlerde kullanılan geri-beslemeli motorlardır. Servo motorlar düģük gerilimle yüksek tork üretme ve hassas çalıģabilme özelliğine sahiptir. Genellikle 3 kabloya sahiptir. Bunlar güç için kırmızı kablo, toprak için siyah ve kontrol (data, veri) için sarı renkli kablolardır. [1] Servo motorların AC servo motorlar ve DC servo motorlar olmak üzere iki çeģidi bulunmaktadır. Genellikle DC gerilim ile çalıģmakla beraber endüstriyel veya mobil uygulamalarda kullanılan AC gerilim ile çalıģan servolar da bulunmaktadır. AC servo motorlar fırçasız tipte motorlardır. DC servo motorlar ise fırçalı tip motorlardır. Bu projede kullanılan servo motorlardan bir tanesi ġekil 1 de gösterilmektedir. ġekil 1. Projede kullanılan servo motorlardan biri Projede kullanılan Hitec HS-311 Standard servo motorun özellikleri Ģunlardır: Sistem kontrolü: Darbe geniģlik kontrolü 1500 µs Darbe: Tepeden tepeye 3-5 V kare dalga 4

ÇalıĢma gerilimi: 4.8-6 V ÇalıĢma hızı ( 4.8 V ta ): Yüksüz 0.19 s/60 Tork ( 4.8 V ta ): 3 kg/cm Yön: Çok yönlü Motor tipi: Fırçalı Servo motorların kontrolü, veri ucundan verilen PWM (darbe geniģlik modülasyonu) sinyalin durumuna göre kontrol edilmektedir. Servo motora her bir 10-20 ms de bir 0,5-1,5 ms arasında bir PWM sinyal uygulandığında kontrol edilebilir. Uygulanacak olan PWM sinyalin lojik-1 de kalma süresi 0,5 ms ise motor mili en sola döner. PWM sinyalin lojik-1 de kalma süresi 0,5 ile 1 ms arasında olursa motor mili ortaya doğru konumlanmakta, sinyalin lojik-1 de kalma süresi 1,5 ms ye doğru artırıldığında ise motor mili sağa doğru konumlanmaktadır. Eğer 10-20 ms aralıklarla aynı sinyal verilirse konumunu korumaktadır. Servo motorun konumu gerekli darbeler uygulanarak belirlenebilir. Projede kullanılan servo motorlar yaklaģık olarak 5 V çalıģma geriliminde kullanılmıģlardır. 2.2. PIC16f877A Mikroişlemci PIC16F877A mikroiģlemcisi çok kullanıģlı ve uygulama alanı geniģ bir mikroiģlemcidir. Kullanım alanı geniģ ve kullanıcı sayısı da fazla olması dolayısı ile bol miktarda örnek uygulamaya da eriģmek mümkündür. Çok miktarda uygulaması olduğu için bu uygulamalar çalıģılarak bile bazı temel bilgilere eriģebilmek mümkündür. [2] PIC16F877A mikroiģlemcisi 40 adet pine sahiptir. Bu 40 pininden 33 tanesi giriģ/ çıkıģ pini olarak kullanılabilmektedir. PIC16F877A farklı sayıda pinler içeren 5 porta ayrılmıģtır. Bu özelliği kullanıcı açısından avantajlar sağlamaktadır. Ekonomik olarak da düģük maliyete sahiptir. Basit elemanlar kullanılarak gerekli programlama devresi elde edilebilir. Bunun yanında gerektirdiği reset, clock sinyali ve güç devreleri de oldukça basittir. Ayrıca tekrar tekrar silinip yeniden programlanabilme özelliğinden dolayı kullanıģlı bir mikroiģlemcidir. [3] 5

Projede kullanılan mikroiģlemcinin B portları LED ekran için kullanılan çıkıģ portlarıdır. C portlarından seri veri alıģ veriģi yapılmaktadır. D portları motorlar için kullanılan çıkıģlardır. 2.3. Servo Motor Kontrol Devresi Kullanılan servo motor sürücü devresi seri iletiģim prensibini kullanarak 8 adet servo sürebilir ve bu 8 adet servo için ayrı ayrı bağımsız servo kontrol sinyali sağlayabilir. Bu sinyallerle konum ve hız kontrolü yapılabilir. Proje için hazırlanan servo motor kontrol devresinin ISIS programında çizimi ve devrenin gerçeklenmiģ hali ġekil 2 ve ġekil 3 te gösterilmektedir. ġekil 2. Servo motor kontrol devresi ISIS programında çizimi 6

ġekil 3. Servo motor kontrol devresi Servo motor kontrol devresinin özellikleri; 8 adet servo portu 0,5 1,5 ms darbe geniģliği 0,5 µs çözünürlük 5 9 V uygulama gerilimi 0 5 V I/O gerilimi 1200 38400 bps iletiģim hızı Ortalama 5 ma akım tüketimi 7

2.4. Kontrol Devresinin Elemanları 2.4.1 Güç Servo motor kontrol devresini besleyecek kaynak tüm servolar aynı anda çalıģtığında yeterli akımı verebilmelidir. Tüm servolar aynı anda çalıģtırıldığında yaklaģık olarak 0.5 A lik akım çekmektedir, dolayısıyla kaynak bu akımı sağlayabilmelidir. Devrede bu ihtiyaç 5 V luk cep telefonu adaptörü ile sağlanmaktadır. PIC mikroiģlemcisi için gerekli olan güç, devrede kullanılan regülatörün 9 V luk pilden gelen gerilimi 5 V a düģürmesi ile sağlanmaktadır. 2.4.2. Açma Kapama Butonu Devrede kullanılan iki konumlu anahtar (toggle switch) ile devrenin tamamen açılıp kapanması sağlanmaktadır. Butona basıldığında A1-Q1 ve A2-Q2 uçları kısa devre olarak bu iģlem sağlanmaktadır. ġekil 4 te iki konumlu anahtarın iç yapısı görülmektedir. ġekil 4. Ġki konumlu anahtar ( toggle switch ) 2.4.3. Butonlar PIC mikroiģlemcisinin, istenilen bir anda basılarak mikroiģlemcinin kaydettiği konum bilgilerini sıfırlaması için reset butonu kullanılmıģtır. Diğer butonlar ilk sokete takılan servo motorun sağa veya sola dönmesi hareketini yaptırmaktadır. 8

2.4.4. LED ler Kontrol devresinde sol üstteki LED mikroiģlemciye enerji gelip gelmediğini göstermektedir. Diğer LED ler ise altındaki butonlara basıldığını yani servo 1 giriģine takılan motorun sağa veya sola döndüğü bilgisini vermektedir. 2.4.5. Seri İletişim Kontrol devresi üzerinde PIC16F877A mikroiģlemcisine bağlı seri veri giriģi sağlayan bir soket bulunmaktadır. Bilgisayardan doğrudan RS232 seri portundan gönderilen veriler ile robot kol kumanda edilebilir. Seri iletiģim devresi servo motor kontrol devresine takılıp RS232 kablosu kullanılarak uygun program yardımıyla bilgisayarın klavyesinden gönderilen sinyaller ile robot kolunun kontrolü sağlanmaktadır. Seri iletiģim devresi ve RS232 kablosu ġekil 5 te görülmektedir. ġekil 5. Seri iletiģim devresi ve RS232 kablosu 9

2.4.6. LCD Ekran Devre üzerindeki LCD ekran ile ilk sokete takılan servo motorların baģlangıç ve bitiģ konumlarının belirlenmesinde ve servo motorun o anki konumunun belirlenmesinde kullanılmaktadır. Devrede kullanılan LCD ekran ġekil 6 da görülmektedir. ġekil 6. Servo motor kontrol devresinde kullanılan LCD ekran 2.4.7. ICSP MikroiĢlemciyi kontrol devresinden çıkarıp takma iģlemi sırasında iģlemci çeģitli Ģekillerde zarar görmektedir. PIC mikroiģlemcisini kontrol devresi üzerinden sökmeden daha hızlı bir Ģekilde programlayabilmek için ICSP (in-circuit serial programming) kullanılmaktadır. Böylece hem daha hızlı ve pratik bir Ģekilde programlama yapılabilmekte hem de mikroiģlemcinin zarar görmesinin önüne geçilebilmektedir. 2.5. Mekanik Kısım Servo motorlarla birlikte monte edilen belli ölçülerde kesilmiģ fleksiglas parçalar birleģtirilerek projenin mekanik kısmını oluģturulmuģtur. Mekanik kısım ġekil 7 de görülmektedir. 10

ġekil 7. Robot kol mekanik kısmı 11

3. PROJENİN GENEL İŞLEM BASAMAKLARI 1) Projenin yapımı için gerekli olan alet ve parçaların belirlenmesi 2) Projede kullanılacak iģlemci ve yazılımının belirlenmesi 3) Servo motorlar hakkında bilgi toplanması 4) Seri iletiģim devresi ve RS232 nin araģtırılması 5) Servo motor kontrol devresinin tasarlanması 6) Kullanılacak iģlemci ve servoların en uygun Ģekilde programlanması ve denenmesi 7) Mekanik kısmın ölçülerinin belirlenip uygun Ģekilde kestirilmesi 8) Robot kolu montajının gerçekleģtirilmesi 9) Tüm sistemin amaca uygun Ģekilde çalıģıp çalıģmadığının test edilmesi 10) Herhangi bir uyuģmazlık veya aksaklık durumunda sistemin tekrar gözden geçirilmesi ve sorunun giderilmesi 3.1. Projede İzlenen Yöntem Öncelikle PIC16F877A mikroiģlemcisi hakkında araģtırmalar yapılmıģ ve çalıģma mantığı, yapılacak proje için uygunluğu hakkında bilgiler edinilmiģtir. Devamında bu mikroiģlemciyi programlayabilmek için gerekli diller araģtırılmıģ ve en uygun olanının microc dili olduğu görülmüģtür. MicroC programlama dilinin C++ ile olan benzer yönleri dikkate alındığında en yatkın olunan programlama dili microc dir. Daha sonra microc ile PIC programlanarak önce basit iģlemler yapılmıģtır. Bu sayede yazılım hakkında deneyimler artırılmıģ ve projeye uyarlanır hale getirilmiģtir. Servo motor kontrol devresinin ISIS programı ile çizimi yapılmıģ ve baskı devresi yapılarak devre oluģturulmuģtur. Devrede gerekli elemanlar yerlerine monte edilmiģ ve devrenin farklı kısımlarından ölçümler alınarak herhangi bir sorun olup olmadığı kontrol edilmiģtir. PIC giriģ ve çıkıģlarından osiloskop yarımıyla sinyaller gözlemlenerek doğruluk kontrol edilmiģtir. Projenin devamında seri iletiģim ve servo motorlarla uygulamalar yapılarak bu sistemlerin çalıģma mantığı hakkında deneyimler elde edilmiģtir. Servo motorlar ve seri iletiģim devresi, servo motor kontrol devresine bağlanarak programların ve cihazların birbirleri ile uyumluluğu ve kullanılan programda herhangi bir düzeltmeye gidilip gidilmeyeceği kontrol edilmiģtir. 12

Yapılan robot kolu üç farklı fonksiyonu gerçekleģtirebilmektedir: Ġlk olarak kontrol devresi üzerindeki butonlar yardımıyla birinci sokete takılan servo motorun sağa veya sola dönmesi kontrol edilebilmektedir. Bu sağa veya sola dönme hareketleri sırasında basılı bulunan buton üzerindeki LED ler yanmakta ve LCD ekran servo motorun konumu hakkında bilgi vermektedir. Ġkinci adımda seri iletiģim devresi kullanılarak bilgisayardan robot kolunun kontrolü sağlamaktadır. Seri iletiģim devresi olarak kullanılan RS232 devresi bilgisayarın USB çıkıģını seri iletiģim devresine çevirmektedir. Robot kolunun kontrolü bilgisayarın klavyesindeki a, z, s, x, d, c, f, v, g, b tuģları ile kontrol edilmektedir. Robot kolundaki servo motorların konumları klavyeden basılan tuģlara göre artıp azalmaktadır. Bu iģlemler RS232 seri portu yardımıyla kablolu olarak robot kolunun bilgisayardan kumanda edilebilmesini sağlamaktadır. Klavyeden basılan tuģlara göre servo motorların davranıģları: a tuģuna basılması 1 numaralı servo motoru sola döndürür. z tuģuna basılması 1 numaralı servo motoru sağa döndürür. s tuģuna basılması 2 ve 3 numaralı servo motorları yukarı hareket ettirir. x tuģuna basılması 2 ve 3 numaralı servo motorları aģağı hareket ettirir. d tuģuna basılması 4 numaralı servo motoru yukarı hareket ettirir. c tuģuna basılması 4 numaralı servo motoru aģağı hareket ettirir. f tuģuna basılması 5 numaralı servo motoru yukarı hareket ettirir. v tuģuna basılması 5 numaralı servo motoru aģağı hareket ettirir. g tuģuna basılması 6 numaralı servo motor döner ve parmak açılır. b tuģuna basılması 6 numaralı servo motor döner ve parmak kapanır. Son olarak robot kolunun bilgisayardan gönderilen veriler ile önceden tanımlanmıģ bazı konumlara gelmesi ve bazı iģler yapabilmesi sağlanmaktadır. Bu verilerin gönderilmesi de klavye aracılığı ile yapılmaktadır. Klavyeden basılan tuģlara göre robot kolunun davranıģları: n tuģuna basıldığında robot kol normal konumuna gelmektedir. d tuģuna basıldığında robot kol dik konuma gelmektedir. y tuģuna basıldığında robot kol yatık konuma gelmektedir. 13

a tuģuna basıldığında robot kolun önünde önceden tanımlanmıģ bir yerdeki küçük bir cismi ( örneğin küp Ģeker ) almaktadır. b tuģuna basıldığında robot kolun sağ tarafında önceden tanımlanmıģ bir yerdeki küçük bir kutuya (örneğin çay bardağı ) tuttuğu cismi bırakmaktadır. o tuģuna basıldığında ise robot kol a ve b tuģlarında yapılan iģlemleri beraber yapmaktadır. 3.2. Mekanik Kısmın Montajı Robot kolunun mekanik kısmı için gerekli parçaların temin edilmesi ve montajı projenin en zor aģamalarından biriydi. Kol için gerekli parçalar AUTOCAD programında çizildi ve fleksiglas malzemeden lazerle kestirilerek parçalar elde edildi. Robot kol parçalarının AUTOCAD programında çizimi ġekil 8 de görülmektedir. ġekil 8. Robot kol parçalarının AUTOCAD programı ile çizimi Gerekli parçalar elde edildikten sonra montaj aģamasına geçildi. Bu aģamada ilk olarak en altta, gövdenin dönme hareketini sağlayacak olan servo motor yuvarlak parçanın tam 14

ortasına gelecek Ģekilde monte edildi. Bu projede servo motorlar karıģıklık olmaması açısından aģağıdan yukarıya doğru 1 den baģlanarak numaralandırılmıģtır. Kol üzerinde aynı ebatlarda bir hareketli bir de sabit gövde parçası bulunmaktadır. Robot kolun gövdesine iki adet servo bağlanmıģtır. Bu iki servo birbirlerine paralel Ģekilde çalıģacaklardır. Bu nedenle baģlangıç ve bitiģ pozisyonları aynı olmalıdır. Bu servolar 2 ve 3 numara olarak numaralandırılmıģtır. Bu kısım robot kolun alt kol kısmını oluģturmaktadır. ġekil 9 da ilk 3 servo motorun montajı sonucu elde edilen kısım görülmektedir. ġekil 9. Ġlk 3 servo motorun monte edilmiģ hali Üst kol bağlantısı için kullanılan 4 ve 5 numaralı servolar aynı eksen üzerine monte edilmiģlerdir. Alt kol ve üst kol birbirleri ile 4 numaralı servo aracılığı ile birleģtirilmiģtir. 5 15

numaralı servo ise robot kolun el kısmını oluģturan parçaların yukarı ve aģağı hareketini sağlar. Son olarak 6 numaralı servo robot kolunun el kısmında birbirleri ile zıt yönlü çalıģan iki adet parmağı diģliler yardımıyla hareket ettirmek için kullanılmaktadır. 6 numaralı servo kolun en ucunda bulunduğundan devreye de en uzak servodur. Bu yüzden diğer servolara nazaran daha uzun bağlantı kablosuna ihtiyaç duyulmaktadır. ġekil 10 da robot kolun el kısmı görülmektedir. ġekil 10. Robot kolun el kısmı ve 6 numaralı servo motor 16

ġekil 11 de projenin tamamlanmıģ hali görülmektedir. ġekil 11. Projenin tamamlanmıģ hali 17

3.3. Program Kısmı Öncelikle servoların kontrol edilebilmesi için kütüphane olarak aģağıdaki program oluģturuldu ve kütüphane adı olarak servokontrol kullanıldı. char srv1=100,srv2=100,srv3=100,srv4=100; char srv5=100,srv6=100,srv7=100,srv8=100; #define servo1 PORTD.F0 #define servo2 PORTD.F1 #define servo3 PORTD.F7 #define servo4 PORTD.F6 #define servo5 PORTD.F5 #define servo6 PORTD.F4 #define servo7 PORTD.F3 #define servo8 PORTD.F2 void rc_servo_1(char x ){ char i,j,k; for (j=1;j<=x;j++){ for (i=1;i<=10;i++){ servo1 = 1; for(k=0;k<srv1;k++) delay_us(3); servo1 = 0; delay_ms(15); void rc_servo_2(char x ) { 18

char i,j,k; for (j=1;j<=x;j++) for (i=1;i<=10;i++){ servo1 = 1; for(k=0;k<srv1;k++) delay_us(3); servo1 = 0; servo2 = 1; for(k=0;k<srv2;k++) delay_us(3); servo2 = 0; delay_ms(15); void rc_servo_3(char x ) { char i,j,k; for (j=1;j<=x;j++) for (i=1;i<=10;i++){ servo1 = 1; for(k=0;k<srv1;k++) delay_us(3); servo1 = 0; servo2 = 1; for(k=0;k<srv2;k++) delay_us(3); servo2 = 0; servo3 = 1; for(k=0;k<srv3;k++) delay_us(3); servo3 = 0; delay_ms(14); 19

void rc_servo_6(char x ) { char i,j,k; for (j=1;j<=x;j++){ // for (i=1;i<=10;i++){ servo1 = 1; for(k=0;k<srv1;k++) delay_us(3); servo1 = 0; servo2 = 1; for(k=0;k<srv2;k++) delay_us(3); servo2 = 0; servo3 = 1; for(k=0;k<srv3;k++) delay_us(3); servo3 = 0; servo4 = 1; for(k=0;k<srv4;k++) delay_us(3); servo4 = 0; servo5 = 1; for(k=0;k<srv5;k++) delay_us(3); servo5 = 0; servo6 = 1; for(k=0;k<srv6;k++) delay_us(3); servo6 = 0; delay_ms(10); 20

AĢağıda devam eden program ile robot kolunun ilk hareketi yapılabilmektedir; yani ilk servo giriģine takılan servo motor butonlar aracılığıyla sağa ve sola döndürülebilmektedir. #include "servokontrol.c" char txt[4]; char srv = 100; void main(){ TRISD = 0X00; PORTD = 0X00; TRISE = 0X07; ADCON1 = 7; TRISB = 0X00; Lcd_Config(&PORTB,4,5,6,3,2,1,0); Lcd_Init(&PORTB); Lcd_Cmd(Lcd_CLEAR); Lcd_Cmd(LCD_CURSOR_OFF); while(1){ if ((PORTE.F0 == 0) && (srv1 > 35 )) srv = srv - 2; if ((PORTE.F1 == 0) && (srv1 < 245)) srv = srv + 2; ByteToStr(srv, txt); Lcd_Out(1, 1, txt); srv1 = srv; srv2 = srv; srv3 = srv; srv4 = srv; srv5 = srv; srv6 = srv; rc_servo_6(1); AĢağıda yazılan program ile robot kolunun klavyeden basılacak a, z, s, x, d, c, f, v, g, b tuģları ile hareketi sağlanabilmektedir. 21

#include "servokontrol.c" char txt[4]; char dd; const srv1_bas =35,srv1_nrm=120,srv1_bit =205, srv2_bas =90,srv2_nrm=180,srv2_bit =245 srv4_bas =50,srv4_nrm=135,srv4_bit =200 srv5_bas = 45,srv5_nrm=130,srv5_bit =215 srv6_ac =125,srv6_nrm=115,srv6_kapa=105; void main(){ TRISD = 0X00; PORTD = 0X00; TRISE = 0X07; ADCON1 = 7; TRISA.F0 = 1; TRISA.F1 = 1; srv1 srv2 srv4 srv5 srv6 = srv1_nrm; = srv2_nrm; = srv4_nrm; = srv5_nrm; = srv6_nrm; Usart_Init(19200); rc_servo_6(1); while(1){ if (Usart_Data_Ready()) { dd = Usart_Read(); if ((dd == 'a') && (srv1 > srv1_bas)) srv1 = srv1-1; if ((dd == 'z') && (srv1 < srv1_bit)) srv1 = srv1 + 1; 22

if ((dd == 's') && (srv2 < srv2_bit)) srv2 = srv2 + 1; if ((dd == 'x') && (srv2 > srv2_bas)) srv2 = srv2-1; if ((dd == 'd') && (srv4 > srv4_bas)) srv4 = srv4-1; if ((dd == 'c') && (srv4 < srv4_bit)) srv4 = srv4 + 1; if ((dd == 'f') && (srv5 < srv5_bit)) srv5 = srv5 + 1; if ((dd == 'v') && (srv5 > srv5_bas)) srv5 = srv5-1; if (dd == 'g') srv6 = srv6_ac; if (dd == 'b') srv6 = srv6_kapa; ByteToStr(dd, txt); Lcd_Out(1, 1, txt); srv3 = srv2; rc_servo_6(1); AĢağıda yazılan program ile klavyeden basılan tuģlara göre önceden belirlenmiģ bazı hareketleri yapabilmesi sağlanmaktadır. #include "servokontrol.c" char txt1[4],txt2[4],txt3[4],dd; const srv1_bas =35,srv1_nrm=120,srv1_bit =205, srv2_bas =90,srv2_nrm=180,srv2_bit =245, srv4_bas =50,srv4_nrm=135,srv4_bit =200, srv5_bas = 45,srv5_nrm=130,srv5_bit =215, srv6_ac =125,srv6_nrm=115,srv6_kapa=105; 23

void robot_kol(char x){ srv3 = srv2; ByteToStr(srv1, txt1); ByteToStr(srv2, txt2); ByteToStr(srv3, txt3); Lcd_Out(1, 1, txt1);lcd_out(1,4,txt1);lcd_out(1,8,txt2); ByteToStr(srv4, txt1); ByteToStr(srv5, txt2); ByteToStr(srv6, txt3); Lcd_Out(2, 1, txt1);lcd_out(1,4,txt1);lcd_out(1,8,txt2); rc_servo_6(x); void normal(){ srv1 = srv1_nrm ;robot_kol(10); srv2 = srv2_nrm ;robot_kol(10); srv4 = srv4_nrm ;robot_kol(10); srv5 = srv5_nrm ;robot_kol(10); srv6 = srv6_nrm ;robot_kol(10); void dik(){ srv1 = srv1_nrm ;robot_kol(10); srv2 = srv2_nrm ;robot_kol(10); srv4 = srv4_bas ;robot_kol(10); srv5 = srv5_nrm ;robot_kol(10); srv6 = srv6_nrm ;robot_kol(10); 24

void yatik(){ srv1 = srv1_nrm ;robot_kol(10); srv4 = srv4_bit ;robot_kol(10); srv5 = srv5_nrm ;robot_kol(10); srv2 = srv2_bit ;robot_kol(10); srv6 = srv6_nrm ;robot_kol(10); void al(){ srv6 = srv6_ac;robot_kol(10); srv1 = 120;robot_kol(10); srv4 = 170;robot_kol(10); srv5 = 130;robot_kol(10); srv2 = 140;robot_kol(20); srv2 = 130;robot_kol(10); srv6 = srv6_kapa;robot_kol(10); void birak(){ srv2 = 180;robot_kol(30); srv1 = 205;robot_kol(20); srv2 = 160;robot_kol(20); srv4 = 170;robot_kol(10); srv5 = 130;robot_kol(10); srv6 = srv6_ac;robot_kol(20); srv2 = 180;robot_kol(10); void main(){ 25

TRISD = 0X00; PORTD = 0X00; TRISE = 0X07; ADCON1 = 7; TRISA.F0 = 1; TRISA.F1 = 1; srv1 srv2 srv4 srv5 srv6 = srv1_nrm; = srv2_nrm; = srv4_nrm; = srv5_nrm; = srv6_nrm; Usart_Init(19200); rc_servo_6(1); while(1){ if (Usart_Data_Ready()) { dd = Usart_Read(); if (dd == 'n') normal(); if (dd == 'd') dik(); if (dd == 'y') yatik(); if (dd == 'a') al(); if (dd == 'b') birak(); if (dd == 'o'){ al(); birak(); 26

if (PORTE.F0 == 0){ al(); birak(); srv3 = srv2; rc_servo_6(1); 27

4. SONUÇLAR Projeye baģlarken amaç bir robot kolunun yapılması ve bunun kontrol edilebilmesiydi. Bu hedef doğrultusunda gerekli malzemeler araģtırıldı, bilgiler edinildi. Yapılan araģtırma ve öğrenilen bilgiler sayesinde proje zamanında ve baģarıyla sonuçlandırıldı. Robot kolunun yapımı süresince birçok bilgi pratiğe aktarıldı ve bu bilgilere yenileri eklendi. Yapılan prototip robot koluyla bir malzemeyi bir yerden alıp bir yere koyma veya daha önceden belirlenmiģ komutlarla bir eylemi kendi kendine gerçekleģtirebilme iģlemleri yapılabilir. Robot kolu, kontrol devresi üzerinde bulunan butonlar yardımıyla kontrol edilebilir. Aynı zamanda robot kolunun RS232 seri iletiģim devresi ile kablolu olarak uzaktan kontrolü yapılabilir. Robot kolunun geleceği düģünüldüğünde ileriki yıllarda robot kolunun daha da yaygınlaģacak bir teknoloji olduğu görülmektedir. Proje olarak yapılan bu robot kolu da gerekli maddi destek sağlandığında çok büyük ilerlemeler kaydedebilir. Örneğin daha ağır yükler için veya daha çok hassasiyet gerektiren ortamlarda kullanılabilir. Ayrıca fonksiyonları artırılarak çok daha faydalı hale getirilebilir. Üzerine yerleģtirilen kamerayla bilgisayar aracılığı ile kolun ön kısmı görülebilir ve daha rahat kontrol sağlanabilir. Aynı zamanda bir insanın çalıģmasına müsaade etmeyen ortamlarda robot kolundan yararlanılabilir. Kullanıcının isteği doğrultusunda çalıģma ortamına daha uygun olacak Ģekilde robot kolunun boyutları değiģtirilebilir. Uzay teknolojilerinde de robot kolu kullanımı mevcuttur. Robot kolunun hassasiyeti arttırılarak tıp sektöründe de geniģ bir uygulama alanı bulması mümkündür. Çünkü günümüzde artık birçok cerrahi müdahale robot kolları ile gerçekleģtirilmektedir. Böylece operasyonun baģarı oranı da artırılmaktadır. Bunun yanında insan kaynaklı hatalar da en aza indirilebilecektir. Robot kolu, proje tamamlandığında kolay bir proje gibi görülebilir ama yapımı sırasında harcanan emekler ve geçirilen saatler bu iģ için ne kadar çaba sarf edildiğinin göstergesidir. 28

5. KAYNAKLAR [1] MEGEP, Elektrik Elektronik Teknolojisi-Step ve Servo Motorlar, Ankara 2007 [2] Doğan Ġ., PIC Mikrokontrolör Öğreniyorum, Ġstanbul BiliĢim Yayınevi, 2005 [3] Akpolat Ç., PIC Programlama, Ġstanbul Pusula Yayıncılık, 2006 29

EKLER EK-1 STANDARTLAR VE KISITLAR FORMU 1. Projenizin tasarım boyutu nedir? Açıklayınız. YaklaĢık olarak 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 problemi formüle edip çözmedik. 3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? Elektrik ve elektronik laboratuarlarında öğrenmiģ olduğumuz ölçme tekniklerini uyguladık. ĠletiĢim derslerinde öğrendiğimiz bilgileri kullandık. Bunların yanında öğrenmiģ olduğumuz programlama mantığı sayesinde yeni karģılaģtığımız programlama dillerine daha kolay uyum sağlayabildik. 4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? Projenin Auto-CAD ile çizimi yapıldı. Kullanılacak malzemelerin listesi oluģturulup teknolojik yönleri araģtırıldı. Malzemelerin proje için uygunluğu üzerinde çalıģmalar yapıldı. 5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir? a) Ekonomi: Proje tasarlanırken ekonomik Ģartlar göz önünde bulundurularak hareket edilmiģtir. Proje minimum maliyetle yapılmaya çalıģılmıģtır. b) Çevre sorunları: GerçekleĢtirilen projenin çevreye hiçbir zararı olmayacaktır. c) Sürdürülebilirlik: Robot kolu teknolojisi her geçen gün geliģmekte olup gelecekte insan gücünün yerini robotlar alacağı düģünüldüğü zaman bu teknolojinin büyük ilerlemeler kaydedebileceği görülmektedir. d) Üretilebilirlik: Yapılan robot kolu istenilen hedefler doğrultusunda değiģiklik yapılabilir ve geliģtirilebilir. Bu sebeplerde dolayı üretilebilirlik açısından gayet uygundur. e) Etik: Proje etik olarak hiçbir sorun içermemektedir. 30

f) Sağlık: Projemiz sağlık açısından hiçbir sorun teģkil etmeyip aksine tıp alanında da uygulanabildiği için sağlık için dolaylı yoldan katkı sağlamaktadır. g) Güvenlik: Proje güvenlik açısından hiçbir sorun içermemektedir. h) Sosyal ve politik sorunlar: Sosyal ve politik hiçbir sorun bulunmamaktadır. Not: Gerek görülmesi halinde bu sayfa istenilen maddeler için geniģletilebilir. Projenin Adı Projedeki Öğrencilerin Adları PIC PROGRAMLAMA ĠLE ROBOT KOLU KONTROLÜ ABDULLAH UYSAL ONUR YILMAZ HALĠT ATEġ Tarih ve İmzalar 31

ÖZGEÇMİŞ Abdullah UYSAL 28 Ağustos 1990 Ankara-Altındağ doğumluyum. Lise öğrenimimi Ankara Nermin Mehmet Çekiç Anadolu Lisesi nde okudum. Lisans eğitimim ise Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümünde devam etmektedir. Onur YILMAZ 28 Haziran 1989 Erzurum-Merkez doğumluyum. Lise öğrenimimi Erzurum da Mehmet Akif Ersoy Lisesi nde tamamladım. Lisans eğitimim ise Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümünde devam etmektedir. Halit ATEġ 6 ġubat 1991 Adana-Kozan doğumluyum. Lise öğrenimimi Adana ĠMKB Anadolu Öğretmen Lisesi nde tamamladım. Lisans eğitimim ise Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümünde devam etmektedir. 32