ESP8266 발열 요소

이 튜토리얼은 여러분에게 ESP8266을 사용하여 발열 요소를 제어하는 방법을 알려줍니다. 이어서, 여러분은 이 지식을 다른 튜토리얼에서 난방 시스템을 만드는 데 적용할 수 있게 됩니다.

NodeMCU에서 릴레이 또는 MOSFET 모듈을 통해 발열 요소를 구동할 수 있습니다. 릴레이는 히터를 완전히 켜거나 완전히 끄기만 합니다. MOSFET 모듈도 켜고 끌 수 있지만, PWM으로 히터에 전력의 일부만 줄 수도 있어서 열을 얼마나 낼지 정할 수 있습니다. 소리가 없고, 자주 켜고 꺼도 마모되는 접점이 없습니다. 여기서는 두 가지 방법을 모두 다룹니다.

준비물

1×Micro USB Cable 아마존
1×ESP8266 NodeMCU 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×릴레이 아마존
1×(또는) MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×가열 소자 아마존
1×12V 전원 어댑터 아마존
1×DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP8266용 스크루 터미널 확장 보드 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

난방 요소에 관하여

발열 요소 핀배열

ESP8266 NodeMCU heating element 사용법 핀아웃

가열 요소는 일반적으로 두 개의 핀을 가지고 있습니다:

  • 긍정(+) 핀(빨간색)은 DC 전원 공급 장치의 12V에 연결되어야 합니다.
  • 부정(-) 핀(검정색)은 DC 전원 공급 장치의 GND에 연결되어야 합니다.

ESP8266을 사용하여 발열 요소를 제어하는 방법

12V 가열 요소가 12V 전원 공급 장치로 구동될 경우, 열을 방출하게 됩니다. 가열 요소를 제어하기 위해서는 ESP8266과 가열 요소 사이에 릴레이를 사용해야 합니다. 그러면 ESP8266은 릴레이를 통해 가열 요소를 제어할 수 있습니다.

릴레이(핀배열, 작동 방식, 프로그래밍 방법 등)에 익숙하지 않으시다면, 더 많은 정보를 위해 ESP8266 - 릴레이을 참조해 주세요.

두 번째 방법에는 MOSFET 모듈이 필요합니다. 핀배열과 내부 작동 원리는 ESP8266 - MOSFET 모듈 튜토리얼에서 다룹니다.

발열 요소용 릴레이와 MOSFET 모듈 비교

기능 릴레이 MOSFET 모듈
할 수 있는 일 최대 발열 또는 발열 없음 최대 발열, 발열 없음, 또는 그 사이의 모든 발열 단계(PWM)
소리 스위칭할 때마다 딸깍 소리 조용함
속도 느림(밀리초) 매우 빠름
마모 접점이 마모되며, 자주 스위칭하면 더 심함 움직이는 부분이 없어 마모되지 않음
히터 종류 AC 또는 DC DC만 가능
히터 전원 릴레이 정격 내 어떤 값이든 6V 이상
절연 예, 코일과 접점 사이 예, PC817 포토커플러를 통해
이런 경우에 사용 AC 히터, 단순한 켜짐/꺼짐 DC 히터, 발열 단계 제어, 잦은 스위칭

온도 제어 루프는 히터를 분당 여러 번 켜고 끄는 경우가 많습니다. 12V DC 발열 요소에는 MOSFET 모듈이 이를 더 잘 처리하며, 발열 단계도 정할 수 있습니다. AC 히터에는 여전히 릴레이가 필요합니다.

선연결

ESP8266 NodeMCU heating element 연결 배선도

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

ESP8266 핀배열 및 ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.

아래 그림은 브레드보드 없이 같은 연결을 보여줍니다:

ESP8266 NodeMCU heating element 연결 배선도 (브레드보드 없음)

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

ESP8266 코드

