RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

đồ án chế tạo robot rắn.(worm robot)

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • robinson4u
    Nhập môn đệ tử
    • Dec 2008
    • 8

    #1

    đồ án chế tạo robot rắn.(worm robot)

    em vừa bảo vệ xong đồ án tốt nghiệp về robot này, đã hoàn thành, di chuyển như rắn luôn robot của em muốn phát triển thêm lắp nhiều cảm biến để có thể leo cầu thang, nhưng kinh phí tốn quá nên đành chịu, anh em nào muốn phát triển thêm robot này không. Nếu phát triển thêm em chắc chắn robot sẽ có ứng dụng nhiều lắm.

    đây là video robot rắn.


    robot được làm từ những vật liệu đơn giản là nhựa, robot ghép lại từ nhiều khúc với nhau, các khớp đều là khớp quay, và điều khiển bằng Pic 18f4431, điều khiển 8 động cơ servo RC. để phối hợp chuyển động đồng bộ, e dùng 2 timer1, 5(16 bit ) tạo xung điều khiển luôn cho cả 8 servo...

    Và đây là code lập trình.
    #include<18f4431.h>
    #fuses XT,NOLVP,NOWDT,PUT
    #use delay (clock=4000000) // defind crystal = 4MHz
    #use Fast_IO(C)
    //#use rs232(baud=19200,xmit=PIN_C6, rcv=PIN_C7)
    // Uses RS232 Baud-rate 19200 , TX PIN = RC6, RX PIN = RC7
    static int mark1, mark2, mark3, mark4, mark5, mark6, mark7, mark8;
    static int16 count1, count5;
    static int16 loop1, loop5;

    int16 const q1[]={ 64365,64335,64305,64265,64225,64195,64165,64125,64 095,64075,64075,64085,64105,64135,64165,64205,6424 5,64275,64305,64345,64375,64395,64395,64385,}; //63
    int16 const q2[]={ 64365,64405,64415,64425,64415,64395,64355,64325,64 285,64245,64195,64135,64105,64065,64055,64045,6405 5,64075,64115,64145,64185,64225,64275,64335,};//63
    int16 const q3[]={ 64105,64145,64205,64245,64295,64335,64385,64405,64 415,64415,64405,64385,64365,64325,64265,64225,6417 5,64135,64085,64065,64055,64055,64065,64085,}; //63
    int16 const q4[]={ 64105,64075,64045,64055,64065,64085,64105,64145,64 205,64245,64295,64345,64365,64395,64425,64415,6440 5,64385,64365,64325,64265,64225,64175,64125,};//63
    int16 const q5[]={ 64355,64305,64265,64205,64155,64125,64095,64075,64 045,64045,64055,64085,64115,64165,64205,64265,6431 5,64345,64375,64395,64425,64425,64415,64385,}; //63
    int16 const q6[]={ 64375,64405,64415,64425,64415,64375,64345,64305,64 265,64225,64175,64125,64095,64065,64055,64045,6405 5,64095,64125,64165,64205,64245,64295,64345,};//63
    int16 const q7[]={ 64125,64165,64225,64265,64315,64365,64385,64405,64 425,64415,64405,64375,64345,64305,64245,64205,6415 5,64095,64125,64065,64045,64055,64065,64095,}; //63
    int16 const q8[]={ 64095,64095,64075,64095,64105,64135,64185,64225,64 245,64295,64325,64375,64375,64375,64395,64375,6436 5,64335,64285,64245,64225,64175,64145,64095,};


    int16 const Max1 =23;
    int16 const Max5 =23;
    static int V1, V5;


    #INT_TIMER1
    void q_timer1() {

    disable_interrupts(GLOBAL);

    if (count1>=Max1){
    count1=1;
    loop1=0;
    }
    //loop++;
    if (count1==0)
    V1=50;
    else
    V1=1;

    if(loop1>V1)
    {
    loop1=1;
    if(count1<=count5)

    count1++;

    }

    if ((mark1==1)&(mark2==1)&(mark3==1)&(mark4==1))
    {
    set_timer1(50536);
    output_low(PIN_C0);
    output_low(PIN_C1);
    output_low(PIN_C2);
    output_low(PIN_C3);
    mark1=2;
    mark2=2;
    mark3=2;
    mark4=2;
    loop1++;
    }else if(mark1==2){
    set_timer1(q8[count1]);
    output_high(PIN_C0);
    mark1=1;
    }else if(mark2==2){
    output_low(PIN_C0);
    set_timer1(q7[count1]);
    output_high(PIN_C1);
    mark2=1;
    }
    else if(mark3==2){
    output_low(PIN_C1);
    set_timer1(q6[count1]);
    output_high(PIN_C2);
    mark3=1;
    }
    else if(mark4==2){
    output_low(PIN_C2);
    set_timer1(q5[count1]);
    output_high(PIN_C3);
    mark4=1;
    }

    enable_interrupts(GLOBAL);

    }

    #INT_TIMER5
    void q_timer5() {

    disable_interrupts(GLOBAL);

    if (count5>=Max5){
    count5=1;
    loop5=0;
    }
    //loop1++;
    if (count5==0)
    V5=50;
    else
    V5=1;

    if(loop5>V5)
    {
    loop5=1;
    if(count5<=count1)

    count5++;

    }

    if ((mark5==1)&(mark6==1)&(mark7==1)&(mark8==1))
    {
    set_timer5(50536);
    output_low(PIN_C4);
    output_low(PIN_C5);
    output_low(PIN_C6);
    output_low(PIN_C7);
    mark5=2;
    mark6=2;
    mark7=2;
    mark8=2;
    loop5++;
    }else if(mark5==2){
    set_timer5(q4[count5]);
    output_high(PIN_C4);
    mark5=1;
    }else if(mark6==2){
    output_low(PIN_C4);
    set_timer5(q3[count5]);
    output_high(PIN_C5);
    mark6=1;
    }
    else if(mark7==2){
    output_low(PIN_C5);
    set_timer5(q2[count5]);
    output_high(PIN_C6);
    mark7=1;
    }
    else if(mark8==2){
    output_low(PIN_C6);
    set_timer5(q1[count5]);
    output_high(PIN_C7);
    mark8=1;
    }

    enable_interrupts(GLOBAL);

    }

    //================================================== ============================
    main()
    {
    set_tris_C(0);
    output_C(0x0);
    mark1=1;
    mark2=1;
    mark3=1;
    mark4=1;
    mark5=1;
    mark6=1;
    mark7=1;
    mark8=1;
    loop1=1;
    count1=0;
    loop5=1;
    count5=0;
    setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
    setup_timer_5(T5_INTERNAL|T5_DIV_BY_1);
    enable_interrupts(GLOBAL);
    enable_interrupts(INT_TIMER1);
    enable_interrupts(INT_TIMER5);

    while(TRUE);

    }

    //delay (in ms) = (# ticks) * 4 * prescaler * 1000 / (clock frequency)
    //delay (in ms) = (# ticks) * 4 * prescaler * 1000000 / (clock frequency)
    //sticks=65535-number
    //20=count*4*1000/4000000 count=45535
    //1.5=count*4*1000/4000000 count=64035
    //2=count*4*1000/4000000 count=63535
    //1.3 64235
    //1.8 63735
    //0.6 count=64935
    //2.4 count=63135

    //20 = n * 4 *8 * 1000 / 4000000
    //q3=256-n
    //2=n * 4 *8 * 1000 / 4000000

    vài bức ảnh về chú robot rắn của t :



  • manhha2799
    Đệ tử 5 túi
    • Apr 2007
    • 121

    #2
    Đoạn phim vô sao ko xem được ta, chỉ thấy tấm hình thôi.
    Bảng ledsigns chất lượng cao...
    http://www.ledviet.info - manhha2700@yahoo.com
    Đt:0949299699

    Comment

    • cong1810
      Đệ tử 4 túi
      • Sep 2007
      • 62

      #3
      nhìn cũng thú vị thật.
      nhưng cách di chuyển như vậy hình như ko phải của rắn!!!

      Comment

      • hopeman
        Đệ tử 6 túi
        • Jul 2007
        • 144

        #4
        Rất tuyệt vời , sẽ có người tiếp tục cùng bạn đấy , yên tâm
        mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com

        Comment

        • lecanhhuy
          Đệ tử 2 túi
          • Nov 2008
          • 28

          #5
          Hix nhìn giống sâu hơn là con rắn !!!

          Comment

          • manhha2799
            Đệ tử 5 túi
            • Apr 2007
            • 121

            #6
            Con này ko di chuyển ngang được, chỉ đi thẳng thôi. Nhìn cũng giốn giống sâu.
            Bảng ledsigns chất lượng cao...
            http://www.ledviet.info - manhha2700@yahoo.com
            Đt:0949299699

            Comment

            • thaithien
              Đệ tử 7 túi
              • Aug 2007
              • 211

              #7
              Phần cơ khí có vẻ đơn giản , phần bên trong thì chưa thấy rõ lắm.

              Comment

              • robinson4u
                Nhập môn đệ tử
                • Dec 2008
                • 8

                #8
                đi ngang được chứ sếp. chỉ việc thay đổi chút về cơ khí là đi ngang được, em đã làm rồi đi theo mọi hướng,đặt 1 khớp nằm ngang là rẽ trái phải, quay tròn ngay. e đang thử làm lại cơ khí để robot có thể leo ống nước dựng đứng, hoặc lăn tròn để leo lên cột nước.
                he he, cũng đúng nó là worm robot mà.

                Comment

                • thaithien
                  Đệ tử 7 túi
                  • Aug 2007
                  • 211

                  #9
                  Thế thì hay rồi.Làm xong rồi cho xin cái clip nghen

                  Comment

                  • mualac_0784
                    Nhập môn đệ tử
                    • Nov 2008
                    • 5

                    #10
                    có ai có chương trình ghép nối máy tính =cổng nối tiếp điều khiển cánh tay robot ko?
                    giúp với.

                    Comment

                    • mylove304
                      Nhập môn đệ tử
                      • Oct 2008
                      • 6

                      #11
                      tui thấy robot rắn của bạn di chyển mà thấy ghiền.hay quá

                      Comment

                      • thinh001
                        Đệ tử 1 túi
                        • Nov 2008
                        • 15

                        #12
                        mấy anh có thể cho em cái sơ đồ nguyên lý được ko

                        Comment

                        • vanphuocspkt
                          Nhập môn đệ tử
                          • Dec 2010
                          • 1

                          #13
                          co ai co taỉ lieu ve worm robot cho minh xin voi.minh cam on cac ban nhieu.neu co cac ban goi giup cho minh vao dia chi mail :dobichdan@gmail.com

                          Comment

                          • FXR
                            Nhập môn đệ tử
                            • Dec 2007
                            • 2

                            #14
                            bạn robinson4u cho mình xin số điện thoại được không mình đang định lắp thêm 1 chiếc camera nữa trên con robot rắn cho giống tây.

                            Comment

                            Working...