Linksys WRT54G Modem ve PIC16F628 ile Wifi Robot Projesi

Linksys WRT54G Modem ve PIC16F628 ile Wifi Robot Projesi

Linksys WRT54G/WRT54GL modem ve PIC16F628A ile Wifi Robot projesi oldukça ilginç, biraz da masraflı bir çalışma. Sadece uzaktan kumandalı bir araba değil; üzerine Linux çalıştırabilen bir router, ağ kamerası, mikrodenetleyici kontrol kartı ve ek güç elektroniği yerleştirilmiş mobil bir platform. Projeyi birebir yapamasanız bile, içindeki donanım tercihleri, seri haberleşme mantığı, Visual Basic 6 istemci yazılımı ve kaynak kodları birçok farklı projede işinize yarayabilir.

Wifi Robot, internet üzerinden veya bir dizüstü bilgisayarla kablosuz olarak yaklaşık 500 metreye kadar sürülebilen uzaktan kumandalı bir araç.

En güzel tarafı, görüş alanı olmadan da kullanılabilmesi. Bunun için üzerinde canlı yayın yapan bir ağ kamerası bulunuyor.

Ayrıca eğlenceli bir detay olarak insanlara korna çalabilmek için ayrıca bir korna/buzzer devresi eklenmiş.

wifi robot internet laptop wirelessly 500m live feed network camera

Projenin temel fikri

Bu projenin çıkış noktası, Linksys WRT54GL yönlendiricisinin Linux çalıştırması ve donanımının bir kısmının tersine mühendislik ile çözümlenmiş olması.

Bu yüzden cihaz hacker dostu kabul ediliyor. Üzerinde kullanılan firmware de standart üretici yazılımı değil; OpenWRT White Russian v0.9.

Böylece router, sadece ağ cihazı olmaktan çıkıp gömülü Linux çalışan küçük bir kontrol bilgisayarına dönüşüyor.

Burada router’ın görevi arabanın motorunu doğrudan sürmek değil. Asıl işi ağ tarafını yönetmek, uzaktan gelen komutları almak ve bunları seri port üzerinden mikrodenetleyiciye iletmek.

Yani sistem iki ana bölüme ayrılmış oluyor: bir tarafta kablosuz ağ ve sunucu tarafı, diğer tarafta ise araç elektroniği ve motor kontrol tarafı.

Kullanılan araç ve temel donanım yapısı

wifi robot remote control car driven over internet

Projede oyuncak bir RC araba taban olarak kullanılmış. Ancak üstüne router, kamera, ek bataryalar, regülatörler ve ilave kontrol devreleri eklendiği için küçük bir araba yeterli olmuyor.

Bu yüzden yaklaşık 1:10 ölçek veya daha büyük bir araç daha uygun görülmüş.

Buradaki önemli avantaj, birçok oyuncak arabanın kendi kartında RX2/TX2 tipi kontrol entegreleri veya benzer pin uyumlu yapılar kullanması.

Bu da ileri, geri, sağ ve sol komutlarının mevcut araç elektroniğine doğrudan uygulanmasını kolaylaştırıyor.

Mikrodenetleyici olarak PIC16F628A tercih edilmiş.

Bunun birkaç nedeni var: elde hazır bulunması, assembly ile tam kontrol sağlaması ve fiziksel olarak küçük olması.

Alternatif olarak Arduino ve AVR Butterfly da değerlendirilmiş ancak bu projede PIC tarafı daha uygun görülmüş.

PIC16F628A, router’dan gelen seri komutları alıp arabadaki ileri, geri, sağ ve sol kontrol hatlarını sürüyor.

PIC16F628A ve MAX232A bağlantısı

robot realtek rx2tx2 chips or a pin compatible alternative

Router’ın seri port seviyesi ile PIC tarafı doğrudan uyumlu olmadığı için araya MAX232A yerleştirilmiş.

Böylece seri haberleşme seviyeleri uygun hale getiriliyor. Şemada PIC16F628A’nın ilgili pinlerinden sağ, sol, ileri ve geri komutları alınırken; ayrı bir pin de korna çıkışı için ayrılmış.

