로그인회원가입

ESP32-C3로 12V 모터 제어하기: PC817 포토커플러와 IRLZ44N을 활용한 완벽 절연 회로 설계

DIY 프로젝트를 진행할 때 ESP32나 아두이노 같은 MCU에 12V 이상의 유도성 부하(모터, Solenoid 등)를 직접 연결하면, 역기전력(Back-EMF) 스파이크나 돌입 전류로 인해 MCU가 리셋되거나 파손되는 문제가 자주 발생합니다.

이 문제를 근본적으로 해결하기 위해 PC817 포토커플러를 사용해 제어부(3.3V)와 구동부(12V)의 GND까지 완전히 분리(Galvanic Isolation)하는 안전한 모터 제어 회로를 구성해 보았습니다.

1. 부품 구성 및 핵심 역할

  • ESP32-C3: 3.3V 로직 제어기 (PWM 제어 신호 출력)
  • PC817 포토커플러: MCU와 12V 회로 사이를 빛(Opto)으로 전달하여 전기적으로 완벽히 격리
  • IRLZ44N N-Ch MOSFET: 12V 2A급 모터 전류를 스위칭하는 Power FET
  • 1N5822 (쇼트키 다이오드): 모터 OFF 시 발생하는 고전압 역기전력을 흡수하는 플라이백(Flyback) 다이오드
  • 저항: 220Ω (LED 전류 제한), 1kΩ (포토커플러 수광부 풀업), 10kΩ (게이트 풀다운)

2. 왜 포토커플러(PC817)를 추가해야 할까?

IRLZ44N은 Logic-Level MOSFET이라 ESP32의 3.3V GPIO로도 직결 구동은 가능합니다. 하지만 다음 두 가지 이유로 포토커플러 추가를 강력히 권장합니다.

  1. 전기적 격리 (MCU 보호): 모터 동작 시 발생하는 스파이크 노이즈가 ESP32의 GND로 흘러 들어가지 않아 MCU 튕김 현상을 100% 방지합니다.
  2. 게이트 전압 확보 (VGS​=12V): ESP32의 3.3V 대신 12V 전원을 직접 MOSFET 게이트에 인가할 수 있어, MOSFET이 완전 턴온(Turn-On) 상태가 됩니다. 결과적으로 온저항(RDS(on)​)이 최소화되어 발열이 획기적으로 줄어듭니다.

3. 전체 회로도 (Schematic)

아래 회로도처럼 MCU 영역(3.3V GND)과 모터 영역(12V GND)을 절대 서로 묶지 않고 독립적으로 유지하는 것이 핵심입니다.

4. 핀 연결 가이드 (Pin-to-Pin)

  • PC817 1번 핀 (Anode): ESP32 GPIO 8 → 220Ω 저항 거쳐서 연결
  • PC817 2번 핀 (Cathode): ESP32 GND에 연결
  • PC817 3번 핀 (Emitter): 12V GND에 연결
  • PC817 4번 핀 (Collector): +12V에서 1kΩ 저항을 거친 후 연결 + IRLZ44N 1번 핀 (Gate)으로 연결
  • IRLZ44N Gate (1번 핀): 12V GND 사이에 10kΩ 풀다운 저항 병렬 연결
  • IRLZ44N Drain (2번 핀): 모터 (-) 단자 및 1N5822 다이오드 애노드(A) 연결
  • IRLZ44N Source (3번 핀): 12V GND에 연결
  • 모터 (+) 단자: +12V 및 1N5822 다이오드 캐소드(K, 띠 있는 쪽) 연결

5. 소프트웨어 설정 시 주의사항

PC817과 같은 광학 포토커플러는 턴온/턴오프 응답 속도에 한계가 있습니다. 따라서 ESP32-C3에서 PWM 제어를 적용할 때 주파수를 1kHz ~ 2kHz 수준으로 설정해야 합니다. PWM 주파수가 10kHz 이상으로 너무 높으면 포토커플러가 신호를 제대로 정형화하지 못해 MOSFET 발열이 심해질 수 있습니다.


PC817 포토커플러와 IRLZ44N MOSFET을 활용한 ESP32-C3 기반 12V 2A 안마기 모터 제어 회로의 상세 배선도 및 핀 번호 가이드입니다.

