Sumo Robot Nedir ?
Sumo robotlar otonom olarak (kendi başına) hareket edebilen ,
elektronik devreler ve mekanik dış tasarımdan oluşan
robotlardır.Sumo robotlar japon sumo güreşlerinden esinlenerek
hobi robotiğe girmiştir. Bu robotlar bir ring üzerinde
karşılaşırlar. Sumo robotların amacı rakibini dohyo dışına
çıkarmaktır.Robotlar mücadele sırasında birbirlerini iterek
platformun dışına çıkarmaya çalışırlar.Dohyonun dış kısmında
bulunan beyaz çizginin dışına çıkmamak için aynı zamanda
rakibini dohyo dışına çıkartmak için uğraşırlar.Sumo robotların
maçı kazanmasında sahip olduğu mekanik, elektronik tasarım ve
yüklü olduğu program algoritmaları etkili olur.
Dohyo nedir?
Dohyo sumo robotların birbirileri ile mücadele ettiği dış
kısmında beyaz çizgi bulunan iç kısmı siyah olan platforma
verilen ad dır.Mücadele edecek olan robotlar ring dışına
çıktığında maçı kaybederler.Aşağıda dohyo resmi görülmektedir.
Robotun Elektronik Aksamı
Mini Sumo robotta ringin dışına
çıkmamak ve rakibi ring dışına iterek çıkarmak
amaçlanmıştır.Robotta kullanacağımız devreler karşıdaki cisimden
yansıyarak tekrar sinyalin bize gelmesini sağlayan devreler
olmalıdır.Örneğin ; ultarasonik sensörler , mesafe
sensörü..Mesafe sensörleri hazır olarak modül şeklinde
bulunmaktadır.Ultrasonik sensörler de mesafe ölçümü için
kullanılırlar.IR sensörler gözle görülemeyecek bir ışın yayarak
cisimden yansırsa çıkışa 0 v yansımazsa çıkışa 5 v verirler.
Ultrasonik sensörlerde de 40 KHz lik ses yayarlar ve ölçülen
mesafe aralığı dahada fazladır.
Kullanılan kitlerin Özellikleri :
- 20 cm kadar algılama özelliğine
sahiptir.
- Kitlere harici bir PIC aracılığı ile kare dalga
uygulanır.
Devre Şeması :
Devrenin Çalışma Prensibi:
CNY70 ve kitlerden gelen bilgiler
1. mikrokontrolde değerlendirilerek L293D motor sürücü entegre
aracılığı ile motorlara gönderiliir.U2 mikrokontrolörü sadece
mesafe algılanması için gereken frekansı üretme işlemi için
kullanılmıştır.Eğer, kombinasyonları değerlendirme ve frekans
üretme işlemi aynı kontrolörde yapılırsa frekansta bozulmalar
meydana geleceğinden robot, engel karşısında oldugu halde
görmüyor gibi davranabilir.Devrede gerilim kaynağı olarak 9 v
250 mah tek pil kullanılmıştır.L293D entegresinin 8.pininden
motor sürmek için gerekli gerilim direk pilden verilmilştir ve
entegrelerin besleme gerilimi regülatör ( 7805 ) çıkışından
sağlanmıştır.
Mikroişlemci pic16F628 :
Devrede mikrokontrolör olarak
pic16F628 i tercih ettik. Sebebi ise pic16F84 den kapasitesinin
daha büyük olması ve içerisinde bulunan dahili osilatör
sayesinde ekstra bir devre gerektirmemesi.Bu mikrokontrolörü F84
şeklinde kullanmak için eğer kullanılmayacaksa kompratör
(karşılaştırıcı) ve analog giriş özelliğini kapatmak gerekir.Bu
özellikleri kapatmak içinde programın başına CMCON=7 , VRCON=0 bu 2 kodu eklemek yeterli olacaktır.Osilatörü
dahil etmek için ise ; “ @ device pic16f628_intrc_osc_noclkout “
yazılmalıdır.
Kontrast Sensörü :
Robotun dohyo dışına çıkmaması
için kontrast sensörleri kullanılmalıdır.Daha önce çizgi izleyen
robotta kullandığımız sensörler buradada kullanıyoruz.Sensörün
iç yapısında IR led ve foto transistör bulunuyor.Bu elemanlar
birbirilerinden elektriksel olarak yalıtılmış durumda modül
halindedir.IR led tarafından yayılan ışık yüzey yansıtıcısı bir
yüzey ise foto transistör tarafından algılanır , fakat yüzey IR
led ışığını yansıtmıyorsa fototransistöre sinyal gitmeyecek ve
transistör kesimde olacağı için çıkış vermeyecektir. Bu modüller
beyaz algıladıklarında çıkışta 0 ( low ) siyah algıladıklarında
ise çıkışta 1 (high) mantıksal ifadesinin verirler.Biz robot
programında bir değişiklik yaparak yada 74hc14 ( tersleyici)
entegresi kullanarak sensörlerin çıkışlarını
değerlendirebiliriz.Şekil 1 de sensörün kılıf şekli , şekil 2 de
iç yapısı ve Şekil 3 de üstten görünüşü bulunmaktadır.

Şekil 1
Şekil 2