Ayrıca kırmızı ve yeşil LED’lerle sistem durumu izlenebiliyor.

Bu yapı aslında oldukça öğretici. Çünkü gömülü Linux çalışan bir cihaz ile klasik mikrodenetleyiciyi birleştiren sade ama etkili bir köprü kurulmuş oluyor.

Özellikle seri haberleşme, lojik seviye uyarlama ve mevcut kartı yeniden kullanma mantığı bakımından güzel bir örnek.

Kamera ve görüş alanı olmadan sürüş

network camera router heavier batteries extra circuits wifi robot

Projeyi sıradan uzaktan kumandalı araçtan ayıran en önemli parçalardan biri Panasonic BL-C1A ağ kamerası.

Bu kamera sayesinde araç doğrudan görüş hattı olmadan da sürülebiliyor. Yani kullanıcı, kameradan gelen görüntüye bakarak aracı uzaktan yönlendirebiliyor.

Başta yazılımının Windows odaklı olduğu düşünülmüş olsa da, sonradan cihazın kullanışlı bir web arayüzüne sahip olduğu ve canlı görüntünün tarayıcı üzerinden de alınabildiği belirtilmiş.

Bu, özellikle robotik ve mobil platform tarafında güzel bir yaklaşım. Basit bir RF kumanda yerine canlı görüntü destekli kablosuz kontrol kurulmuş oluyor.

Benzer projelerde kamera, telemetri ve ağ iletişimi gibi katmanlar eklendikçe sistem klasik bir oyuncaktan çıkıp gerçek bir mobil geliştirme platformuna dönüşebiliyor.

Korna ve ek kontrol devresi

Projeye sadece sürüş değil, küçük bir eğlence detayı da eklenmiş: korna.

PIC16F628A çıkışından bir 2N3904 transistör üzerinden sürülen buzzer ile daha yüksek akım çekilebiliyor.

Böylece mikrodenetleyici pini doğrudan zorlanmadan 9V tarafında çalışan korna devresi kontrol ediliyor.

Bu tür ek çıkışlar küçük görünse de sistemi daha esnek hale getiriyor. Aynı mantıkla far, flaşör veya başka uyarı sistemleri de eklenebilir.

Hatta benzer işlerin mantığını görmek için DC motor ve sürüş kontrolü tarafındaki projeler de fikir verebilir.

Güç sistemi düşündüğünüzden daha önemli

Projedeki ciddi konulardan biri enerji tarafı. Router, kamera, PIC devresi, korna ve araç motorları aynı kaynaktan besleneceği için tek bir basit besleme yeterli olmuyor.

Bu yüzden sistemde farklı güç rayları hazırlanmış: 5V, 9.2V ve 12V.

Router için 12V, PIC ve bazı kontrol katları için 5V, kamera ve korna gibi elemanlar için de 9V civarı hat kullanılmış.

Başlangıçta 7812 gibi klasik regülatörlerle ilerlenmiş olsa da, motorların ani akım çekmesi sebebiyle daha güçlü bir LT1083 7.5A regülatör eklenmiş.

Çünkü araç hızlanırken çekilen akım 7A seviyesine yaklaşabiliyor. Bu da sistemin neden biraz masraflı ve zahmetli olduğunu açıklıyor.

Yani burada asıl mesele sadece robotu yürütmek değil; bütün sistemi stabil şekilde beslemek.

Yazılım tarafında neler var

Proje sadece donanım değil, yazılım tarafıyla da dikkat çekiyor. Üç ayrı yazılım parçası birlikte çalışıyor:

  • VB6 Wifi_Robot istemcisi (Windows tarafında çalışıyor)
  • CarServer isimli C diliyle yazılmış sunucu yazılımı (router üzerinde OpenWRT altında çalışıyor)
  • Mikrodenetleyici firmware’i (PIC16F628A ve Arduino/Freeduino için)

Güzel tarafı, sadece derlenmiş dosyalar değil, Visual Basic 6 kaynak kodları, PIC asm, HEX dosyaları ve Arduino tarafı için kodlar da paylaşılmış.

