1. 로터리 엔코더(Rotary Encoder)란?
로터리 엔코더는 모터의 회전각에 따라 구형파 형태의 펄스를 출력합니다. 로터리 엔코더는 자기식과 광학식으로 나뉘어 지며, 자기식의 경우 최근에 매우 정밀하게 나오고 있으며, 1바퀴에 4096단계도 쉽게 찾을 수 있다. 또한, 출력값의 형태에 따라서 절대치형과 증분형이 있다.
증분형의 경우, 모델에 따라서 원점에서 펄스를 한 번 출력하는 Z 상 출력 신호를 가지고 있는 모델도 있어서, 이 Z상을 가진 모델은 Z 상에 나타나는 펄스의 개수를 새는 것만으로도 모터가 몇 바퀴 돌았는지를 알 수 있다.
일반적으로 로터리 엔코더는 모터의 회전축에 설치하여 그 움직임을 감지하여 방향이나 회전각을 알아낸다.
2. 엔코더로 회전 방향 판별법
그림 3과 4에서 보는 것처럼 A 상이 앞서느냐 아니면 B 상이 앞서느냐에 따라서 모터의 회전 방향을 알아낼 수 있다.

그림 3 상이 앞서는 모습(CW)

그림 4 상이 앞서는 모습(CCW)
그림 5에서는 실제 엔코더의 출력을 나타내었는 데, 이 중에서 3은 무시한다. 따라서, 정뱡향일 때는 0,1,2 라는 출력을 반복적으로 나타내게 되고, 역방향일 때는 0,2,1 이라는 출력을 반복적으로 나타내게 된다. 0은 고정이므로, 빼버리면, 1,2 또는 2,1 이라는 값의 출력이 되는 데, 이를 이용하여 간단히 CW인지 CCW 인지 알아낼 수 있게 된다.

그림 5 PWM 제어방식에서 Duty의 개념도

그림 6 실제 엔코더 출력에 따라 모터의 회전 방향을 아는 방법

그림 6 엔코더용 확장보드

그림 8 AM-DC2-2D 커넥터 핀 배치도
3. PWM 속도 제어란?
PWM(Pulse Width Modulation) 이란 펄스의 폭 변조를 말하며, 이를 통하여 모터의 속도나 LED의 밝기 등을 제어할 수 있다. ON시간 / 주기를 Duty(듀티)라고 하는 데, Duty는 0 < Duty < 1 이다. 듀티비(Duty rate(%)) 는 (ON시간 / 주기) * 100%입니다. 즉, 듀티비는 0 < 듀티비 < 100% 가 됩니다.
이를 통해서 DC 모터의 속도를 제어할 수 있는 데, 예를 들어서, 10V를 사용하는 모터의 듀티비가 50%라면, 그 전압을 멀티메타로 재보면, 5V인 것처럼 나타나게 된다. 즉, 빠른 주파수로 듀티비를 주게 되면, 평균 전압으로 모터를 제어할 수 있게 되는 것이다.