NEMA 17부터 28BYJ-48까지: 내 프로젝트에 딱 맞는 스텝모터 고르기

1. 스텝모터 3종 토크 비교표

모델명최대 토크 (Holding Torque)크기 (두께)특징
17HS4401약 40 ~ 45 N·cm40mm (표준)가장 강력함. 
17HS4023약 14 ~ 15 N·cm23mm (슬림)가벼움. 
28BYJ-48약 3 ~ 4 N·cm19mm (원형)매우 약함. 내부 감속기가 있어 느림

2. 상세 분석

① 17HS4401 (대장급)

  • 힘: 세 모델 중 압도적으로 강합니다.
  • 조합: TMC2209 드라이버의 성능을 100% 끌어낼 수 있습니다.

② 17HS4023 (경량급)

  • 힘: 17HS4401의 약 1/3 수준입니다.
  • 용도: 로봇 팔에 쓰인다면 맨 끝에 달리는 그리퍼(집게) 부분에 쓰기 좋습니다. 끝부분이 무거우면 아래쪽 모터들이 힘들어하기 때문입니다.

③ 28BYJ-48 (초미니급)

  • 힘: 17HS4401의 약 1/10 수준밖에 안 됩니다.
  • 주의점: 이 모터는 아두이노 입문용으로 유명하지만, 내부에 플라스틱 기어가 들어있어 무거운 걸 억지로 돌리면 기어가 갈려버릴 수도 있습니다. 전압도 보통 5V나 12V 전용이라 TMC2209와 궁합을 맞추기도 까다롭습니다.

** NEMA 17 모터(특히 17HS4401)를 돌리기 위해 가장 많이 쓰이는 드라이버 4종을 비교해 드릴게요.


1. 모터 드라이버 4종 비교표

모델명최대 전류 (Peak)마이크로스테핑소음 수준주요 특징
A49882.0A1/16매우 큼가장 저렴함, 입문용 표준
DRV88252.5A1/32높은 전압(45V) 견딤, 강한 힘
TMC22082.0A1/256매우 조용스텔스촙(저소음) 기술의 시작
TMC22092.8A1/256최고로 조용센서리스 홈밍, 낮은 발열

2. 드라이버별 상세 특징

① A4988 (가성비 끝판왕)

  • 장점: 가격이 매우 저렴하고 설정이 단순합니다. 고장 나도 부담이 없습니다.
  • 단점: 모터가 돌 때 “삐~” 하는 고주파 소음과 진동이 심합니다.
  • 추천: 소음 상관없이 일단 저렴하게 구동해보고 싶을 때 사용하세요.

② DRV8825 (고전압/고출력)

  • 장점: A4988보다 조금 더 큰 전류를 흘릴 수 있고, 32분주(1/32)를 지원해 움직임이 조금 더 부드럽습니다.
  • 단점: 여전히 소음이 있고, 전류 설정(Vref)이 조금 까다롭습니다.

③ TMC2208 (조용한 사무실용)

  • 장점: 모터 소리가 거의 안 들릴 정도로 조용해집니다. (StealthChop2 적용)
  • 단점: 방열판을 제대로 안 붙이면 열이 많이 나서 멈출 수 있습니다.

④ TMC2209 (로봇 팔 최적의 선택)

  • 장점: 2208보다 힘(전류)이 더 좋고 발열은 적습니다. 특히 StallGuard(센서리스 홈밍) 기능이 있어, 로봇 팔이 끝까지 가서 부딪히면 스스로 멈추게 설정할 수 있습니다. (별도의 스위치가 필요 없음)
  • 단점: 다른 드라이버들에 비해 가격이 가장 비쌉니다.

** ESP32-C3 와 TMC2209 연결시 주의사항

