28BYJ-48 스테퍼 모터 아두이노 제어 완전 정복: 배선, 코드, ULN2003 드라이버
28BYJ-48 스테퍼 모터 개요
그림 1: 28BYJ-48 5V 유니폴라 스테퍼 모터 (기어박스 내장)
28BYJ-48 은 5V 유니폴라 5선식 4상 영구자석 스테퍼 모터 로, 내장 기어박스(감속비 약 1:64)로 토크를 증폭합니다. 펄스 주파수=속도, 펄스 순서=방향, 펄스 수=회전 각도 제어. 저렴하고(개당 $1~2), 아두이노 직결은 전류 부족으로 ULN2003 드라이버 보드 와 짝을 이뤄 쓰는 것이 정석입니다.
핀아웃 및 사양
그림 2: 28BYJ-48 핀아웃 (빨강=공통, 주황/노랑/분홍/파랑=코일 A/B/C/D)
핀 상세 배열
항목 사양
정격 전압 5V DC
상 수 / 구동 방식 4상 유니폴라 (5선, 공통 양극)
스텝 각도 (스트라이드 앵글) 5.625° / 64 = 0.0879° (하프 스텝 시), 풀 스텝 11.25°
기어비 약 1:64 (실제 63.68395:1)
출력축 1회전 필요 스텝 풀 스텝 2048, 하프 스텝 4096
주파수 100 Hz (권장 구동 주파수)
마찰 토크 600~1200 gf·cm
인입 토크 (Pull-in Torque) >34.3 mN·m (120Hz)
자위치 유지 토크 >34.3 mN·m
DC 저항 50Ω ±7% (25°C, 상별)
절연 내전압 600V AC / 1mA / 1초
그림 3: CNC 밀링 등 정밀 제어 응용 예
ULN2003 드라이버 보드와 아두이노 연결
그림 4: 28BYJ-48 + ULN2003 드라이버 + 아두이노 연결도 (출처: Wikipedia)
준비물
28BYJ-48 스테퍼 모터
ULN2003 드라이버 보드 (보통 모터와 세트 판매)
아두이노 우노
듀폰 와이어 (수-암) 6~8본
배선 순서
모터 5핀 커넥터 → ULN2003 보드 소켓에 꽂음 (키 홈 방향 확인)
ULN2003 보드 IN1~IN4 → 아두이노 디지털 핀 D8, D9, D10, D11 순서 연결
ULN2003 보드 VCC(5V) → 아두이노 5V 핀 (또는 외부 5V 전원, 모터 전류 고려)
ULN2003 보드 GND → 아두이노 GND (공통 그라운드 필수)
ULN2003 드라이버 보드 모듈 (LED 표시등 내장)
아두이노 제어 코드 (AccelStepper 라이브러리 권장)
기본 Stepper 라이브러리도 가능하지만, 가속/감속, 비블로킹 제어, 다중 모터 동시 제어를 위해 AccelStepper 라이브러리 사용을 강력 권장합니다.
#include
// 28BYJ-48은 4상 유니폴라 → AccelStepper::FULL4WIRE (또는 HALF4WIRE) 모드
// 핀 순서: IN1, IN3, IN2, IN4 (데이터시트 권장 순서, 라이브러리 문서 확인)
AccelStepper stepper(AccelStepper::HALF4WIRE, 8, 10, 9, 11);
void setup() {
stepper.setMaxSpeed(500.0); // 최대 속도 (스텝/초)
stepper.setAcceleration(200.0); // 가속도 (스텝/초²)
stepper.moveTo(2048); // 1회전 (풀 스텝 기준)
}
void loop() {
if (stepper.distanceToGo() == 0) {
stepper.moveTo(-stepper.currentPosition()); // 왕복
}
stepper.run();
}
핵심 포인트
전원: 모터는 5V지만 아두이노 5V 핀으로는 2개 이상 구동 시 전류 부족. 외부 5V 어댑터(2A 이상) 권장.
발열: ULN2003 달링턴 트랜지스터 포화 전압 강하(~1.5V)로 발열 심함. 장시간 구동 시 히트싱크/팬 필요.
정밀도: 기어 백래시 존재. 고정밀 위치 제어엔 앱솔루트 인코더 피드백 또는 클로즈드 루프 스테퍼(예: TMC2209+엔코더) 고려.
소음: 저속 구동 시 코일 진동음(윙~) 발생. 하프 스텝/마이크로스테핑 드라이버로 완화 가능.
주요 응용 분야
DVD/블루레이 드라이브 픽업 헤드 구동 (원래 용도)
보안 카메라 팬/틸트
CNC 밀링/조각기 (X/Y/Z 축)
3D 프린터 익스트루더/베드 (구형/저가형)
자동 커튼/블라인드, 로봇 팔 관절
회전 플랫폼, 타임랩스 돌리
마무리
28BYJ-48 + ULN2003은 '스테퍼 모터 입문의 정석' 조합입니다. 저렴하고 제어 쉽고 토크도 소형 로봇/자동화 장치엔 충분합니다. AccelStepper 라이브러리로 가속 프로파일 적용하면 진동/탈조 없이 부드럽게 제어됩니다. 더 강한 토크/고속/정밀도 필요 시 NEMA 17(양극성) + A4988/DRV8825/TMC2209 조합으로 업그레이드하세요. 궁금한 점은 언제든 문의 주세요!