로그인회원가입

[엔코더 리뷰] 가성비 AS5600 탈출기? 이제는 MT6701을 써야 하는 이유

AS5600과 MT6701은 모두 비접촉식 자기식 엔코더(Magnetic Encoder)로, DIY 프로젝트나 로봇 관절 제어 등에 널리 사용됩니다. 하지만 두 칩은 성능과 기능 면에서 몇 가지 결정적인 차이가 있습니다.

1. 주요 사양 비교

항목AS5600 (ams OSRAM)MT6701 (MagnTek)
해상도 (I2C)12-bit (4096 CPR)14-bit (16384 CPR)
최대 회전 속도낮음 (정적 위치 제어에 적합)높음 (최대 55,000 RPM 지원)
인터페이스I2C, 아날로그, PWMI2C, SSI, ABZ(증분형), UVW, PWM
샘플링 속도약 150µs (느린 편)약 5µs (매우 빠름)
전압 범위3.3V / 5.0V3.3V / 5.0V

2. 핵심 차이점 상세 분석

해상도 및 정밀도

  • AS5600: 12비트 해상도를 가집니다. 일반적인 각도 측정에는 충분하지만, 매우 미세한 제어가 필요한 경우에는 한계가 있을 수 있습니다.
  • MT6701: 14비트 해상도로 AS5600보다 4배 더 정밀합니다. 정밀한 서보 모터 제어나 고해상도 피드백이 필요한 경우 유리합니다.

반응 속도와 RPM (가장 큰 차이)

  • AS5600: 내부 신호 처리 속도가 느려 고속 회전 시 오차가 커집니다. 주로 밸브 조절, 다이얼, 저속 로봇 관절 등 ‘위치’를 측정하는 용도에 적합합니다.
  • MT6701: 고속 샘플링을 지원하여 수만 RPM의 고속 회전에서도 안정적으로 데이터를 출력합니다. BLDC 모터 제어나 빠른 반응이 필요한 동적 시스템에 훨씬 적합합니다.

출력 모드 (유연성)

  • AS5600: 주로 I2C나 아날로그 전압 출력을 사용합니다.
  • MT6701: I2C 외에도 ABZ 위상(엔코더 모드) 출력을 지원하므로, 일반적인 하드웨어 카운터 인터럽트를 사용하는 MCU(예: ESP32, STM32)에서 활용도가 더 높습니다.

3. 프로젝트별 추천

  • AS5600을 선택해야 할 때:
    • 회전 속도가 느리고 정적인 각도 확인이 주 목적인 경우 (예: 스마트 팜 환기창 개폐 각도, DIY 볼륨 노브).
    • 라이브러리가 풍부하고 예제가 많아 구현이 쉬운 것을 원할 때.
    • 정밀도보다는 가성비와 단순 구현이 중요할 때.
  • MT6701을 선택해야 할 때:
    • 고속으로 회전하는 모터의 속도나 위치를 실시간으로 제어해야 할 때 (예: FOC 모터 제어, 드론).
    • 12비트 이상의 높은 정밀도가 필요할 때.
    • ABZ나 SSI 같은 다양한 통신 프로토콜을 사용해야 할 때.

요약

단순히 각도만 읽는 용도라면 저렴하고 익숙한 AS5600이 편하지만, 모터 제어나 정밀한 동적 움직임이 포함된다면 MT6701이 압도적으로 성능이 좋습니다. 최근 오픈 소스 하드웨어 씬(SimpleFOC 등)에서는 MT6701로 넘어가는 추세입니다.


AS5600과 MT6701 외에도 프로젝트의 성격(정밀도, 가격, 인터페이스)에 따라 고려해 볼 만한 훌륭한 자기식 엔코더들이 더 있습니다. 주로 산업용 수준의 신뢰성이나 더 높은 해상도를 원할 때 사용하는 칩들입니다.


1. AS5048 (A/B 타입)

