1. 스마트 액츄에이터의 회전 방향과 속도 제어
바퀴가 회전할 때는 회전 속도와 방향을 가집니다.
모터의 회전 속도와 방향을 나타내는 용어로 RPM, CW, CCW가 있습니다.
RPM은 revolution per minute의 줄임 말로, rev/min 또는 rpm으로도 표현되며 회전체의 분당 회전수를 의미합니다.
예를 들어 바퀴가 60rpm으로 회전하고 있다면 이는 1분에 60바퀴, 즉 1초에 1바퀴를 회전한다는 뜻입니다.
CW와 CCW는 모터의 회전 방향을 의미하는데 CW 는 Clock Wise의 줄임 말로 시계 방향을 의미하며, CCW는 Counter Clock Wise의 줄임 말로 반시계 방향을 의미합니다.

2. 스마트 액츄에이터의 회전 방향과 속도 제어 (2)
여기서는 XL430-W250 모터와 통신하여 모바일베이스의 모터를 회전시키는 실습을 할 것입니다. 모터를 바퀴로 사용하도록 설정하는 방법, 모터 회전을 제어하는 방법 순서로 알아보겠습니다.
[ 모터를 바퀴로 사용하도록 설정하기 ]
모터를 바퀴로 사용하도록 설정할 때는 컨트롤 테이블의 Operating Mode와 Drive Mode를 설정해 주어야 합니다.
Operating Mode는 모터의 동작 모드를 설정합니다. 기본 값은 3으로 위치제어 모드를 의미합니다. 위치 제어 모드는 모터가 360도 이상 회전하지 못하고, 각도로 제어해야 하기 때문에 여러 번 회전해야 하는 바퀴로써 사용하기에 적절하지 않습니다. 바퀴로 사용하려면 여러 번 회전하고, 속도를 제어할 수 있는 속도제어 모드로 변경해야 합니다. 속도제어 모드로 설정하려면 Operating Mode의 값을 1로 설정해야 합니다.
Drive Mode는 모터의 드라이브 모드를 설정합니다. 값의 각 비트를 플래그로 사용하여 여러가지를 설정할 수 있습니다.
(자세한 내용은 매뉴얼을 참고하세요.) 지금은 모터의 방향 모드에 관심이 있기 때문에 0번 비트 값만 확인하도록 하겠습니다. Drive Mode의 기본 값은 0이고 0번 비트를 확인해보면 값이 0이며 Normal Mode를 의미합니다. Normal Mode는 모터를 제어하는 데이터의 값이 양수일 때 반시계 방향(CCW), 값이 음수일 때 시계 방향(CW)으로 회전하게 하는 모드입니다. 0번 비트 값이 1이라면 Reverse Mode가 되어 Normal Mode와는 반대 방향으로 움직이도록 설정됩니다.
모든 모터에 기본 값인 Normal Mode를 설정하면 좌측의 모터들은 양수일 때 CCW방향 즉 전진방향으로 회전하고, 우측의 모터들은 양수일 때 CCW방향 즉 후진 방향으로 회전합니다. 우측 모터들의 Drive Mode를 기본 값으로 사용하면 속도 값의 부호와 바퀴의 이동 방향이 반대여서 헷갈릴 수 있기 때문에 이후 실습에서는 모든 바퀴가 양수일 때 전진 방향으로 회전하도록 좌측의 모터들은 Normal Mode, 우측의 모터들은 Reverse Mode로 설정하여 사용할 것입니다.
Operating Mode와 Drive Mode는 EEPROM 영역에 있기 때문에 모터의 토크를 끈 후에 값을 수정해야 합니다. 컨트롤 테이블의 Torque Enable의 값이 0이면 Torque off, 1이면 Torque on을 의미합니다.



3. 스마트 액츄에이터의 회전 방향과 속도 제어 (3)
모터 회전 제어하기
한 개 모터의 회전을 제어하기 위해서는 Goal Velocity를 설정해주어야 합니다.
아래 표는 Goal Velocity의 주소는 104, 데이터의 크기는 4바이트이며 데이터의 값 범위는 컨트롤 테이블의 Velocity Limit에 의해 제한되고, 회전 속도 값의 단위는 0.229 rev/min (rpm, 분당 회전 수)임을 의미합니다.
Goal Velocity는 목표 속도이므로, 모터의 현재 속도를 의미하는 것이 아니며 모터의 현재 속도는 컨트롤 테이블의 Present Velocity 값을 확인해야 합니다.
Goal Velocity 값이 아무리 높더라도 모터의 최대 회전 속도는 주요 사양의 무부하 속도에 따라 제한됩니다.


모터 무부하 속도(모터 축에 아무것도 달지 않았을 때의 속도를 의미 함. 모터의 최대 속도라고 볼 수 있음. 전압에 따라 달라짐)

'소프트웨어 > Arduino' 카테고리의 다른 글
| 여러 개의 모터를 동시에 제어하기 (0) | 2026.03.18 |
|---|---|
| 스마트 액츄에이터의 회전 방향과 속도 제어 코딩 실습 (0) | 2026.03.18 |
| 주요 센서들의 입력 처리와 디버깅 실습 #2 (0) | 2026.03.12 |
| 주요 센서들의 입력 처리와 디버깅 실습 #1 (0) | 2026.03.12 |
| 스마트 액츄에이터 (0) | 2026.03.12 |