1. 전압 차이 주의 (3.3V vs 5V)

  • ESP32-C3: 신호선 전압이 3.3V입니다.
  • 드라이버(TMC2209 등): 보통 로직 전압으로 3.3V와 5V를 모두 지원하지만, 모터를 돌리는 주 전원(VM)은 12V~24V를 따로 넣어줘야 합니다.
  • 주의: ESP32-C3의 핀에 실수로 12V 전원이 닿으면 보드가 즉사하므로 배선할 때 전원 분리를 확실히 해야 합니다.

2. TMC2209와의 찰떡궁합: UART 제어

ESP32-C3는 핀 수가 적은 편이지만, UART 통신을 지원합니다. TMC2209 드라이버를 UART 모드로 연결하면 다음과 같은 엄청난 장점이 생깁니다.

  • 소프트웨어로 전류 조절: 드라이버의 가변저항을 드라이버로 돌릴 필요 없이, 코딩으로 모터 힘(전류)을 조절할 수 있습니다.
  • 세밀한 설정: StealthChop(저소음)과 SpreadCycle(고출력) 모드를 상황에 따라 실시간으로 바꿀 수 있습니다.

3. 추천 배선 전략

ESP32-C3는 핀(GPIO) 개수가 제한적이므로 효율적으로 나눠 써야 합니다.

  • STEP / DIR 핀: 각 모터당 2개의 핀이 필요합니다. (3축 로봇 팔이면 6개 사용)
  • UART 핀: 한 개의 UART 채널로 여러 개의 TMC2209를 묶어서 제어할 수 있습니다. (주소 설정 방식)
  • 전원: 12V 5A 이상의 **SMPS(전원 공급 장치)**를 사용해 모터에 힘을 실어주고, ESP32-C3용으로는 5V 강압 회로(Buck Converter)를 쓰는 것이 가장 안정적입니다.

** STEP/DIR, UART

쉽게 비유하자면 **Step/Dir은 ‘운전대와 액셀’**이고, **UART는 ‘차량 설정 메뉴(내비게이션 설정)’**라고 보시면 됩니다.


1. Step / Dir (실시간 주행 신호)

모터를 실제로 움직이게 만드는 **’실시간 명령’**입니다.

  • Step (발걸음): 이 핀에 신호(Pulse)를 한 번 줄 때마다 모터가 한 칸(Step) 움직입니다. 신호를 빨리 주면 모터가 빨리 돌고, 천천히 주면 느리게 돕니다.
  • Dir (방향): 이 핀에 신호를 넣느냐(High) 빼느냐(Low)에 따라 시계 방향으로 돌지, 반시계 방향으로 돌지가 결정됩니다.

2. UART (스마트한 관리 및 설정)

TMC2209의 똑똑한 기능들을 **’프로그래밍’**으로 제어하기 위한 통신로입니다. 원래 드라이버들은 드라이버로 나사를 돌려서 전류를 맞추거나 점퍼선을 꽂아야 했는데, UART가 있으면 코딩으로 다 해결됩니다.

  • 전류 제어: “지금은 로봇 팔이 물건을 안 들고 있으니까 전류를 낮춰서 열을 식히자” 같은 명령이 가능합니다.
  • 모드 변경: “지금은 정밀해야 하니까 StealthChop(저소음) 모드로 해” 혹은 “지금은 힘이 세야 하니까 SpreadCycle 모드로 바꿔”라고 지시할 수 있습니다.
  • 상태 모니터링: “지금 모터가 막혔어(Stall)?” 혹은 “드라이버가 너무 뜨거워?” 같은 정보를 ESP32-C3가 물어보고 답변을 받을 수 있습니다.

3. 두 핀을 같이 쓰는 이유

로봇 팔을 만들 때는 보통 두 방식을 병행합니다.

  1. 동작은 Step/Dir로: AccelStepper 같은 라이브러리를 써서 부드럽게 가속/감속하며 움직입니다.
  2. 설정은 UART로: 처음에 전원이 켜질 때 모터의 힘(전류)을 설정하거나, 센서리스 홈밍(부딪히면 멈추기) 민감도를 설정할 때 사용합니다.

