Bir kenar önleme robotu, önceki projem olan "Çizgi İzleyen Robot" a oldukça benzer. Bu 8051 mikro denetleyici tabanlı robot, bir kenarı algılar ve onu çevirerek veya durdurarak önler. Bir kenardan kaçınma robotunu nasıl kolayca tasarlayabiliriz görelim.
Edge Avoider Robot Kavramı
Edge Avoider robot kavramı, çizgi takipçisi ile aynıdır. Bu tür robotlarda genellikle siyah beyaz yüzeydeki ışık davranışını kullanırız. Işık beyaz bir yüzeye düştüğünde neredeyse tamamen yansır ve siyah yüzey olması durumunda ışık siyah yüzey tarafından emilir. Işığın bu davranışı, bir çizgi izleyen robotun yanı sıra kenar önleme robotunda da kullanılır.
Burada kullandık kızılötesi verici ve alıcı aynı zamanda ışık göndermek ve almak için foto diyotlar olarak da adlandırılır. IR, kızılötesi ışıkları iletir. Kızılötesi ışınlar siyah veya çok karanlık yüzeyler dışında herhangi bir yüzeye düştüğünde, geri yansıtılır ve fotodiyot tarafından yakalanır ve bazı voltaj değişiklikleri oluşturur. Kızılötesi ışığı siyah yüzeye düştüğünde, ışık siyah yüzey tarafından emilir ve ışın geri yansımaz, sonuç olarak foto diyot herhangi bir ışık veya ışın almaz.
Burada bu Edge Avoider robotunda sensör beyaz yüzeyi algıladığında mikro denetleyici girdi olarak 0 alır ve algıladığında siyah çizgi denetleyicisi girdi olarak 1 alır.
Devre Şeması ve Çalışma Açıklaması
Edge Avoider Robot projesini sensör bölümü, kontrol bölümü ve sürücü bölümü olmak üzere üç farklı bölüme ayırabiliriz.
Sensör bölümü: Bu bölüm IR diyotları, potansiyometre, Karşılaştırıcı (Op-Amp) ve LED'leri içerir. Potansiyometre, komparatörün bir terminalinde referans voltajı ayarlamak için kullanılır ve IR sensörleri, hattı algılamak ve komparatörün ikinci terminalindeki voltajda bir değişiklik sağlamak için kullanılır. Daha sonra karşılaştırıcı, her iki gerilimi karşılaştırır ve çıkışta bir dijital sinyal üretir. Burada bu devrede iki sensör için iki karşılaştırıcı kullanıyoruz. LM 358, karşılaştırıcı olarak kullanılır. LM358 dahili iki düşük gürültülü Op-amp içerir.
Kontrol Bölümü: 8051 mikrodenetleyici, çizgi izleyen robotun tüm sürecini kontrol etmek için kullanılır. Karşılaştırıcıların çıkışları 8051'in P0.0 ve P0.1 numaralı pinlerine bağlanır. 8051 bu sinyalleri okur ve sürücü devresine sürücü hattı takipçisine komutlar gönderir.
Sürücü bölümü: Sürücü bölümü motor sürücü ve iki DC motordan oluşur. Mikrodenetleyici motoru çalıştırmak için yeterli voltaj ve akımı sağlamadığından motor sürücü motorları sürmek için kullanılır. Bu yüzden motor için yeterli voltaj ve akımı elde etmek için bir motor sürücü devresi ekliyoruz. Mikrodenetleyici, bu motor sürücüsüne komutlar gönderir ve ardından motorları çalıştırır.
Çalışma
Bu uçtan kaçınma robotunun çalışması oldukça ilginç ve çizgi izleyici ile aynı, ancak girdileri algıladıktan sonraki işlemlerde farklılık. Bu robotta beyaz bir yüzey algıladığında ileri gider ve sensörlerden herhangi biri veya her iki sensör de sinyal veya siyah yüzey algılamadığında durur ve geriye doğru hareket eder ve yönünü değiştirir ve yine ileriye gitmek yerine beyaz yüzey algılar.
Bu kenardan kaçan robot için devre şeması gösterilmiştir. Karşılaştırıcıların çıkışı doğrudan mikrodenetleyicinin P0.0 ve P0.1 numaralı pinlerine bağlıdır. Ve motor sürücüsünün giriş pini 2, 7, 10 ve 15 sırasıyla P2.3, P2.2, P2.1 ve P2.4 pimlerine bağlanır. Motor sürücüsü 3 ve 6'nın çıkış pinine bir motor bağlanır ve diğer motor 11 ve 14'e bağlanır.
Programlamada öncelikle giriş ve çıkış pinlerini tanımladık. Daha sonra ana fonksiyonda girişleri kontrol ettik ve motoru sürmek için çıkış pinlerine uygun şekilde çıktı gönderdik. 8051 mikrodenetleyiciyi kullanarak okuduğumuz bu uçtan kaçınan dört koşul var. Sol sensör ve sağ sensör olmak üzere iki sensör kullandık.
Koşullar:
Giriş |
Çıktı |
Robot Hareketi |
||||
Sol Sensör |
Sağ Sensör |
Sol Motor |
Sağ Motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
İleri |
0 |
1 |
1 |
0 |
0 |
0 |
Dur / geri / Sağa Dön |
1 |
0 |
0 |
0 |
1 |
0 |
Dur / geri / Sola Dön |
1 |
1 |
0 |
0 |
0 |
0 |
DURDUR / geri / sola dön |
Yukarıdaki tablo koşullarına göre program yazdık.
PCB Düzeni