Home > 포럼 > 질문&답변
질문 하시기 전에 검색을 통해 원하는 질문/답변 내용을 찾아봐주세요.

rx-24f //sync_write 문의입니다.

다이나믹셀 조회 수 2721 추천 수 0 2010.09.01 14:00:45

안녕하세요. 직접 IAR컴파일러로 다이나믹셀 제어 소스를 만들고있는데요,

sync_write모드로 아예 동작조차 하질않네요,

아래 소스를 봐주세요.


#define num_of_motor 18


void RX_sync_move(unsigned int ID_1_goal, unsigned int ID_1_speed, unsigned int ID_2_goal, unsigned int ID_2_speed,

                  unsigned int ID_3_goal, unsigned int ID_3_speed, unsigned int ID_4_goal, unsigned int ID_4_speed,

                  unsigned int ID_5_goal, unsigned int ID_5_speed, unsigned int ID_6_goal, unsigned int ID_6_speed,

                  unsigned int ID_7_goal, unsigned int ID_7_speed, unsigned int ID_8_goal, unsigned int ID_8_speed,

                  unsigned int ID_9_goal, unsigned int ID_9_speed, unsigned int ID_10_goal, unsigned int ID_10_speed,

                  unsigned int ID_11_goal, unsigned int ID_11_speed, unsigned int ID_12_goal, unsigned int ID_12_speed,

                  unsigned int ID_13_goal, unsigned int ID_13_speed, unsigned int ID_14_goal, unsigned int ID_14_speed,

                  unsigned int ID_15_goal, unsigned int ID_15_speed, unsigned int ID_16_goal, unsigned int ID_16_speed,

                  unsigned int ID_17_goal ,unsigned int ID_17_speed, unsigned int ID_18_goal, unsigned int ID_18_speed

                 )

{

  unsigned char i,data[96];

  unsigned int check_sum=0;

  unsigned char length = 0x04;

  usart0_transmit(0xff);

  usart0_transmit(0xff);

  

  data[0]=0xfe;   // Broad casting ID

  data[1]=(length+1)*num_of_motor + 4; // length (L+1)*N+4 5*18+4 = 94

  data[2]=0x83; // instruction

  data[3]=0x1e; //start adrress

  data[4]=length; //data length : each motor

  data[5]=1;

  data[6]=(unsigned char)(ID_1_goal&0x00ff);      // position (L)

  data[7]=(unsigned char)((ID_1_goal>>8)&0x00ff); // position (H)

  data[8]=(unsigned char)(ID_1_speed&0x00ff);      // speed (L)

  data[9]=(unsigned char)((ID_1_speed>>8)&0x00ff); // speed (H)

  data[10]=2; 

  data[11]=(unsigned char)(ID_2_goal&0x00ff);      // position (L)

  data[12]=(unsigned char)((ID_2_goal>>8)&0x00ff); // position (H)

  data[13]=(unsigned char)(ID_2_speed&0x00ff);      // speed (L)

  data[14]=(unsigned char)((ID_2_speed>>8)&0x00ff); // speed (H)

  data[15]=3; 

  data[16]=(unsigned char)(ID_3_goal&0x00ff);      // position (L)

  data[17]=(unsigned char)((ID_3_goal>>8)&0x00ff); // position (H)

  data[18]=(unsigned char)(ID_3_speed&0x00ff);      // speed (L)

  data[19]=(unsigned char)((ID_3_speed>>8)&0x00ff); // speed (H)

   ....~


   .... 1~18번모터까지 제어

  data[90]=18; 

  data[91]=(unsigned char)(ID_18_goal&0x00ff);      // position (L)

  data[92]=(unsigned char)((ID_18_goal>>8)&0x00ff); // position (H)

  data[93]=(unsigned char)(ID_18_speed&0x00ff);      // speed (L)

  data[94]=(unsigned char)((ID_18_speed>>8)&0x00ff); // speed (H)

  

  for(i=0;i<95;i++) {

    usart0_transmit(data[i]);            //이부분은 USART로 송신하는 부분이라 문제는 없습니다.

    check_sum+=data[i];

  }

  

  // Check Sum 결정

  data[95]=~(unsigned char)(check_sum&0x00ff);

  usart0_transmit(data[95]);

  __delay_cycles(16000);

}