💡 팁: ESP32-C3에서 UART 연결 시

TMC2209 한 개당 UART 핀 하나씩 다 연결할 필요가 없습니다. UART 핀 하나에 저항을 이용해서 여러 대의 드라이버를 병렬로 연결하고, 소프트웨어에서 각 드라이버의 ‘주소(Address)’를 지정해 호출하는 방식을 주로 씁니다. (핀 아끼기에 최고죠!)

4종류의 드라이버 중에서 **소프트웨어(코딩)로 설정을 주무를 수 있는 건 TMC2209(및 TMC2208)**뿐입니다.

나머지 구형 드라이버들과 어떻게 다른지 비교해 보면 왜 TMC2209가 ‘똑똑한 드라이버’인지 확실히 알 수 있습니다.


1. 설정 방식의 결정적 차이

드라이버 모델설정 방식 (전류/옵션)특징
A4988 / DRV8825하드웨어 수동 설정드라이버 위의 아주 작은 **나사(가변저항)**를 드라이버로 돌려서 전류를 맞춰야 합니다. (돌리다 삑끗하면 드라이버가 타버리기도 합니다.)
TMC2208 / TMC2209UART 통신 설정ESP32-C3에서 코드를 전송해 전류값(mA)을 숫자로 입력할 수 있습니다. 나사를 돌릴 필요가 없습니다.

2. UART가 없으면 겪는 불편함 (구형 드라이버)

A4988이나 DRV8825 같은 드라이버는 ‘말을 못 알아듣는 장치’와 같습니다.

  • 전류 변경 불가: 로봇 팔이 빈 손일 때와 무거운 물건을 들었을 때 모터 힘을 다르게 하고 싶어도, 하드웨어적으로 고정되어 있어 불가능합니다.
  • 모드 고정: 저소음 모드나 고출력 모드를 상황에 맞춰 바꿀 수 없고, 점퍼 와이어를 일일이 뺏다 꽂았다 해야 합니다.

3. TMC2209 UART만의 “필살기”

다른 드라이버에는 아예 없고, TMC2209를 UART로 연결했을 때만 쓸 수 있는 기능이 있습니다.

  • 실시간 자가 진단: 모터가 과열되었는지, 선이 끊어졌는지 ESP32-C3가 UART로 물어보고 에러 메시지를 띄울 수 있습니다.
  • 센서리스 홈밍 (StallGuard): 로봇 팔이 물리적인 벽에 부딪혀서 모터에 부하가 걸리면, UART를 통해 “지금 부딪혔어!”라고 신호를 줍니다. 덕분에 리미트 스위치(센서) 없이도 로봇 팔의 시작 위치를 잡을 수 있습니다.

💡 정리하자면

“TMC2209는 명령을 알아듣는 지능형 드라이버이고, 나머지는 시키는 대로 전기만 흘려주는 단순형 드라이버“라고 이해하시면 됩니다.

ESP32-C3를 사용하신다면 핀 개수가 적기 때문에, UART를 통해 여러 개의 TMC2209를 묶어 관리하는 방식이 하드웨어 구성 면에서도 훨씬 깔끔하고 강력합니다.

** 배선 연결법

ESP32-C3와 TMC2209를 UART 방식으로 연결하는 방법은 일반적인 통신 연결보다 조금 독특합니다. TMC2209는 단일 선(Single-line) UART를 사용하기 때문에, ESP32-C3의 TX와 RX를 하나로 묶어주는 과정이 필요합니다.

가장 표준적이고 안정적인 1kΩ 저항을 이용한 연결법을 알려드릴게요.


1. UART 회로 연결 (핵심)

