hareketlİ nesne takİbİ ve konum...
TRANSCRIPT
T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
HAREKETLİ NESNE TAKİBİ ve
KONUM TESPİTİ
228482 Ramazan KAYA 210219 Tahir KÖSE
Prof. Dr. İsmail H. ALTAŞ
Mayıs 2013 TRABZON
i
T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
HAREKETLİ NESNE TAKİBİ ve
KONUM TESPİTİ
228482 Ramazan KAYA 210219 Tahir KÖSE
Prof. Dr. İsmail H. ALTAŞ
Mayıs 2013 TRABZON
ii
LİSANS BİTİRME PROJESİ ONAY FORMU
228482 Ramazan KAYA, 210291 Tahir KÖSE tarafından Prof. Dr. İsmail H. ALTAŞ yönetiminde hazırlanan “Hareketli Nesne Takibi ve Konum Tespiti” 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 : Prof. Dr. İsmail H. ALTAŞ ………………………………
Jüri Üyesi 1 : Prof. Dr. Cemil GÜRÜNLÜ ………………………………
Jüri Üyesi 2 : Öğr. Gör. Dr. Emre ÖZKOP ………………………………
Bölüm Başkanı : Prof. Dr. İsmail H. ALTAŞ ………………………………
iii
ÖNSÖZ Bu projenin hazırlanmasında emeği geçenlere, projenin son halini almasında yol gösterici olan kıymetli hocam Sayın Prof. Dr. İsmail Hakkı ALTAŞ’a şükranlarımızı sunarız. 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 içten teşekkürlerimizi sunarız. Her şeyden öte, eğitim hayatı süresince bizlere her konuda tam destek veren ailelerimize ve bize hayatlarıyla örnek olan tüm hocalarımıza saygı ve sevgilerimizi sunarız.
Mayıs, 2013 Ramazan KAYA Tahir KÖSE
iv
İÇİNDEKİLER Lisans Bitirme Projesi Onay Formu ……………………… ii Önsöz ……………………… iii İçindekiler ……………………… iv Özet ……………………… v Semboller Ve Kısaltmalar ……………………… vi 1. GİRİŞ …………………...…
1
1.1. Çalışma Takvimi ……………………… 2 1.2. Çalışmalar ……………………… 3 1.3. Başarı Ölçütleri, Standartlar ve Kısıtlar ……………………… 3 1.4. Araştırma Olanakları …….…………………
4
2. TEORİK ALTYAPI ..……………..……… 5
2.1. Kızılötesi (IR) Algılayıcılar ……………………… 5 2.1.1. Kızılötesi Işınım ………….………….. 5 2.1.2. Kızılötesi İletişim ………………..……. 5 2.2. Servomotor ………………..……… 8
2.2.1. Geri Beslemeli ve Kapalı Çevrim Kontrol Sistemi ………………………. 8
2.2.2. Servomekanizma ……………..………. 9 2.2.3. Servomotor Çalışması ……………..………. 10 2.3. Arduino …..…………………. 11 2.3.1. Arduino Programlama ………..…………….
12
2.3.2. Arduino Kullanım Avantajları …………..…………. 12 2.4. Arduino Uno …………..…………. 13
2.4.1. Arduino Kartının Pinleri ve Fonksiyonları ……………..……… 13
3. TASARIM ………………..……… 15
3.1. Hareketli Nesne Takibi ……………………… 15 3.2. Algılayıcı Devre .………………………
16
3.2.1. Algılayıcı Devre Analizi ………………………. 18 3.3. Hareketli Nesne Konum Tespiti ……………………… 19 3.4. Sistemin Kontrolü ….……………………
21
3.4.1. Mikroişlemci Yazılımı ………………………. 21
4. SONUÇLAR ………………..……. 25
5. DEĞERLENDİRME …………..………… 27 KAYNAKLAR ……………………….
28
EKLER ……………………….
29 ÖZGEÇMİŞ ……………………….
32
v
ÖZET
Hareketli nesneleri izleme ve pozisyon denetimi, fabrikalarda bulunan otomasyon
sistemlerinden başka haberleşme sistemlerinde, silah sistemlerinde, robotlarda ve hava
araçlarında olduğu gibi çoğu alanda kullanılması gereken önemli uygulamalardan
biridir.
Hareketli nesneleri izlemede probleme neden olan etken, takip edilecek nesnenin veya
hedefin sürekli sabit durumda olmaması ve zamanla değişmesi pozisyon izleme ve
kontrol sistemlerinde önemli bir sorundur. Hareketli nesnelerin izlenmesi ve pozisyon
denetimi yapan sistemlerde hassasiyet oldukça önemlidir. Pozisyon kontrolü ve nesne
takibi yapan sistemlerinin hassasiyetini arttırmak endüstriyel olarak üretilen ürünlerin
kalitesini arttırmayla ve hatasız sonuçlar elde etmeyle ilişkilidir. Bu nedenle örneğin
endüstriyel uygulamalarda ürünlerin takibini yapmak firmanın sorunlu ürün çıkarmasını
engelleyecektir.
Bir cismin veya hedefin konumunun saptanması, endüstriyel uygulamalarda
ürünlerinlerin o an hangi konumda olduğunu takip edilmesine, nokta atışlar yapabilmek
için hedeflerin vurulmasında, lazer ile tedavi yöntemlerinde tam doğru sonuçlar elde
edilmesinde, uydu antenlerinin nasıl haberleşmesi gerektiğinde, hedefe kilitlenen
füzelerde, uçak avlayan uçaksavarlarda, CNC tezgah gibi çeşitli noktasal iş yaparak
çalışan uygulamalarda ve bunun gibi bir çok hassas ve otomatik konum bilgisi
gerektiren uygulamalarda ihtiyaç duyulur.
vi
SEMBOLLER VE KISALTMALAR
V Volt
A Amper
mA Miliamper
R Direnç
Q Transistör
θ Açı
nm Nanometre
cm Santimetre
λ Dalgaboyu
Ω Ohm
IR Kızılötesi, infraruj
LCD Sıvı kristal ekran
LDR Işığa bağımlı direnç
LED Işık yayan diyot
DA Doğru Akım
USB Evrensel seri veri yolu
MHz Megahertz
Vcc Pozitif besleme kaynağı
GND Toprak, şase
B Baz
C Kollektör
E Emitör
1
1. GİRİŞ
Son yıllarda hareketli nesnelerin takibi endüstriyel uygulamalarda, robot ve savunma
sanayi uygulamalarında önemli yer edinmiştir. Özellikle endüstriyel uygulamalarda
üretilen ürünün kalitesi ve üretim sisteminin doğruluğu önemlidir. Bu nedenle üretilen
ürünün takibi ve pozisyonun bilinmesi uygulamanın kalitesini ve doğruluğunu arttırarak
hata olasılığın düşürür. Örneğin; endüstrilerde bulunan üretim bantları ve bu bantlarda
çalışılan makinaların kontrollerini sağlayabilmek için ürünün pozisyon bilgisi ve takip
edilmesi, üretim sistemi için önemlidir [1]. Hatasız ve doğru ürün üretimi yapmak çöpe
gidecek hammaddeyi azaltarak maliyeti düşürür [2].
Video kaydedici aracılığıyla hareketi takip edilen cismin görüntülenmesi ve
hareketinin görüntülü olarak kayıt altına alınması sağlanıp cismin pozisyonunu
belirlemek mümkündür. Örneğin; kapalı bir alan içerisinde istenmeyen bir hareket
oluştuğu zaman algılayıcılar aracılığıyla cisme kilitlenip, hareketi takip ederek konum
bilgisini aktaran bir güvenlik uygulaması gerçekleştirilebilir.
Hareketli nesne takibi ve konum bilgisi savunma sanayinde de geniş uygulama
alanına sahiptir [3]. Örneğin; bir askeri aracın takip edilmesi ve konumunun
belirlenmesiyle haberleşme sistemi kullanılarak diğer araç ve sistemlere gerekli konum
bilgisi aktarılarak müdahale imkanları yönetim imkanları sağlanabilir.
Hareketli nesne takibi ve konum kontrolünde farklı kontrol teknikleri kullanılabilir.
Örneğin; klasik kontrol sistemi olarak açık çevrim ve kapalı çevrim kontrol, bulanık
kontrol, doğrusal olmayan kontrol veya nöralbulanık kontrol teknikleri uygun bir
şekilde kullanılabilir. Yapılan işin gerekli hassasiyeti ve maliyet göz önüne alınarak
farklı bu kontrol tekniklerinden uygun olanı seçilebilir. Ayrıca tasarlanmak istenen
sistem gereksinimlerine göre algılayıcı türü ve özelliği de belirlenmesi son derece
önemlidir. Piyasada mevcut bulunan lazer, kızılötesi, ultrasonik ses, kapasitif ve optik
algıyacılardan uygun olanı ihtiyaca göre belirlenmelidir [4].
Piyasada bulunan hareketli nesne takibi sistemlerine [5], [6] ek olarak tasarlanan bu
sistemde konum bilgisi ve referans noktaya olan uzaklık bilgileri elde edilecektir.
Kapalı bir alanda uygulanmasını düşündüğümüz sistemde hareketli nesnenin takibi
mevut bulunanlarından farklı olarak ayrı yerlerdeki iki adet algılayıcıdan alınan
bilgilerin doğrultusunda gerçekleştirilecektir. Ayrıca endüstriyel uygulamalarda,
2
belirlenen ürünün takibini gerçekleştirerek herhangi bir arıza durumunda veya
istenmeyen bir hareketin oluşması durumunda üretimin bozulmasını engellemek
amacıyla da kullanılabilir. Bunun sonucu olarak üretim hatalarının azaltılması ve
sistemin çalışmasını engelleyecek olan bu tür bozuklukların önüne geçilerek ürünün
üretim verimini ve kalitesini arttırmak amaçlanmıştır.
Konu ile ilgili yapılan araştırmalar sonucunda hareketli nesne takibi görüntü işleme
[7], [8], [9] tekniğinden yararlanılarak yapılmaktadır. Görüntü işlemedeki ağır algoritma
yükünden ve maliyet fazlalığını göz önünde bulundurarak ve endüstriyel uygulamaları
göz önünde bulundurarak algılayıcılar ile hareketli nesne takibi ve konum kontrolü
uygulaması tasarlanmıştır. Algıyalıyıcı seçiminde üretici firmaların ürün katalogları ve
ürünün parametreleri incelenmiş olup uygun algılayıcı bilgileri algılayıcının veri
dosyasından elde edilmiştir. Kontrol mekanızması olarak kullanılacak
mikrodenetleyicinin yapısı ve çalışma mantığı seçilen mikrodenetleyicinin üretici
firmasının internet sitesinden sağlanmıştır.
Sistem hakkında bir ön fikir olarak [10] incelenmiştir. Sistemin temel yapısı
hakkında [11] ile bilgi edinilmiştir. Ayrıca servo motor hakkında bilgi olarak özel
elektrik makinalarıyla ilgili kitap [12] incelenmiş ve motor çalışma prensibi için bu
kaynaktan faydalanılmıştır. Gelişmekte olan endüstriyel sanayi uygulamaları, savunma sanayi ihtiyaçları ve
güvenlik uygulamalarından dolayı hareketli nesne takibi önemli yer edinmiştir. Araba,
uçak gibi belirlenmiş taşıtların hareketlerini algılayan ve taşıta kilitlenen konumunun
bilgisini ileten sistemlere ihtiyaç duyulmaktadır. Kapalı alanlarda güvenlik gerekçesiyle
canlı yada cansız nesne takibi de gelişen dünya konuşlarında gereksinimi kaçınılmaz
hale gelmiştir. Ayrıca geniş alanların, çiftlik, garaj, fabrika vb. yerlerin kontrolünde de
eklentilerle birlikte hareketli nesne takibi ve konum bilgisi sistemi kullanılabilmektedir.
Bütün bu sorunlar ve istenilen sistem doğrultusunda bu projede alan bilgileri belirli
bir kapalı alan içerisinde hareket eden herhangi bir cismin hareketini algılayıp
konumunu bildiren bir sistem tasarlanacaktır.
1.1. Çalışma Takvimi
Projede görev alacak kişiler Çizelge 1’de belirtilen çalışma takvimine göre
belirtilen vakitlerde görevlerini tamamlayacaklardır.
3
Çizelge 1. Çalışma takvimi Proje Adı: Hareketli Nesne Takibi ve Konum Tespiti
Proje Adımları
Mart Nisan Mayıs
1 2 3 4 5 6 7 8 9 10 11 12
1. Ön Hazırlık a. Literatür ve simülasyon çalışması b. Uygun sensor çeşidinin belirlenmesi c. Malzeme Seçimi
2. Tasarım ve Yazılım a. Devrenin şematik çizimi ve PCB tasarımı b. Mikroişlemci gömülü yazılımın yapılması c. Motor kontrolü
3. Montaj ve Test a. Sistemin montaji ve lehimlenmesi b. Sistemin testi ve uygun parametre incelenmesi c. Uyuşmazlık saptama ve çözümleme
1.2. Çalışmalar
Çizelge 2’de görev ve kişiler belirtilmiştir. Bu görev–kişi çizelgesine göre proje
adımları yapılacaktır.
Çizelge 2. Görev – kişi çizelgesi
Proje Adı: Hareketli Nesne Takibi ve Konum Tespiti
Proje Adımları
1. Ön Hazırlık a. Literatür ve simülasyon çalışması Tahir KÖSE b. Uygun sensör çeşidinin belirlenmesi Ramazan KAYA c. Malzeme seçimi Tahir KÖSE
2. Tasarım ve Yazılım a. Devrenin şematik çizimi ve PCB tasarımı Ramazan KAYA b. Mikroişlemci gömülü yazılımının yapılması Tahir KÖSE,Ramazan KAYA c. Motor kontrolü Ramazan KAYA
3. Montaj ve Test a. Sistemin montajı ve lehimlenmesi Tahir KÖSE b. Sistemin testi ve uygun parametrelerin incelenmesi Ramazan KAYA c. Uyuşmazlıkların saptanması ve çözümlenmesi Tahir KÖSE
1.3. Başarı Ölçütleri, Standartlar ve Kısıtlar
Hareketli nesneleri takip edebilmek ve bu nesnelerin takip mesafesini yaklaşık 20
cm. aralıkta yapabilmek hedeftir. Yapılan sistemde, merkezi işlemci olarak kullanılan
mikroişlemci TS EN 190110 ‘Sayısal Mikroişlemci Entegre Devreler’ TSE standardına,
Haf
ta A
y
4
ISO 9001, ISO/TS 16949 kalite standartlarına uygun olarak üretilmiştir. Kızılötesi
ışınım yapacak olan ledler TS EN 120002 ‘ İnfrared ışık yayan diyotlar, infrared ışık
yayan diyot dizileri’, alıcı devre olarak fototransistörler TS EN 120003
‘Fototransistörler, foto darlington transistörler, fototransistör dizileri’ TSE standartlarına
uygun üretilmişlerdir. Ayrıca UL 1004-6 ‘Servo ve adım motorları’ ve ISO 11151-
2:2000 ‘Kızılötesi spektral aralığı için bileşenler’ standartları yanı sıra malzemelerin
RoHS kalite standartları vardır. Ayrıca yapılacak olan PCB baskı devresi IEC TC 119
standartlarına uygundur.
1.4. Araştırma Olanakları
Sistemin gerçekleştirilmesi için gerekli teorik bilgi ilgili makalelerden, yazılardan,
ürünü üreten firmanın internet ortamında kullanıma sunduğu açık kaynak kodlarından
edinilecektir. Gerekli malzeme temini yapıldıktan sonra Karadeniz Teknik Üniversitesi
Elektrik Elektronik Mühendisliği Bölümü laboratuvarlarında sistemin montaj ve testi
gerçekleştirilecektir. Montaj aşamasında bu laboratuvarlarda bulunan ekipman ve
aletlerden faydalanılacaktır.
5
2. TEORİK ALTYAPI
2.1. Kızılötesi (IR) Algılayıcılar
Sistemde hareketi algılamak için kızılötesi algılayıcı kullanılmıştır. Bu algılayıcı
alıcı ve verici kısımlarından oluşmaktadır. Verici olarak kızılötesi led,alıcı olarak ise
kızılötesi ışığa duyarlı fototransistörler kullanılmıştır. Devrenin çalışmasını belirtmeden
önce kızılötesi ışınımın incelenmesi gerekmektedir.
2.1.1. Kızılötesi Işınım
Işınımların dalgaboylarına elektromanyetik tayf denir. Elektromanyetik tayf gama
ışınları, X ışınları, morötesi, görünür ışık, kızılötesi, mikrodalga ve radyo dalgaları gibi
farklı kategorilere ayrılmıştır. Bu ayrılım ışınımların dalgaboyuna göre yapılmıştır.
Kızılötesi (IR) ışınım, dalgaboyu mikrodalgalardan daha kısa ve görünür ışıktan daha
uzun olan elektromanyetik bir ışıma şeklidir. Kızılötesi ışığın dalgaboyu 750 nm. ile
1000 nm. arasında olup insan gözüyle görünemez biçimdedir. Şekil 2.1’de
elektromanyetik spektrum gösterilmektedir.
Şekil 2.1. Elektromanyetik sprektrum
2.1.2. Kızılötesi İletişim
Kızılötesi iletişim sistemlerinde, kızılötesi bir ışınım yapacak verici devre, bu ışınımı
algılayacak bir alıcı devre ve ışınımın iletileceği iletişim ortamı bulunur. Kızılötesi
iletişimin blok diyagramı Şekil 2.2’de gösterilmiştir.
6
Şekil 2.2. Kızılötesi iletişim sistem şeması
Kızılötesi iletişiminde, iletişim ortamında bulunan nesnelerin algılanmasında
nesnelerin boyutu ve rengi önemlidir. Farklı renklerdeki nesnelerin kızılötesi ışığı
yansıtma değerleri aynı değildir. Renklerin ışığı emme ve yansıtma özelliklerine göre
bu değerler farklılık kazanır. Örneğin boyutları aynı ancak farklı renklerdeki özdeş
nesneler ele alındığında koyu renkteki nesnelerin gelen ışığı soğurduğu beyaz özellikli
nesnelerin ise direk yansıttığı gözlemlenmiştir. Siyah ve beyaz arasındaki renklerin ise
ışığı soğurma yeteneğine göre farklı özelliklerde ışık yansıttığı görülmüştür.
Aynı renklerde fakat farklı boyutlarda nesneler kızılötesi ışınıma tabi tutulduğunda
nesnelerin boyutlarına göre farklı yansıma elde edilir. Büyük boyutlu nesneler,
yüzeyleri geniş olduğundan dolayı gelen ışınımı daha çok yansıtabilmektedirler. Aksi
durumda ise küçük yüzey alanına sahip olan nesneler, ışınımı üstüne alamadığından
dolayı yansıtma kabiliyetleri azalmaktadır.
Yüzey rengi ve yüzey boyutuna göre farklılıklar yukarıda bahsedilmiştir. Ayrıca
yüzeyin pürüzlülüğü ve yüzeyin yapıldığı maddenin tipi de ışınımı yansıtmaya etki eden
faktörlerdendir. Yüzey pürüzlülüğü çok olan nesneler, kızılötesi ışınıma tabi
tutulduklarında üzerine düşen ışınımları etrafa yansıtarak az miktarda geri
yansıtmaktadırlar. Nesnenin yapıldığı malzemenin şeffaf olması veya mat, ışık emebilen
tipte olması da yansımayı oldukça etkilemektedir [4].
Kızılötesi iletişimde alıcı devre belli bir frekanstaki biçimlendirilmiş kızılötesi
ışınımı algılayabildiğinden dolayı iletişimin kurulmasını için gerekli modüle edilmiş
ışınımı verici devre sağlar.
Kızılötesi ışınım kaynağı olarak kızılötesi led kullanılır. Led, kontrolü basit ve
yönlendirilebilir elektronik bir elemandır. Led’in içinden geçen akımı kontrol ederek
farklı yoğunlukta ışık elde etmek mümkündür. Ancak bu ışınımın gücü, uzaklığa ve
iletim ortamının yoğunluğuna bağlı olarak değiştiğinden dolayı ışığın var ve yok olduğu
mantıksal teknoloji kullanılır. Alıcı devre ise verici devrenin oluşturduğu belirli bir
frekanstaki kızılötesi ışığa tepki verecek devreden ibarettir. Alıcı ve verici ışık frekansı
7
uyumluluğu bu iletişimde esas kriterdir. Şekil 2.3’te klasik kızılötesi verici devre
gösterilmiştir.
Şekil 2.3. Kızılötesi verici devre
Verici devrenin ortama yaydığı kızılötesi ışınım alıcı devre tarafından algılanır.
Birçok alıcı devresinde kızılötesi ışınımı module etmek için ek devrelerde kullanılır.
Şekil 2.4’te görüldüğü üzere, alıcı üzerine kızılötesi frekansına sahip kızılötesi ışık
ulaştığında alıcı devre lojik-0 seviye çıkış verir. Alıcıya kızılötesi sinyal ulaşmadığında
ise alıcı lojk-1 çıkış verir.
Şekil 2.4. Kızılötesi alıcı devre
8
2.2. Servo Motor
Günümüzde kontrol sistemleri oldukça yaygın olarak kullanılmaktadır. Hemen
hemen her alanda ve uygulamada bir kontrol sistemi mevcuttur. Kontrol sistemlerinin;
robot sektörü, otomativ sektörü, uçak sektörü, radarlar gibi çok geniş uygulama alanları
vardır.
Servo motorlara kontrol motorları da denilmektedir. Özellikle kontrol sistemlerinde
çıkış hareketlerini kontrol edici olarak kullanılmak üzere tasarlanılıp üretilirler.
Bir servo sistem veya servomekanizma geri beslemeli bir kontrol sistemi olup,
sistemin çıkışı mekanik konum,ivme veya hız olabilir. Servo sistem ile konum (veya
hız) kontrol sistemleri aynıdır. Servo sistemler günümüzde modern endüstride çok sık
olarak kullanılmaktadır.
2.2.1. Geri Beslemeli ve Kapalı Çevrim Kontrol Sistemi
Kontrol sistemleri iki tipte sınıflandırılır. Bunlar; kapalı çevrim kontrol sistem ve
açık çevrim kontrol sistemidir. Sistemin tipi, kontrolü istenen eleman ile kontrolü
yapan eleman arasındaki ilişkiye bağlı olarak belirlenir. Projemizde kapalı çevrim
kontrol sistemi kullanılacaktır.
Bir kontrol sisteminde giriş işaretine bağlı olarak bir çıkış işareti elde edilir. Kapalı
çevrim kontrol sistemlerinde, bu çıkış işareti bir ölçüm mekanizmasıyla ölçülür ve
veriler denetleyici (kontrolör) birimine gönderilir. Denetleyici birimi ölçülen bu verileri
istenen (arzu edilen) verilerle karşılaştırarak fark (hata) işaretleri üretir. Böylece giriş ile
çıkış arasındaki fark belirlenir. Bundan sonra denetleyici çıkışındaki farka göre sistem
bu farkı sıfırlayacak şekilde çalışmasını sürdürür. Her seferinde çıkış ile giriş arasındaki
fark ölçülerek hata olup olmadığı kontrol edilir ve varsa hata sistem tarafından
kendiliğinden giderilmeye çalışılır. İşte bu kontrol sistemine kapalı çevrim kontrol
sistemi denilir. Şekil 2.5’te geri besleme kontrol sisteminin blok diyagramı
gösterilmiştir.
9
Şekil 2.5. Geri besleme kontrol sistemi blok diyagramı
2.2.2. Servomekanizma
Genellikle giriş büyüklükleri zamanla değişen geri beslemeli kontrol sistemlerine
servomekanizma adı verilir. Servomekanizmanın görevi çıkış ve giriş arasında uygun
bir bağ oluşmasını sağlamaktır. Servomekanizmanın en çok kullanılan tiplerinden
biriside pozisyon (konum) kontrol sistemidir. Pozisyon kontrol sistemlerinde çıkış
konumu genellikle bir motorun mil konumu olup giriş konumunun değişimlerini tam
olarak izlemek zorundadır.
Şekil 2.6’deki konum kontrol sistemi çıkışındaki yükü konumlamak için kullanılan
tipik bir servomekanizmadır. Çıkış konumu, giriş konumundaki değişmeleri
izlemektedir. Bunun için motorun endüvi gerilimi belirlenmektedir. Bu sebeple motor
mili çıkış konumunu düzenlemek için dönecektir.
Şekil 2.6’da gösterilen konum kontrol servomekanizmasının 5 temel elemanı şöyle
tanımlanır:
Giriş değeri θR, girişteki kadran tarafından ayarlanır.
θC değeri yükün konumunu belirtir. Çıkıştır.
Hem girişin hemde çıkışın konumu algılamak için konum gösteren
potansiyometreler aracılığla konum değerleri elektriksel sinyale çevrilir.
Konum gösteren potansiyometrelerin çıkış ve giriş gerilimlerindeki farkıyla hata
sinyali VE üretilir. (2.1)
VE = VR − VC (2.1)
Motor ve yükselteç, servomekanizmanın denetleyici birimini oluşturur.
10
Şekil 2.6. Konum-kontrol servomekanizması
Çıkışın konumu ile girişin konum değerleri eşit olduğunda hata sinyali üretilemez.
Böylece yükseltecin çıkışı sıfır olur ve endüvide bir gerilim endüklenmez. Sonuç olarak
çıkış mili durur ve istenen konumda kalır. Giriş konumundaki bir değişiklik hata
sinyalini sıfırdan farklı olmasına neden olur ve yükselteç çıkışı endüviyi etkileyerek
motorun dönmesi sağlanır. Çıkış konumu hata gerilimi sıfır oluncaya kadar dönmeye
devam eder [12].
2.2.3. Servomotor Çalışması
Servo motorların üç giriş kablosu vardır. Bu kablolar; besleme, toprak ve veri
girişidir. Besleme gerilimi genelde 5-8 V DA bir değerdir. Bu değer servomotorun
tipine, gücüne ve istenilen özelliklerine göre her servomotorda farklı olabilir. Toprak
ucu 0 V’dur. Veri kablosu servo motorlar için çok önemlidir. Bu uç servo motorun
kontrol edilebilmesi sağlamaya imkan verir. Harici denetleyeciden gelen verilere göre
11
servo motor mili istenilen konum değerine kadar döner ve bu pozisyonunu korumaya
başlar.
Kontrolcü kartı ile koordine bir şekilde çalıştırılır. Servo motorların hafif olması ve
kontrolünün basit olması tercih edilme nedenidir.
2.3. Arduino
Arduino, üzerinde Atmel mikrokontrolürleri bulunun açık kaynak kodlu donanımdır.
Yazılım bilgilerinin yanısıra, tasarım bilgileri de kulanıcının hizmetine sunulmuştur.
PCB baskı devreleri, devre şemaları, yerleşim planları ve üzerindeki programlanabilir
elemanların kodları bütün detayları ile kullanıcının kullanımına rahatça ulaşabileceği bir
şekilde açılmıştır. Kullanıcı isterse hazır olarak alabileceği gibi, aynısını kendisi de
gerçekleştirebilir.
Arduino geliştirme kartı üzerindeki mikrokontrolür (AtmegaXX) Arduino
programlama dili ile programlanır ve bu program Processing tabanlı Arduino Yazılım
Geliştirme Ortamı (IDE) yardımı ile karta yüklenir. Yazılım Geliştirme Ortamı (IDE)
internet üzerinden ücretsiz olarak bilgisayara indirilebilir. Programlama için temel C dili
kullanılır.
Arduino’yu ön plana çekaran en önemli özelliği yazılımının kolay ve sade olmasıdır.
Ayrıca kullanıcığa uygulama gerçekleştirmesi için diğer çevre birimleriyle (kristal, güç
kaynağı, programlama cihazı) uğraşmama imkanı sunar. Programlama cihazına ihtiyaç
duymamasının nedeni; ürün, bootloader programı mikrodenetleyicinin içine atılmış
şekilde gelmektedir.
Arduino’nun en güçlü özelliklerinden biri de genişletilebilir bir kütüphane sistemine
sahip olmasıdır. Bu kütüphaneler sayesinde birçok işlem ve çevrebirimi haberleşmesi
kolaylıkla gerçekleştirilebilir. Ayrıca yeni çevrebirimleri için yazılan kütüphaneler
kolaylıkla entegre edilebilir. Bütün bunları göz önünde bulundur-duğumuzda çok ileri
bir yazılımcı olmadan bir çok uygulamayı Arduino kullanarak gerçekleştirebilmek
mümkün olur.
Gerçekleştirilmesi istenen projenin özelliğine göre Arduino’nun birçok çeşidi
bulunmaktadır. Ayrıca bu kartlara uygun şekilde tasarlanmış shield (katman) olarak
adlandırılmış kullanım kolaylığı sağlayan ek donanımlar da üreticinin hizmetine
sunulmuştur. (Bluetooth, Wireless, Ethernet, Motor sürücü katmanları vs.).
12
2.3.1. Arduino Programlama
Arduino’yu programlamak için gereken arayüzü yine aynı firma tarafından
geliştirilmiş, açık kaynak kodlu, ücretsiz JAVA destekli bir uygulama ortamıdır. Şekil-
2.7’de Arduino mikroişlemcisini programlamak için yapılmış programdan bir ekran
görüntüsü gösterilmiştir. Bu ortam arayüz yazılımının kullanımı basit ve sadedir.
Programlamada oluşan hataların belirlenmesinde kullanılan gelişmiş bir hata ayıklama
sistemine sahiptir. Ayrıca da tüm Arduino kart çeşitlerini programlama imkanına
sahiptir.
Şekil 2.7. Arduino programlama ekran görüntüsü
2.3.2. Arduino Kullanım Avantajları
Arduino, bir önyükleyiciye (bootloader) sahip olduğundan USB port bağlantısı ile
mikroişlemciye program yükleyebilir. Bu sayede mikroişlemcilerdeki çıkarılıp
takılmalardan kaynaklanan bacak kırılmaları riski ortadan kalkar.
Arduino programlaması diğer programlamalara göre kolaydır.
Diğer platformlarla karşılaştırıldığında daha ucuzdur.
Basit ve açık programlama ortamı sayesinde kolay bir yazılım ortamı sağlar.
13
2.4. Arduino Uno
Arduino ailesi içinde yapılacak projeye, kullanıma ve isteğe göre çeşitli Arduino
kartları vardır. Bunlar; Arduino Uno, Arduino Mega 2560, Arduino Pro, Arduino
Leonardo, Arduino Fio, Arduino Mega ADK, Arduino Nano vs. gibi isimlendirilmiş
performansları, özellikleri, işlemcileri ve kabiliyetleri farklı kartlardır.
Arduino Uno R3 kartı üzerinde 8 bitlik Atmega328 işlemcisi, 14 digital giriş- çıkış
(Input- Output) pini, bunlardan 6 tanesi PWM çıkışı olarak kullanılabilmektedir, ayrıca
6 analog giriş pini bulunmaktadır. Ayrıca 16 Mhz kristal osilatör, USB bağlantısı,
regüle edilmiş 5V, ICSP başlığı ve reset butonu bulunmaktadır. Çalışması için gerekli
gücü USB bağlantısı ile PC’den veya 7-12 Volt’luk DA güç kaynağından sağlar.
Besleme gerilimi için alt ve üst sınırlar 6-20 V olarak belirlenmiştir. Giriş çıkış pini
başına akım 40 mA dir. Kart üzerinde regüle edilmiş 3.3 V çıkışı da bulunmaktadır ve
3.3 V için çıkış akımı 50 mA’dir. FLASH Hafıza 32KB, SRAM 2 KB, EEPROM 1KB
olarak hafıza büyüklükleri de belirtilmiştir [13].
Ayrıca; harici bir güç kaynağı kullanılacağı zaman Arduino kartı üzerindeki VIN
pininden giriş yapılabilir.
2.4.1. Uno Kartının Pinleri ve Fonksiyonları
14 digital pinlerinin her biri pinmode( ), digitalRead( ), digitalWrite( ) fonksiyonları
ile giriş çıkış pini olarak kullanılabilirler. Bütün pinler çıkışta 5V sağlar. Pinlerin her
biri en fazla 40mA akım iletir yada çeker ve dahili 20-50 kOhm dirence sahiptirler. Bazı
pinlerin özel kullanım fonksiyonları vardır. Bunlar:
Seri İletişim: Kart üzerinde seri iletişim için özel pinler belirlenmiştir. Bunlar 0
(RX) ve 1 (TX) numaralı pinlerdir. Seri iletişim de 0 numaralı pin alıcı (receive),
1 numaralı pin ise iletici (transmit) olarak görev yapar.
Harici Kesiciler (External İnterrupts): 2 ve 3 numaralı pinler harici kesmeyi
tetiklemek için kullanılırlar.
PWM: 3,5,6,9,10 ve 11 numaralı pinler analogwrite() fonksiyonunun
kullanımıyla 8 bitlik PWM çıkışı sağlar. PWM (Pulse Width Modulation), üretilen
darbelerin (pulselerin) genişliklerinin kontrol edilerek (veya değiş-tirerek)
üretilmek istenen analog değerin elde edilmesidir denilebilir.
SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK) pinleri SPI iletişimini sağlamak-
tadır.
14
LED: 13 numaralı pine kart üzerinde led bağlanmıştır. Digital 13 pini high (1)
yapıldığı zaman led yanar, low (0) yapıldığı zaman ise led söner.
TWI: Analog girişler olan A4 (SDA) ve A5 (SCL) pinleri ile TWI iletişimi
gerçekleştirilmektedir.
AREF: Kart üzerinde bulunan AREF pini ile analog girişler için referans gerilim
değeri sağlanır.
Reset: Kart üzerindeki reset pinine 0 volt uygulandığı zaman mikrokontrolüre
reset atılmaktadır. Bu işlem kart üzerinde ayrıyeten bulunan reset butonu ile de
kolayca yapıabilmektedir.
Arduino Uno kartı üzerindeki analog girişler A0, A1, A2, A3, A4, A5 olarak
isimlendirilmiştir. Bu girişlerin her biri 10 bitliktir. Aref pini ile analog girişin gerilim
değeri değiştirilebilmesine rağmen normalde 0-5 volt aralığında gerilim seviyesi
sağlanır.
15
3. TASARIM
3.1. Hareketli Nesne Takibi
Hareketli nesneler, zamanla sürekli olarak bulunduğu konumlarını belirli yada
belirsiz bir biçimde değiştiren nesnelerdir. Belirli yönde ve hızda hareket eden nesneleri
takip etmek kolaydır. Çünkü bir sonraki konumu hakkında veri vardır. Ancak belirsiz
yönde ve hızda hareket eden nesneler için hızlı tepki veren algılayıcılar kullanılması
şarttır.
Hareketli nesne takibinde asıl sorun hareketli olan nesnenin algılayıcılara olan
uzaklığının ne kadar uzak veya yakın olduğudur. Bundan dolayı algılayıcı seçimini
etkileyen en büyük etken algılama yapılabilecek mesafe aralıklarıdır. Ayrıca hareketli
nesnenin hızı da algılayıcı için bir sorundur. Algılayıcılar belirli hız limitlerinde
algılama yapabilirler. Bu nedenle algılayıcının algılama hızı yada algılayıcı çıkış
verisini verme hızından hızlı hareket edecek bir nesnenin konumu hakkında bir algılama
yapılması mümkün değildir.
Takip edilecek hareketli nesne bir araba, otobüs yada tren olabilir. Ancak uçak yada
denizaltı gibi araçlar sağa sola hareket ettikleri gibi yukarı ve aşağı yönlü de hareket
etmektedir. Bundan dolayı bu araçları takip edebilmek için takip edecek olan sistemin
de yukarı ve aşağı yönlü hareket edebilmesi gerekir. Ancak bu uygulamada sistem
sadece bir düzlemde hareket edecek olan nesneleri izlemektedir.
Hareketli nesneyi takip edecek olan sistemde kullanılan motorlar hareketli nesneye
hangi hızda olursa olsun kilitlenirler. Nesnenin hızında değişmeler olduğunda yani
hareketli nesnenin hızı artıp yada azaldığında kullanılan takip sistemide buna karşılık
vererek nesneyi takip ederken hızını arttırıp azaltacaktır.
Gerçekleştirmiş olduğumuz sistemde algılayıcı olarak kızılötesi sensor devresi,
hareketi sağlayan servo motorlar, sistemin kontrolü ve bilgilerin işlenmesi için
mikrokontrolür ve sonuçların gösterildiği LCD ekran bulunmaktadır. Hareketli nesne
takibi yapacak olan bu sistemin genel şeması Şekil 3.1’de gösterilmiştir.
16
Şekil 3.1. Hareketli nesne takibi sistemi blok diyagramı
3.2. Algılayıcı Devre
Projede nesne hareketini algılamak için cisimden yansımalı algılayıcı devresi
oluşturulmuştur. Bu devre tek parça olup alıcı ve verici devreyi içinde bulundurur.
Verici olarak kızılötesi ışınım yayan kızılötesi led kullanılmıştır. Alıcı devre olarak ise
kızılötesi ışığa duyarlı fototransistör kullanılmıştır. Alıcı olarak LDR ve fotodiyotlar da
kullnılabilir ancak fototransistörler daha yüksek hassasiyete sahip olmaları ve daha hızlı
tepki vermelerinden dolayı bu devrede fototransistör kullanılmıştır. Fototransistörlerin
diğer transistörlerden farkı iki bacaklı olmalarıdır. Baz (B) bacakları yoktur. Baz
gerilimi yerine baz-kollektör (B-C) birleşim bölgesine düşen ışıkla tetiklenir. Şekil-
3.2’de algılayıcı devrenin blok şeması gösterilmiştir.
17
Şekil 3.2. Cisimden yansıtmalı kızılötesi algılayıcı blok şeması
Bu şekildeki gibi cisimden yansımalı sensör devresi kurulmasının nedeni ise yansıtıcı
kullanmaması, tek parça elektronik devre olması ve alıcı devrenin duyarlılığını
arttırarak şeffaf cisimlerinden algılanabilmesidir. Ancak cisimden yansıtmalı algılayıcı-
ların dezavantajlarınıda belirtmek gerekir. Bunlar;
Nesnenin algılanması ve nesneden yansıyan ışığın değerlendirilmesi büyük oranda
nesne yüzeyinin büyüklüğüne, nesnenin yüzey rengine ve yüzeyin pürüzlülüğüne
bağlıdır. Nesneden yansıyan ışık değerlendirildiği için diğer kızılötesi algılayıcı
tiplerine göre maksimum algılama mesafesi daha kısadır.
Kızılötesi led, kızılötesi ışınım yayar. Bu ışınım cisme çarparak geri yada farklı
yönlere dağılmaktadır. Algılayıcı devresinde bulunan fototransistörler kızılötesi ledlerin
sağında ve solunda olmak üzere iki gruptadır. Kızılötesi ışınım yapıldıktan sonra
cisimden yansıyan ışınlar fototransistörler üzerine düşer. Burada geri yansıyan ışınımın
sağdaki ve soldaki fototransistörler grubuna gelme yoğunluğu işin özünü oluştur-
maktadır. Işınım, sağ veya soldaki fototransistör gruplarına geldiğinde fototransistör
mikroişlemciye analog değer verir. İki tarafta bulunan fototransistörler eşit büyüklükte
gerilim değeri verdikleri zaman nesne ortalanmış durumudur ve motor durur. Nesne
hareket ederse hareket ettiği yöndeki fototransistör farklı büyüklükte çıkış değeri
18
vereceği için nesnenin hareket ettiği anlaşılacak ve iki fototransistörün çıkış değeri
eşitlenene kadar motor hareket edecektir. Fototransistörlerin çıkış büyüklükleri
eşitlendiği zaman nesne tam anlamıyla yakalanmış demektir ve motor nesneye böylece
kilitlenir. Nesne hareket ettiği sürece motor da hareket ederek nesneyi takip eder. Eğer
nesne hareket etmiyorsa motor da hareket etmez. Sistemin bu şekilde çalışması için
gerekli çıkış değerleri ve motorun hareketi, mikroişlemci tarafından kontrol edilerek
gerçekleştirilir.
3.2.1. Algılayıcı Devrenin Analizi
Şekil 3.3’te hareketli nesne takibi için kurulan devrenin şematik çizimi gösterilmiştir.
Devre 5V (Vcc) ile çalışmaktadır. Kızılötesi ledler gerilim kaynağına dirençle
bağlanmıştır. Akımın mümkün olduğunca maksimum olması için direnç değeri çok
büyük seçilmemiştir. Akım değeri arttıkça kızılötesi led daha fazla ışınım sağlayacağı
için direnç değeri de buna uygun belirlenmiştir. Ayrıca kızılötesi ışınımı arttırmak için
led sayısı da arttırılmıştır. Bu değerler sonucu ortalama 20 cm. uzaklıktaki nesne
algılanabilir. Uzaklığı arttırmak için led sayısını arttırmak gerekir. Buna bağlı olarak
kullanılacak alıcı eleman sayısı da artar.
Devrede bulunan fototransistörler kızılötesi ışınıma duyarlıdırlar. Normal foto-
transistörler güneş ışığına da duyarlı olacaklarından, bu durumda nesneden yansıyan
kızılötesi ışınım algılanmaz. Bunun için seçilen fototransistörün kızılötesi ışığa duyarlı
ve güneş filtreli olması ve gerekir. Fototransistör üzerine kızılötesi ışınım düştüğü
zaman fototransistör tetiklenir ve ışınım yoğunluğuna göre kollektör-emitör arasından
akım akar. Emitör bacağına bağlı direnç üzerinde oluşan gerilim değeri çıkış
büyüklüğüdür. Bu değer mikroişlemcide analog olarak okunur ve gerekli işlemler
yapılır. Nesnenin algılayıcıya olan mesafesi arttıkça, yansıyan ışık miktarı azala-
cağından fototransistör üzerinden az miktarda akım akar ve emitör gerilimi (Ve) azalır.
Nesne yaklaştıkça bu durumun tam tersi gerçekleşir.
Şekil 3.3’te devrenin mikroişlemciye bağlanacak kabloları bağlantı başlığında
toplanmıştır. 1 numaralı pin besleme kaynağının +5 V ucuna, 5 numaralı pin ise GND
(toprak) ucuna bağlanmıştır. 2 ve 3 numaralı pinler, fototransistörlerin çıkış gerilimleri
olup mikroişlemcinin analog pinlerine bağlanır. 4 numaralı pin ise kızılötesi ledleri
yakmak için anahtarlama olarak kullanılan transistörün, baz ucunu tetiklemek için
mikroişlemcinin digital pinine bağlanır.
19
Şekil 3.3. Hareketli nesne takibi devresinin şematik çizimi
3.3. Hareketli Nesne Konum Tespiti
Hareketli nesnenin takibi yapıldıktan sonraki kısım takip edilen nesnenin
konumunu tespit etmektir. Konum tespiti yaparak hareketli nesnenin hangi bölgede
olduğu saptanabilecektir.
Hareket eden nesnenin konumu hakkında elde edilen veriler motorların kendi
eksenlerinde ne kadar döndüklerinden ibarettir. Sistemde kullanılan motorların servo
motor olmasının sebeplerinden biride bundan dolayıdır. Çünkü servo motorların mil
konumlarının bilgisi anlık olarak alınabilmektedir. Servo motorların mil konumların
verileri kullanılarak eksende kaç derece dönülmüş olduğu elde edilebilir. Motorlardan
alınan mil konumu değerlerini açı bilgisi olarak işleyecek olan mikroişlemci devresidir.
Motorların açı değerleri dahi kullanarak, nesnenin hareketi esnasında iki motorun
tam ortasına yani referans seçilen noktaya olan uzaklığı bulunabilir. Geometrik olarak
konum tespiti sinüs yasasına dayanmaktadır.
20
Sinüs yasasına göre taban uzunluğu ve bu tabandan ayrılan kenarların açı değerleri
biliniyorsa, üçgenin dikme uzunluğu ve bu dikmenin, tabanın ortasından çekilen
dikmeye olan mesafesi formülize edilebilir.
Şekil 3.4’te sinüs yasası uygulanmak istendiğinde α, β açıları ve d uzunluğunun
bilinmesi yeterlidir. Buna göre 0Y uzunluğunu (3.1), 0X uzunluğu (3.2) ve D uzunluğu
da (3.3)’ de verilen denklemler kullanılarak hesaplanır.
Şekil 3.4. Sinüs yasasına göre kenarortay uzunluğu
|0y| = d ∙sinα ∙ sinβsin(α + β) (3.1)
|0x| = d ∙𝑐𝑜𝑠 𝛼 ∙ 𝑠𝑖𝑛 𝛽sin(𝛼 + 𝛽)
(3.2)
D = x2 + y2 (3.3)
Şekil 3.5’te projede yapılan sistemin üstten görünüşü sembolik olarak
gösterilmektedir. Görüldüğü üzere yukarıda bahsedilen sinüs yasası sisteme
uygulanabilir. Buradan yola çıkarak hareketli nesnenin referans noktasına olan D
uzaklığı sinüs yasasına göre gayet kolay bir şekilde bulunabilmektedir.
Motorlardan alınan mil konumu değerlerini mikroilemci devreye gönderilerek
α1 ve α2 olarak açıya dönüştürelecektir. Burada zaten motorların birbirine olan uzaklığı
bilinmektedir. Açı değerleri ve önceden mikroişlemci yazılımında yazılacak olan
motorlar arası ifade, bir matematiksel işlem silsilesiyle hesaplattırılacak ve sistemde var
olan LCD gösterge ekranına motorların açı bilgisi ve cismin referansa uzaklığı anlık
olarak yazdırılacaktır.
21
Şekil 3.5. Hareketli nesnenin referans noktasına olan uzaklığı
3.4. Sistemin Kontrolü
Mikroişlemci kontrolcü kartı olarak projede Arduino mikroişlemcisi seçilmiştir. Bu
mikroişlemci kartının diğer tipteki benzerlerine göre oldukça avantajlı yanları vardır.
Mikroişlemci kontrolü, iki adet algılayıcı devre, iki adet servomotor ve bir adet LCD
ekrandan oluşan bir sistemin kontrolünü sağlamaktadır. Algılayıcıların alıcı ve verici
kısımları, mikroişlemci tarafından tamamen kontrol edilecektir. Giriş ve çıkış değerleri
eş zamanlı olarak mikroişlemciye aktarılacak, işlenecek ve bir cevap olarak ilgili
bölüme aktarılacaktır. Servomotorlar yapısı itibariyle kontrol edilebilmeye çok yatkın
oldukları için mikroişlemci devre, rahat bir şekilde motorları algılayıcılardan gelen
veriler ışığında gerekli pozisyona ayarlayacaktır.
3.4.1. Mikroişlemci Yazılımı
Sistemin kontrolü üzerinde Atmega168 mikroişlemcisi bulunan Arduino Uno kartı
ile gerçekleştirilmiştir. Arduino; C tabanlı kod olduğundan bazı fonksiyonları ve
parametreleri hazır yapıdadır. Sistemin yazılımı gerçekleştirilirken en çok kullanılan
yapılar analog değer okuma, servo motor kontrolü ve istenilen bilgilerin lcd ekranda
gösterilmesi. Algılayıcının çıkışları Arduino’nun analog girişlerine (A0,A1….,A5)
bağlanmıştır. Arduino 10 bitlik analog değer okuyabilmektedir. Bu demektir ki
algılayıcı verileri 0-1023 arasındadır. Sistemin çalışmasına bakıldığında çıkış değerleri
genellikle 70-600 arasındadır. Sayısal olarak görünen algılayıcı değerlerine göre servo
motor yönlendirilecektir. Ayrıca fototransistörler çevredeki ışıkları da (güneş, yansıyan,
vb.) algıladığından kodlama işleminde kızılötesi ledler yakılıp kısa bir süre sonra
söndürülür. Bu işlem program çalıştığı sürece yapılır. Bunu yapmanın temel nedeni,
kızılötesi ledler yanarken fototransistörün algıladığı ışık hem kızılötesi hem de çevreden
22
gelen ışıklardır. Ledler söndürülünce fototransistör sadece çevredeki ışık değerlerini
vereceği için bu iki işlem sonucunun farkı sadece yansıyan ışığı verecektir. Soldaki ve
sağdaki algılayıcı değerleri aynı uzaklıktaki cisimde bile sürekli farklı olacağından
sensör değeri olarak bu iki sensörün ortalaması alınır ve bu değer üzerinden işlemler
yürütülür.
Sistem çalışmaya başladığında motor belirlenen açı değerleri arasını devamlı tarar.
Bu değerler sistemin uygulanacağı alan ve motorların konumuna göre değişir.
Gerçekleştirilen proje motorlar alanın köşelerinde olduğu bir motor 45 derecelik açı
tarar. Tarama anında algılayıcıların algılama mesafesinde bir nesne belirdiği zaman
algılayıcıların çıkışlarındaki analog değer artacağından nesne belirlendiği zaman motor
duracaktır. Eğer nesne hareket ederse en son hareket ettiği yöndeki algılayıcı değeri
daha büyük olacağından motor o yöne dönmeye başlayacak ve iki algılayıcı değeri
birbirine yakın oluncaya kadar dönecektir . Algılayıcıların değerlerinin yaklaşık olarak
eşit olması demek nesnenin algılayıcıların tam karşısında olduğu demektir. Algılayılar
0–5 V arasında değer verdikleri ve bu değerlerinde işlemcide 0-1023 arasında
görülmesinden algılayıcıların tam karşısında nesne olduğu zaman bile sağ ve sol
taraftaki fototransistör çıkışı aynı olmayacaktır. Örneğin; sol fototransistör çıkışında
192 değeri okunuyor iken sağ fototransistör çıkışında 197 okunabilir. Bu durumda
nesne belirlenmesi çok zor olacağından program içerisinde algılayıcı değerleri 10 ile
bölünmüştür. Sistemin çalışma mesafesi kısa olduğundan bu işlem işin kolaylaşmasını
sağlamıştır. Algılayıcı değerlerinden biri değiştiği zaman hangi yöndeki algılayıcı
değeri büyükse motor o yönde harekete başlayacak ve değerler eşitlenene kadar
dönecektir. Sistem bu şekilde çalışmasını sürdürecektir. Ayrıca konum tespiti kısmında
açıklanan konum belirleme işlemi gerekli matematiksel işlemler mikroişlemci içerisinde
yapılarak lcd ekranda gösterilecektir. Bunun için klasik 2x16 değerindeki LCD’ye
nesnenin konumunu yazdıran kod gerçekleştirilmiştir.
23
#include <Servo.h> // Servo kütüphanesi eklendi
#define IRled 4; // Kızılötesi led digital 4 numaralı pine bağlandı
byte Solsagfaktor=6; // kalibrasyon için değişken atandı
int maxanalogdeger=475; // ölçümler sonucu sensörlerin verdiği maksimum
// analog değer için sabit atandı
int Servomerkez=1500; // Servo 90 dereceye ayarlandı
int Servomax=Servomerkez+800; // maksimum servo derecesi ayarlandı
int Servomin=Servomerkez-800; // minimum servo derecesi ayarlandı
int poz;
int Solsag;
int Skala;
int ortanalogdeger;
int Solsensor;
int Sagsensor;
Servo Servom;
void setup()
Servom.attach(9); // servo sinyal kablosunun 9 numralı digital pine bağlandığı
// belirtildi
Servom.writeMicroseconds(Servomerkez); // servonun pozisyonu ayarlandı
pinMode (IRled,OUTPUT);
void loop()
Sensorcikisi();
Takip();
void Sensorcikisi()
digitalWrite(IRled,HIGH); // çevreden gelen ve yansıyan ışığı öğrenmek için
// kızılötesi ledler yakıldı
delay(2); // gecikme
Solsensordeger=analogRead( Solsensor); // sol sensördeki değer okundu
// (çevre + yansıyan)
24
Sagsensordeger=analogRead( Sagsensor); // sağ sensördeki değer okundu
digitalWrite(IRleds,LOW); // sadece çevreden gelen ışığı ölçmek için
// kızılötesi ledler söndürüldü
delay(2);
Solsensordeger=Solsensordeger-analogRead(Solsensor); // yansıyan kızılötesi değeri
// (çevre +yansıyan-çevre)
Sagsensordeger= Solsensordeger-analogRead( Sagsensor); // sağ sensördeki kızılötesi
// ışık değeri
ortanalogdeger=(Solsensordeger+Sagsensordeger)/2; // iki sensörün ortalaması
void Takip ()
if (
ortanalogdeger<maxanalogdeger)
if (poz>maxanalogdeger)poz=poz-5;
if (poz<maxanalogdeger)poz=poz+5;
else
Skala=(Solsensordeger+Sagsensordeger)/Solsagfaktor
if (Solsensordeger>Sagsensordeger) // sol sensor değeri sağ sensöreden büyükse
// motor sol tarafa yönlendirildi
Solsag=(Solsensordeger-Sasensordeger)*5/Skala;
poz=poz-Solsag;
if (Solsensordeger<Sasensordeger)
Solsag=(Solsensordeger-Sasensordeger)*5/Skala;
poz=poz-Solsag ; // sağ sensor değeri sol sensöreden büyükse
// motor sağ tarafa yönlendirildi
25
4. SONUÇLAR
Hareketli nesne takibi ve konum tespiti projesinde öncelikle hareketli nesneyi
algılayacak bir kızılötesi algılayıcı oluşturulmuştur. Kızılötesi algılayıcının, gündüz
vaktinde güneş ışığı, akşam vaktinde ise floresan lambalardan etkilendiği deneysel
olarak görülmüştür. Bu nedenle mikroişlemci devresinde yazılan yazılımda bu etkileri
ortadan kaldıracak bir kod bütünü yazarak önüne geçilmiştir.
Mikroişlemci devre, algılayıcı ve servo motor, yazılan yazılım doğrultusunda bir
bütün olarak çalıştırılmıştır. Çalışmada görülen aksaklıkların temeli olarak kızılötesi
iletişimin çevresel faktörlerden oldukça yüksek etkilendiği gözlemlenmiştir.
Hedef olarak başlangıçta yapılacak olan algılayıcı devresinin geliştirilerek nesne
algılama mesafesinin arttırılması planlanmıştır. Ancak ortalama 20 cm. kadar bir
mesafede nesne algılaması yapılabilmiştir. Bunun sebebi olarak yukarıda da gösterildiği
üzere teorik olarak kızılötesi ışınımın çevresel faktörlere tepkisinin yüksek olmasıdır.
Projede kullanılan hareketli nesnenin de boyutu arttırılmış ve rengi beyaz özellikli
seçilmiştir. Nesnenin boyutu, rengi ve hızı, yapılmış olan algılayıcı devresinin karşısına
bir zorluk olarak gelmiştir.
Şekil 4.1’de proje çalıştırılmış ve algılayıcılarda elde edilen veriler ölçülmüştür.
Verileri derleyerek grafik olarak çizdirilmiştir. Grafiğe göre yatay eksen herhangi bir
nesnenin algılayıcılara olan uzaklığını göstermektedir. Dikey eksen ise
fototransistörlerin verdikleri analog çıkış gerilimleridir. Nesne, algılayıcılara çok yakın
olduğu zaman fototransistörlerin çok farklı çıkışlar verdiği gözlemlenmiştir. Bunun
nedeni olarak algılayıcıların bir kör bölgesi olduğu anlaşılmıştır. Belirli bir uzaklıktan
sonra algılayıcı çıkışlarında herhangi bir çıkış farklılığı gözlemlenemiştir. Doğal olarak
sadece çevresel etmenlerin yani güneş ışınığını oluşturduğu etki kalmıştır.
26
Şekil 4.1. Sağ ve sol algılayıcıların uzaklık gerilim grafiği
0
0.5
1
1.5
2
2.5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Sol Algılayıcı
Sağ Algılayıcı
Ger
ilim
(V)
Uzaklık(cm)
27
5. DEĞERLENDİRME
Bu çalışmanın ana amacı hareket eden bir nesnenin yakalanması ve nesnenin referans
seçilen bir noktaya olan uzaklığının saptanmasıdır. Hareketli nesne takip projeleri
incelendiğinde kızılötesi iletişim pek tercih edilen bir yöntem değildir. Daha çok video
işleme, lazer ile iletişim ve termal kızılötesi ile nesne yakalama tercih edilmektedir. Bu
tür sistemler maliyet açısından bu projedeki sisteme göre oldukça pahalıdır. Bu nedenle
kızılötesi iletişimin düşük fiyatlı olması ve kısa mesafelerde iletişime müsait olması
nedeniyle tercih edilir.
Projede yapılan sisteme birçok ilave özellik eklenebilmektedir. Örneğin daha çok
kızılötesi led ve fototransistör grubu oluşturularak daha büyük ancak karmaşık bir
sistem oluşturulabilir. Oluşturulan bu algılayıcı sisteminin daha uzun mesafelere
çıkabilidiği gözlemlenmiştir. Ancak sistem o kadar büyük olmaktadır ki portatiflik
açısından bir handikap oluşturmaktadır.
Kızılötesi iletişim yerine ses ile iletişim de tercih edilebilir. Ancak ses ile nesne
takibi yapmak birçok sıkıntıya sebep olmakdır. Örneğin ses ile nesne takibi yapılırsa
çevresel etmenler, yüzey şekli ve boyutu sıkıntı oluşturmaktadır. Ayrıca nesnenin hızı
algılayıcı için bir kısıtlamadır.
28
KAYNAKLAR
[1]. E.I. Konukseven, B. Kaftanoglu, "Robot end-effector based sensor integration for tracking moving parts", Knowledge-Based Intelligent Engineering Systems and Allied Technologies, 2000. Proceedings. Fourth International Conference on, On page(s): 628 - 634 vol.2 Volume: 2, 2000
[2]. J.A. Kay, "The use of infrared viewing systems in electrical control equipment", Pulp and Paper Industry Technical Conference, 23-23 June, 2005, Jacksonville, FL, page(s): 291 – 295
[3]. Optik Temelli Hareket (2013) homepage on HAMIT.BILKENT [Online]. Available: http://www.hamit.bilkent.edu.tr/optiktemellihareket.html
[4]. K. Çetin, Endüstriyel Elektronik Uygulama Devreleri, 1. baskı, İstanbul, Türkiye: Birsen Yayıncılık, 2004.
[5]. E. Zhang, W. Jiang, Y. Kuang, M.A. Umer, "Active RFID positioning of vehicles in road traffic", Communications and Information Technologies (ISCIT), 2011 11th International Symposium on, On page(s): 222 – 227
[6]. E.M. Amar, X. Maldague, "Classifying Tracked Objects and their Interactions from Infrared Imagery", Electrical and Computer Engineering, 2006. CCECE '06. Canadian Conference on, On page(s): 2194 - 2198
[7]. R. C. Gonzalez, R. E. Woods, "Digital Image Processing", Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1992
[8]. C. R. Wren, A. Azarbayejani , T. Darrell , A. P. Pentland, "Real-Time Tracking of the Human Body", IEEE Transactions on Pattern Analysis and Machine Intelligence, v.19 n.7, p.780-785, July 1997
[9]. R. Cutler , L. Davis, "View-Based Detection and Analysis of Periodic Motion", Proceedings of the 14th International Conference on Pattern Recognition-Volume 1, p.495, August 16-20, 1998
[10]. I. H. Altas, "A Fuzzy Logic Controlled Tracking System For Moving Targets", 12th IEEE International Symposium on Intelligent Control, ISIC'97, July 16-18, 1997, Istanbul, Turkey, pp.43-48.
[11]. O. Ö. Mengi ve I. H. Altas, "Hareketli Nesneler için Konum Denetimi ve İzleme Denetimi", Otomasyon Dergisi, sayfalar: 74-79, Mayıs, 2006.
[12]. G. Bal, Özel Elektrik Makinaları, 3. baskı, Ankara, Türkiye: Seçkin Yayıncılık, 2006.
[13]. (2013) The Arduino website. [Online]. Available: http://www.arduino.cc/
29
EKLER
EK-1 Standartlar ve Kısıtlar Formu
EK-2 Öğrenci Takip Formu
1
EK-1 Standartlar ve Kısıtlar 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.
Projenin üretim maliyeti çok küçüktür. Özellikle seri üretimi yapılırsa masraflar ve işçilik çok azalır. Tasarımı ve üretimi esnasında lisans alınmasına gerek yoktur ve büyük meblağlar harcanmaz. Ayrıca sistemin toplam boyutu küçüktür.
2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?
Proje hakkında bir literatür çalışması yapıldığında işin özünü kavramak için teorik olarak bir donanıma sahip olmak gerekir. Hareketli nesnenin konum tespitini yapmak için geometrik olarak sinüs yasası kullanılmıştır.
3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?
Mikroişlemciler dersinde edinmiş olduğumuz yazılım bilgisi ve becerisi , kontrol sistemlerine giriş ve otomatik kontrol sistemleri derslerinden edinmiş olduğumuz kontrol edebilme mantığı kullanılmıştır. Elektronik derslerinde elde edilen bilgiler diyot, fototransistör ve darbe üreteci yapımında kullanılmıştır. Elektrik makinaları dersinde elde edinmiş olduğumuz bilgileri servomotor kullanımında faydalı olmuştur.
4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?
Sistemin gerçekleştirilmesi IEC TC 119 baskı devre, merkezi işlemci olarak kullanılan mikroişlemci TS EN 190110 ‘Sayısal Mikroişlemci Entegre Devreler’ TSE standardına, ISO 9001, ISO/TS 16949 kalite standartlarına uygun olarak üretilmiştir. Kızılötesi ışınım yapacak olan ledler TS EN 120002 ‘ İnfrared ışık yayan diyotlar, infrared ışık yayan diyot dizileri’, alıcı devre olarak fototransistörler TS EN 120003 ‘Fototransistörler, foto darlington transistörler, fototransistör dizileri’ TSE standartlarına uygun üretilmişlerdir. Ayrıca UL 1004-6 ‘Servo ve adım motorları’ ve ISO 11151-2:2000 ‘Kızılötesi spektral aralığı için bileşenler’ standartları yanı sıra malzemelerin RoHS kalite standartları vardır.
5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?
a) Ekonomi: Bu projenin yapımı için bölümümüzden herhangi bir destek alınmamıştır. Bu nedenle projenin tüm masrafları bize aittir. Projenin masrafları incelendiğinde kullanılan sarf malzemelerin ücreti oldukça azdır. Kullanılan servomotorlar ve mikroişlemci projenin büyük kısmını oluşturmaktadır.
b) Çevre sorunları: Bu projenin çevreye verdiği herhangi bir zararı yoktur. Kullanılan malzemeler RoSH kalite standardına uygundur.
c) Sürdürülebilirlik: Kızılötesi iletişimle hareketli nesne takibi yapılabildiği gibi halihazırda birçok
yöntem vardır. Yöntemlerin aralarındaki fiyat farkı ve teknolojisi oldukça farklıdır. Bu nedenle kısa mesafe ve az hassasiyette bu yöntemin sürekliliği oldukça yüksektir.
2
d) Üretilebilirlik: Projede kullanılan elemanlar rahatlıkla bulunabildiği ve seri üretimi yapılabileceği için üretiminde herhangi bir problem teşkili yoktur.
e) Etik: Bu projenin kullanıldığı sektörler bakımından topluma karşı herhangi bir etik sorunu yoktur. Ayrıca projenin farklı üretimi farklı bir sonuç oluşturacağından etik olarak rekabet söz konusu bile değildir.
f) Sağlık:
Sağlık konusuyla ilgili bir proje olmayıp belli standartlara uyulduğundan insan sağlığına da zararı yoktur.
g) Güvenlik: Askeri uygulamalarda, kamu güvenliğinde, trafikte birçok alanda
kullanılabileceği için ülke güvenliğine katkısı olacaktır. h) Sosyal ve politik sorunlar:
Projenin politik bir sorumluluğu yoktur. Endüstride üretim hatalarını azaltacağından dolayı üretilen mamüllerin fiyatı da azalacaktır. Topluma daha ucuz ve kaliteli mallar ulaşacaktır.
Projenin Adı Hareketli Nesne Takibi ve Konum Tespiti
Projedeki Öğrencilerin Adları 228482 Ramazan KAYA, 210219 Tahir KÖSE
Tarih ve İmzalar 24/05/2013
3
ÖZGEÇMİŞ
17.03.1991 Bursa doğumluyum. İlk ve orta öğretimimi Bursa/Orhangazi’de Koç
İlköğretim Okulu’nda tamamladım. Lise eğitimimi Orhangazi Öğretmen Eyüp Topçu
Anadolu Lisesi’nde devam ettirdim. Bu lisede İngilizce ve Almanca olarak yabancı dil
eğitimi aldım. 2009 yılında liseden mezun oldum. Üniversite eğitimi için 2009 yılında
Trabzon Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü’ne
yerleştim. 2013 Haziran ayında mezun olacağım.
Ramazan KAYA
17.05.1990 Çankırı’nın Şabanözü ilçesinde doğdum. İlk ve orta öğretimi Ankara
Halide Ömer Uncuoğlu İlköğretim Okulu’nda tamamladım. Lise eğitimimi Ankara
Fethiye Kemal Mumcu Anadolu Lisesi’nde tamamladım. Bu lisede bir sene İngilizce
hazırlık okudum. 2008 yılında mezun oldum. Üniversite eğitimi için 2008 yılında
Trabzon Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü’ne
yerleştim. 2013 Haziran ayında mezun olacağım.
Tahir KÖSE