이렇게 되있는데, 제 계산으로는 length 길이도 맞고 check sum도 문제가없다고 생각되구요,,

그리고 각 다이나믹셀의 수신버퍼 한계용량도 넘지 않는것같은데,, 뭐가문제인지 봐주시면 감사하겠습니다.

아 그리고 이외의 다른동작들은 다 잘 되더라구요.


그리고 한가지 질문을 더 추가하자면, sync_write동작 말고 개별적으로 모터를 움직여서 동작을 만들고있는데요

연속된 동작을 하다보면 다이나믹셀이 보내는 값을 받지 못해서 움직이질 않더라구요

그래서 동작이 제대로 안되는 경우가 생기기도 합니다.

이건 송신 속도나 노이즈때문일까요? 대회가 얼마 안남았네요,, 마음만 자꾸 급해집니다^^;

그럼 좋은하루 되시고 답변 기다리고 있을게요~


[레벨:30]ROBOTIS

2010.09.02 10:38:17
*.112.9.210

안녕하세요. 로보티즈입니다.

죄송합니다. 직접 만드신 프로그램에 대해 디버깅은 지원은 되지 않습니다.

Tech Support에 예제가 올라와 있으니 참고해주세요.

Dynamixel SDK

도움을 못드려 죄송합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 기타 주문시 참고사항 ROBOTIS 2006-11-03 118675
공지 기타 [필독] A/S 접수 방법 ROBOTIS 2007-04-10 119213
공지 기타 온라인 Tech Support Center 오픈 ROBOTIS 2009-10-27 91434
공지 바이올로이드 바이올로이드 종합 키트를 프리미엄 키트로 업그레이드하기 ROBOTIS 2011-01-20 44724
» 다이나믹셀 rx-24f //sync_write 문의입니다. [1] 원종하 2010-09-01 2721
3385 다이나믹셀 문의 드립니다. [1] 카틀 2010-09-01 2553
3384 올로 제가 지금 중3인데요... [1] 로봇만들래요 2010-08-31 2849
3383 기타 cm-700 밧데리 소켓 관련입니다 [1] 박인석 2010-08-31 2731
3382 다이나믹셀 다이나믹셀 제어 문의입니다 [1] 마프마프 2010-08-31 2563
3381 올로 올로 프로그램 [1] 천안1-아프로만 2010-08-30 2780
3380 바이올로이드 휴머노이드로봇에대해문의드립니다~ [1] aabboo 2010-08-30 2507
3379 올로 dc모터 2핀케이블 구할 수 있나요 [1] 로보틱 2010-08-30 2775
3378 다이나믹셀 다이나믹셀 아이디 부여 [3] 아침햇살 2010-08-30 2444
3377 바이올로이드 교육 문의 드립니다. [1] 운명 2010-08-30 2496
3376 바이올로이드 사용자장치 사용방법에 대한 질문입니다. [3] 로보티스트 2010-08-29 2471
3375 바이올로이드 TXD 점등. [1] R.J 2010-08-27 2717
3374 다이나믹셀 다이나믹셀 구동관련 [1] 아침햇살 2010-08-26 3036
3373 다이나믹셀 모터가 움직이지 않아요 [1] lightnote 2010-08-26 2900
3372 올로 RC-100 적외선 조종 모드에서 5, 6번 버튼 사용 방법? [1] 검프 2010-08-26 2912
3371 올로 드라이버다운로드 [6] rladyddnr109 2010-08-24 3076
3370 바이올로이드 밸런스 센서(AX-S20) 구입 문의 [1] 현혜선 2010-08-24 2845
3369 다이나믹셀 pc 와 cm-5 다이나믹셀 연결시 문제 [1] acade5 2010-08-23 2865
3368 바이올로이드 RC-100 리모컨 상태 관련 문의 [2] 검프 2010-08-22 2769
3367 바이올로이드 모션편집기 질문 드립니다. file [1] 통영미소 2010-08-22 2771

XE Login