TMC2209의 PDN_UART 핀 하나를 통해 데이터를 주고받기 위해 다음과 같이 배선합니다.

  • ESP32-C3 TX (GPIO 21)1kΩ 저항TMC2209 PDN_UART
  • ESP32-C3 RX (GPIO 20) —————-→ TMC2209 PDN_UART 핀에 직접 연결

왜 저항을 쓰나요? > ESP32-C3가 데이터를 보낼 때(TX)와 받을 때(RX) 신호가 충돌하는 것을 방지하기 위함입니다. 이 저항 덕분에 선 하나로 양방향 대화가 가능해집니다.


2. 전체 핀 배선도 (ESP32-C3 기준)

로봇 팔의 모터 하나를 제어하기 위한 전체 연결도입니다.

TMC2209 핀연결 대상 (ESP32-C3 / 전원)비고
VCC (또는 VDD)ESP32-C3 3.3V로직 전원
GND공통 GND모든 전원의 마이너스를 하나로 묶음
VM (또는 Vmotor)12V ~ 24V (+) 전원모터 구동용 (SMPS)
PDN_UARTGPIO 20 & 21 (저항 거침)UART 설정 통신용
STEPGPIO 0회전 신호 (펄스)
DIRGPIO 1방향 신호 (High/Low)
EN (Enable)GPIO 7모터 잠금/해제 제어

** 1 N⋅cm 의 의미

1. 토크 단위 읽는 법

  • 표기: 1 N·cm
  • 읽는 법: 1 뉴턴 센티미터
  • 실제 의미: 모터 축 중심에서 1cm 떨어진 지점에 약 102g의 추를 달았을 때, 모터가 버틸 수 있는 회전력입니다.

2. 우리가 비교한 모터들의 힘 (한눈에 보기)

가장 중요한 **’버티는 힘(토크)’**을 다시 깔끔하게 정리해 드릴게요.

모터 모델토크 (힘)비유 (사과 1개 ≈ 100g)
17HS440145 N·cm1cm 거리에서 사과 약 45개를 들어 올림
17HS402314 N·cm1cm 거리에서 사과 약 14개를 들어 올림
28BYJ-483 N·cm1cm 거리에서 사과 약 3개를 겨우 들어 올림

3. 로봇 팔 길이에 따른 실제 무게 계산 (중요!)

로봇 팔이 길어지면 지레의 원리 때문에 들 수 있는 무게가 줄어듭니다.

  • 팔 길이가 10cm라면?
    • 17HS4401: 약 460g까지 버팀 (사과 4.5개)
    • 17HS4023: 약 140g까지 버팀 (사과 1.4개)
    • 28BYJ-48: 약 30g까지 버팀 (방울토마토 몇 개 수준)

** 모터별 소비전력 및 특징 비교

항목28BYJ-48 (소형)17HS4023 (슬림)17HS4401 (표준)
정격 전압5V / 12V (모델별 상이)약 3.5V (드라이버 제어)약 3.6V (드라이버 제어)
정격 전류0.2A ~ 0.3A1.0A1.5A ~ 1.7A
권장 전력 (W)약 1W ~ 3W약 4W ~ 8W약 6W ~ 15W
주요 용도가벼운 장식, 정밀 회전소형 로봇 (추천)3D 프린터, 대형 로봇
토크(힘)매우 약함 (기어비 의존)중간 (메카넘 휠 적합)강함 (무겁고 전력 많이 먹음)

** 모터별 최고 회전속도 및 특성 비교

구분28BYJ-48 (소형)17HS4023 (슬림)17HS4401 (표준)
최고 속도 (RPM)15 ~ 25 RPM600 ~ 1,000 RPM600 ~ 1,200 RPM
실용 속도 (RPM)10 ~ 15 RPM300 ~ 500 RPM300 ~ 600 RPM
속도 한계 원인내장된 감속 기어슬림한 몸체의 낮은 토크고속 시 역기전력 발생
주행 체감매우 느림 (거북이 수준)적당함 (일반 로봇카)빠름 (파워풀한 주행)

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다