매거진 › 가이드 · 스텝모터·구동

아두이노로 스텝모터 드라이버 제어하기
— DM422C 배선·설정 가이드

실험셋업연구소 블로그 · 가이드 · 글 이영현 · 발행 · 읽는 시간 약 6분
Runze 스텝모터 드라이버 MC-21C·MC-20A — 아두이노 연동은 펄스 입력형 DM422C
사진은 통신형 MC-21C(좌)와 아날로그형 MC-20A(우). 이 글에서 다루는 펄스 입력형 DM422C는 본문 배선표를 참고하세요.
아두이노로 스텝모터를 직접 제어하려면 통신형(MC-21C)이 아니라 PUL/DIR 펄스 입력형인 DM422C를 씁니다. PUL·DIR·ENA 3핀을 연결하고, AccelStepper 라이브러리로 펄스를 생성하면 됩니다.

왜 DM422C인가 — MC-21C·MC-20A와 제어 방식이 다르다

1
MC-21C — RS232·RS485·CAN 통신으로 상위 제어기와 파라미터를 주고받는 디지털 드라이버. 아두이노가 통신 프로토콜을 직접 구현해야 해서 진입장벽이 높습니다.
2
MC-20A — 아날로그·딥스위치 기반. Start/Stop, Fwd/Rev 버튼과 속도조절 노브 위주로, 통신 포트가 없어 MCU 연동에는 불리합니다.
3
DM422CPUL(펄스)/DIR(방향)/ENA(인에이블) 3핀 입력만으로 구동하는 펄스형 드라이버. 아두이노 등 MCU에서 디지털 핀으로 펄스만 만들면 되므로 접근성이 가장 높습니다. 이 글은 DM422C 기준입니다.

DM422C 배선

신호드라이버 핀아두이노 연결비고
PUL+펄스 입력(+)저항 통해 5V 또는 디지털핀스텝 펄스
PUL-펄스 입력(-)디지털핀 (예: D3)스텝마다 토글
DIR+방향 입력(+)5V
DIR-방향 입력(-)디지털핀 (예: D4)HIGH/LOW로 정·역회전
ENA+/ENA-인에이블(옵션, 미연결 시 상시 활성)
+V / GND모터 전원12~40 VDC 외부전원 (권장 20~24 V)아두이노 5V로 구동 불가 — 별도 전원 필수

제어신호 입력전류는 7~16 mA(표준 10 mA)입니다. 아두이노 디지털 출력(약 20~40 mA)으로 충분하지만, 옵토커플러 보호를 위해 전류제한저항을 권장합니다. 저항값 계산 예시: R = (Vcc − Vf) / I ≈ (24 V − 1.7 V) / 0.01 A ≈ 2.2 kΩ (실제 배선 전압에 맞춰 조정).

스텝 펄스 주파수는 0~75 kHz 범위입니다. 코드의 최대 속도(step/s)가 이 범위를 넘지 않도록 설정하세요.

예제 코드 (AccelStepper)

#include <AccelStepper.h>
#define PUL_PIN 3
#define DIR_PIN 4
AccelStepper stepper(AccelStepper::DRIVER, PUL_PIN, DIR_PIN);

void setup() {
  stepper.setMaxSpeed(2000);      // step/s, 드라이버 75kHz 이내로 설정
  stepper.setAcceleration(500);
  stepper.moveTo(1000);
}

void loop() {
  stepper.run();
}

주의사항

① 전원 분리. 모터 전원(12~40 VDC)과 아두이노 로직 전원(5V)은 분리하고, GND만 공통으로 연결합니다(공통 그라운드). ② 회전방향. 모터 한 상의 배선(A+/A-)을 바꾸면 초기 회전방향이 반전됩니다 — 배선 문제인지 코드의 방향 신호 문제인지 구분해서 디버깅하세요. ③ RS232 포트. DM422C의 RS232는 파라미터 설정 전용이며 실시간 제어에는 쓸 수 없고, 전원이 인가된 상태에서 커넥터를 탈부착(hot-swap)하면 안 됩니다.

자주 묻는 질문

Q. 아두이노로 MC-21C를 제어할 수 있나요?

MC-21C는 RS232·RS485·CAN 통신 프로토콜을 구현해야 해서 가능은 하지만 난이도가 높습니다. 펄스 입력만으로 구동하려면 DM422C가 훨씬 간단합니다.

Q. 전원은 아두이노 5V로 되나요?

안 됩니다. DM422C는 12~40 VDC(권장 20~24 V) 별도 전원이 필요하며, 아두이노는 PUL·DIR 신호만 담당합니다.

Q. 최대 몇 RPM까지 가능한가요?

스텝 펄스 주파수 최대 75 kHz까지 지원합니다. 실제 RPM은 모터 스텝각(0.9°/1.8°)과 마이크로스테핑 설정에 따라 계산해야 합니다.

배선·설정이 막히면, 실제 구성으로 도와드립니다

사용 모터 사양(스텝각·전류)과 제어 목적을 알려주시면 드라이버 선택부터 배선·전원 구성까지 안내해 드립니다.

스텝모터 구동 상담하기 →

참고

본 가이드는 Runze Fluid 카탈로그(DM422C/MC-21C/MC-20A 스펙)를 기준으로 작성했습니다. 실제 배선 전 제품 매뉴얼과 전원 사양을 다시 확인하세요.
#가이드#스텝모터#아두이노#DM422C#RunzeFluid