Mini Sumo Robot
Mini Sumo Robotlar Dohyo denilen bir zemin üzerinde birbirlerini dohyo kenarındaki beyaz çizginin dışına atmaya çalışırlar.Maçlar 3 roundluktur, 3 roundun 2 sini kazanan robot maçın galibi olur.

Devre Şeması :
Robotun elektronik aksamında sharp sensörler , cny 70 kontrast sensörleri , PIC16F628 ve L293D kullanılmıştır.Rakip robotu algılamak için sharp sensör , robotun pist içinde kalabilmesi için ise cny kontrast sensörü kullanılmakta ve sensörlerden gelen bilgiler PIC te değerlendirilip motor sürücü entegre L293D aracılığı ile motorları sürmektedir.
Devrenin Çalışması :
Sharp sensörlerden ve CNY kontrast sensörlerinden gelen bilgiye bağlı olarak robot hem dohyo içinde kalmaya hemde rakip robotu dohyo dışına atmaya çalışmaktadır.Sharplar rakip robotu algıladığında robot kontrast sensörlerinin tepkilerini önemsemeden rakibin üstüne giderek dohyo dışına atmaya çalışır.2 adet sharp sensör kullanılmıştır.Sağ sensör algıladığında sol motor ileri dönerek robotu sağa döndürür, sol sensör algıladığında sağ motor ileri dönerek robotu sola döndürür ve robot her zaman rakibini karşısına almaya çalışır.2 sensördende algıladı bilgisi gelince robotun 2 motor da ileri dönerek rakibini pist dışına atmaya çalışır.Kontrast sensörleri ise robotu dohyo alanı içerisinde tutmak için kullanılmıştır.sol yada sağ cny algıladığında robot belirli bir süre geri gelir ve daha sonra sağa yada sola dönerek rakibini aramaya devam eder.
Sensörler :
Robotta engel algılamak için SHARP GP2Y0D02 Dijital çıkışlı sensör kullanılmıştır.Sensör 80 cm içerisinde bir cisim algıladığında çıkışında 5 volt algılamadığında ise 0 volt verir.
SHARP GP2Y0D02 Özellikleri :
| Çalışma Gerilimi |
+ 5 volt |
| Çıkış Gerilimi |
0-5 volt |
| Çektiği Akım |
33 mA |
| Algılama Mesafesi |
80 cm |
Kontrast sensörü olarak daha önceki projelerde kullanılan CNY 70 kullanılmıştır.CNY 70 ters mantıkla çalışan bir optokuplördür.Beyaz yada beyaza yakın açık tonlu renklerde çıkış gerilimi 0-2.5 volt yani lojik 0 seviyesinde, siyah yada siyaha yakın koyu tonlu renklerde 4-5 volt yani lojik 1 çıkış gerilimi verir.
CNY 70 Özellikleri :
| Çalışma Gerilimi |
+ 5 volt |
| Çıkış Gerilimi |
0-5 volt |
| Çektiği Akım |
10 mA |
| Algılama Mesafesi |
80 mm/1 cm |
Mikrodenetleyici PIC16F628 :
Mikrodenetleyici olarak dahili osilatör içermesinden ve giriş çıkış portlarının yeterli olmasından dolayı PIC16F628 kullanılmıştır.PIC16F628 de analog dijital karşılaştırıcı özelliği normalde açık olduğundan o portlar kullanılacaksa CMCON=7 yazarak kapatmak gerekir.Aksi taktirde program işleyişi istediğimiz şekilde olmayabilir.Dahili osilatörü aktif etmek için ise
@ DEVICE pic16f628,intrc_osc_noclkout yazmak yeterlidir.
Motor Sürücü L293D :
Motor sürücü olarak L293D kullanılmıştır.L293D ile 2 motor birbirinden bağımsız olarak 500 ma kadar sürülebilir.L293D nin bilgi pinlerinden uygulanan sinyallere göre motorlara yön verilir.Motor geriliminin uygulandığı pindende motor hızı ayarlanır. Motor gerilimi pininden 5 ila 36 volta kadar gerilim verilebilir.Daha fazla verildiğinde sürücü yanabilir.

Motorlar :
Robotta motor olarak SANYO redüktörlü DC motorlar tercih edilmiştir.Bu motorlar 9 - 12 volt arası gerilimle çalışmakla beraber torku oldukça yüksektir.Sumo robotta da önemli olan hız değil rakibi pist dışına atmak, kuvvet yani torktur.Bu motorlar mini sumo robot için hem hız hemde tork bakımından oldukça idealdir.
Bu motorları www.electrobotic.org/dukkan/urun/motorlar.htm linkindeki adresten temin edebilirsiniz.

Robotun Programı :
Robotun Programı PBASIC dilinde yazılmıştır.
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : Onur YAVUZ *
'* Notice : Copyright (c) 2007 wWw.electrobotic.oRg *
'* : All Rights Reserved *
'* Date : 24.07.2007 *
'* Version : 1.0 *
'* Notes : mini sumo robot porgramı / MekaRo X4 *
'* : *
'****************************************************************
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
cmcon=7
say var word
input porta.5
input porta.4
input porta.2
input porta.3
output portb.0
output portb.1
output portb.2
output portb.3
output portb.5 'buzzer
symbol solsharp=porta.5
symbol sagsharp=porta.4
symbol solcny=porta.2
symbol sagcny=porta.3
symbol yonanahtari=portb.4
symbol buzzer=portb.5
symbol soli=portb.0
symbol solg=portb.1
symbol sagi=portb.2
symbol sagg=portb.3
bekleme:
for say = 1 to 5
buzzer=1
soli=0
solg=0
sagi=0
sagg=0
pause 500
buzzer=0
soli=0
solg=0
sagi=0
sagg=0
pause 500
next
'----------------------------------;
basla:
IF SOLSHARP=0 AND SAGSHARP=0 THEN GOSUB ileri
IF SOLSHARP=1 AND SAGSHARP=1 AND SOLCNY=1 AND SAGCNY=1 THEN GOSUB ileri
IF SOLSHARP=0 THEN GOSUB SolAGIT
IF SAGSHARP=0 THEN GOSUB SagAGIT
IF SOLCNY=0 THEN GOSUB SAGGERigel
IF SAGCNY=0 THEN GOSUB SOLGERIgel
IF SAGCNY=0 and SOLCNY=0 THEN GOSUB SOLGERigel
GOTO BASLA
END
GOTO BASLA
END
' sharp data ledlerini yakma ;
'----------------------------;
ileri:
solg=0
sagg=0
soli=1
sagi=1
goto basla
end
saggerigel:
soli=0
sagi=0
solg=1
sagg=1
pause 400
soli=1
sagi=0
solg=0
sagg=1
pause 250
goto basla
end
solgerigel:
soli=0
sagi=0
sagg=1
solg=1
pause 500
soli=0
sagi=1
sagg=0
solg=1
pause 250
goto basla
end
solagit:
soli=0
solg=0
sagg=0
sagi=1
goto basla
end
sagagit:
sagi=0
solg=0
sagg=0
soli=1
goto basla
end
|