AS5600의 상위 버전 격으로, 고성능 DIY 프로젝트에서 가장 표준적으로 사용되는 칩입니다.

  • 해상도: 14-bit (16,384 CPR)
  • 특징: AS5600보다 훨씬 정밀하며, 노이즈에 강합니다.
  • 인터페이스: AS5048A는 SPI, AS5048B는 I2C를 지원합니다.
  • 추천 용도: 고정밀 짐벌(Gimbal) 모터 제어, 로봇 관절.

2. TLE5012B (Infineon)

가성비와 성능의 균형이 매우 뛰어나 고성능 모터 제어 커뮤니티(SimpleFOC 등)에서 매우 선호하는 칩입니다.

  • 해상도: 내부적으로 최대 15-bit 수준의 연산을 수행합니다.
  • 특징: 데이터 업데이트 속도가 매우 빠르고, SSC(SPI 호환), PWM, Encoder(IIF) 출력을 동시에 지원합니다.
  • 추천 용도: 고속 BLDC 모터의 정밀 위치 제어.

3. MA730 (Monolithic Power Systems)

속도와 지연 시간(Latency)에 극도로 민감한 프로젝트라면 최적의 선택입니다.

  • 해상도: 14-bit
  • 특징: 지연 시간이 매우 짧아 고속 회전 시에도 위상 차이가 거의 없습니다. 칩 크기가 매우 작아 소형 모듈화에 유리합니다.
  • 추천 용도: 초고속 모터 제어, 소형 서보 액추에이터.

💡 선택을 위한 가이드

요구 사항추천 부품이유
“가장 대중적이고 정밀한 것”AS5048A라이브러리가 가장 많고 검증된 성능을 보여줍니다.
“가성비와 속도 모두 챙기고 싶다”TLE5012B저렴한 모듈이 많으면서도 산업용급 성능을 냅니다.
“초소형/초고속 제어가 필요하다”MA730반응 속도가 압도적으로 빠릅니다.

추가 팁: 자기식 엔코더를 선택할 때는 칩 자체의 성능도 중요하지만, 자석(Magnet)과의 거리 및 정렬(Alignment)이 정밀도에 큰 영향을 미칩니다. 만약 축이 어긋날 가능성이 있다면, 어느 정도 오차를 보정해주는 기능이 있는 AS5047P 같은 모델도 좋은 대안이 됩니다.


2026년 5월 현재, 알리익스프레스와 주요 부품 시장의 시세를 기준으로 한 5가지 엔코더의 가격대 비교입니다. (모듈 1개, 자석 포함 기준 대략적인 원화 환산 가격)


💰 자기식 엔코더 5종 가격 비교

부품명가격대 (대략)특징 요약가성비 평가
AS5600약 1,500원 ~ 2,500원12-bit, I2C 전용, 저속용입문용 최저가. 단순히 각도만 읽을 때 가장 경제적입니다.
MT6701약 2,500원 ~ 4,000원14-bit, 고속 RPM 지원, SSI/I2C/ABZ현재 압도적 1위. AS5600과 가격 차이는 적으면서 성능은 훨씬 뛰어납니다.
AS5048A약 8,000원 ~ 12,000원14-bit, SPI/PWM, 높은 신뢰성표준형 중고가. 정밀도와 검증된 라이브러리가 필요한 고급 프로젝트용입니다.
TLE5012B약 10,000원 ~ 25,000원15-bit, 초고속 데이터 갱신, 산업용전문가용. 고성능 FOC 모터 제어 등에 쓰이며 가격대가 높은 편입니다.
MA730약 15,000원 ~ 30,000원14-bit, 초저지연(Latency), SPI/SSI하이엔드. 지연 시간이 극도로 짧아야 하는 정밀 로봇 관절용입니다.

