Google is your best friend.
Robot Kol Tasarım Projesi
  • Öncelikle herkese merhaba demek istiyorum. Makine Mühendisliği son sınıf öğrencisiyim ve arkadaşlar ile birlikte tasarım projesi olarak robot kol yapmamız gerekiyor. Elektrik elektronik ve c programını ders olarak gördük ancak makineci olduğumuz için bilgimiz sınırlı. Konu ile ilgili öğretim elemanının tavsiyesi üzerine arduino ile tanıştık. İnternette ufak bir araştırma yaptık ve bu devre kartının bizim işimize yarayabilmesi için modifikasyon yapılması gerektiğini gördük.Size sormak istediğim 5 veya 6 adet tower pro mg995 servo moturu bilgisayar destekli kontrol edebilmek için yani proglanmış hareketleri yapabilmesi için arduinonun hangi shieldlerini kullanmamız gerekir. Tabi renk sensörü veya webcam de bağlamamız da gerekebilir. webcam ile cismin resmini çekip kare mi yoksa üçgen mi diye ayırt etmesi gerekiyor. Kamera konusunda kararsızız ancak renk sensörü kesin. Yurt dışından sipariş vereceğimiz için yanlış parçaları almak istemiyoruz yardımcı olursanız seviniriz.
  • Oncelikle bilgisayar ile arduino arasinda seri iletisimi kurmalisiniz. Daha sonra visual basic veya benzeri bir programla bir arayuz tasarlayip robotun hareketlerini bu arayuz yardimiyla kontrol edebilirsiniz. Webcam ve renk sensoru ile ilgili bir fikrim yok. Servo motorlarin da surulme teknigini biliyorsaniz sorun yok demektir :)
  • 5-6 servo kontrol edilecekse motor shield tam olarak limitte kalıyor. (yanlış bilmiyorsam 2 ile 4 motor sürebiliyor) projede hızlı ilerleme maksatlı olarak alıp deneyebilirsiniz. ardından ihtiyacınız doğrultusunda kendi motor kontrol ünitenizi hazırlarsınız.
    motorların yanında görüntü, hareket sensörleri de kullanılacaksa uno sizi zorlayacaktır. mega ile çalışmanız daha uygun olur. hem bol bol portunuz olmuş olur hem de aynı anda daha fazla işlem yapabilirsiniz.
    webcam ile cismin şeklini yorumlamak mega içinde zor olabilir eğer bu noktada bir android cihaz bağlantısı yapılabilirse bu işi rahatlıkla mega adk ile yapabilirsiniz. hem de hazır kütüphaneler kullanabilirsiniz. böylece projeninizi hızlıca prototipleyip sonuca ulaşabilirsiniz.
  • Öncelikle ilginiz için teşekkürler. Projede ufak bir revizyona gittik. Kolun ucuna IR sensör koyup sağa sola döndürmek suretiyle alanı taramayı düşünüyoruz. Rastgele bir yere cisim koyarak sensörün cismi algıladığı yönde kolu durdurup kolun ona uzanmasını sağlamayı düşünüyoruz. Cismin koordinatlarının bilinmesine gerek yok sadece yönü tespit edip cisme uzanacak yani programlanan yere kadar sürükleyerek gripi kapatacak ve belirlenen yere koyacak. Projede henüz araştırma aşamasında olduğumuz için fikir değişikliği olabiliyor :) bide şöyle bir şey bulduk işimize yarar mı

    http://dx.com/p/arduino-duemilanove-2009-atmega-328p-scm-board-with-usb-cable-133258
  • en sevdiğim arduino projelerinden Yellow Drum Machine'yi incelmeniz sizin için faydalı olacaktır. bu projeyi referans alarak kullanmanız gerekli parça listesini de oluşturabilirsiniz.
    http://letsmakerobots.com/node/112
    iyi eğlenceler.
    http://www.youtube.com/watch?feature=player_embedded&v=_RyodnisVvU
  • 5 adet hs-425bb servo, 1 adet Arduino Rev3, 1 adet Arduino Sensor Shield V4.0 ve 1 adet HC-SR04 Ultrasonic Sensor veya Arduino Infrared Obstacle Avoidance Detection Photoelectric Sensor kullanarak bu robot kol projesini yapabilir miyiz Arduino konusunda yeni olan birisi olarak soruyorum
  • motor controller'da eklerseniz yapabilirsiniz tabi ki.
    yalnız tavsiyem tüm ihtiyaçlarınızı tek bir siparişle çözmeye çalışmamanız.
    bunun için ya çok tecrübeli olmalısınız, ya da istediğinizin yapıldığı birebir bir projenin listesini kullanmanız. ki birebir proje listesi kullansanız bile arada fire vereceğiniz, ya da istediğiniz sonucu vermeyecek parçalar olacaktır. buna göre önce küçük prototipler oluşturup bunları hedef prototipinize dönüştürmeniz daha iyi bir yol olacaktır. yoksa kısa zamanda hüsranla sonuçlabilirsiniz. (elektronik konusunda tecrübeli olmadığınızı ve yanınızda bu konuda tecrübeli birilerinin olmadığını varsayıyorum.)
  • 5 analog servo motoru Arduino Compatible Mega Sensor IO Expansion Shield ile kontrol edemez miyiz. Breadboard mu kullanmamız gerekiyor
  • IO expansion shield bir mux unitesi. sadece i/o pinlerini çoğaltıyor. (genelde sensör gibi sıralı veri gönderebilen işlerde 13 pinden fazlasını bağlamak için kullanılır.)
    motor kullanmak için motor kontrol modülüne ihtiyacınız var.
    bunu kendiniz de yapabilirsiniz, veya hazır da alabilirsiniz. 5 servoyu aynı anda kontrol etmek için kendiniz devre hazırlasanız daha iyi olur sanki. hiç çok motor kullanmadığımdan çok emin değilim bu konuda.
  • http://www.aliexpress.com/item/AS-6DOF-aluminium-robotic-arm-including-electric-control-part/527594098.html şu robot kolu örnek alarak şöyle bir liste hazırladık
    -30cm JST to Molex Sensor Cable
    -Infrared Proximity Sensor - Sharp GP2Y0A21YK
    -Robotbase Sensor Shield V5.0 for Arduino
    -Robotbase 32 Servo Controller
    -F/F 300mm Jumper Wires (40 pcs)
    ve robotistan dan uno r3
    servolarda
    -2 adet HS-485 HB servo ve 3 adet HS-311 standart 1 adet HS-55 sub-micro

    Bunları alsak robotu sorunsuz yapabiliriz heralde.Birde ekstra güç kaynağına gerek olur mu yoksa usb yeter mi?
  • arduino uno r3 üzerine 12 ch pololu servo controller ile HC-SR04 Ultrasonik Mesafe Sensörünü bağlamak mümkün mü ayrı bir sensor shield almak gerekir mi?
  • 12ch pololu anladığım kadarıyla usb aryüzünden çalıştırılmak için hazırlanmış bir controller. arduino üstünden kontrol edilse de kaç pine ihtiyaç duyuyor, kullanımı kolay mı anlamadım.
    muhtemelen her ikisini de tek bir arduino uno ile çalıştırabilirsiniz. fakat servo controller'ın doğrudan uno üstünden kontrolü verimli olur mu tam emin değilim. örnek uygulamalarına bakmak gerekli.
  • HCSR04 bağlayabilirsin. Ben uno R3 le kullanıyorum. 200cm ye kadar hassas mesafe ölçebiliyorum.
  • Elimizde Arduino Uno R3 , pololu 12ch servo controller ,1 adet hs-805bb min. 830mA, 1 adet hs-815bb min. 830mA, 1 adet hs-645mg min. 430mA ,1 adet hs-422 min. 180mA ve 1 adet powerhd micro servolar var. Güç kaynağı olarak http://www.robotistan.com/12V-5000mA-Adaptor,PR-999.html
    bunu kullanmayı düşünüyoruz acaba uygunmudur. Kartlara zarar verir mi?
  • Uno'nun girişine doğruran 12V verirseniz bir kaç gün içerisinde voltaj regülatörü patlar.
    9V'dan fazla vermemeniz uno'nun ömrü için iyi olur. en ideali 6V besleme kullanmanız.
    ben 6V 1.3A kuru akü ile sorunsuz şekilde kullanıyordum. mobilite gerekli ise bir kaç tane 6V 1.3A kuru akü ile sistemi rahatlıkla besleyebilirsiniz.
    http://www.robotistan.com/6V-13A-Kuru-Aku,PR-541.html
  • robot kol yapıyoruz mobil olması gerekmiyor yukarıda saydığım servolara göre güç kaynağı arıyoruz başka bir öneriniz var mı?
  • Linkini verdiğiniz adaptör uygun olur ama servolarınızın kaç voltluk olduğu da önemli. 5 voltluk servoya 12 volt verirseniz yanma olasılığı var. Yanmasa da yıpratır, çabuk bozar.

    5V adaptör kullanırsanız da sistemin anlık akımını karşılayacak amperajda bir adaptör seçmeniz gerekir. Yukarıda yazdığınız kadarıyla anlık yaklaşık 3000-3500mA çekiyorsunuz. 5000mA 'lık bir adaptör uygundur. Servolarınız 12 voltluksa ve 12 voltu sadece servolara uygulayacaksanız linkini verdiğiniz adaptör olabilir.

    Kaan'ın da dediği gibi Arduino'ya 12 V vermeyin.
  • 6v 5ah veya 10ah lik akülerden kullanacaz sorun çıkartmaz heralde.
  • Projenize uygun görünüyor. Tüketiminize ve ne kadar süre dayanması gerektiğine göre Ah saat hesabı yaparsınız.

    Devreniz 1000mA çekiyorsa ve 10Ah'lik akü kullanacaksanız akünüz yaklaşık 10 saat gider.
  • arduino ve pololu maestro servo kontrol kartı arasında seri haberleşme bağlantısı kurmasını bilen var mı? Programlamada sıkıntı yaşıyoruz tx ve rx i birbirine bağlayıp şu kodu yazıyoruz ama hata veriyor

    #include
    #define txPin 4
    #define rxPin 3
    NewSoftSerial mySerial(rxPin, txPin);
    void setup()
    {
    mySerial.begin(9600);
    delay(1000);
    }
    void set_target(unsigned char servo, unsigned int target)
    {
    mySerial.print(0xAA,BYTE); //start byte
    mySerial.print(0x0C,BYTE); //device id
    mySerial.print(0x04,BYTE); //command number
    mySerial.print(servo,BYTE); //servo number
    mySerial.print(target & 0x7F, BYTE);
    mySerial.print((target >> 7) & 0x7F,BYTE);
    }
    void loop()
    {
    delay(1000);
    set_target(0, 8000);
    delay(1000);
    set_target(1, 4000);
    delay(1000);
    set_target(0, 6000);
    delay(1000);
    set_target(1, 6000);
    delay(1000);
    set_target(0, 4000);
    delay(1000);
    set_target(1, 8000);
    }
  • Bunlar maestroya serialdan veri gönderiyor. Peki maestro gelen verilerle ne yapması gerektiğini biliyor mu? Ona kod yazdınız mı? Kod yazmadan sizin gönderdiğiniz verileri işleyebilmesi için önceden yüklenmiş, bu işi yapan bir yazılımı olması lazım değil mi? Hangi kütüphaneyi kullandınız?
  • NewSoftSerial kullanıyoruz. include dan sonra var çıkmamış.

    #include

    #define txPin 4
    #define rxPin 3

    NewSoftSerial mySerial(rxPin, txPin);

    void setup()
    {
    mySerial.begin(9600);
    delay(1000);
    }

    void set_target(unsigned char servo, unsigned int target)
    {
    mySerial.print(0xAA,BYTE);
    mySerial.print(0x0C,BYTE);
    mySerial.print(0x04,BYTE);
    mySerial.print(servo,BYTE);
    mySerial.print(target & 0x7F, BYTE);
    mySerial.print((target >> 7) & 0x7F,BYTE);
    }

    void loop()
    {
    delay(1000);
    set_target(0, 8000);
    delay(1000);
    set_target(1, 4000);
    delay(1000);
    set_target(0, 6000);
    delay(1000);
    set_target(1, 6000);
    delay(1000);
    set_target(0, 4000);
    delay(1000);
    set_target(1, 8000);
    }





    ERROR


    'NewSoftSerial' does not name a type

    sketch_dec16a:28: error: 'NewSoftSerial' does not name a type
    sketch_dec16a.ino: In function 'void setup()':
    sketch_dec16a:34: error: 'mySerial' was not declared in this scope
    sketch_dec16a.ino: In function 'void set_target(unsigned char, unsigned int)':
    sketch_dec16a:42: error: 'mySerial' was not declared in this scope
    sketch_dec16a:42: error: 'BYTE' was not declared in this scope

    As of Arduino 1.0, the 'BYTE' keyword is no longer supported.
    Please use Serial.write() instead.
  • ERROR kısmı kütüphaneyi düzgün yükleyemediğinizi/kullanamadığınızı ve eski versiyon kullandığınızı gösteriyor. 1.0.3 versiyonu çıktı, onu kullanın.
  • yeni versiyonunu yükledim gene aynı hatayı verdi. http://www.darrenfeetham.com/18ssc.html
    Bu sayfanın en altındaki örneği yapmaya çalışıyoruz ama hata veriyor.
  • NewSoftSerial kütüphaneye eklemeden öncede sketchde renkli olarak yazıyordu. internetten kütüphane dosyasını bulup librarynin içine attım ama gene hata veriyor
  • NewSoftSerial gördüğünüz yerlere SoftwareSerial yazın.
  • kütüphanenin renkli olarak görünmesi şart mı arduinonun içindeki softwareserial i ekleyince siyah yazıyor çünkü
  • Önemli değil. S'leri büyük yazın.
  • arduinonun eski sürümlerinde kodlar hata vermiyor ama genede servo kontrol kartında ki kırmızı led yanıyor yani servolar hareket etmiyor.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.