[아두이노] DC 모터 제어의 본질: “왜 이 부품이어야 하는가”


아두이노로 DC 모터를 제어하는 순간, 단순한 코딩이 아니라 전력 제어 시스템 설계로 넘어갑니다.

많은 입문 자료는 “이렇게 연결하세요”에서 끝나지만,
실무에서는 항상 한 가지 질문이 따라옵니다.

👉 “왜 이 사양이어야 하지?”

이 글에서는 부품 역할 + 수치 설계 + 데이터시트 해석 관점까지 포함해
DC 모터 제어 회로를 엔지니어 수준으로 정리합니다.


1. 왜 아두이노에 모터를 직접 연결하면 안 될까?

아두이노 디지털 핀의 한계:

  • 출력 전류: 약 20mA

  • 모터 요구 전류: 수백 mA ~ 수 A

즉,

👉 전류가 절대적으로 부족
👉 역전압(Back EMF)로 보드 손상 위험

그래서 반드시 필요합니다:

  • 외부 전원

  • 스위칭 소자 (트랜지스터 / MOSFET)

  • 보호 회로


2. 전체 구조 한 눈에 보기

[Arduino] → [Base 저항] → [트랜지스터] → [모터] → [외부 전원]
                                   ↑
                              [플라이백 다이오드]

이 구조의 핵심은 단 하나입니다:

👉 “작은 신호로 큰 전류를 제어한다”

 


3. Q1: 트랜지스터 — 스위치의 품질이 시스템을 결정한다

✔ 역할

  • 아두이노 신호 → 전력 스위칭

✔ 핵심 설계 포인트

(1) Stall Current 기준으로 설계

모터는 멈출 때 가장 위험합니다.

  • 평상시: 100mA

  • 스톨 시: 1A 이상

👉 반드시 최대 전류 기준으로 설계


(2) 포화 영역(Saturation) 확보

트랜지스터는 “켜졌다”가 아니라

👉 완전히 켜져야 한다

전력 손실:

P = Vce(sat) × Ic

예:

  • Vce ≈ 0.3V

  • Ic = 0.5A

👉 P = 0.15W → 발열 발생


✔ 추천 선택 기준

상황추천
소형 모터PN2222
중전류TIP120
고효율MOSFET (IRLZ44N)

4. R1: 베이스 저항 — “적당히”가 아니라 “계산해야 하는 값”

많은 글에서 1kΩ을 그냥 씁니다.

👉 틀린 건 아니지만, 정확하지도 않습니다.


✔ 설계 계산

필요 조건:

  • Ic = 500mA

  • hFE = 50

필요 베이스 전류:

Ib = Ic / hFE = 0.5 / 50 = 0.01A (10mA)


✔ 저항 계산

R = (5V - 0.7V) / 0.01A ≈ 430Ω


✔ 실무 판단

상황저항값
안정성 우선1kΩ
힘(토크) 우선330~470Ω

👉 저항값이 크면 → 안전하지만 힘이 약함
👉 저항값이 작으면 → 강하지만 핀 부담 증가


5. D1: 플라이백 다이오드 — “없으면 언젠가 터진다”

모터는 인덕터입니다.

스위치를 끄는 순간:

V = L × (di/dt)

👉 순간적으로 수십~수백 V 발생


✔ 역할

  • 역전압을 우회시켜 회로 보호


✔ 선택 기준

항목기준
전압전원보다 높게 (≥ 50V)
전류모터 전류 이상

✔ 추천 부품

  • 범용: 1N4004

  • 고속 PWM: 1N5819 (쇼트키)


👉 PWM 제어라면 쇼트키가 훨씬 유리합니다.


6. C1: 노이즈 필터 — “안 넣으면 디버깅 지옥”

모터는 전기적으로 매우 더러운 부하입니다.

문제:

  • EMI 발생

  • MCU 오동작

  • 센서 값 튐


✔ 해결 방법

(1) 모터 단자

  • 0.1µF 세라믹

(2) 전원 입력

  • 100µF ~ 1000µF 전해 커패시터


👉 실무에서는 거의 무조건 둘 다 사용


7. 한 단계 위 설계: PLC 마인드 적용

아두이노라도 산업 설계처럼 접근하면 달라집니다.


✔ 추천 추가 요소

① 포토커플러 (절연)

  • 제어부 ↔ 전력부 완전 분리

② MOSFET 전환

  • 발열 ↓

  • 효율 ↑

③ 별도 전원 분리

  • MCU 안정성 확보


8. 최종 설계 체크리스트

✔ 모터 Stall Current 확인했는가
✔ 트랜지스터 정격 2배 이상 확보했는가
✔ 베이스 저항 계산했는가
✔ 플라이백 다이오드 방향 맞는가
✔ 커패시터 위치 적절한가
✔ GND 공통 연결했는가


마무리

DC 모터 제어는 단순한 ON/OFF 문제가 아닙니다.

👉 “전력을 어떻게 안전하게 다룰 것인가”

이 관점이 생기는 순간,

  • 회로가 안정해지고

  • 디버깅 시간이 줄고

  • 설계 수준이 올라갑니다


한 줄 정리

“모터를 돌리는 것은 쉽다.
하지만 안전하게, 오래, 정확하게 돌리는 것이 엔지니어링이다.”

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

NPN, PNP 트랜지스터 차이점

[PLC] 센서 NPN, PNP 출력 타입별 결선방법 (OMRON E2E-X 시리즈 3선식 배선)

[PLC] PLC 아날로그 입출력 기본

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[PLC] 서보 모터 브레이크 결선, 왜 릴레이 터미널을 써야 할까?

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

사각형의 넓이 공식의 증명

[PLC] 릴레이와 전자 접촉기 (MC)