Robotlarım

Çizgi İzleyen Robot çalışmalarımızdan yarışma görüntüleri

MİNİ SUMO – GÖKTÜRK 

Kullanılan Malzemeler :

  • Pic 18F4550 Mikro işlemci
  • 4 adet 6V ForceUp 350Rpm Redüktörlü Micro DC Motor
  • 2 adet Sharp GP2Y0D340K sensör
  • 1 adet Mz80 Kızılötesi sensör
  • 1 adet Pololu TB6612FNG
  • 2 adet Pololu QTR-1A
  • Gözeler Elektronik Tekerleri ve cantları
  • 1 adet 11.14V THK alınma 450 mAh Lipoly
  • 3mm paslanmaz sacdan özel yapım gövde
  • Kendi tasarımımız elektronik devre

İlk Aşamalar :

Öncelikle mini sumoların bence en önemli yeri olan gövdeyi tasarlamak gerekir.Burada oluşacak en ufak aksaklık tekerlerin düzgün basmamasına yani tekerlerden ve motorlardan tam güç almamanıza  ve ayrıca çizgileri algılamanıza rağmen robotunuzun sizin sözünüzü dinlemeyip dışarı çıkmasına sebep olacaktır.Bunun için altta kullanılacak malzeme seçilirken sert ve kolay eğilip bükülmeyen malzeme seçilmelidir.Biz burada 3mm paslanmaya karşıkorumalı sac kullandık.

 

Kullandığım Gövde çizim dosyası için : http://www.tokateml.k12.tr/Robot.dxf

Gerekli teker boşlukları, üst devreyi montelemek için gerekli 3mm vida delikleri , motorları tutturmak için açılmış 3mm delikleri ve qtr1a sensörleriiçin gerekli boşluklar açıldı.

Motorların Yerleşimi :

 

Motorları birbirine eşit paralellikte yerleştirmeye dikkat edin.Motor yerleşimini iyi ayarlarsanız ön kızağınızıdaha uzun ve kolay yerleştirme imkanı olur.motorlararasına açacağınız boşluk sayesinde lipo pilinizi araya yerleştire bilirsiniz.Biz bu şekildekoymayı tercih etme sebebimiz dengeyi ayarlamak için yaptım.

Kullandığım tekerler kauçuk malzemeden yapılmış özel üretim ve gerçekten sürtünmeleri mükemmel.Yarış zamanları az bir tinerle daha mükemmel hale dönüşüyorlar.

Kullanılan Sensörler :

Ön Sensör  – Mz80 :

  • Endüstriyel kızılötesi sensördür.
  • 80cm algılama mesafesi mevcuttur.
  • 5V’da çalışır.
  • Yüksek kaliteli ve 2ms tepki süreli, üst sınıf bir sensördür.
  • Arkasında yer alan trimpotla menzili kısılabilir. Dahili led’i vardır. Kullanım özellikleri ve bilgiler için pdf dökümanı inceleyiniz.
  • Kırmızı Kablo – 5V Giriş
  • Yeşil Kablo – GND
  • Sarı Kablo – Digital Sinyal Çıkışı (1-0)

Sağ – Sol Sensörler – Sharp GP2Y0D340K :

  • 40 cm algılama menzilli Sharp GP2Y0D340K sensörü.
  • 4ms tepki süresi vardır.
  • Dijital (0-5V çıkışlı) sensördür.

  • Kolayca kullanılabilir. Sensörü çalıştırmak için sensöre bir direnç (akım kısıtlama direnci) ve bir kondansatör (filtre kondansatörü) bağlamak gereklidir.
  • Minisumo robot gibi küçük projeler için çok uygundur.
  • Birçok derece alan minisumo robotta da kullanılmaktadır.
  • Çok küçük hacimlidir. boyutlar: 15mm x 9,6mm x 8,7mm

Çizgi Sensörleri – QTR1A :

Sensör, reflektans değeri olarak, analog voltaj çıkışı verir.

Fototransistör, bir pull-up direnç ile bağlanmıştır (genellikle 5V) ve böylece algılanan reflektans değerine göre voltaj çıkışı alınır. Reflektans değeri yükseldikçe voltaj çıkışı değeri azalır.

