PIC16F84 ile Çizgi Takip Eden Robot

PIC16F84 ile Çizgi Takip Eden Robot


PIC Kontrollü İz Süren Robot Projede kullanılan bütün devreler ve mekanik, sistem kendi tasarımımızdır. Malzemeler, birkaç CDROM motoru, teyp kasnakları, PIC mikro denetleyici ve ara uyum devrelerinden oluşmaktadır. Maddi olarak zor imkanlarla bu denli güzel bir çalışmayı gerçekleştirmek kolay olmadı.

Hazırlayan: Melih
Hızla gelişen günümüz teknolojisi ile bir çok alanda insan gücüne ihtiyaç azalmıştır. İnsanların yapacakları işleri akıllı cihazlar yapmaya başlamıştır. Bu cihazlar üretimde maliyeti azaltmakla birlikte kalite kontrolünde ve üretimin bir çok aşamasında kullanılır hale gelmiştir. Robotlar sanayinin tüm alanlarına ve hatta günlük yaşantımıza girmiş olup düşünen cihazlara olan ihtiyaç her zaman artmaktadır. Bu robot beyaz platform üzerindeki siyah çizgiyi takip etmektedir. Amacımız üniversitemizde robot sistemlerinin kullanımını başlatmak ve ileride yapılması planlanan diğer robotlarla ilgili fikir oluşturmak, tasarımlarını kolaylaştırmaktır.

Robotlar bir yerden başka bir yere belli bir yolu izleyerek gitmek için ortamdan ayırdedilebilir işaretlere ve bu işaretleri algılayan algılayıcılara ihtiyaç duyarlar.Bu işaretleme için renk farkı (optik), mıknatıslanma (manyetik) ve iletkenlik (elektriksel) kullanılabilir.Robotun renk farkı tekniğini kullanarak bir yerden başka bir yere gidebilmesi için en basit ve pratik olan yol beyaz bir zemin üzerine siyah bir bant çekip renk farkı oluşturmaktır. Siyah bir zemin üzerine beyaz bir bant çekilerek de bu işaretleme tekniği uygulanabilir.Robotun bu renk farkını algılayabilmesi için CNY70 algılayıcısı kullanılabilir.

Çizgi izlemek için, değişik sayıda CNY70 kullanılabilir. Çizgi, en az 2 algılayıcıyla izlenebilir ancak algılayıcı sayısı artırılarak daha etkili bir izleme sağlanabilir.Aşağıdaki örnek çizgiyi izlemek için üç CNY70 kullanan bir robot içindir.
Çizgi olarak klasik siyah elektrik bandı kullanılmış; tam ortadan maket bıçağı ile kesilerek 7mm olarak zemine yapıştırılmıştır.

Çalışma Adımları:
1)Robotun çalışma prensibi, çizgiyi ortadaki algılayıcıda tutarak ilerlemesine dayanmaktadır.Robot kısa aralıklarla algılayıcının durumunu kontrol ederek çizgiye göre konumunu belirler.

2) Robot ilerlerken, çizgi robotun sağ tarafına gelirse, 3 nolu algılayıcı çizgiyi görecektir.Böylece robot çizginin sol tarafında olduğunu anlayacak ve programı içinde belirtilen sağa dönüş komutunu uygulayacaktır.

3) Dönme işlemi, ortadaki algılayıcının çizgiyi tekrar görmesine kadar devam eder. Bu algılayıcı çizgiyi gördüğünde, robot tekrar düz hareket etmeye başlar.

4) Eğer, çizgi robotun sol tarafına gelirse, aynı işlemler bu taraf için tekrarlanır ve böylelikle çizgi izleme işlemi yerine getirilir.

cny-70.png

Anlatımı kolaylaştırmak ve sistemli bir sunuş bakımından robot tasarımını başlıklar halinde sıralayacağım.
Robot, algılama sistemi, karşılaştırma, kontrol ve hareket sistemi katlarından oluşur. Bu katlar bloklar halinde çizecek olursak aşağıdaki şekil ortaya çıkar.
sensor.jpg

