본문 바로가기
컴퓨터/아두이노

아두이노 우노를 활용한 로보티즈 모터(AX-18A) 제어

by 로봇과학자 2017. 11. 23.

혹시 아두이노로 로보티즈 모터를 제어할 수 있을까요?

급 궁금증이 생겨 로보티즈 모터를 아두이노로 제어해 보고자 합니다.


먼저, 제어하고자 하는 모터를 골라봅니다. 

AX-18A 모델이 괜찮아보이네요, MX시리즈의 로보티즈 모터에 비해 상대적으로 저렴하네요.

전원도 쉽게 넣어주기 위해 여러가지 부품을 더 구매합니다. 

 


다음과 같이 부품을 준비합니다.

아두이노 우노 1개, 로보티즈 모터 AX-18A 1개, SMPS 12V 5A 1개, SMPS2Dynamixel 1개,

브레드보드 1개, 기타 케이블...


준비가 되었으니 혹시나 관련 라이브러리들이 없는지 찾아봅니다.

구글에 Arduino robotis ttl로 검색하니 역시나 있네요.


https://github.com/descampsa/ardyno


Arduino library for dynamixel servos

This library allows you to control the Robotis servo motors that use a custom half-duplex serial protocol. You can control TTL models directly from Arduino, without any additional hardware, using hardware or software UART. Communication speed up to 1 MBd is supported with hardware serial. The most useful functions (speed, position, wheel/joint mode, ...) are provided via a very simple high level interface (see test_motor example), but other operations can be done using the generic read/write functions (see test_led example).


라고 적혀 있네요. 되겠지 하면서 적용해 봅니다.

위의 라이브러리를 받은 후에 아두이노 프로그램을 열어봅니다.


스케치->라이브러리 포함하기->.ZIP 라이브러리 추가... 를선택하여 다운받은 라이브러리를 추가합니다.

추가가 완료되면 화면 하단에 라이브러리가 추가되었다고 나옵니다. 

 

  


 

라이브러리도 추가하였으니 다음과 같이 회로를 연결해봅니다.

 


 

회로를 연결하였으니 이제 코드를 짜서 아두이노에 업로드 해야겠네요.

예제코드가 다운받은 라이브러리 안에 있네요.(examples->joint_mode)

 

아두이노의 포트를 설정한 후에

 

 

 

업로드를 버튼을 누르면 다음과 같이 업로드 완료라고 나오네요.

 

 

 

혹시나 이런 에러가 나오신다면

 

 

아두이노 기판에서 RX,TX 선을 뽑은 후에 업로드 해보세요.

 

모터에 전원을 넣고 작동하는지 테스트 해보니 다행히도 아주 잘 움직이네요.