ESP32 C3 Super Mini MOSFET 모듈

ESP32 C3 Super Mini와 MOSFET 모듈로 12V 부하를 켜고 끄고, PWM으로 전력 수준을 조절하는 방법을 배웁니다.

ESP32 C3 Super Mini - aod4184, lr7843 또는 fr120n mosfet 모듈

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×12V LED 스트립 아마존
1×(또는) 12V DC 선풍기 아마존
1×12V 전원 어댑터 아마존
1×DC Power Jack (for the 12V load) 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

MOSFET 모듈에 대하여

이 모듈이 해결하는 문제:

  • ESP32 C3 Super Mini의 GPIO 핀은 3.3V를 내보내며 전류도 아주 작습니다
  • 12V LED 스트립, 팬, DC 모터, 펌프, 솔레노이드 밸브, 히터는 그보다 훨씬 많은 전력이 필요합니다
  • MOSFET 모듈을 사용하면 작은 3.3V 신호로 큰 12V 전원 경로를 제어할 수 있습니다

세 가지 버전, 같은 보드 설계:

  • AOD4184 (D4184로도 판매됨), LR7843, FR120N
  • 크기, 핀, 배선, 코드가 모두 같습니다
  • MOSFET 칩만 다릅니다

주요 사양:

AOD4184 LR7843 FR120N
MOSFET 칩 AOD4184A (N채널) IRLR7843 (N채널) IRFR120N (N채널)
최대 부하 전압 (MOSFET 정격) 40V DC 30V DC 100V DC
최대 전류 (MOSFET 정격) 50A 161A 9.4A
온 저항 RDS(on) 약 7 mΩ 약 3.3 mΩ 약 210 mΩ
실사용 전류, 방열판 없음 약 10–15A 약 15A 약 2A

세 가지 모두 같은 점:

  • 제어 신호: 3.3V 또는 5V 로직, 액티브 HIGH
  • 절연: PC817 포토커플러
  • PWM: 지원하며, 약 1 kHz 이하로 유지합니다
  • 부하 종류: DC 전용
  • 필요한 라이브러리: 없음 — 내장 analogWrite()를 사용합니다

MOSFET 모듈 핀아웃

aod4184, lr7843 및 fr120n mosfet 모듈 핀아웃

신호 헤더 (2핀, 2.54mm 간격 — 브레드보드에 맞음):

  • PWM — 제어 입력; ESP32 C3 GPIO 핀에 연결합니다
  • GND — 신호 그라운드; ESP32 C3 GND에 연결합니다

전원 나사 단자 (3개 단자):

  • + — 부하 전원 공급 장치의 양극 (예: 12V)이면서 부하의 양극 선입니다. 두 선 모두 이 단자 하나에 넣습니다 (또는 먼저 서로 연결합니다)
  • LOAD — 부하의 음극 선; 스위칭되는 쪽입니다 (MOSFET 드레인)
  • − — 부하 전원 공급 장치의 음극 (그라운드)

※ 주의:

인쇄된 라벨은 제작 배치마다 조금씩 달라질 수 있습니다. 항상 가지고 있는 보드의 실크 인쇄를 확인하세요.

내부 동작 원리

신호의 경로:

  • 연결 순서: GPIO4 → PWM 핀 → 작은 저항 → PC817 안의 LED → 빛 → PC817 안의 포토트랜지스터 → MOSFET 게이트
  • 게이트 풀다운: PC817이 꺼져 있는 동안 저항이 게이트를 0V로 유지합니다
  • 로우 사이드 스위치: N채널 MOSFET은 LOAD와 − 사이에 있습니다. 부하는 +와 LOAD 사이에 있습니다
  • 절연된 그라운드: ESP32 C3 쪽과 12V 쪽은 모듈에서 연결되어 있지 않습니다. 신호 GND와 부하 GND는 서로 분리되어 있습니다

세 가지 입력 상태 한눈에 보기:

PWM 핀의 입력 PC817 LED MOSFET 부하가 받는 전력 (12V 전원)
LOW (0V) 꺼짐 OFF (열린 스위치) 0V, 전력 없음
HIGH (3.3V) 켜짐 완전히 ON (닫힌 스위치) 약 12V, 최대 전력
PWM 신호 신호에 따라 깜박임 매우 빠르게 ON / OFF 12V 펄스, 평균은 듀티 사이클로 결정