Öncelikle bu kısımda robotun beyaz platform üzerindeki siyah çizgiyi anlayabilmesi gerekiyordu. Bu da CNY 70 yansımalı renk sensörlerini kullanmak sureti ile mümkündür. Sensörün çalışma prensibi kısaca şöyledir. İçerisinde prensip olarak bir Infrared diyot ve foto transistor bulunmaktadır. Aşağıda şekilde de gözlendiği gibi Infrared diyot gözle görülmeyen ışınları yansıtıcı yüzeye gönderir. Yansıtıcı yüzey yani platformun rengine göre ışığı soğurma mantığıyla siyah rengin tamamını emer, beyazı yansıtır. Platformdan yansıyan yada yansımayan ışığı foto transistor beyz akımı olarak kabul ederek kolektör ile emitter arasında değişen akımı oluşturmaktadır.

sensor_2.jpg

Algılama sisteminden elde ettiğimiz beyaz ve siyah renkler arasındaki gerilim farkını bir şekilde PIC mikro denetleyicinin anlayacağı lojik ifadelere dökmek gerekir.

Karşılaştırıcı sonucunda elde edeceğimiz lojik 1 siyahı, lojik 0 beyazı temsil edecektir. İşte tüm bu işlemleri yaptırabilmek amacıyla aşağıdaki devreyi Op-Amp LM741 entegresi kullanarak gerçekleştirildi.
algilama_devresi.jpg

Karar verme sistemi:
Karar verme sisteminde kullanılan PIC 16F84 hakkında kısa bir bilgi vermeyi gerekli görüyorum.
PIC, adını İngilizce’deki “Peripheral Interface Controller” cümlesindeki kelimelerin baş harflerinden almış olan bir mikro denetleyicidir. Eğer bu cümleyi Türkçe’ye çevirirsek, “çevresel üniteleri denetleyici arabirim” gibi bir anlam çıkacaktır. PIC gerçekten de çevresel üniteler adı verilen lamba, motor, röle, ısı ve ışık sensörü gibi I/O elemanların denetimini çok hızlı olarak yapabilecek şekilde dizayn edilmiş bir chiptir. Avantajları arasında programlama donanımının çok ucuz ve kullanışlı olması ve hatta çoğu meraklı elektronik kullanıcı tarafından kullanılarak projeler üretilebilmesini sıralayabiliriz.

siyah_beyaz.jpg

PIC mikro denetleyiciye yukarıdaki gibi yerleştirilen sensörlerin aldığı durumlar yukarıdaki şekilde görülmektedir. Bu durumlar sonucunda belli bir algoritma geliştirerek assembly komutlar kullanarak PIC mikro denetleyiciye yüklendi.

program_.jpg
program_2.jpg
pic16f84_robot.jpg

Yukarıda açık şeması verilen devre izci robotun karar verme katının donanım kısmını oluşturmaktadır. Girişleri karşılaştırma katından gelen pinler çıkışı ise iki motor ve bir de alarm LED’idir.

Hareket Sistemi:
Robotunun 3 adet tekeri vardır. Bunlardan birisi çok yönlü olup, diğer ikisi motorlara bağlanmıştır. Motor olarak, piyasada rahatlıkça bulunabilecek oyuncak motoru kullanılabilir. Motorlar birlikte hareket ederken robotun ileri geri hareketini, kilitlemeli tank sistemi kullanılarak sağa ve sola dönüşleri sağlar. Motorlardan birisi dururken diğerinin hareketi ile dönme hareketi gerçekleşmiş olur.

izci_robot.pngrobot_1.png
pic16f84_izci_robot.png

Kullanılan Malzeme ve Elektronik Elemanlar :

Entegreler:
IC1 = PIC 16F84A
IC2 = LM 324
IC3 = L7805

Transistörler :
T1 , T2 = BD 139
FT1 , FT2 , FT3 = BP103-5 (Fototransistör)

Dirençler :
R1 , R4 , R9 , R10 , R11 = 10 K ohm
R12 , R13 , R14 = 270 ohm
R2 , R3 , R6 , R7 , R8 = 470 ohm
R5 = 100 ohm
P1 = 20 K ohm Trimpot

Kondansatörler :
C1 , C2 , C3 , C4 = 100 nF

Diyotlar :

