ESP32 C3 Super Mini DRV8825 스테퍼 모터 드라이버
#NOTE: REWRITTEN | CHECKED_PIN
강력한 DRV8825 스테퍼 모터 드라이버 모듈을 사용하여 ESP32 C3 Super Mini로 스테퍼 모터를 제어하는 방법을 배웁니다. 이 초보자 친화적인 튜토리얼은 배선부터 정밀 모터 제어를 위한 코드까지 모든 것을 다룹니다.
이 가이드에서 배울 내용:
- DRV8825 스테퍼 모터 드라이버가 무엇이고 어떻게 작동하는지
- DRV8825 드라이버를 ESP32 C3 Super Mini 및 스테퍼 모터에 배선하는 방법
- ESP32 C3 Super Mini를 프로그래밍하여 모터 속도 및 방향 제어
- 더 부드러운 모터 작동을 위해 마이크로스테핑 구성
- 과열을 방지하기 위해 전류 제한 조정

준비물
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | Stepper Motor Nema 17 | 아마존 | |
| 1 | × | DRV8825 Stepper Motor Driver | 아마존 | |
| 1 | × | Expansion Board for DRV8825 Motor Driver | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 |
Overview of DRV8825 Stepper Motor Driver
DRV8825는 높은 정밀도와 효율성으로 양극 스테퍼 모터를 제어하는 스테퍼 모터 드라이버 모듈입니다.
- 전압 범위: 8.2V ~ 45V 모터 전원 공급
- 전류 용량: 적절한 냉각으로 코일당 최대 2.2A
- 마이크로스테핑: 전체 스텝부터 1/32 스텝 해상도까지 지원
- 내장 보호: 과전류 및 과열 차단 기능
- 조정 가능한 전류 제한: 용이한 조정을 위한 가변저항기
- 콤팩트 설계: 3D 프린터, CNC 기계 및 로봇 공학에 적합
- 낮은 핀 개수: ESP32 C3 Super Mini의 2개 핀만으로 제어
- 내장 레귤레이터: 모터 공급 전원에서 3.3V 로직 전력
- 초보자 친화적: 스텝 및 방향 제어를 통한 간단한 인터페이스
스테퍼 모터 개념인 전체 스텝, 마이크로스테핑, 단극 스테퍼, 양극 스테퍼에 대해 이해하려면 ESP32 C3 Super Mini - Stepper Motor 가이드를 확인하세요.
DRV8825 스테퍼 모터 드라이버 핀아웃
DRV8825 모듈은 모터 제어, 전원 공급 및 구성을 위한 16개의 핀을 가지고 있습니다.

