T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü ENGELDEN KAÇARAK ROTASINI TAMAMLAYAN ARAÇ 210288 Alparslan ALTINIŞIK Danışman Yrd. Doç. Dr. Yusuf SEVİM HAZİRAN 2013 TRABZON
i
T.C.
KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
ENGELDEN KAÇARAK ROTASINI
TAMAMLAYAN ARAÇ
210288 Alparslan ALTINIŞIK
Danışman
Yrd. Doç. Dr. Yusuf SEVİM
HAZİRAN 2013
TRABZON
ii
T.C.
KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
ENGELDEN KAÇARAK ROTASINI
TAMAMLAYAN ARAÇ
210288 Alparslan ALTINIŞIK
Danışman
Yrd. Doç. Dr. Yusuf SEVİM
HAZİRAN 2013
TRABZON
iii
LİSANS BİTİRME PROJESİ ONAY FORMU
Alparslan ALTINIŞIK tarafından Yrd. Doç. Dr. Yusuf SEVİM yönetiminde hazırlanan
“ Engelden Kaçarak Rotasını Tamamlayan Araç ” 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 : Yrd. Doç. Dr. Yusuf SEVİM ………………………………
Jüri Üyesi 1 : Öğr. Gör. Cahit ALTIN ………………………………
Jüri Üyesi 2 : Yrd. Doç. Dr. Gökçe HACIOĞLU ………………………………
Bölüm Başkanı : Prof. Dr. İsmail H. ALTAŞ ………………………………
iv
ÖNSÖZ
Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son halini
almasında yol gösterici olan kıymetli hocamız Sayın Yrd. Doç. Dr. Yusuf SEVİM’e
şükranlarımızı sunmak istiyoruz. Ayrıca bu çalışmayı destekleyen Karadeniz Teknik
Üniversitesi Rektörlüğü’ne Mühendislik Fakültesi Dekanlığına ve Elektrik-Elektronik
Mühendisliği Bölüm Başkanlığına en içten teşekkürlerimizi sunarız.
Her şeyden öte, eğitimimiz süresince bize her konuda tam destek veren ailelerimize ve
bize hayatlarıyla örnek olan tüm hocalarımıza saygı ve sevgilerimizi sunarız.
Alparslan ALTINIŞIK
Trabzon 2013
v
İÇİNDEKİLER
Sayfa No
Lisans Bitirme Projesi Onay Formu .......................................................................................... iii
Önsöz ......................................................................................................................................... iv İçindekiler .................................................................................................................................. v
Özet ........................................................................................................................................... vii
Semboller ve Kısaltmalar ....................................................................................................... v iii Şekiller Listesi ........................................................................................................................... ix
Çizelge Listesi ............................................................................................................................ x
1. Giriş ........................................................................................................................................ 1
1.1 Literatür Çalışması .......................................................................................................... 2
1.2 Çalışma Takvimi ............................................................................................................. 3
2. TEORİK ALTYAPI .............................................................................................................. 4
2.1 Algılama ........................................................................................................................... 4
2.1.1. QTR-8A Kontrast Sensörü ...................................................................................... 4
2.1.2. Sharp Gpd02 Sensörü .............................................................................................. 5
2.2. Çizgi Takip Prensibi ...................................................................................................... 8
2.2.1. Pid Geri Besleme..................................................................................................... 9
2.2.2. Pid Formül ............................................................................................................. 10
2.3. Engel Geçme Prensibi ................................................................................................... 11
2.4. Karar Verme ................................................................................................................. 13
2.4.1. PORT I/O .............................................................................................................. 13
2.4.2. ADC ...................................................................................................................... 13
2.4.3. Darbe Genişlik Modulasyonu ............................................................................... 13
2.4.4. Zamanlayıcı ........................................................................................................... 14
2.4.5. Kesme ................................................................................................................... 14
2.4.6. CCS C Programı Hakkında Genel Bilgiler .......................................................... 15
3.TASARIM ............................................................................................................................. 18
3.1. 7805 Entegresi .............................................................................................................. 18
3.1.2. 16x2 LCD Ekran ................................................................................................... 18
3.2. Yöntem………........................… .................................................................................. 19
3.2.1. Algılama................. ............................................................................................... 19
3.2.2. Karar Verme .......................................................................................................... 19
3.2.3. Hareket ................................................................................................................. 20
3.3. Çalışmalar ................................................................................................................... 20
vi
4. SONUÇLAR ......................................................................................................................... 25
5. YORUM ve ÖNERİLER ...................................................................................................... 26 Kaynaklar.................................................................................................................................. 27
Ekler
Özgeçmiş
vii
ÖZET
Günümüzde otonom olarak hareket eden araçların sanayideki önemi gün geçtikçe
artmaktadır. Bu araçların, karşısına çıkabilecek engellerden kurtulup mümkün olan en kısa
sürede başlangıç noktasına veya hedeflenen bir noktaya varması beklenmektedir. Bu
noktada hareketi otonom olarak kontrol edilen aracın rotasını kayıp etmeden engeli
geçmesi önemli bir sorunu teşkil etmektedir.
Bu problemin çözümünde rota, robotun kızıl ötesi sensörler ile algılayabileceği şekilde
bir çizgi ile belirlenmiştir. Bu bize istenen hedefe en kısa sürede ulaşma imkânı verecektir.
Yine karşısına çıkabilecek hareketli veya duran engelleri, üzerinde uygun şekilde
konumlandırılmış sensörler vasıtasıyla algılayabilecek ve bu sensörlerden gelen geri
dönüşleri bir mikrodenetleyici tarafından değerlendirip rotasına devam edecektir.
Amaçlanan sistemin tamamlanabilmesi için gerekli teorik ve pratik araştırma yapılmış
ve sunulmuştur.
viii
SEMBOLLER ve KISALTMALAR
ADC: Analog Digital Conveter (Analog Dijital Çevirici)
CCS: Custom Computer Services (Firma Adı)
CCP: Capture Compare Pulse Wide Modulation (Yakalama Karşılaştırma Darbe
Genişlik Modulasyonu)
CPU: Central Processing Unit
DC: Doğru Akım
D : Derivative (Türev)
EEPROM: Electrical Erasable Programable Read Only Memory (Elektriksel Olarak
Silinebilen Programlanabilir Sadece Okunan Hafıza)
I İntegral
I/O: Input / Output (Giriş / Çıkış)
k: Kilo
mA: Miliamper
mV: Milivolt
Mhz: Mega Hertz
P: Proportional (Orantısal)
PIC: Peripheral Interface Controller (Firma Adı)
PD: Proportional Derivative ( Orantısal Türev)
PID: Proportional Integral Derivative (Orantısal İntegral Türev)
TMR: Timer (Zamanlayıcı)
V: Volt
ix
ŞEKİLLER LİSTESİ
Şekil 2.1. Sistemin Blok Diagramı
Şekil 2.2. Nesnelere göre açılar
Şekil 2.3. Sharp Gp2d02 sensöründen okunan datalar
Şekil 2.4. Sharp Gp2d02 sensöründen okunan dataların lineerleştirilmiş hali
Şekil 2.5. Diğer Sharp Gp2d02 sensöründen okunan datalar
Şekil 2.6. Sharp Gp2d02 sensöründen okunan dataların lineerleştirilmiş hali
Şekil 2.7. Çizgi sensörlerinin konumu
Şekil 2.8. Çizgi sensörlerinden alınan datalara göre motorların hareketi
Şekil 2.9. Engelin algılanması
Şekil 2.10. Engelin algılanmasından sonra yapılan ilk hareket
Şekil 2.11. Aracın engelin yanından geçişi
Şekil 2.12. Aracın engelin sonunu algılaması
Şekil 2.13. Aracın rotasına doğru yönelişi
Şekil 2.14. Aracın çizgiyi buluşu
Şekil 2.15. Aracın çizgi izleme hareketine devamı
Şekil 2.16. Aracın çizgi takip algoritması
Şekil 2.17. Engel geçme algoritması
Şekil 3.1. Gerilim regülatörünün devreye bağlanma şekli
Şekil 3.2. Sistemin genel yapısı
Şekil 3.3. Nesnelere göre açılar
Şekil 3.4. Projenin tasarım ve gerçekleştirilmesi işlemleri
Şekil 3.5. Motor sürme devresi
Şekil 3.6. H köprüsü temsili görünüş
Şekil 3.7. Aracın gövde yapısı
Şekil 3.8. Aracın montajı
Şekil 3.9. Aracın montajı
Şekil 3.10. Sensörlerin kontrolü
x
ÇİZELGE LİSTESİ
Çizelge 1.1. Çalışma takvimi
1
1. GİRİŞ
Günümüzde endüstriyel uygulamalarda otonom olarak hareket eden robotların önemi
gün geçtikçe artmaktadır. Sanayide kullanılan robotlar çoğunlukla sabit olup üretim
amaçlı kullanılır. Hareketli robotlar genelde üretimden ziyade tamamlayıcı vazife
üstlenirler.
Bu robotların hareketlerini güvenli bir şekilde tamamlamaları için çevreyle
etkileşimlerini çabuk ve doğru bir şekilde gerçekleşmesini sağlayabilmelidir.
Bunu da algılayıcılarla sağlamaktadırlar. Burada tepki süreleri ve çevreden etkilenme
gibi sorunlar meydana gelecektir. Bu gibi sorunlar robotların istenen amaçlara göre
otonom hareketini sürdürmesi için gerekli kararları alabilmesini sağlayacak
algoritmaları gerçekleştirmeyi çok karmaşık hale getirmektedir.
Görünürde basit gibi görünen hareketlerin düzgün bir şekilde yapılabilmesi şu an
itibari ile çok maliyetlidir. Çok sayıda algılayıcı elektronik elaman ve bu devreleri
besleyecek batarya, akü gibi daha bir çok donanıma ihtiyaç duyulmaktadır.
Ekonomik açıdan bu maliyetleri olabildiğince azaltmak gerekmektedir. Bu gibi nedenler
otonom olarak hareket eden robotların üretimini kısıtlamaktadır.
Bu çalışmada lisans seviyesinde öğrenilen bilgilerin uygulaması ve pekiştirilmesi
hedeflenmektedir ayrıca bu alana ilgi duyanlar için giriş seviyesinde iyi bir yardımcı
kaynak olacaktır.
2
1.1. Literatür Çalışması
Otonom hareket, bir robotun bir yerden hedeflenen bir yere engellerden sakınarak ve
dışarıdan herhangi bir müdahale olmadan ulaşması olarak tanımlanmaktadır [1].
Engeller, duran bir nesneden hareket halinde olan bir nesneye kadar çeşitlilik
gösterebilir. Bu hareketi gerçekleştirmek oldukça zor bir durumdur. Otonom hareket
göz önüne alındığında robotlar üçe ayrılabilir. Otonom olmayan robotlar, bütünüyle
kullanıcı tarafından yönlendirilen robotlardır. Bunlar sadece kullanıcıdan gelen emirleri
uygular. Yarı otonom robotlar, bu tür robotlar bazı durumlarda kendi kendilerine
hareket edebilen bazı durumlarda da kullanıcı tarafından da yönlendirilebilen
robotlardır.
Tam otonom robotlar, tamamen kendi kendine hareket edebilen robotlardır, bu tür
robotların kendilerine ait karar verme birimi ve hareket kabiliyetleri bulunmaktadır.
Gezgin robotların doğaları gereği, endüstriyel sabit robotların aksine görevlerini
tamamlayabilmek için çoğu zaman hedefe gitmeleri gerekmektedir. Robot rotası
denince aklımıza, gezgin otonom robotun bir yerden bir yere yer değiştirmesi
gelmektedir [2].
İlerleyen kısımlarda hedeflenen sistemi gerçeklemek için gerekli literatür
çalışmasından faydalanarak, kullanılacak yazılım ve donanımdan bahsedilmiştir. Bu üç
kısımda irdelenmiştir. Bunlar algılama, karar verme, hareket olarak işlenecektir.
3
1.2. Çalışma Takvimi
Bu çalışmadaki iş zaman dağılımı Çizelge 1.1. de verilmiştir.
Proje Adımları Başlangıç
Tarihi Bitiş Tarihi OCAK ŞUBAT MART NİSAN MAYIS
Malzeme
Temini 04.01.2013 20.02.2013
Malzeme
Montajı 25.02.2013 20.03.2013
Gerekli
Yazılımların
Yapılması
21.03.2013 07.04.2013
Sistemin Test
Edilmesi 08.04.2013 25.04.2013
Test
Sonuçlarının
Yorumlanması
26.04.2013 05.05.2013
Bitirme
Kitapçığının
Yazılması
07.05.2013 19.05.2013
Projenin
Teslimi ve
Savunması
24.05.2013
Çizelge 1.1. Çalışma takvimi
4
2. TEORİK ALTYAPI
Aracın hareketi üç kısımda irdelenecektir. Bu irdelenme şeması Şekil 2.1. de verilmiştir.
Şekil 2.1. Sistemin Blok Diagramı
1.3. Algılama
Otonom hareketin gerçekleşmesi için aracın etrafındaki hareketli veya hareketsiz
nesneleri algılaması gerekir. Bu hareketin devamlılığını açısından olmazsa olmaz bir
niteliktedir. Aracın, konumunu ve engeli algılaması için optik algılayıcılar tercih
edilmiştir. Sensörden çıkan ışığın cisme çarpıp sensör tarafından tekrar alınması
prensibiyle çalışırlar. Mesafe arttıkça doğrulukarı azalır. Toz vb. çevre koşullarından
etkilenirler. Bu projede Lazer ve ultrasonik algılayıcılardan ucuz olduğundan ve onlar
kadar yeterli olmaları nedeniyle tercih edilmiştir.
2.1.1. QTR-8A Kontrast Sensörü
Bu sensör gönderdiği ışığın yansıyıp yansımadığına göre rengin siyah veya beyaz
oluşuna karar veren bir eleman olarak kullanılmıştır. Analog olarak çalışmaktadır.
Beyaz gördüğünde 0’ a yakın değerler siyah gördüğünde 255’ e yakın değerler
vermektedir. Bu işlem mikroişlemcinin ADC birimi tarafından gerçekleştirilmektedir.
Algılama Karar Verme Hareket
5
2.1.2 Sarhp Gp2d02 Sensörü
Sarhp Gp2d02 kızıl ötesi ışık yollayarak cisimden yansıyan ışığa göre uzaklık
belirleyen sensördür. Önünde cisim yoksa ışık geri yansımaz ve boş olarak olarak algılar.
Temsili resmi Şekil 2.2. de gösterilmiştir.
Şekil 2.2. Nesnelere göre açılar
Şayet önünde cisim varsa ışık geri yansır ve cismin uzaklığına göre değişen bir açıyla
algılanır. Bu açıya göre, cisimle araç arasındaki mesafe belirlenir. Uzaklık arttıkça
doğruluk azalır. Ara eleman gerektirmeden kullanılabilir.
Sharp Gp2d02 sensörü doğrusal çıkış vermemektedir. Bu durum geri besleme ile
mesafe takibini zorlaştırmaktadır. Firmanın ilgili internet sitesinde verilen lineerleştirme
formüllerinden yararlanılarak lineerleştirilmiştir [3]. Şekil 2.3. ve Şekil 2.5.’ de
sensörlerden okunan dataların ADC değerlerinin değişimi mesafeye göre çizdirilmiştir.
Şekil 2.4. ve Şekil 2.6.’ da ise sensörlerden okunan dataların lineerleştirilmiş hali
verilmiştir.
Nesne
6
Şekil 2.3. Sharp Gp2d02 sensöründen okunan datalar
(2.1)
Denklem (2.1) şeklindeki gibi bir doğru denklemi elde etmek için sırasıyla aşağıdaki
işlemler yapıldı. Denklem (2.2) doğrusallaştırma için kullanılacaktır.
(2.2)
R’ nin birimi santimetredir.
Denklem (2.1)’ de y yerine x yerine V yazılırsa;
(2.3)
Denklem (2.3) düzenlenirse;
(2.4)
Denklem (2.4)’ te m eğim k y eksenini kestiği yeri temsil etmektedir. Excel
programından m=651 k= -11.6 bulunmuştur b küçük değerli olduğundan ihmal edilmiştir.
0
20
40
60
80
100
120
0 10 20 30 40
Seri 1
X ekseni mesafe(cm)
Y ekseni işlemcinin
okuduğu ADC değeri
7
X ekseni 1/mesafe (cm)
Şekil 2.4. Sharp Gp2d02 sensöründen okunan dataların lineerleştirilmiş hali
Aynı işlemler diğer Sharp sensör için uygulandı.
X ekseni mesafe (cm)
Şekil 2.5. Diğer Sharp Gp2d02 sensöründen okunan datalar
0
20
40
60
80
100
120
0 0,05 0,1 0,15 0,2
Seri 1
0
20
40
60
80
100
120
0 10 20 30
Seri 1
Y ekseni işlem
cinin
okuduğuADC değeri
Y ek
sen
i işl
emci
nin
oku
du
ğu
AD
C
değ
erle
ri
8
X ekseni 1/mesafe (cm)
Şekil 2.6. Sharp Gp2d02 sensöründen okunan dataların lineerleştirilmiş hali
Excel programından m=1117 k= 5.96 bulunmuştur b küçük olduğundan ihmal
edilmiştir.
1.4. Çizgi Takip Prensibi
Şekil 2.7.’ de çizgi sensörlerinin konumu verilmiştir.
y
Şekil 2.7. Çizgi sensörlerinin konumu
Çizgi takibi için algoritma en yüksek değeri gösteren sensörü arama ile başlar. Bu da
çizginin ortasındaki yada ona yakın sensör olacaktır. Bu sensör bulunduğunda
en yüksek değer verecek olan diğer iki sensör bunun sağındaki ve solundaki sensörler
olacaktır.
0
20
40
60
80
100
120
0 0,02 0,04 0,06 0,08 0,1
Seri 1
Y ek
sen
i iş
lem
cin
in o
kud
uğu
AD
C d
eğer
leri
x
9
En yüksek 3 değer veren sensörü çizgi içinde tutma için çalışacaktır [4]. Şekil 2.8. Çizgi
sensörlerinden alınan datalara göre motorların hareketi verilmiştir.
Çizgi sensörleri
merkez
Şekil 2.8. Çizgi sensörlerinden alınan datalara göre motorların hareketi
1.4.1. Pid Geri Besleme
Orantısal, İntegral, Türev için kullanılan kısaltmadır. Hatayı en aza indirmeyi amaçlar.
Bu projede sensörlerden gelen sinyalleri alır o anki sapmayı hesaplar sensörlerin çizgide
kalması için sapmayı minumuma indirir ve çıkışları buna göre ayarlar.
Hata bir referans değerine göre sapmadır. Orantısal (P) şuan ki hata ile doğru orantılıdır.
İntegral (I) t süresi boyunca yapılan toplam hatadır. Türev (D) hata değişim oranıdır.
_
pozisyon
+
hata
D P I
I
ı
M M
10
2.2.2. Pid Formül
Aracın hareketini düzenlemek için çıkışa hata değerinin eklenmesi gereklidir. Bu işlem
bize orantısal (P) değerini verecektir. Aracı çizgide tutmak için bir sabitle çarpılması
gereklidir.
Ö çü (2.5)
ı (2.6)
Denklem (2.5)’ te hedeften yapılan sapma bulundu. Denklem (2.6)’ da görüldüğü üzere
kazanç sabitiyle çarpılarak çıkışı etkileme miktarı ayarlandı.
Burada hata değeri bulunur fakat araç stabil hareket etmemektedir zig zag yapmaktadır.
Türev bize hata değerinin değişimini verir. Buda hatayı düzeltme imkanı verecektir.
ğ ş ı Ö ığı (2.7)
ürev=Değişim Oranı kd (2.8)
Denklem (2.7)’ de önceki hata ile şu anki hata arasındaki değişim hesaplandı. Denklem
(2.8)’ de görüldüğü üzere kazanç sabitiyle çarpılarak aracın zig zag yapması engellendi.
Mikrodenetleyicinin timer birimi zaman aralığını hesaplamak için kullanılmıştır.
Integral kısmının bu projede pek bir faydası görülmediğinden kullanılmamıştır.
ı ı ü (2.9)
Denklem (2.9)’ dan alınan değerlere göre motorlar hızlandırılıp yavaşlatılarak aracın
hareketi sağlandı.
Pid sabitleri araç üzerinde çalışılarak deneyerek bulunmuştur. PD kontrolünü araca
uygulamanın en doğru olduğuna karar verildi.
11
2.3. Engel Geçme Prensibi
Aracın önünde ve sağ tarafında bulunan sensörlerle önce algılanıp sonra belli bir mesafe
ile engel takip edilerek tekrar çizgi bulunacaktır. Böylelikle engel geçilmiş olacaktır.
Burada yine PD kontrol ve mesafe sensörlerinin lineerleştirme fonksiyonları
kullanılacaktır. Aracın engel geçiş hareketi sırasıyla Şekil 2.9. , Şekil 2.10. , Şekil 2.11. ,
Şekil 2.12. , Şekil 2.13. , Şekil 2.14. , Şekil 2.14. , numaralı şekillerde görüleceği gibi
aşağıda verilmiştir.
Şekil 2.9. Engelin algılanması
Şekil 2.10. Engelin algılanmasından sonra yapılan ilk hareket
Şekil 2.11. Aracın engelin yanından geçişi
Engel sensörler
Engel
Engel
12
Şekil 2.12. Aracın engelin sonunu algılaması
Şekil 2.13. Aracın rotasına doğru yönelişi
Şekil 2.14. Aracın çizgiyi buluşu
Şekil 2.15. Aracın çizgi izleme hareketine devamı
Engel
13
1.5. Karar Verme
Mikrodenetleyici, önceden planlanmış, programlanmış görevleri icra eden tüm devre
olarak üretilen bilgisayardır. Bu projede Microchip firması tarafından üretilmiş Pic
(Peripheral Interface Controller) 18f452 mikrodenetleyici kullanılmıştır. Piyasada kolay
bulunabilen, az enerji harcayan ve birçok uygulama için yeterli donanıma sahip
olduğundan tercih edilmiştir.
2.4.1. Port I/O
Sensörlerden okunan dataların işlemciye işlenmek için port denen bu kısımlardan alınır.
(I/0 Input/Output Giriş/çıkış) Daha sonra değerlendirildikten sonra hareket için motor
sürücü entegresine iletilir ve hareket sağlanır.
2.4.2. ADC
Anolog-Dijital-Converter (ADC) dış dünyadaki analog işaretlerin mikrodenetleyici
tarafından işlenebilmesini sağlayan modüldür. 18f452 işlemcisinde 10 bitlik çözünürlükte
giriş ve çıkış yapılabilir. Bu projede 8 bit olarak kullanıldı. Buda bize 5V' luk bir gerilim
kaynağında yaklaşık 4.88 mV' luk bir hassasiyetle ölçüm imkânı sunar. Bu işlemci ile 8
farklı anolog sinyali takip edebiliriz. Bu kanallar port A’ da bulunmaktadır. Birkaç kanalda
aynı anda işlem yapılamaz, işlem periyodu ayaralanarak çevreden gelen analog işaretler
uygun bir şekilde takip edilebilir.
2.4.3. Darbe Genişlik Modulasyonu
CCP birimi, üç değişik modda çalışan bir birimdir. Bu çalışma, capture (yakalama),
compare (karşılaştırma), pwm (darbe genişlik modulasyonu) modudur. Mikroişlemcilerde
önemli bir birimde darbe genişlik modulasyonu birimidir. Bu mod sayesinde dijital
sinyaller analog sinyallere dönüştürülür. Sabit çıkış verebilen entegrelere süresi istenen
değere göre ayarlanmış bir kare dalga göndererek analog çıkış elde edilebilir buda bize ek
donanım kullanmadan istediğimiz çıkışı elde etmemize imkan tanır.
14
Gecikme ve görev süresini ayarlayarak kendi PWM modülümüzü yapabileceğimiz gibi
mikrodenetleyicide hazır bulunan PWM modülünüde kullanılabilir. Bunlar port C’ nin
birinci ve ikinci bacağıdır. 8 bitlik bir çözünürlüğe sahiptir. Bu mod uygun bir frekansta
motor sürmek için kullanılacaktır. İşlemcinin PWM modulu kullanılmıştır.
2.4.4. Zamanlayıcı
Çoğu uygulamada hali hazırdaki çalışan programdan hariç olarak değişken değerlerinin
değiştirilmesi istenebilir. Bu işlemin çalışan program içinde yapılması meşakkatli ve
verimsiz olabilir. Buda kaçınılmaz olarak zamanlayıcı (timer) birimini mikroişlemcilerde
vazgeçilmez bir birimi kılar.
Timer0, Timer1 8 bitlik, Timer2 16 bitlik olarak oluşturulmuş birimlerdir. 8 bitlik timer
birimi 0' dan 255' e 16 bitlik timer birimi 0' dan 65535' e kadar sayıp değerini sıfırlar. Bu
projede harici saat kullanılmayıp işlemcinin dahili osilatörüne göre istenen zaman bu
birimlerle ayarlanacaktır.
2.4.5 Kesme
Bu birim işlemcinin acilen cevap vermesi gereken durumlarda kullanılır. Ne zaman
olacağını bilenemeyen durumlarda kullanılacaktır. Programı hantallıktan ve karmaşıklıktan
kurtarır. Donanımsal olduğundan kesme fonksiyonu çalıştırıldığı andan itibaren işlemci
programdan harici olarak durumun gerçekleşip gerçekleşmediğini sürekli kontrol
edecektir. Eğer program birden fazla işlem yürütüyorsa kesme fonksiyonu çok büyük
kolaylıklar getirecektir.
Bir kesme olduğunda işlemci kesmeyi fark eder ve ana programın işleyişini durdurur,
kesme geldiğinde koşacak alt programa geçer ve bu programı koşar. Alt programın işleyişi
bitince ana program kaldığı yerden devam eder. Birden fazla kesme meydana gelebilecek
durumlarda hangi kesmenin öncelikli olacağı programda belirtilmelidir. Aksi takdirde
kararsız bir durum oluşacaktır.
15
2.4.6. CCS C Programı Hakkında Genel Bilgiler
Kullanılacak programlar C dili ile yazılacaktır. Bu tercihin sebebi, kullanıcıya esnek bir
çalışma sağlayabilmesidir. Assambley işlemci tarafından en kolay anlaşılacak dil olmasına
rağmen öğrenilmesi ve uygulaması zordur ve çok dikkat istediğinden meşakkatlidir.
CCS (Custom Computer Services) firması tarafından PIC (Peripheral İnterface
Controller) işlemcileri için C dilini kullanan yazılmış derleyicisidir. İçinde bulunan hazır
fonksiyonların beraberinde iletişim protokolleri ve çevresel birimler için birçok hazır
kütüphaneler bulunmaktadır. Yine firmaya ait internet sitesinde ve forumlarında yüzlerce
kütüphane dosyasına kolayca erişilebilir.
Kullanılan işlemcinin donanımını tam olarak bilmeden ileri düzeyde program yazmaya
imkan vermektedir. Diğer derleyicilere göre daha kolay öğrenilebilmesi gibi
avantajlarından dolayı tercih edilmiştir .
Aracın hareket algoritmaları Şekil 2.16. ve Şekil 2.17.’ de verilmiştir.
16
Şekil 2.16. Aracın çizgi takip algoritması
Düz git
Başla
10 saniye bekle
2 sensorü çizgi
üstündemi ? Düz git
1 sensörü çizgi
üstündemi Sağ motoru
hızlandır
2 sensörü çizgi
üstündemi?
Sol motoru
hızlandır
3 sensörde çizgi
üstündemi 15 saniye bekle
durak var
Düz git
Durak
değişkenini
1 arttır
30 dakika
bekle
değişkeni
sıfırla
Evet
Hayır
Evet
Evet
Evet
Evet
Hayır
Durak değişkenin
değeri 5 oldu mu?
17
Şekil 2.17. Engel geçme algoritması
10 saniye bekle
Doğru git
Sensöre bak
Önünde
engel var
mı?
10 saniye
bekle
Sağ motoru
hızlandır 45°
sola dön
Düz git
Sensöre
bak
Arka sensor
engeli
görüyor mu?
Sol motoru
hızlandır 45°
sağa dön
Sağ motoru
hızlandır 45° sola
dön
Düz git
Arka sensor
engeli görüyor
mu?
Düz git
Araç çizgiyi
yakaladı mı?
Çizgi
algoritmasına geç
Başla
Hayır
Evet
18
2. TASARIM
Bu kısımda çizgi ve engel geçme algoritamalarına göre aracın tasarımı
gerçekleştirilmiştir. Burada kullanılan diğer elemanlardan ve aracı gerçekleme
safhalarından bahsedilecektir.
3.1. 7805 Entegresi
Devrede mikrodenetleyici, sensör gibi hassas elektronik cihaz olduğundan bunlar
gerilim dalgalanmasından etkilenirler hatta bozulabilirler. Bu problemin çözümü bir
gerilim regülatörü kullanmaktır. 7805 entegresi bu yüzden kullanılmıştır. Şekil 3.12‘ de
Gerilim regülatörünün devreye bağlanma şekli verilmiştir.
Şekil 3.1. Gerilim regülatörünün devreye bağlanma şekli
3.1.2. 16x2 LCD Ekran
HD44780 likit kristalli ekran, günlük hayatta bir çok uygulamada kullanılan karakter ve
hafızası bulunan bir elemandır. Bu projede kullanıcı arabirimi olarak kullanılmıştır.
Sensörlerin çalışıp çalışmadığını anlamak için kullanılmıştır.
9V C2 C1
D1
5V
7805 REGÜLE DEVRESİ
devrede
2
1 3 V1
GND V0
19
3.2 Yöntem
Sistemin genel yapısı Şekil 3.2.’ de verilmiştir.
Şekil 3.2. Sistemin genel yapısı
Araç algılayıcılarının çıkışına göre hareketini devam ettirecektir. Önceden bahis
edildiği üzere çizgi takip algoritmasına göre yoluna devam edecektir. Engel algılarsa
engelden kaçma algoritmasını uygulayacaktır. Engel geçildiğinde tekrar çizgi takip
algoritmasına göre rotasını takip edecektir.
3.2.1. Algılama
Sabit Kızıl ötesi sensörler kullanılacaktır. QTR-RC ve Sarhp sensörleri Gp2d02,
7805 entegresi sensörleri, HD44780 2x16 LCD piyasadan temin edilmiştir.
3.2.2. Karar verme
Pic 18f452 işlemcisi piyasadan temin edilmiştir. Kullanılan program ve algoritmalar
tasarım ürünüdür.
ENGELDEN KAÇARAK ROTASINI
TAMAMLAYAN ARAÇ
ALGILAMA KARAR VERME HAREKET
20
3.2.3. Hareket
Aracın şasesi, tekerlekleri, motorları, L298 entegresi piyasadan temin edilmiştir.
3.3. Çalışmalar
Projenin gerçeklenmesinde yapılan çalışmalar Şekil 3.3.’ de verilmiştir.
Şekil 3.3. Proje tasarım ve gerçekleştirilmesi işlemleri
Aracın montajını temsili olarak Şekil 3.4. , Şekil 3.5. , Şekil 3.6.’ da verilmiştir.
Proje Adı: Engelden Kaçarak Rotasını Tamamlayan Araç
Yapılacak iş
Teorik Tasarım
Mekanik Yazılım Test ve Kontrol
21
Şekil 3.4. Motor süren devre
Mikrodenetleyiciler verebileceği akım sınırlıdır bu akımla motor sürülemez bunu için
L298d entegresi kullanılacaktır. Sağ ve sol motor birbirinden bağımsız kontrol edilebilir ve
motorları çift yönde sürebilir. İki adet H köprüsü ve bunlara ait hızlı diyot köprülerini
bulundurur. Akım koruması mevcuttur.
Şekil 3.5. H köprüsü temsili görünüş
M V
22
Motor bağlantı yerleri sharp sensor bağlantı yerleri
Şekil 3.6. Aracın gövde yapısı
Burada dikkat edilecek hususlar; motorların, bataryanın, elektronik aksamının ve
sensörlerin uygun şekilde yerleştirilmiştir. Doğru bir algılama yapabilmek için sensörlerin
konumu önemlidir. Hareketi sağlayacak olan motorların gövdeye sağlam bir şekilde monte
edilmiştir. Şekil 3.7.’ de görüldüğü üzere motorlar kenetlenmiştir. Bunlar plakaya açılan
deliklere vidalanarak kenetlenmiştir. Şekil 3.9.’ de kullanılan devrelerin testi yapılmıştır.
Yapıştırmak uygun bir çözüm olmaz. İstenen ölçümlerin yapılamaması durumunda ya da
eleman arızası durumunda elemanları değiştirmek mümkün olmayacaktır bu şekilde.
Motorların simetrik bağlanmıştır. Dönüş hareketlerinde uygunsuzluk olmaması için
gereklidir. Şekil 3.8.’ te gürüldüğü üzere çizgi sensörlerinin dizilimide çizginin genişliği
dikkate alınarak yerleştirilmiştir. Aksi takdirde iki sensör birden çizgiyi göreceğinden
kararsız bir durum oluşacaktır.
Aracın elektronik kısmının buraya
monte edilecektir
Sarhoş teker
Çizgi sensör
Bağlantı yerleri
15cm
17 cm
1715c
m
23
Şekil 3.7. Aracın montajı
Şekil 3.8. Aracın montajı
24
Şekil 3.9. Sensörlerin kontrolü
25
4. SONUÇLAR
Hareketi kontrol edilmek istenen aracın, olası engelleri geçerek rotasını kaybetmeden
hareketini sürdürmesi sağlanmalıdır. Bunu, önceden belirlenen zaman araklıklarında
otonom olarak tekrarlayabilmelidir. Taşıma amaçlı olarak kullanılan robotik araçlarda
bunlar önemli problemlerdendir.
Bu projede, engelden kaçarak yoluna devam edebilecek bir araç tasarlanmak
hedeflenmiştir. Mikrodenetleyici yazılımı, doğru akım motoru sürme devresi ve kontrol
devresi , kızıl ötesi algılama devresi gibi alt kısımlarda incelenerek üstte verilen problemin
çözümü gerçekleştirilmiştir.
Her ne kadar hareket kabiliyeti birçok muadilinden iyi olduğu görülsede sensörlerele
algılama yapıldığından manevra imkanı sınırlı olmuştur. Bu projenin kamera ve 32 bitlik
bir işlemci ile gerçekleştirilmesi halinde daha iyi sonuçlar alacağı görülmüştür.
Bu şekilde uygun değişikliklerle başka amaçlar içinde kullanılabilecektir. Buda
tasarlanan bu araca daha geniş bir kullanım alanı sunmaktadır.
Çizgi takibi için kullanılan sensörlerin zeminde 1 cm yükseklikte olması ölçüm
açısından daha doğru olacağı görülmüştür. Engel algılaması için kullanılan mesafe
sensörlerinin konumları ilerleyen zamanlarda en optimum hale getirilmiştir.
26
5. YORUM VE ÖNERİLER
Proje kapsamında otonom olarak hareket eden araç (robot) kavramı, uygulamadaki
örnekleri hakkında araştırmalar yapılmıştır. Edinilen bilgilere göre pratik bir uygulama
gerçekleştirilecektir.
Buradaki amaç, aracın alt ve üzerindeki uygun şekilde konumlandırılmış kızıl ötesi
sensörlerle etrafında olması muhtemel engelleri algılayarak rotasını
tamamlayabilmesidir.
Aracın alt kısmındaki sensörler çizgi takibini gerçekleştirecektir. Aracın üzerine
yerleştirilmiş sensörler engeli algılayacaktırlar. Bunlar üzerinden gelen anolog sinyaller
dijital değerlere çevrilip mikrodenetleyici tarafından hareket algoritmalrına göre
işlenecektir. Araç bu şekilde hareketine devam edecektir.
Bu proje şu hedefler doğrultusunda gerçeklenecektir:
• Mikrodenetleyici yardımıyla DC motor kontrolu
• Mikrodenetleyici ile bilgisayar arasında haberleşme
• Aracın PID değerlerini LCD ekran üzerine yazdırma
• Kızıl ötesi sensörlerle engel algılaması ve mesafe ölçümü
Bu projenin gerçekleşmeyisiyle lisans seviyesinde öğrenilen bilgilerin uygulaması ve
pekiştirmesi sağlanacaktır. Bu alana ilgi duyanlar için giriş seviyesinde iyi bir yardımcı
olacaktır. Yapay zeka uygulamaları ile deskteklenip otonom hareket yeteneği
arttırılabilir. Yine bu alanda çalışmak isteyenler için çalışma hayatları boyunca
kullanacakları bilgi ve tecrübe kazandırabilecek niteliktedir.
27
KAYNAKLAR
[1]. W. Xiaochuan, “Developing reactive controllers for mobile robots navigation in
unknown environments using infrared range sensors”, M.S. thesis, The
University of Guelph P 156. September 2004.
[2]. R. Negenborn, “Robot localization and Kalman filters on finding your position
in a noisy world”, M.S. thesis, Utrecht University, P 156. September 2003.
[3]. (2013) Acroname Robotics web sitesi “ Linearizing Sharp Ranger Data”,
Bağlantı: http://www.acroname.com/robotics/info/articles/irlinear/irlinear.html
[4]. (2013) Freetech Pid Controlled Fast Line Follower web sitesi “ Interpolation and Linear Deviation”, Bağlantı: http://freetech.dieterdaneels.be
28
EKLER
EK-1: 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.
Eğitim amaçlı bir çalışmadır. Lisans seviyesinde edinilen bilgilerin pekiştirilmesi
hedeflenmektedir. Pratik bir uygulamadır. İleride meslek hayatında faydalı olabilecek
tecrübeler edinilecektir.
2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?
Herhangi bir mühendislik problemi formüle edilmemiştir.
3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?
“Elektrik Makinaları” dersinde öğrendiğimiz “Doğru Akım Makinaları” projenin
tasarımı ve yapımında yol gösterici olmuştur. “ Programlama ” dersinde öğrendiğimiz “ C
” dili , program bu dille yazılacaktır. ” Mikroişlemci” dersinde öğrendiğimiz “
kesme, timer ” vs , karar verme birimi mikrodenetleyici olacaktır. “ Elektronik 1-2 “
derslerinde öğrendiğimiz “ transistor kutuplama, diyot, regülasyon vs” hareketli aksamı
control etmek için kullanılmıştır.
4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?
Sistemin maliyetinin düşük olmasına, malzemelerin seçiminde kaliteli olmasına ve
standartlara uygun olmasına dikkat edilmiştir. R232 haberleşme standartı kullanılmıştır.
Emc uyumludur. Güç besleme birimlerinin ve bunların birleşiminin güvenliğinde; toz , katı
cisimler ve nemin zararlı girişine karşı korumada IEC 61558-1 in Toz , katı cisimler ve
nemin zararlı girişine karşı koruma maddesi uygulanacaktır.
29
5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?
a) Ekonomi
Malzeme seçimlerinde maliyeti düşük olanlar seçilerek toplam maliyet en düşük
seviyeye tutulmaya çalışılmıştır. Ultrasonik ve lazer sensörler yerine kızılötesi sensörler
tercih edilmiştir. Araç üç tekerli olarak dizayn edildi. Bu sayede ek donanım masrafı
giderilmiş oldu.
b) Çevre sorunları
Projede çevreye zarar verebilecek herhangi bir yöntem veya malzeme kullanılmamıştır.
c) Sürdürülebilirlik
Araç geliştirilebilecek bir şekilde esnek bir yapıya sahiptir. Başka amaçlar için
kullanılabilecek şekilde tasarlanmıştır. Tak kullan şekilde eklenecek diğer birimlerle farklı
işlerde yapabilecek kabiliyete sahiptir.
d) Üretilebilirlik
Gerekli desteklerin sağlanması halinde sistem geliştirilerek taşıma sistemi olarak
gerçeklenebilir.
e) Etik
Projenin tasarımında mühendislik etiği kuralları göz önünde bulundurulmuştur.
f) Sağlık
Projede canlı sağlığına olumsuz etki edecek bir uygulama veya malzeme
bulundurulmamıştır. Ayrıca projenin tasarımında gerekli iş güvenliği esaslarına
uyulmuştur. Tüm montaj işleminde kurşunsuz lehim kullanılacaktır. Geliştirilecek sistem
2
30
5ve 12 volt’ta çalışacaktır. Bu gerilim seviyesi sağlık açısından herhangi bir risk
taşımamaktadır.
g) Güvenlik
Sistemde herhangi bir güvenlik sorunu bulunmamaktadır.
h) Sosyal ve Politik sorunlar
Tasarlanan proje herhangi bir sosyal ya da politik bir soruna yol açmayacak bir
niteliktedir.
Projenin Adı Engelden Kaçarak Rotasını Tamamlayan Araç
Projedeki Öğrencilerin adları Alparslan ALTINIŞIK
Tarih ve İmzalar 24.05.2013
İmza
Alparslan ALTINIŞIK
3
31
EK-2: ÖZGEÇMİŞ
Özgeçmiş
Adı ve Soyadı: Alparslan ALTINIŞIK
Doğum tarihi ve yeri: 12 Nisan 1986 Ankara
İlköğretim: Kardelen İlköğretim Okulu
Lise: Ankara Anadolu Lisesi
Üniversite: Karadeniz Teknik Üniversitesi / Elektrik-Elektronik Mühendisliği