Bu yüzden projeyi olduğu gibi yapmasanız bile, uzaktan kontrol yazılımı, soket haberleşmesi veya seri port mantığı gibi parçaları alıp kendi projelerinize uyarlayabilirsiniz.

Özellikle uzaktan kumanda ve kontrol mantığıyla ilgilenenler için yazılım tarafı faydalı olabilir.

Performans ölçümleri de paylaşılmış

Projede sadece “çalıştı oldu” denmemiş; performans tarafı da ölçülmüş. Araç yaklaşık 3 metreyi 0.7 saniyede geçebiliyor.

Bu da yaklaşık 15.5 km/s yani 4.3 m/s maksimum hıza denk geliyor.

Kablosuz bağlantı tarafında ise açık alanda dizüstü bilgisayar ile yaklaşık 500 metre mesafeye kadar erişim sağlandığı belirtilmiş.

Veri aktarımı tarafında kontrol sinyalleri çok düşük bant genişliği isterken, kameranın ışık durumuna bağlı olarak yaklaşık 50–190 KB/s veri kullandığı ölçülmüş.

Uzak mesafede bağlantı hızı 1 Mb seviyesine düştüğünde kontrol devam etse bile kamera görüntüsünün artık yeterli çalışmadığı görülmüş.

Bu da sistemin pratik sınırlarını anlamak açısından faydalı bir bilgi.

Toplam maliyet ve genel değerlendirme

Projede araç, ikinci kontrol kartı, router, kamera, bataryalar, korna, PIC devresi ve çeşitli bağlantı elemanlarıyla toplam maliyet yaklaşık 296 Kanada doları seviyesine çıkmış.

Yani basit bir oyuncak projesi değil. Ama burada zaten amaç düşük maliyetli en kısa yol değil; Linux router, ağ kamerası ve mikrodenetleyiciyi bir araya getirerek çalışan bir wifi kontrollü robot araba ortaya çıkarmak.

Kısacası bu çalışma adım adım başlangıç rehberi değil ama çok iyi bir üst seviye referans.

Linksys WRT54GL, OpenWRT, PIC16F628A, MAX232A, ağ kamerası ve VB6 istemcinin bir araya getirildiği bu yapı; uzaktan kontrollü gömülü sistemler, kablosuz robotik ve eski ama sağlam donanımlarla proje geliştirmek isteyenler için hala ilham verici.

Kaynak : jbprojects.net/projects/wifirobot/

Paylaş:

7 Yorum

  1. M
    melih

    Süper teşekkürler

    Yanıtla
  2. M
    murat sezer

    arkadaşlar bu proje ile ilgilenen ve çalıştırabilen varmı bikaç sorum var ve proje yarım kaldı.

    Yanıtla
  3. N
    ndrshn

    Bu projeyi tez olarak yapıyorum. Takıldığım yer modemle işlemci arasında nasıl bir devre kullandılar? web-server kullandılar tahmin ediyorum.

    Yanıtla
  4. E
    enesk...

    evet bu projeyi geçen gün bitirdim ve süper bir çalışma oldu gayet iyi çalışıyor…okulda düzenlenen elektronik projeler yarışmasında 1.oldum.bu devreyi yapıp buraya koyanlardan teşekkür ediyorum

    Yanıtla
  5. M
    mustafa_cmbz

    güzel paylaşım hocam dediğiniz gibi projeyi maliyetinden dolayı yapamasakta visualbasic programı işimize yarayabilir…!

    Yanıtla
  6. H
    Hasan

    Merhabalar 🙂 WRT54G var bende fakat bu devreler zor geliyor bana… Bu devreleri yapıp gönderecek birisi varmı ücret karşılığında..

    Enesk arkadaşım mail adresini alabilirmiyim seninle konuşmam gerek 🙂

    Yanıtla
  7. C
    cxbere

    merhaba, ben de bu pproje ile ilgileniyorum bu openWRT nedir, ve router ile pic arasındaki devre nasıl açıklyabilcek biri varmı, şimdiden teşekkürler…

    Yanıtla

Yorum Yap