OveR
Çizgi İzleyen Robot

Bu cizgi izleyen robotumda da e.foRCe deki gibi PIC16F628 , L293D ve 7 adet CNY70 kullandım.CNY70 leri fazla kullanmamın sebebi , diğer robotuma göre daha hızlı olacağı için sensörler algılamakta geç kalabilir ve bu durumda robot çizgiyi kaçırabilir.Fakat daha fazla sensör olduğunda ise, solda bulunan sensör çizgiyi algılayarak PIC e aynı lojik bilgiyi verir.

CNY 70:
CNY 70 optokuplörü içerisinde bir IR led ve bir FotoTransistör bulunur.Fototransistör IR led ışığının cisimden yansıma durumuna göre lojik çıkış verir.

CNY70 lerin soldaki 3 tanesinin bilgi çıkışları ve sağdaki 3 CNY70 in bilgi çıkışları birbirine paralel bağladım.Orta sensörün bilgi çıkışı ise direk pic e sürdüm.

Devre Şeması :

Malzeme Listesi :
- 1 x PIC16F628
- 1 x L293D
- 3 x CNY70
- 3 x 47k direnç
- 3 x 100R direnç
- 1 x 7805 ( 5 volt Gerilim Regülatörü )
- 2 x 100nF
- 1 x 10uF
- 1 x 470uF
- 2 x Redüktörlü Motor

Regülatör Devresi :
Devrede 5 volt regülatörü olarak 7805 kullanılmıştır.Çıkışındaki parazitleri azaltmak için girişine paralel olarak
470uf ve 100nf çıkışına 10uf ve 100nf kondansatör bağlanmıştır.Regülatör Devresi şeması aşağıda görüldüğü gibidir.

PIC16F628:
Mikrokontrolör olarak PIC16F628 i seçmemin sebebi, iç yapısında bulunan dahili osilatör sayesinde extradan bir devre gerektirmemesi ve kapasitesinin daha büyük olması.Fakat PIC16F628 i kullanırken, bazı pinlerinin özel fonksiyonlarını kapatmak gerekir.Örneğin a portu analog giriş ve karşılaştırıcı özelliğine sahiptir bunları kapatmadan normal giriş çıkış olarak kullanılırsa bazı hatalar meydana gelebilir.Karşılaştırıcıları ve analog girişleri kapatmak için CMCON=7 yazmak yeterlidir.Dahili osilatörü kullanmak için ise ,
@ DEVICE pic16f628,intrc_osc_noclkout yazmak yeterli olacaktır.

 

L293D:
Motor sürücü entegre 2 motoru birbirinden bağımsız olarak sürebilir.Motorları direk PIC'e bağlama durumunda motorların fazla akım çekmesi PIC in zarar görmesine sebep olabilir o yüzden bir sürücü entegre kullanmak en doğru tercih olacaktır.

Robotun Şasisi:
Robotun şasisini hafif olması için 2mm kalınlığında forexten yaptım.Sıkıştırılmış köpükten yapılan sert ve hafif ve sert bir malzeme .Ayrıca kolayca kesilebiliyor.

Motorlar:
Bu robotu e.foRCe'den daha hızlı yapmak için daha hızlı motorlar tercih ettim, fakat bunlarında torku oldukça yüksek ..Motorlar 9 v da 640 devir hızla dönüyorlar.

 

Tekerlekler:
Robotun yer tutuşunu sağlamak için sürtünmesi yüksek olan tekerlekler kullandım.Ama genede sürtünme yeterli olmadı.Robot virajlarda çok patinaj çekiyordu bende paket lastiklerini istediğim şekilde kestikten sonra izole bant ile birleşim yerlerini yapıştırdım.Yer tutuşu istediğim gibi oldu.

 

Ön tarafta bagımsız hareket edebilen tekerlek için ise, elektrik kablosunun ortasından boncuğu geçirerek sarhoş tekerlek yaptım.

 

 

 

Robotun Programı :
Programı PIC BASIC PRO da yazdım.

'****************************************************************
'* Name : OveR.bas*
'* Author : Onur YAVUZ *
'* Notice : Copyright (c) 2007 www.electrobotic.org *
'* : All Rights Reserved *
'* Date : 01.02.2007 *
'* Version : 1.5 *
'* Notes :0veR / cizgi izleyen robot *
'* : *
'****************************************************************
@ DEVICE pic16F628
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT

CMCON=7
VRCON=0

'---Girişler----

input PORTB.0 'girişleri tanımladık
INPUT PORTB.1
INPUT PORTB.2

'----Çıkışlar---

OUTPUT PORTB.3 'çıkışları tanımladık.
OUTPUT PORTB.4

'---Değişkenler---

SYMBOL SOLCNY=PORTB.0 'portlara değişken ismi verdik.
SYMBOL ORTACNY=PORTB.1
SYMBOL SAGCNY=PORTB.2

SYMBOL SOLILERI=PORTB.3
SYMBOL SAGILERI=PORTB.4

'--------Ana Döngü------------------

BASLA:
IF SOLCNY=0 AND ORTACNY=0 AND SAGCNY=0 THEN GOSUB ILERI
IF SOLCNY=0 AND ORTACNY=0 AND SAGCNY=1 THEN GOSUB SOLA_DON
IF SOLCNY=0 AND ORTACNY=1 AND SAGCNY=0 THEN GOSUB ILERI
IF SOLCNY=0 AND ORTACNY=1 AND SAGCNY=1 THEN GOSUB SOLA_DON
IF SOLCNY=1 AND ORTACNY=0 AND SAGCNY=0 THEN GOSUB SAGA_DON
IF SOLCNY=1 AND ORTACNY=0 AND SAGCNY=1 THEN GOSUB ILERI
IF SOLCNY=1 AND ORTACNY=1 AND SAGCNY=0 THEN GOSUB SAGA_DON
IF SOLCNY=1 AND ORTACNY=1 AND SAGCNY=1 THEN GOSUB ILERI
GOTO BASLA
END
'---------Etiketler------------------
'--------------------------------------

ILERI:
HIGH SOLILERI
HIGH SAGILERI
GOTO BASLA
END

SAGA_DON:
HIGH SOLILERI
low SAGILERI
GOTO BASLA
END

SOLA_DON:
HIGH SAGILERI
LOW SOLILERI
GOTO BASLA
END

Robotun Bitmiş Hali :

     

                  
       Site Tasarımı : Onur YAVUZ
2005-2006 ©
www.electrobotic.org