IR 1 , IR 2 , IR 3 = Infared LED Diyot
LED 1 , LED 2 , LED 3 , LED 4 = LED Diyot

Diğer :
2 x Cd-rom sürücü motoru
Teker , Teyp lastiği , vb…
1 x pic için reset butonu
Entegre soketi vb..

pic16f84_izci_robot_proje.png

Yazar: gevv Tarih: 16/03/2008 Etiketler: , , , , Sayfayı yazdır Reddit Facebook Twitter Del.icio.us Stumbleupon

direnc-net

Yorumlar

  1. 28/03/2008 - 19:37

    Çok hoş olmuş gerçekten…
    Acaba elinizde var ise C kodlarını koyabilir misiniz…
    teşekkürler…

  2. tades
    10/05/2008 - 15:41

    cok guzel cok beyendım yapımınıda cok guzel acıklamıssın tessekkurler

  3. ali kemal
    27/05/2008 - 15:15

    elinize sağlık çok güzel olmuş ,acaba oyuncak araba 2 motorlumuydu yoksa sonradan mı bir motor daha mı takıldı,piyasadaki bir çok oyuncak araba tek motorlu ondan dolayı sordum..

  4. Zeynel
    2/09/2008 - 15:07

    Arkadaşlar bu proje çok iyi ama yaparken kullandığınız hex kodunuda verirseniz tam bir paylaşım olacak;)

  5. Zeynel
    2/09/2008 - 15:15

    Bu arada ali kemal kardeşim zaten yönleri kontrol için 2 motor lazım
    ÖR: Sensör diyelim ki sol motoru hızlandırdı sağ motor otamatik olaram yavaşlar böylece sağa döner.
    Tekerlekli sandalyeyi düşün onun gibi sol tekeri çevirirsen sağa sağ tekeri çevirirsen sola donrcek ;)

  6. okan
    26/10/2008 - 00:40


    gerçekten güzel bir deney olmuş
    bizde 2 arkadaş bu konuyu ödev aldık ve aynısını bizde yapacağız ege üni de okuyoruz zor gibi geldi biraz ama bakacağız artık
    teşekkürler elinize sağlık

  7. Özgür
    22/12/2008 - 22:21

    Emeğinize sağlık çok işime yaradı bu uygulama,
    ancak acilen bu devrenin C dilinde yazılmış kodları lazım yardımcı olursanız sevinirim..

  8. Özgür
    23/12/2008 - 22:46

    Yok mu yardım edebilecek bir kişi :(

  9. fatih
    3/03/2009 - 14:47

    güzel olmuş baskı devresınıde verırmısınız

  10. berkan.k
    8/03/2009 - 18:04

    Çok güzel olmuş ellerinize sağlık bende bu ödevi aldım ama ben daha 8. sınıfa gidiyorum ve bu ödev çok zor keşke siz olsaydınız yanımda siz yapsaydınız hehe :D ama bence çok güzel ama önemli olan benim bunu nasıl yapacağım:

  11. uur
    10/03/2009 - 19:17

    çok teşekkürler 11. sınıf dönem ödevim bu şuan üzerinde çalışıyorm ama bana C deil Hex kodları lazım :(

  12. cihan
    19/03/2009 - 12:28

    Tamamen hatayla dolu bir açıklama! dikkatli bakarsanız devrenin şemasındaki entegrelerle açıklamalardaki elemanlar tutmuyor hatta entegre fazlası bile çıkıyor,insanlara boşuna masraf ettiriyorsunuz!!!

  13. abdullah
    17/05/2010 - 14:31

    güzel bir çalışma olmuş.. bu devre şemasının proteus-isis programı ile çizilmiş şeması mevcut mu? eğer şema elinizde mevcut ise paylaşır mısınız..

  1. Geri izleme yok


320volt.com Türkiye`de bilişim ve elektronik ile ilgilenen Türkiye nin gelişmesini sağlayacak güzel insanlarımıza hizmet etmek gelişimlerine katkıda bulunmak için kurulmuştur. Tüm içerikten üye olmadan faydalanabilir, makale ve projelerinizi paylaşabilirsiniz. 320v RSS - Alt yapı WordPress