📊 블로그용 가격 분석 팁

  1. 가성비 깡패는 MT6701: AS5600보다 불과 1,000~2,000원 정도만 더 투자하면 4배의 해상도(14-bit)와 50,000 RPM급 속도 대응 능력을 얻을 수 있습니다. DIY 개발자들에게 가장 추천하기 좋은 포인트입니다.
  2. 가격 차이의 이유: * AS5600: 생산량이 어마어마하고 구조가 단순해 가장 저렴합니다.
    • TLE5012B / MA730: 내부 연산 속도가 훨씬 빠르고, 노이즈 필터링 및 고속 통신 프로토콜(SPI/SSI)을 지원하기 때문에 칩 단가가 비쌉니다.
  3. 번들 구매 팁: 알리익스프레스 등에서 5개 또는 10개 묶음으로 구매하면 개당 가격이 20~30% 정도 더 저렴해집니다. ‘Mana’s Lab’ 구독자들에게 “여러 개 사서 쟁여두고 쓰기에는 MT6701이 가장 합리적”이라고 조언해 주시면 좋을 것 같네요.

MT6701은 I2C와 SSI(SPI와 유사) 방식을 모두 지원하지만, 14비트의 높은 해상도와 속도를 온전히 활용하기 위해 SSI(SPI) 방식을 사용하는 예제를 준비했습니다.


1. ESP32 – MT6701 연결 (SSI 방식)

MT6701 핀ESP32 핀 (예시)설명
VDD3.3V전원
GNDGND접지
CSNGPIO 5Chip Select (Active Low)
CLKGPIO 18Serial Clock
DOGPIO 19Data Out (MISO)

2. MicroPython 예제 코드

이 코드는 하드웨어 SPI를 사용하여 MT6701로부터 14비트 각도 데이터를 읽어와 도(Degree) 단위로 변환합니다.

Python

3. 코드 포인트

  • 14비트 처리: raw_value >> 2 부분이 핵심입니다. MT6701은 16비트 통신 프레임을 사용하지만 실제 데이터는 상위 14비트에 들어있기 때문에 오른쪽으로 2비트 시프트(Shift)가 필요합니다.
  • SPI 설정: polarity=1, phase=1 (SPI Mode 3) 설정은 MT6701 데이터시트에서 권장하는 방식 중 하나입니다. 만약 값이 튀거나 이상하다면 polarity=0, phase=0으로 변경하며 테스트하면 된다.
  • 성능: I2C 라이브러리를 쓸 때보다 SPI 방식이 훨씬 빠르기 때문에, 고속 RPM 측정이나 SimpleFOC 연동 시 이 방식이 유리합니다.

MT6701을 I2C 방식으로 사용하는 MicroPython 예제 코드입니다.

I2C 방식은 SSI(SPI) 방식보다 배선이 간편하고, 다른 센서들과 버스를 공유할 수 있다는 장점이 있습니다. 다만, 고속 회전 제어 시에는 통신 속도가 병목 현상이 될 수 있으므로 정밀한 각도 판독용으로 추천합니다.


1. ESP32 – MT6701 연결 (I2C 방식)

MT6701 핀ESP32 핀 (예시)설명
VDD3.3V전원
GNDGND접지
SCLGPIO 22I2C 클럭 라인
SDAGPIO 21I2C 데이터 라인

주의: MT6701의 I2C 주소는 기본적으로 0x06입니다. (칩 버전이나 설정에 따라 다를 수 있으니 i2c.scan()으로 확인하는 것이 좋습니다.)


2. MicroPython 예제 코드 (I2C)

Python


3. 보충 설명

  • 레지스터 구조: I2C 방식은 SSI와 달리 특정 메모리 주소(레지스터)를 지정해서 읽습니다. MT6701의 경우 각도 데이터가 들어있는 레지스터 주소가 0x03번부터 시작하는 경우가 많습니다.
  • Pull-up 저항: 만약 모듈 형태가 아닌 칩 자체를 사용하신다면, SCL과 SDA 라인에 4.7kΩ 정도의 풀업 저항이 연결되어 있는지 확인해야 한다고 언급해 주시면 초보자들에게 큰 도움이 됩니다.
  • I2C vs SSI 비교: 배선이 복잡해도 성능을 원하면 SSI(SPI), 간단한 연결과 범용성을 원하면 I2C를 선택하면 됩니다.

코멘트

“[엔코더 리뷰] 가성비 AS5600 탈출기? 이제는 MT6701을 써야 하는 이유”에 대한 댓글 1개

답글 남기기