...
POST No. 2590610
외부 MCU를 이용한 다이나믹셀 제어
2019-08-21 18:36:28 miniim24

XM430-350-R 모터를 다른 MCU로 제어하기 위해서 아래와 같이 준비했습니다.

1) 하드웨어 세팅

MCU의 SCI TX,RX 각단자를 485EXP 보드의 J8 콘낵터 3번(DXL_RXD3), 4번(DXL_TXD3)에 연결

통신속도 57600baudrate로 세팅

 

2) 테스트 데이터 패킷

ID:1번, Add:64(torque), data: 1을 써서 토크를 enable할려고 합니다.

unsigned char TxPacket[13]={0xff,0xff,0xfd,0x00,0x01,0x06,0x00,0x03,0x40,0x00,0x01,0xDB,0x66};

CRC_L = 0xDB, CRC_H = 0x66은 update_crc(0, TxPacket, 11)를 이용해서 아래 데이터로 계산했습니다.

TxPacket[13]={0xff,0xff,0xfd,0x00,0x01,0x06,0x00,0x03,0x40,0x00,0x01}

 

문제는 이렇게 통신속도 맞추고, 232통신을 485로 변환해서 모터에 연결했고, 데이터 패킷을 CRC까지 계산하서 송신했는데,

다이나믹셀쪽에서는 아무런 반응이 없습니다.

 

어느 부분이 잘 못됐을까요? 확인 부탁드립니다. 

2019-08-21 18:36:28
miniim24
2019-08-22 09:43:11 유기웅

안녕하세요.

 

아래 링크의 예제들을 보시고 참고해주세요.

http://emanual.robotis.com/docs/kr/dxl/protocol2/#%EC%98%88%EC%A0%9C-1 

 

다이나믹셀에 설정된 통신속도 및 펌웨어 버전, ID값 등을 확인하시고 그에 맞게 작성을 해주셔야 합니다.

 

또한, 사용하시는 MCU에서 패킷을 정상적으로 보내는지도 확인이 필요하며, 

 

전원, 패킷, 다이나믹셀 설정 등 여러가지 확인을 해주셔야 합니다.

 

감사합니다.

2019-08-22 09:43:11
ykw4463
2019-08-22 13:26:32 손의형

안녕하세요,

 

RS-485타입의 다이나믹셀과 정상적인 통신을 위해서는 아래와 같이 RS485 통신회로를 필요로 합니다.

CPU_RXD와 CPU_TXD가 MCU의 RX, TX핀이며, MAX485 우측의 D+와 D-가 다이나믹셀의 RS-485 통신 핀에 연결될 수 있습니다.

http://emanual.robotis.com/docs/kr/dxl/x/xm430-w350/#rs-485-통신 

 

일반적으로 MCU에서 지원하는 TX/RX는 RS485의 통신 하드웨어 규격과 호환되지 않습니다.

 

감사합니다.

comment
2019-08-22 14:14:39 miniim24
조언들을 참고하여 데이터 전송해서 Dynamixel 모터의 LED를 ON하는데 성공했습니다.
이제부터 토크, 위치 테스트도 진행해 보겠습니다.
감사합니다.
2019-08-22 14:14:39
miniim24
2019-08-22 13:26:32
will_son
답변달기
웹에디터 시작 웹 에디터 끝