[아두이노] 로보티즈 다이나믹 셀 MX-12W를 Arduino로 제어하기 (without 3 state buffer)

몇달 전부터 말벌 인식 및 타격 시스템을 만들기 시작 하였다.

CCTV에서 사용되는 팬틸트를 사용하다 보니 덩치가 크고 느리게 작동 되어 여러가지 고민 중 헬 박사님이 로보티즈 다이나믹 셀을 추천해 주셔서 연동을 진행 하게 되었다. 

d8958fe2251e18cee872bd8b0b200c40.jpg

 연동 대해서 구글 검색을 통하여 확인 하였으며, 다이나믹 셀 아두이노 쉴드를 사용 하는 방법이 가장 손쉬워 보였으나, 해당 모듈은 Hardware Serial을 사용하여 다아니믹 셀과 통신 하도록 설계되어 외부 기기와 통신에 불편한 점이 보였다. 


 당장 관련 쉴드가 없어 특별한 부품 없이 로보티즈 다나믹 셀의 연동 할수 있는 샘플 코드로 작업 해보았다.


우선 다이나믹 셀의 통신 속도가 초기값 1Mbps => 57600bps 변경은 로보티즈 U2D2와 설정 프로그램 사용

(설정 프로그램 통신 속도, 관절 / 바퀴 모드, 동작 각도 등 세부 변경이 가능)

thumb_DXL_StartSet03_500.jpg

다이나믹 스타터 세트를 구매 후 다아니믹 셀과 연결

197ae2f211d822dfa077dbea53801765.jpg
PC제어 S/W에서 필자는 2개의 다이나믹 셀을 사용 하고 있어 가각 ID를 1과 2를 부여, Baud Rate와 CW, CCW의 동작 각도 변경 


DynamixelArduino_bb.png 

아두이노 회로 연결 8번 핀을 Half Duplex 통신 (RS485통신)  


필자는 처음 아두이노 나노 연동 하였으나 미묘한 설정 문제인지 실패하여 아두이노 우노 연동 하였으며  문제 없이 동작 하는 것을 확인 하였다.


6b7321f25531a76dedbbee97cab843bf.jpg edc119b7426e11bdc6c649e192b1c344.jpg
 

문제는 통신이 1개의 선을 사용하여 Half Duplex 통신을 하고 있어 데이타를 보내고 받기를 동시할 경우 문제가 예상되며 1~2개 정도 저속으로 연동하는 것은 큰 문제는 없어 보이나 수십개를 연동할 경우 안정성이 떨어지는 문제가 예상된다. 그래서 다이나믹 셀 초기 설정 1M 속도에서 57600bps 낮추 것이 아닌지 추측 되며 초기 설정으로 테스트는 추후 필요해 보인다.


95bf5ce9c3ad9dbecbae19c10e33dc71.png 

다이나믹 셀과 통신 시 중간 모듈 (74LVC2G241 / NC7WZ241등)이 보내는 데이타 받는 데이타 중간에 버퍼 역할을 해주면서 DIRECTIO_PORT를 통하여 TxD와 RxD를 구분한다. 실제 로보티즈에서 제작한 쉴드 S/W에서 DIRECTIO_PORT 사용 부분이 확인 되고 있다.


82361d44aa06b0e73611df7e43886a0c.png
 중간 모듈 없이 다이믹셀과 RS-485 통신시 오류를 최소화 하기 위한 방법으로 Teensy 3.1에서는 Rx/Tx에 100옴 저항을 넣는 방법도 검색 되고 있으나 추가는 테스트는 아직 해보지 않았다.


26049d203cf659e23651d070d1e7de28.png

 아두이노 나노와 우노의 미묘한 설정 차이로 동작하지 않는 부분에 대해서 한가지 추측은 사용 전압이 상이한부분이 있지 않나 의심 되며 Teensy 3.1에서 Poll up 저항 22k 연결 내용이 있어 추가 확인이 필요하다.

(테스트 시 U2D2 로보티즈 제어기를 연결 해두면 아두이노 나노에서 동작이 확인 된다.)


 지금 까지는 중간 모듈이 없을때 쓰는 편법 이고 정석은 RS-232 에서 RS-485변환 모듈 사용을 사용해서 안정석을 확보해야 한다.

6d87902e238bca8d14e394c5d3597bf4.jpg

헬 박사님이 만드신 로보티즈 용 RS-232 <-> RS-485 변환기기 (택배로 현재 배송 중)


f9c47d2470d38bd8578b31aad7aa286d.jpg

헬박사님으로 전달 받은 회로도


RE / DE 는 신호에 평소엔 Low로 수신모드로 놓고 제어 데이터 보내기 직전 H로 만드시고 보내고 난후 즉시 (약 1m초 후) Low로 보내기 프로그램 제작 하면 된답니다.


 MX-12W 팬틸트 제작 후 동작 시 1~2도 정도의 유격이 발생되어 로보티즈에 기술 문의 결과 상위 제품군 사용에 대한 답변을 받았으며, 제작 비용의 문제로 다른 대안에 대한 고민이 필요한 상황이다.


 사용하시는 MX-12W 제품은 플라스틱 기어이며, 보급형 다이나믹셀 특성상 백래시(Backlash)가 큽니다.

XM, XH 시리즈 등 금속 기어를 사용하는 다이나믹셀을 사용하시면 유격을 줄일 수 있습니다.





  















0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 스토리

번호 제목 글쓴이 날짜 조회수
52 일반 Ender-3 v3 SE PLA 필라멘트 3롤 사용 후기 icon 양재동메이커 12-23 1,329
51 일반 Ender-3 V3 SE 3D 프린터 와 안착 불량 +1 icon 양재동메이커 12-12 1,481
50 일반 레이저 커터 동파 사고 icon 양재동메이커 04-23 5,443
49 일반 기존 고양이 마이크로 파이썬으로 포팅 - 밀린 숙제하기 icon 양재동메이커 01-03 7,376
48 일반 휴식 icon 청계천도사 12-13 6,719
47 일반 기기를 수리한다는 것 icon 청계천도사 09-09 7,397
46 일반 수학 공부 왜 하나요? icon 청계천도사 07-20 8,194
45 일반 말벌 인식 및 레이저 타격기 V 2.0 icon 양재동메이커 08-23 12,528
44 일반 급~한~개~발!! icon 청계천도사 04-08 13,902
43 일반 말벌 레이저 타격 테스트 모듈 icon 양재동메이커 03-10 14,898
42 일반 2021 피우다 프로젝트 출품작 소개 자료집 icon HellMaker 01-12 14,469
41 일반 서보 모터 관련 여러가지 문제 icon 양재동메이커 11-19 15,280
40 일반 자이로센서 roll, pitch, yaw 데이터 처리 구조 #2 icon HellMaker 03-01 15,725
39 일반 자이로센서 roll, pitch, yaw 데이터 처리 구조 #1 icon HellMaker 02-22 25,106
38 일반 MECCANOID G15 Personal Robot icon 양재동메이커 02-10 13,168
37 일반 레이저 커터 구입을 위한 TMI icon 양재동메이커 02-03 13,107
36 일반 1회용 마스크 수집 시스템 icon 양재동메이커 12-31 13,831
35 일반 과메기전 3차 전시자료 - 우리가 세상을 아름답게 만드는 방법 icon HellMaker 12-27 13,159
34 일반 과메기전 3차 전시자료 - 우리가 세상을 바꾸는 방법 icon HellMaker 12-25 14,284
33 일반 과메기전 2차 전시자료 - 우리가 세상을 다가가는 새로운 방법 icon HellMaker 12-24 13,124