상태 1 — GPIO LOW → 부하 OFF

  • 코드: analogWrite(MOSFET_PIN, 0) 또는 digitalWrite(MOSFET_PIN, LOW)
  • 포토커플러: 핀이 0V이므로 LED에 전류가 흐르지 않습니다. LED는 꺼진 상태입니다
  • 게이트: 포토트랜지스터가 꺼진 상태이므로 풀다운 저항이 게이트를 0V로 유지합니다
  • MOSFET: OFF — LOAD와 −가 연결되지 않습니다
  • 부하: 부하의 − 선이 그라운드로 이어지지 않습니다. 전류가 없고 부하 양단 전압은 0V입니다

상태 2 — GPIO HIGH → 부하 ON

  • 코드: analogWrite(MOSFET_PIN, 255) 또는 digitalWrite(MOSFET_PIN, HIGH)
  • 포토커플러: 몇 mA가 LED로 흘러 LED가 켜집니다 (칩 안에 숨겨져 있음)
  • 게이트: 포토트랜지스터가 도통됩니다. 게이트는 부하 전원의 약 절반을 받습니다 — 12V에서 약 6V입니다
  • MOSFET: 닫힌 스위치처럼 완전히 ON입니다. 저항은 몇 mΩ (AOD4184, LR7843) 또는 약 0.2Ω (FR120N)입니다
  • 전류 경로: 어댑터 + → + → 부하 → LOAD → MOSFET → − → 어댑터 −
  • 부하: 거의 12V 전체, 최대 전력
  • 3.3V로 충분한 이유: LED에는 작은 전류만 필요합니다. 5V 보드에서도 작동합니다

상태 3 — PWM 신호 → 일부 전력

  • 핀이 하는 일: 초당 약 500–1000번 LOW/HIGH로 전환합니다
  • MOSFET이 하는 일: 모든 변화를 따라갑니다 — HIGH 구간에서는 ON, LOW 구간에서는 OFF
  • 부하가 받는 것: 12V 펄스. 평균 전압과 전력 = 듀티 사이클 × 최대값
  • 듀티 사이클: 핀이 HIGH인 시간의 비율입니다. analogWrite()에서는 듀티 = 값 / 255입니다

12V 전원 예시:

analogWrite() 값 듀티 사이클 ON 시간 평균 전압 전력
0 0% 없음 0V 없음
64 25% 시간의 1/4 약 3V 약 1/4
128 50% 시간의 절반 약 6V 약 1/2
191 75% 시간의 3/4 약 9V 약 3/4
255 100% 항상 12V 최대
  • LED 스트립: 더 어둡게 보입니다. 깜박임이 너무 빨라 눈으로는 알 수 없습니다
  • 모터, 팬, 펌프: 더 느리게 돕니다. 회전하는 질량이 펄스를 부드럽게 해 줍니다
  • 주파수: 약 500 Hz–1 kHz로 유지합니다. PC817은 느립니다. 너무 빠르면 MOSFET이 완전히 스위칭되지 않고, 펄스가 지저분해지며, MOSFET이 뜨거워집니다
  • 아래 코드에서: 전력이 10%에서 100%까지 10% 단위로 올라갑니다

WARNING

  • 부하 전원은 6V 이상이어야 합니다. 게이트 전압 분배 때문에 5V 부하 전원은 잘 작동하지 않습니다. 부하가 몇 A 이상 흐르면 9V 이상을 사용하세요.
  • DC 전용입니다. 이 모듈에 AC 주전원을 절대 연결하지 마세요.
  • 보드에 플라이백 다이오드가 없습니다. 모터, 펌프, 솔레노이드, 릴레이 코일에는 부하 양단에 다이오드(예: 1N5819 또는 1N4007)를 추가하세요: 띠(캐소드)는 부하 +에, 다른 쪽 끝(애노드)은 부하 −에 연결합니다.
  • 12V를 ESP32 C3 Super Mini의 어떤 핀에도 연결하지 마세요.

MOSFET 모듈과 ESP32 C3 Super Mini 사이의 배선 다이어그램

MOSFET 모듈을 ESP32 C3 Super Mini에 연결하는 방법은 다음과 같습니다:

출발 도착
ESP32 C3 Super Mini GPIO4 모듈 PWM
ESP32 C3 Super Mini GND 모듈 GND
12V 어댑터 + (DC 전원 잭 경유) 모듈 +
LED 스트립 + 모듈 + (어댑터 +와 같은 단자)
LED 스트립 − 모듈 LOAD
12V 어댑터 − (DC 전원 잭 경유) 모듈 −
aod4184, lr7843 또는 fr120n mosfet 모듈을 사용한 ESP32 C3 Super Mini 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 신호 쪽: 짧은 점퍼 와이어 두 개뿐입니다
  • 전원 쪽: 나사 단자만 사용합니다 — 12V 선이 ESP32 C3에 닿지 않습니다
  • 다른 부하는? 아래 배선 예시를 참고하세요

배선 예시: 더 많은 12V 부하

LED 스트립은 하나의 예일 뿐입니다. 다섯 가지 부하를 더 연결하는 방법은 다음과 같습니다.

모든 부하에서 같은 점:

  • ESP32 C3 쪽: GPIO4 → PWM, GND → GND. 이 부분은 바뀌지 않습니다
  • 전원: 어댑터 + → 모듈 +, 어댑터 − → 모듈 −
  • 부하: 부하 + → 모듈 + (어댑터 +와 공유), 부하 − → 모듈 LOAD
  • 전압: 어댑터 전압 = 부하 전압 (12V 부하 → 12V 어댑터). 6V 미만은 안 됩니다
  • 전류: FR120N은 작은 부하용입니다 (방열판 없이 약 2A). 더 큰 부하에는 AOD4184 또는 LR7843을 사용하세요
  • 코드: 변경 없음. 솔레노이드는 페이드를 빼고 HIGH와 LOW만 사용하세요

빠른 개요:

부하 플라이백 다이오드 PWM의 역할
12V DC 모터 필요 속도
12V 워터 펌프 필요 유량
12V LED 스트립 (단색) 필요 없음 밝기
12V 솔레노이드 밸브 필요 없음 — ON/OFF만 가능
12V 냉각 팬 권장 속도
12V 솔레노이드 잠금장치 필요 없음 — ON/OFF만 가능

다이오드 방향: 위 경고 상자와 같습니다 — 띠(캐소드)는 부하 + 선에, 애노드는 부하 − 선에 연결합니다.

DC 모터 (12V)

12v dc 모터와 mosfet 모듈 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 모터 + → +, 모터 − → LOAD
  • 다이오드: 필요
  • PWM: 속도를 조절합니다
  • 방향: 한 방향만 가능합니다. 반대로 돌리려면 L298N 같은 모터 드라이버를 사용하세요

워터 펌프 (12V)

mosfet 모듈에 연결한 12v 워터 펌프

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 펌프 + → +, 펌프 − → LOAD
  • 다이오드: 필요
  • PWM: 유량을 조절합니다
  • 주의: 물 없이 작동시키지 마세요

LED 스트립, 단색 (12V)

mosfet 모듈 12v LED 스트립 전원 배선

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 스트립 + (보통 12V로 표시됨) → +, 스트립 − → LOAD
  • 다이오드: 필요 없음 — 코일이 없습니다
  • PWM: 밝기를 조절합니다
  • 전류: 긴 스트립은 전류를 더 많이 사용합니다. 모듈을 고르기 전에 확인하세요
  • 지원하지 않음: RGB 또는 주소 지정형 스트립

솔레노이드 밸브, 상시 닫힘 (12V)

mosfet 모듈에 연결한 12v 상시 닫힘 솔레노이드 밸브

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 밸브 + → +, 밸브 − → LOAD
  • 다이오드: 필요
  • 제어: HIGH = 열림, LOW = 닫힘. PWM 없음

냉각 팬 (12V)

mosfet 모듈 냉각 팬 배선, 12v

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 빨강 → +, 검정 → LOAD, 노랑 (있는 경우) → 연결하지 않고 비워 둡니다
  • 다이오드: 권장 — 저렴하고 안전합니다
  • PWM: 속도를 조절합니다. 일부 팬은 낮은 듀티에서 돌지 않으므로 약 30% 이상에서 시작하세요

솔레노이드 잠금장치 (12V)

mosfet 모듈을 사용한 12v 솔레노이드 잠금장치 배선

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 전선: 잠금장치 + → +, 잠금장치 − → LOAD
  • 다이오드: 필요
  • 제어: 100% 또는 0%만 가능하며, 밝기 조절 같은 단계 조절은 안 됩니다
  • 발열: 잠금을 풀 만큼만 짧게 ON 펄스를 주세요. ON 상태로 두면 뜨거워집니다

