엔코더(encoder)는 모터 축이나 기계의 움직임을 전기 신호로 바꿔 위치, 속도, 방향을 알려 주는 센서입니다. 종류는 두 기준으로 나눕니다. 신호를 내는 방식에 따라 증분형(움직인 만큼만 셈)과 절대형(지금 위치를 바로 앎)으로, 읽는 원리에 따라 광학식, 자기식, 유도식 등으로 나뉩니다. 로봇 관절, 서보 모터, CNC 공작기계, 프린터가 모두 엔코더로 위치를 확인합니다.
엔코더는 무엇을 읽나
엔코더 제조사 레니쇼는 위치 엔코더를 “직선 또는 회전 움직임을 위치·속도·방향 정보를 담은 전기 신호로 바꾸는 장치”로 설명합니다(Renishaw, 엔코더란 무엇입니까?). 구조는 단순합니다. 눈금이 새겨진 스케일(원판이나 띠)과 그 눈금을 읽는 리드헤드가 있고, 둘 중 하나가 움직이면 리드헤드가 눈금 변화를 신호로 바꿉니다.
움직임의 모양에 따라 두 가지로 나뉩니다.
- 회전형(로터리) 엔코더: 원판이나 링 모양 스케일로 회전 각도를 잽니다. 모터 축, 로봇 관절, 회전 테이블에 씁니다.
- 직선형(리니어) 엔코더: 긴 띠 모양 스케일로 직선 위치를 잽니다. 공작기계와 3차원 측정기의 X·Y·Z 축에 씁니다.
증분형과 절대형은 전원을 껐다 켤 때 갈린다
두 방식의 차이는 “지금 어디에 있는지”를 언제 아느냐입니다.
증분형(incremental)은 움직인 양만 셉니다. 축이 돌면 90° 어긋난 두 신호(A상, B상)가 나오고, 어느 신호가 먼저 바뀌는지로 방향을, 신호 개수로 이동량을 압니다. 이 방식에서 위치는 “기준점에서 몇 칸 움직였나”일 뿐이라, 켤 때마다 기준 표시(원점, Z상)를 찾아가야 합니다. 레니쇼 설명대로 전원이 끊기면 위치를 잃고, 다시 켜면 원점 복귀를 해야 합니다. 구조가 단순하고 값이 싸서 공장 자동화 장비와 반도체 장비에 널리 씁니다.
절대형(absolute)은 스케일의 구간마다 바코드처럼 서로 다른 무늬를 새겨, 켜는 순간 무늬를 읽어 현재 위치를 압니다. 전원이 꺼진 사이 축이 움직였어도 다시 켜면 맞는 위치를 알려 줍니다. 신호는 컨트롤러와 주고받는 직렬 통신으로 나가며, 통신 규격이 제조사마다 다릅니다. 원점 복귀 동작을 할 수 없는 장비, 예를 들어 수술 로봇이 절대형을 씁니다.
선택 기준은 이렇게 정리됩니다.
- 켤 때 원점 복귀가 허용된다: 증분형으로 충분합니다. 컨베이어, 단순 위치 결정 축이 여기에 해당합니다.
- 켤 때 움직이면 안 된다: 절대형이 필요합니다. 로봇 팔은 켜자마자 관절을 크게 돌리면 주변과 부딪힐 수 있어 대부분 절대형을 씁니다.
- 통신 규격: 절대형은 드라이버와 규격이 맞아야 합니다. 엔코더만 따로 바꿀 때 가장 먼저 확인할 항목입니다.
‘절대형’이라도 여러 바퀴는 따로 확인해야 한다
절대형에는 싱글턴(한 바퀴 안의 위치만 기억)과 멀티턴(몇 바퀴 돌았는지까지 기억)이 있습니다. 사양표에 ‘절대형’이라고만 적혀 있으면 어느 쪽인지 따로 확인해야 합니다.
로보티즈 다이나믹셀 XM430-W350이 좋은 예입니다. 공식 매뉴얼에 따르면 이 서보는 ams AS5045 비접촉 절대 엔코더(12비트)를 써서 한 바퀴를 4,096칸, 칸당 약 0.088°로 읽습니다. 확장 위치 제어 모드에서는 ±256바퀴까지 움직일 수 있지만, 전원을 다시 켜거나 재부팅하면 현재 위치가 한 바퀴 안의 절대값으로 다시 맞춰집니다(ROBOTIS e-Manual, XM430-W350). 한 바퀴 안의 각도는 바로 알지만, 꺼진 동안 몇 바퀴 돌았는지는 기억하지 못한다는 뜻입니다. 바퀴나 감속기 뒤 축처럼 여러 바퀴 도는 곳에 쓸 때는 이 점을 설계에 넣어야 합니다.
산업용 서보 모터는 배터리나 기어식 계수기로 바퀴 수를 기억하는 멀티턴 절대 엔코더를 많이 씁니다. 배터리식은 배터리가 닳으면 원점을 다시 잡아야 하므로 교체 주기를 매뉴얼에서 확인하세요.
광학식, 자기식, 유도식은 환경에 따라 고른다
신호 방식과 별개로, 눈금을 읽는 원리도 여러 가지입니다. 레니쇼 설명을 기준으로 정리하면 다음과 같습니다.
- 광학식: 광원과 광검출기로 스테인리스나 유리 스케일의 선을 읽습니다. 닿지 않고 읽어 마찰·마모가 없고, 신호 처리로 1nm(나노미터) 단위까지 나눠 읽을 수 있습니다. 먼지·기름·물기에 약해 공작기계에서는 밀폐형을 씁니다.
- 자기식: N극과 S극이 번갈아 있는 자석 스케일이나 축 끝 자석의 자기장 변화를 센서로 읽습니다. 오염에 강하고 작고 싸게 만들 수 있어 AGV(무인운반차), 인쇄 장비, 소형 서보에 많이 씁니다. 정밀도는 보통 광학식보다 낮고, 외부 자기장의 영향을 받을 수 있습니다.
- 유도식: 전자기 유도로 위치를 잽니다. 오염과 외부 자기장에 강해 짐벌, 의료기기, 드론, 로봇, 서보 모터에 씁니다.
- 레이저 간섭식: 레이저 파장을 자로 삼아 아주 높은 정확도로 잽니다. 값이 비싸 정밀 측정 장비에 주로 씁니다.
예전에는 브러시처럼 닿아서 읽는 접촉식도 있었지만, 마모 때문에 지금 로봇·서보용으로는 거의 쓰지 않습니다.
분해능 숫자는 이렇게 읽는다
사양표에서 가장 헷갈리는 것이 분해능 단위입니다.
- 비트(bit): 절대형은 보통 비트로 적습니다. 12비트는 2의 12제곱인 4,096칸, 17비트는 131,072칸, 23비트는 약 838만 칸입니다. 360°를 칸 수로 나누면 한 칸의 각도가 나옵니다.
- CPR과 PPR: 증분형은 한 바퀴에 나오는 신호 주기 수로 적습니다. 엔코더 제조사 US Digital은 CPR(Cycles Per Revolution)을 ‘4체배 전 기본 분해능’으로 정의하고, 4체배(x4) 디코딩을 하면 위치 수가 CPR의 4배가 된다고 설명합니다. 200 CPR 엔코더는 x4로 읽으면 한 바퀴를 800칸으로 나눕니다(US Digital, Cycles Per Revolution). 제조사에 따라 PPR을 같은 뜻으로 쓰기도 하고 체배 후 값으로 쓰기도 하니, 숫자를 비교할 때는 체배 전인지 후인지 확인하세요.
- 분해능과 정확도는 다르다: 분해능은 얼마나 잘게 나눠 읽느냐이고, 정확도는 읽은 값이 실제 위치와 얼마나 맞느냐입니다. 스케일 설치 오차나 축 흔들림이 있으면 분해능이 높아도 정확도는 낮을 수 있습니다.
로봇에서 엔코더가 놓이는 자리
로봇 관절에서는 엔코더를 어디에 다느냐가 성능을 가릅니다. 대부분은 모터 축에 엔코더를 달고 감속비로 나눠 관절 각도를 계산합니다. 이렇게 하면 감속기 덕분에 관절 각도 분해능은 높아지지만, 감속기의 백래시(틈)와 비틀림은 보이지 않습니다. 그래서 정밀 로봇이나 힘 제어가 필요한 관절은 감속기 출력 쪽에도 엔코더를 하나 더 다는 이중 엔코더 구조를 씁니다. 구조와 장단점은 로봇 이중 엔코더 글에서 다뤘습니다.
엔코더는 모터 제어에도 직접 쓰입니다. BLDC 모터를 FOC(벡터 제어)로 돌리려면 회전자 각도를 계속 알아야 하고, 서보 모터의 위치 제어도 엔코더 피드백으로 돌아갑니다. 서보가 엔코더 신호를 받아 위치를 맞추는 과정은 서보 모터 원리 글, 홀 센서와 엔코더의 차이는 BLDC 모터 글에 정리했습니다.
고를 때 확인할 다섯 가지
- 켤 때 원점 복귀를 할 수 있는가: 없으면 절대형, 여러 바퀴를 돌면 멀티턴인지 확인합니다.
- 필요한 분해능: 관절 각도로 환산해 비교하고, 체배 전후 값을 맞춥니다.
- 설치 환경: 먼지·기름·물기가 있으면 자기식·유도식이나 밀폐형 광학식을 봅니다.
- 출력 신호와 통신 규격: 드라이버가 받는 형식(A/B상, 직렬 통신 규격)과 맞아야 합니다.
- 축 형태와 크기: 축에 끼우는 중공형인지, 축 끝에 다는 형인지, 들어갈 공간이 있는지 확인합니다.