핀 설명:
- VMOT: 모터 전원 공급 입력(8.2V ~ 45V)
- GND (모터용): 모터 전원 공급 그라운드
- 2B, 2A: 스테퍼 모터 코일 B에 대한 출력 연결
- 1A, 1B: 스테퍼 모터 코일 A에 대한 출력 연결
- FAULT: 고장 감지 출력(과전류 또는 과열 차단 시 LOW)
- GND (로직용): 제어 신호의 그라운드 참조(ESP32 C3 Super Mini GND에 연결)
- ENABLE: 액티브-LOW 활성화 핀(LOW = 모터 활성화, HIGH = 모터 비활성화)
- M1, M2, M3: 마이크로스테핑 해상도 선택 핀
- RESET: 액티브-LOW 리셋 핀(LOW = 드라이버 리셋)
- SLEEP: 액티브-LOW 절전 모드 핀(LOW = 저전력 절전 모드)
- STEP: 스텝 입력 핀(상승 엣지가 모터를 한 스텝 진행)
- DIR: 방향 제어 핀(회전 방향 설정)
- 가변저항기: 조정 가능한 전류 제한 제어
기능별 핀 그룹화:
- 모터 연결: 1A, 1B, 2A, 2B
- 모터 제어: DIR, STEP
- 드라이버 구성: ENABLE, M1, M2, M3, RESET, SLEEP
- 상태 출력: FAULT
- 모터 전원: VMOT, GND(모터)
- 로직 그라운드: GND(로직)
중요: 올바른 작동 및 공통 그라운드 참조를 위해 항상 ESP32 C3 Super Mini GND를 DRV8825 GND(로직) 핀에 연결하세요. DRV8825는 내장된 3.3V 레귤레이터를 통해 모터 공급 전원에서 로직 회로에 전력을 공급합니다.
마이크로스텝 구성
DRV8825 드라이버는 각 전체 스텝을 더 작은 증분으로 나누어 더 부드러운 모터 작동을 가능하게 합니다.
NEMA 17 모터(1.8° 스텝 각도, 200 스텝/회전)에 대한 마이크로스텝 해상도 예제:
- 전체 스텝 모드: 회전당 200 스텝
- 반 스텝 모드: 회전당 400 스텝
- 1/4 스텝 모드: 회전당 800 스텝
- 1/8 스텝 모드: 회전당 1,600 스텝
- 1/16 스텝 모드: 회전당 3,200 스텝
- 1/32 스텝 모드: 회전당 6,400 스텝
더 높은 마이크로스테핑의 이점:
- 진동이 적은 부드러운 모터 움직임
- 더 높은 포지셔닝 정확도
- 더 조용한 작동
- 회전당 더 많은 스텝 필요(동일한 펄스 속도에서 더 느린 속도)
속도 고려사항:
- 더 높은 마이크로스테핑은 회전당 더 많은 스텝 펄스 필요
- 모터 속도는 ESP32 C3 Super Mini 펄스 속도에 따라 결정
- 더 빠른 펄스 속도는 더 높은 마이크로스테핑으로 속도 유지
- 최대 속도는 드라이버 및 마이크로컨트롤러 성능으로 제한
DRV8825 마이크로스텝 선택 핀
DRV8825 드라이버의 M0, M1, M2 핀을 사용하여 마이크로스테핑 해상도를 구성합니다.
마이크로스테핑 선택 테이블:
| M0 Pin | M1 Pin | M2 Pin | Microstep Resolution |
|---|---|---|---|
| Low | Low | Low | Full step |
| High | Low | Low | Half step |
| Low | High | Low | 1/4 step |
| High | High | Low | 1/8 step |
| Low | Low | High | 1/16 step |
| High | Low | High | 1/32 step |
| Low | High | High | 1/32 step |
| High | High | High | 1/32 step |
기본 동작: 세 핀 모두 내부 풀다운 저항을 가지고 있으며 기본값은 LOW입니다. 연결되지 않으면 드라이버는 전체 스텝 모드로 작동합니다.
작동 원리
DRV8825 스테퍼 모터 드라이버는 ESP32 C3 Super Mini의 간단한 디지털 신호를 사용하여 모터 움직임을 제어합니다.
기본 작동:
- STEP 핀: 각 펄스는 모터를 한 마이크로스텝(또는 구성에 따라 전체 스텝)만큼 이동
- DIR 핀: 회전 방향 제어(HIGH 또는 LOW)
- 드라이버 로직: 스텝 및 방향 신호를 적절한 코일 전류로 변환
- 모터 출력: 1A, 1B, 2A, 2B 핀이 제어된 전류를 모터 코일에 전달
최소 제어 설정:
- 2개의 ESP32 C3 Super Mini 핀만 연결: STEP 하나, DIR 하나
- 모터 속도는 STEP 펄스 주파수로 제어
- 모터 방향은 DIR 핀 로직 레벨로 제어
선택적 핀 구성:
DRV8825 추가 핀(ENABLE, M1, M2, M3, RESET, SLEEP)을 3가지 방법으로 구성할 수 있습니다:
- 연결 해제: 드라이버는 기본 설정 사용(전체 스텝, 활성화)
- GND 또는 VCC에 연결: 고정 구성(예: 항상 활성화 또는 특정 마이크로스텝 모드)
- ESP32 C3 Super Mini 핀에 연결: 코드를 통한 동적 제어
배선 다이어그램
이 배선 다이어그램에 따라 ESP32 C3 Super Mini, DRV8825 스테퍼 모터 드라이버 및 NEMA 17 스테퍼 모터를 연결합니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
안전 참고사항:
- 참고: 모터 전원 공급 전압이 스테퍼 모터 사양과 일치하는지 확인(NEMA 17의 경우 일반적으로 12V)
- 참고: 드라이버 손상을 피하기 위해 전원이 켜진 상태에서 스테퍼 모터를 연결 또는 분리하지 마세요
- 참고: 올바른 작동을 위해 ESP32 C3 Super Mini GND를 DRV8825 GND(로직)에 연결하세요
연결 테이블:
| DRV8825 Pin | Connection | Notes |
|---|---|---|
| VMOT | 12V Power Supply (+) | Motor power input |
| GND (Motor) | 12V Power Supply (-) | Motor power ground |
| 1A | Stepper Motor Coil A Wire 1 | Coil A connection |
| 1B | Stepper Motor Coil A Wire 2 | Coil A connection |
| 2A | Stepper Motor Coil B Wire 1 | Coil B connection |
| 2B | Stepper Motor Coil B Wire 2 | Coil B connection |
| STEP | ESP32 C3 Super Mini Pin D10 | Step control signal |
| DIR | ESP32 C3 Super Mini Pin D9 | Direction control signal |
| GND (Logic) | ESP32 C3 Super Mini GND | Common ground reference |
| ENABLE | Not connected | Default enabled |
| M1 | Not connected | Full-step mode |
| M2 | Not connected | Full-step mode |
| M3 | Not connected | Full-step mode |
| RESET | Not connected | Normal operation |
| SLEEP | Not connected | Normal operation |
이 기본 구성은 스테퍼 모터를 기본 설정으로 전체 스텝 모드에서 실행합니다.
ESP32 C3 Super Mini Code
다음 코드는 AccelStepper 라이브러리를 사용하여 ESP32 C3 Super Mini 및 DRV8825 드라이버로 스테퍼 모터를 제어하는 방법을 보여줍니다.
이 코드가 하는 작업:
- STEP 및 DIR 핀을 사용하여 DRV8825 드라이버 초기화
- 최대 모터 속도 및 가속도 값 설정
- 스테퍼 모터를 200 스텝 앞으로 회전
- 스테퍼 모터를 200 스텝 뒤로 회전
- 부드러운 앞뒤 움직임을 위해 연속 반복
- AccelStepper 라이브러리를 사용한 쉬운 모터 제어
자세한 사용 방법
ESP32 C3 Mini가 처음이신가요? 개발 환경을 설정하기 위해 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
- 환경 확인: Arduino IDE가 설치되고 ESP32 C3 Super Mini용으로 구성되었는지 확인
- 구성 요소 배선: 배선 다이어그램을 따라 DRV8825, 스테퍼 모터 및 전원 공급을 연결
- USB 연결: USB Type-C 케이블을 사용하여 ESP32 C3 Super Mini를 컴퓨터에 연결
- Arduino IDE 열기: 컴퓨터에서 Arduino IDE 실행
- 보드 및 포트 선택: ESP32 C3 Super Mini 보드 및 해당 COM 포트 선택
- AccelStepper 라이브러리 설치: 라이브러리 아이콘으로 이동, "AccelStepper" 검색, Mike McCauley의 라이브러리 찾기 및 설치 클릭
- Search for AccelStepper created by Mike McCauley
and click the Install button.
- 코드 복사: 제공된 코드를 복사하여 새 Arduino IDE 스케치에 붙여넣기
- 코드 업로드: 업로드 버튼을 클릭하여 코드를 ESP32 C3 Super Mini로 전송
- 모터 움직임 관찰: 스테퍼 모터가 계속 앞뒤로 회전합니다
- 전문가 팁: 더 부드러운 모터 작동을 위해 M1, M2, M3 핀을 ESP32 C3 Super Mini 핀에 연결하고 코드에서 구성합니다
참고: 전체 스텝 모드는 눈에 띄는 스테핑 움직임을 생성합니다. M1, M2, M3 핀을 구성하여 마이크로스테핑을 활성화하면 더 부드럽고 조용한 작동이 가능합니다.
시리얼 모니터 출력
코드를 업로드한 후 115200 보드 속도로 시리얼 모니터를 열어 모터 상태를 확인합니다:
응용 및 프로젝트 아이디어
DRV8825 스테퍼 모터 드라이버를 사용한 ESP32 C3 Super Mini는 정밀 모션 제어 프로젝트를 위한 흥미로운 가능성을 열어줍니다.
- 3D 프린터: 정밀한 X, Y, Z축 제어가 있는 맞춤형 3D 프린터 구축
- CNC 기계: PCB 및 작은 부품을 위한 미니 CNC 라우터 또는 조각기 생성
- 카메라 슬라이더: 부드러운 타임랩스 비디오를 위한 자동화된 카메라 슬라이더 설계
- 로봇 팔: 정밀한 관절 포지셔닝이 있는 다중축 로봇 팔 구축
- 자동 커튼 오프너: 일정에 따라 열고 닫는 스마트 커튼 제작
- 팬-틸트 카메라 마운트: 비디오 감시 또는 사진을 위한 모터화된 카메라 마운트 생성
- 자동 반려동물 급식기: 부분 제어가 있는 예약된 애완동물 급식기 설계
- 태양 전지판 추적기: 최대 태양 전지판 효율을 위한 햇빛 추적 시스템 구축
비디오 튜토리얼
아래 비디오를 보고 이 프로젝트에 대한 시각적 안내를 받으세요.
[VIDEO ESP32 C3 Super Mini - DRV8825 스테퍼 모터 드라이버 튜토리얼]
도전해보세요
다음 도전으로 ESP32 C3 Super Mini 및 DRV8825 스테퍼 모터 기술을 다음 레벨로 올립니다.
- 쉬움: 아날로그 입력을 읽어 실시간으로 모터 속도를 제어하는 가변저항기 추가
- 쉬움: LED 표시등을 추가하여 모터 방향 표시(앞 = 녹색 LED, 뒤 = 빨간색 LED)
- 중간: M1, M2, M3 핀을 연결하고 다양한 해상도 사이를 전환하여 마이크로스테핑 구현
- 중간: 모터 움직임을 시작 및 중지하는 푸시 버튼과 방향을 변경하는 다른 버튼 추가
- 고급: 시리얼 모니터 명령을 사용하여 특정 위치로 이동하는 모터 위치 제어 시스템 생성
- 고급: X-Y 플로팅을 위해 두 개의 DRV8825 드라이버 및 스테퍼 모터를 사용하는 2축 모션 제어 시스템 구축
- 고급: 높은 속도에서 부드러운 시작 및 정지를 위한 가속 및 감속 프로필 구현