Şekil 3
Robotun Mekanik Aksamı
Tüm sumo robotlarda en önemli nokta mekanik
aksamdır.Sumo robotların mekaniği kuvvetli ise müsabakada üstün
gelme oranı yüksekdir.Rakibini dohyo dışına atmak için
genellikle sumo robotların ön tarafları kama gibi yapılır ve
böylelikle rakibi ile temasa geçdiği anda rakibin altına girerek
kaldırır ve kontrolünü kaybetmesini sağlar.Diğer bir önemli
nokta ise tekerleklerdir.Çap ne kadar büyük ise hız o kadar
artar.Sumo robotların güçlü ve hızlı olması gerekir o yüzden
yüksek torklu motorlar ve yüksek çaplı tekerlekler
kullanılır.Sumo sn de yaklasık 20 cm yol almasını istiyorsak o
yuzden 40 -50 rpm arası bir motor ve carı 8 cm olan tekerlekler
kullanmak gerekir.
Benim bu robotta kullanmış olduğum tekerlekleri geçen seneki
staj yerimde polyemit adı verilen sert aynı zamanda hafif bir
malzemeden yaptırdım.Dışınada sürtünmeyi arttırmak ve yer
tutuşunu sağlamak için paket lastiklerinden taktım ve gayet iyi
oldu. Normalde bahsedilen çaplarda teker bulmak oyuncaklardan da
olsa zor dur..Bir diğer alternatif de, bilgisayar cd lerini ufak
boyutta mini disc adı verilen cdlerle mini sumo robota uygun
teker yapılabilir.5 tane ufak cd yi birbirine yapıştırarak kalın
ve geniş çaplı bir tekerlek elde edebiliriz ve sürtünmesi yüksek
olacak bir madde ile de dışını kapladığımızda istediğimiz
şekilide olur.5 tane cd yi birbirine yapıştırdıkdan sora dış
yüzeyine ambalaj lastiklerinden 10 tane koyarak yapıstırıp
yapabiliriz bir diğer alternatif ise yapıştırılmış 5 cd nin dış
kısmına radyoların içinden çıkan kalın lastiklerden 2 tane
takarak yapmaktır.
Robotta IR modüllerin yerleride önemlidir.
Eğer karşısındaki cismi algılayamayacak şekilde koyulmuş ise
robot çoğu zaman algoritmadan bağımsız işler yapar . Genellikle
robotun ön kısmında sağ ve sol tarafına konur. Mantık çizgi
izleyendeki gibidir.Sol sensör algılarsa sola sağ sensör
algılarsa robot sağa yönelir böylece rakibinin üstüne gidip
dohyo dışına atmayı sağlar..
Robotun Algoritması ve Programlanması
:
Algoritma belirlenirken dogruluk tablosu
hazırlanır ve dogruluk tablosundaki (high/low) değerlere göre
algoritma çıkartılır.Dogruluk tablosunu oluşturmak için
algılayıcılar(girişler) ve eyleyiciler(çıkışlar) 2 bölüme
ayrılır.Doğruluk tablosu aşağıda verilmiştir.
PBASIC Dilinde Program ;
Program Pic Basic Proda yazılıp
MicroCodeStudio’da derlenmiştir.
38 khz pulsleri üretmek için kullanılan mikrokontrölör programı
:
@ DEVICE pic16F628
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
CMCON = 7 ' PortA = digital I/O
VRCON = 0 ' A/D Voltage reference disabled
TRISB = %11110000 ' B.3=PWM,B.0,B.1,B.2 blink LEDs
PR2 = 26 ' Set PWM for approximately 38KHz
CCPR1L = 13 ' Set PWM Duty-Cycle to 50%
CCP1CON = %00001100 ' Mode select = PWM
T2CON = %00000100 ' Timer2 ON + 1:1 prescale
Robotun Mikrokontrölör Programı:
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
say var byte
cmcon=7
vrcon=0
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
symbol solm=porta.5
symbol sagm=porta.4
symbol solc=porta.2
symbol sagc=porta.3
symbol soli=portb.0
symbol solg=portb.1
symbol sagi=portb.2
symbol sagg=portb.3
symbol buz=portb.5
bekleme:
for say = 1 to53
high buz
low portb.0
low portb.1
low portb.2
low portb.3
pause 500
low buz
low portb.1
low portb.2
low portb.3
low portb.5
pause 500
next
''---------------------------'
basla:
if solm=1 and sagm=1 and solc=1 and sagc=1 then gosub ileri
if solm=1 and sagm=1 and solc=1 and sagc=0 then gosub
solgerigel
if solm=1 and sagm=1 and solc=0 and sagc=1 then gosub
saggerigel
if solm=1 and sagm=1 and solc=0 and sagc=0 then gosub
solgerigel
if solm=1 and sagm=0 and solc=1 and sagc=1 then gosub sagagit
if solm=1 and sagm=0 and solc=1 and sagc=0 then gosub sagagit
if solm=1 and sagm=0 and solc=0 and sagc=0 then gosub sagagit
'if solm=1 and sagm=0 and solc=0 and sagc=0 then yasak durum
if solm=0 and sagm=1 and solc=1 and sagc=1 then gosub solagit
if solm=0 and sagm=1 and solc=1 and sagc=0 then gosub solagit
if solm=0 and sagm=1 and solc=0 and sagc=1 then gosub solagit
'if solm=0 and sagm=1 and solc=0 and sagc=0 then yasak durum
if solm=0 and sagm=0 and solc=1 and sagc=1 then gosub ileri
if solm=0 and sagm=0 and solc=1 and sagc=0 then gosub ileri
if solm=0 and sagm=0 and solc=0 and sagc=1 then gosub ileri
'if solm=0 and sagm=0 and solc=0 and sagc=0 then yasak durum
goto basla
end
ileri:
solg=0
sagg=0
soli=1
sagi=1
goto basla
end
saggerigel:
soli=0
sagi=0
solg=0
sagg=1
goto basla
end
solgerigel:
soli=0
sagi=0
sagg=0
solg=1
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
Robotun
Resimleri ..

Mekaro X4 ün yan görünümü
Mekaro X4 ün üst görünümü |