MOSFET 모듈을 위한 프로그래밍 방법

MOSFET 모듈로 부하를 켜고 끄고 전력을 조절하는 코드는 다음과 같습니다:

  • PWM 핀에 연결된 GPIO를 선택합니다:
const int MOSFET_PIN = 4;
  • 출력으로 설정하고 부하를 OFF 상태로 시작합니다:
pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0);
  • 최대 전력 ON (255 = 듀티 100%):
analogWrite(MOSFET_PIN, 255);
  • 퍼센트로 전력 수준을 설정합니다:
int duty = map(percent, 0, 100, 0, 255); analogWrite(MOSFET_PIN, duty);
  • PWM 주파수: ESP32 C3의 analogWrite()는 기본적으로 1 kHz로 동작합니다. PC817에는 충분히 느리므로 변경할 필요가 없습니다.
  • 단순 ON/OFF만 필요하다면? digitalWrite(MOSFET_PIN, HIGH)와 digitalWrite(MOSFET_PIN, LOW)도 사용할 수 있습니다.

ESP32 C3 Super Mini 코드 - MOSFET 모듈

/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-mosfet-module */ const int MOSFET_PIN = 4; // ESP32 C3 Super Mini GPIO4 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

빠른 단계

이 코드가 하는 일:

  • 부하를 2초 동안 완전히 ON으로 합니다
  • 부하를 2초 동안 완전히 OFF로 합니다
  • 0.5초마다 전력을 10%에서 100%까지 10% 단위로 올립니다
  • 같은 방식으로 전력을 90%에서 0%까지 내립니다
  • 1초 기다린 후 반복합니다
  • 각 상태를 9600 보드레이트로 시리얼 모니터에 출력합니다
  1. 이 보드를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 읽어 보세요.
  2. 위의 표와 다이어그램에 나온 대로 배선합니다. 12V 어댑터는 아직 꽂지 마세요.
  3. USB Type-C 케이블로 ESP32 C3 Super Mini를 PC에 연결합니다.
  4. Arduino IDE를 엽니다. ESP32C3 Dev Module 보드와 올바른 COM 포트를 선택합니다.
  5. 코드를 복사하여 Arduino IDE에 붙여넣습니다.
  6. Upload를 클릭합니다.
  7. 업로드가 시작되지 않으면 BOOT 버튼을 누른 채로 RESET을 눌렀다 떼고, BOOT를 놓은 다음 다시 시도합니다.
  8. 12V 어댑터를 꽂습니다.
  9. 시리얼 모니터를 열고 9600 보드레이트로 설정합니다.
  10. LED 스트립을 지켜봅니다: 최대 밝기, 꺼짐, 천천히 밝아짐, 천천히 어두워짐 순서로 변합니다.

시리얼 모니터 출력

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

추가 지식

어떤 모듈을 사야 할까요?

  • LR7843: 저항이 가장 낮아 큰 전류에서도 가장 시원합니다. 전류를 많이 쓰는 12V/24V 부하(밝은 LED 스트립, 큰 모터)에 가장 좋습니다. 최대 30V.
  • AOD4184: 무난한 만능형입니다. 강한 전류로 최대 40V까지 가능합니다. 12V, 24V, 36V 부하에 맞습니다.
  • FR120N: 전압이 가장 높지만(최대 100V) 저항도 가장 높습니다. 방열판 없이 약 2A의 작은 부하에만 사용하세요. 24V/48V 작은 부하에 맞습니다.
  • 큰 숫자에 대하여: 50A와 161A는 칩의 한계이지 보드의 한계가 아닙니다. 이 작은 보드에서는 열이 실제 한계입니다. 몇 분 후 칩을 만져 보고, 뜨거우면 방열판을 추가하세요.

MOSFET 모듈과 릴레이 중 무엇을 쓸까요?

  • MOSFET 모듈: 조용하고, 움직이는 부품이 없으며, 매우 빠르고, PWM이 가능하며, 수명이 깁니다 — DC 부하 전용
  • 릴레이: 딸깍 소리가 나고, 완전 ON 또는 완전 OFF만 가능하지만 AC도 스위칭할 수 있습니다. ESP32 C3 Super Mini - 릴레이 튜토리얼을 참고하세요.

관련 튜토리얼:

비디오 튜토리얼

댓글