아래의 코드는 매 5초마다 난방 요소를 켰다가 다시 매 5초마다 끕니다, 반복적으로.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-heating-element */ #define RELAY_PIN D8 // ESP8266 핀이 릴레이의 IN 핀에 연결됨 // setup 함수는 리셋 또는 전원이 들어올 때 한 번 실행됩니다. void setup() { // ESP8266 핀을 출력으로 초기화합니다. pinMode(RELAY_PIN, OUTPUT); } // loop 함수는 무한히 반복됩니다. void loop() { digitalWrite(RELAY_PIN, HIGH); // 난방 요소를 5초 동안 켭니다 delay(5000); digitalWrite(RELAY_PIN, LOW); // 난방 요소를 5초 동안 끕니다 delay(5000); }

사용 방법

ESP8266을 Arduino IDE에서 사용하기 위한 첫 단계는 다음과 같습니다:

  • ESP8266을 처음 사용하는 경우, ESP8266 - 소프트웨어 설치 튜토리얼을 확인하세요.
  • 도표에 표시된 대로 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • USB 케이블을 ESP8266과 컴퓨터에 꽂으세요.
  • Arduino IDE를 실행시키고, 적절한 보드와 포트를 선택하세요.
  • 코드를 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266으로 보내세요.
  • 발열체의 온도를 확인하세요.

WARNING

주의하세요. 이것은 여러분과 여러분의 집에 해를 끼칠 수 있습니다. 이것은 중요한 문제이며, 우리는 여러분이 안전하길 원합니다. 무엇을 하고 있는지 완전히 확신이 없다면, 어떤 것에도 간섭하지 않는 것이 가장 좋습니다. 지식이 있는 사람에게 상담하세요! 우리는 여러분의 안전에 대해 책임을 지지 않습니다.

코드 설명

소스 코드의 주석에 포함된 줄별 설명을 확인하세요!

ESP8266 - MOSFET 모듈로 발열 단계 설정하기

이 부분에서는 MOSFET 모듈이 릴레이를 대신합니다. NodeMCU의 D5 핀이 모듈에 PWM을 보내고, 발열 요소는 더 많거나 더 적은 전력을 받습니다.

배선도

ESP8266 NodeMCU nodemcu heating element mosfet module 연결 배선도

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

  • NodeMCU의 D5 (GPIO14)를 모듈의 PWM에 연결합니다.
  • NodeMCU의 G (GND)를 모듈의 GND에 연결합니다.
  • 12V 어댑터의 플러스 선과 발열 요소의 빨간색 (+) 선을 모두 + 단자에 연결합니다.
  • 발열 요소의 검은색 (−) 선을 LOAD 단자에 연결합니다.
  • 12V 어댑터의 마이너스 선을 − 단자에 연결합니다.

발열 요소는 코일이 아니라 저항일 뿐이므로 플라이백 다이오드가 필요하지 않습니다.

ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-heating-element */ const int MOSFET_PIN = D5; // ESP8266 pin D5 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초 동안 최대 전력을 주고, 그다음 2초 동안 전력을 주지 않습니다. 이어서 전력이 10%에서 100%까지 올라갔다가 0%로 내려갑니다. 히터는 천천히 따뜻해지고 천천히 식으므로 각 단계를 바로 느끼지는 못합니다. 변화를 뚜렷하게 느끼려면 한 전력 단계를 더 오래 유지하세요.

빠른 단계

  • 위의 릴레이 빠른 단계에서 설명한 대로 Arduino IDE를 준비하고 NodeMCU 보드를 선택하세요.
  • 다이어그램대로 배선하되, 12V 어댑터는 아직 꽂지 마세요.
  • 위의 코드를 NodeMCU에 업로드하세요.
  • 12V 어댑터를 꽂으세요. 발열 요소는 뜨거워지므로 만지지 마세요.
  • 시리얼 모니터를 9600 보드레이트로 열어 전력 단계를 확인하세요.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

팁: MOSFET 모듈은 DC만 스위칭하며, 히터 전원이 약 6V 이상이어야 합니다. AC 주전원으로 작동하는 히터에는 릴레이를 사용하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.