Bir LED 20-25 mA akım çeker. Ürün şematiği görseller içerisinde yer almaktadır.

Motor Sürücü :

TB6612FNG Çift Motor Sürücü Kartı :

Bu küçük kart, iki adet çift yönlü DC motoru veya bir adet iki kutuplu motoru kontrol edebilen Toshiba’nın TB6612FNG çift yönlü motor sürücüsünü kullanmanın kolay bir yoludur. Tavsiye edilen motor voltaj değerinin 4.5-12.5 V olması ve her kanal için maksimum 3A’lık çıkışa sahip olması, düşük-güçlü motorlar için eşsiz bir motor sürücü olma fırsatını ortaya çıkarıyor.

TB6612 Özellikleri

  • Tavsiye edilen motor voltaj aralığı (VMOT): 4.5-13.5V
  • Logic voltaj (VCC): 2.7-5.5 V
  • Maksimum çıkış akımı: her kanal için 3A
  • Sürekli çıkış akımı: her kanal için 1A ( sürekli 2A’ı iletmek için paralel bağlanabilir)
  • Maksimum PWM frekansı: 100 kHz
  • Isısal kapanma devresi oluşturma
  • Kaynak hatları üzerinde filtre kapasitörleri
  • Motor beslemesi üzerinde ters-bağlantı koruması

Elektronik Devre :

Devre Elemanlarını ve baskı devresini yakında koyacağım.

Program Kodu :

Programlama dili olarak ccs c kullanılmıştır. Kodlamada Mert Öztoprak arkadaşımdan destek alınmıştır, kendisine çok teşekkür ederim.

Çizgiler için  olarak timer kesmesi ve klasik olarak ön sensör görürse ileri git , sağ sensör görürse ön sensör görene kadar sağa dön  , sol sensör görürse ön sensör görene kadar  sola dön  vb. algortimalar kullanıldı.

http://www.tokateml.k12.tr/gokturk.c

mini sumo son hali :

 

Yarışmaları :

Odtu 2012 ‘de çeyrek final oynadı.

Meb 2012 3. turda ufak arızalardan dolayı çizgiden kendi çıkarak elendi.Odtudeki başlama poziyonunda robotlar arası mesafe yakındı ama mebde mesafe 1 a4 kağıdı mesafeye çıkınca robotum önden yakalandı ve elendi.