이 회로는 3.3V 제어 전원(ESP32)과 12V 구동 전원(모터)의 GND까지 완벽하게 분리(절연)하여 모터 역기전력 및 스파이크 노이즈가 ESP32-C3로 넘어오는 것을 근본적으로 차단합니다.

1. 주요 부품 및 핀 맵 (Pin-out)

  • PC817 (4핀 딥 타입):
    • 1번 핀 (Anode): 내부 LED (+)
    • 2번 핀 (Cathode): 내부 LED (-)
    • 3번 핀 (Emitter): 내부 트랜지스터 에미터 (Output GND)
    • 4번 핀 (Collector): 내부 트랜지스터 컬렉터 (Output Signal)
  • IRLZ44N (TO-220 패키지, 글자가 보이는 전면 기준):
    • 1번 핀 (Gate): 제어 신호 입력
    • 2번 핀 (Drain): 모터 (-) 연결
    • 3번 핀 (Source): 12V 전원 GND 연결
  • 쇼트키 다이오드 (1N5822 / SS34 등):
    • 띠가 있는 쪽 (K, Cathode): +12V 전원
    • 띠가 없는 쪽 (A, Anode): MOSFET Drain (모터 – 핀)

2. 상세 핀-투-핀 배선 표 (Pin-to-Pin Wiring)

[절연 영역 A: ESP32-C3 제어부 (3.3V 전원)]

출발지연결 대상사용 저항 / 비고
ESP32-C3 GPIO 핀 (예: GPIO 8)PC817 1번 핀 (Anode)220Ω 직렬 저항 거쳐서 연결
ESP32-C3 GND 핀PC817 2번 핀 (Cathode)직접 연결 (3.3V GND)

[절연 영역 B: 모터 및 MOSFET 구동부 (12V 전원)]

출발지연결 대상사용 저항 / 비고
+12V 파워 Supply (+)PC817 4번 핀 (Collector)1kΩ 직렬 저항 거쳐서 연결
+12V 파워 Supply (+)안마기 모터 (+) 단자직접 연결
+12V 파워 Supply (+)다이오드 Cathode (띠 있는 쪽)역기전력 방지용 다이오드
PC817 4번 핀 (Collector)IRLZ44N 1번 핀 (Gate)1kΩ 저항 뒷단에서 MOSFET Gate로 직접 연결
IRLZ44N 1번 핀 (Gate)12V 파워 GND (-)10kΩ 풀다운 저항 연결
PC817 3번 핀 (Emitter)12V 파워 GND (-)직접 연결 (12V GND)
IRLZ44N 3번 핀 (Source)12V 파워 GND (-)직접 연결
안마기 모터 (-) 단자IRLZ44N 2번 핀 (Drain)직접 연결
안마기 모터 (-) 단자다이오드 Anode (띠 없는 쪽)MOSFET Drain과 함께 연결

★ 가장 중요한 핵심: ESP32-C3의 GND와 12V 전원의 GND는 절대로 서로 묶지 않고 완전히 분리해 두어야 포토커플러 절연 효과를 얻을 수 있습니다.

3. ESP32-C3 소프트웨어(PWM) 설정 가이드

PC817 포토커플러는 반응 속도(Rise/Fall Time) 제한이 있으므로, ESP32-C3에서 PWM 제어 시 주파수 설정을 너무 높게 잡지 않아야 합니다.

  • 권장 PWM 주파수:1kHz ~ 2kHz (1,000Hz ~ 2,000Hz)
    • 주파수가 10kHz 이상으로 너무 높으면 포토커플러가 신호를 제때 끄고 켜지 못해 MOSFET이 중간 온(Linear Area) 상태에 머물면서 발열이 급격히 증가합니다.
  • 로직 반전 주의: 위 구성은 포토커플러 특성상 GPIO가 HIGH일 때 MOSFET 게이트에 12V가 인가되어 모터가 ON되는 정방향 동작 회로이므로, 일반적인 Duty Cycle 값을 그대로 적용하시면 됩니다. (0% = 정지, 100% = 최대 속도)

코멘트

답글 남기기