Robotlarım” için bir yorum

  • Ocak 8, 2013 tarihinde, saat 2:39 pm
    Permalink

    Merhaba sayın hocam sizi tebrik ederim çalışmalarınız çok güzel ,benimle iletişime geçebilirmisiniz?

    Yanıtla
  • Ekim 30, 2013 tarihinde, saat 10:11 pm
    Permalink

    merhaba hocam ben elektronik mühendisi son sınıf öğrencisiyim.bu sene bitirme projesi olarak sizin bu yaptığınız robotun özelliklerine benzer olacak.
    ara sıra size danışmam için sizinle iletişime geçmek istiyorum acaba bu mümkün müdür?

    Yanıtla
      • Ekim 31, 2013 tarihinde, saat 10:32 am
        Permalink

        hocam şimdiden sağol projeye başlayalı 1 hafta oldu.takıldıkça size sorarım

        Yanıtla
  • Nisan 8, 2014 tarihinde, saat 9:19 pm
    Permalink

    merhaba hocam ben robot projesi ile uğraşıyorum. 4 dc motorlu robotum var.
    bu robotun derece döndürmesini ve bir kaç metre mesafe gitmesi için
    ccs de nasıl yazmalıyım yani nasıl yol izlemeliyim?

    Yanıtla
    • Nisan 27, 2014 tarihinde, saat 9:45 am
      Permalink

      //biraz düz git

      output_low(pin_b5);
      output_high(pin_b4);
      output_low(pin_b7);
      output_high(pin_b6);
      set_pwm1_duty(100);
      set_pwm2_duty(100);
      delay_ms(20);

      //doksan derece için
      //analog sensörler hepsini beyaz görür ise
      while(sensor_pin!=0b00000000){
      adc_oku();
      output_d(sensor_pin);
      output_low(pin_b5);
      output_high(pin_b4);
      output_low(pin_b7);
      output_high(pin_b6);
      set_pwm1_duty(125);
      set_pwm2_duty(0);
      }

      Yanıtla
  • Nisan 11, 2014 tarihinde, saat 11:22 am
    Permalink

    Hocam ben sharp sensörünü çizgi izleyen robotta kullanmak istiyorum yazılım konusunda yardımcı olurmusunuz?

    Yanıtla
    • Nisan 27, 2014 tarihinde, saat 9:13 am
      Permalink

      öncelikle;
      setup_adc_ports(AN0_TO_AN8|VSS_VDD);
      setup_adc(ADC_CLOCK_INTERNAL);
      ayarları yapılır

      daha sonra;
      set_adc_channel(8);//analog 8 nolu port açılır
      delay_us(4);
      sensor=read_adc();//sensördeki değer analog porta aktarılır.
      //şimdi mesafeye göre işlem yapılır.
      if(sensor>70) işlemler1;
      if(sensor>200)işlemler2;
      if(sensor>300)işlemler3;
      if(sensor>400)işlemler4;

      Yanıtla
  • Nisan 24, 2014 tarihinde, saat 10:39 am
    Permalink

    Merhabalar acaba robotta kullanılan mz80 sensörüne ait yazılımı bana yollaya bilirseniz çok sevinirim.

    Yanıtla
    • Nisan 27, 2014 tarihinde, saat 9:38 am
      Permalink

      normal digital sensörlerden hiç bir farkı yok.pic’in digital input bacaklarından her hangi birisiyle 0-5V kontrolü yaparak yapabilirsin.direkt olarak kullanabilirsin.her hangi bir pullup direncine gerek yoktur. +5,-,ve sinyal bağlantısı yeterlidir.

      örnek kod:

      if (input(pin_b4)==0) {işlemler;}

      Yanıtla
  • Nisan 27, 2014 tarihinde, saat 5:56 pm
    Permalink

    Hocam acaba çizgi izleyen robot için şu problemi mikroc de nasıl yazabilirim. Şimdi mz80 engel görünce robot duracak 45 derece sağa dönecek sonra 2sn düz gidecek (veya belirli bir mesafe düz gidecek) 2sn sonunda durup 45 derece sola dönecek 2sn daha gidip duracak ve 45 derece daha sola dönüp 2 sn daha düz gidecek ve beyaz çizgiyi bulup tekrar çizgiyi takip etmeye başlayacak

    Yanıtla
  • Nisan 28, 2014 tarihinde, saat 8:00 pm
    Permalink

    Merhabalar hocam önceki yorumumu çözdüm. Şimdi şöyle bir şey var çizgi izleyen robotum da 8 sensörlü QTR-8A sensörü var bu sensörlerin hepsi beyaz çizgiyi görünce yani hepsi 1 olunca robotun durmasını istiyorum bunu nasıl yazabilirim acaba. Şimdiden teşekkürler.

    Yanıtla
  • Mayıs 23, 2014 tarihinde, saat 4:39 pm
    Permalink

    merhaba hocam Proteus 8 Professional la 2 motor 4 sensörlü bi araba oluşturacağım bunun kodlarını verebilirmisiniz daha yeni mikrodenetleyici dersine giriyorum ve kodları bilmiyorum teşekkür ederim şimdiden

    Yanıtla
    • Mayıs 24, 2014 tarihinde, saat 12:29 pm
      Permalink

      kodun bütünü veremem.css c ile pic kitabını alarak başlamanı tavsiye ederim. İstersen sitedeki dersleri takip edebilirsin. Kolay gelsin.

      Yanıtla
  • Nisan 16, 2015 tarihinde, saat 8:28 pm
    Permalink

    hocam mrb çalışmalarınız çok güzel bende ccs c ile çalışmalarımı yapıyorum ama genellikle araçlar üzerine , çalışmalarınızı takip edeceğim burdan okul bitti ama sizin öğrenciliğimiz devam edecek hep..sizden öğreneceğimiz çok şey var.

    Yanıtla

samet için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir