ESP8266 - Elemento de Aquecimento

Este tutorial ensina você a usar o ESP8266 para controlar um elemento de aquecimento. Depois, você poderá aplicar esse conhecimento para criar um sistema de aquecimento em outro tutorial.

Você pode acionar o elemento de aquecimento a partir do NodeMCU através de um relé ou de um módulo MOSFET. O relé só liga o aquecedor totalmente ou o desliga totalmente. O módulo MOSFET também faz isso, mas ainda pode dar ao aquecedor uma parte da potência com PWM, então você escolhe quanto calor ele produz. Ele é silencioso e não tem contatos que se desgastam quando comuta com frequência. Vamos ver os dois métodos aqui.

Sobre o Elemento de Aquecimento

Pinagem do Elemento de Aquecimento

Pinagem do elemento de aquecimento com ESP8266 NodeMCU

O elemento de aquecimento normalmente tem dois pinos:

  • O pino positivo (+) (vermelho) deve ser conectado aos 12V da fonte de alimentação DC
  • O pino negativo (-) (preto) deve ser conectado ao GND da fonte de alimentação DC

Como Controlar o Elemento de Aquecimento usando o ESP8266

Se um elemento de aquecimento de 12V for alimentado por uma fonte de 12V, ele emitirá calor. Para controlar o elemento de aquecimento, é preciso usar um relé entre o ESP8266 e o elemento de aquecimento. O ESP8266 pode então controlar o elemento de aquecimento através do relé.

Se você não conhece os relés (pinagem, como funcionam, como programar, etc.), consulte o tutorial ESP8266 - Relé para mais informações.

Para o segundo método, você precisa do módulo MOSFET. Sua pinagem e seu funcionamento interno são explicados no tutorial ESP8266 - Módulo MOSFET.

Relé vs Módulo MOSFET para um Elemento de Aquecimento

Característica Relé Módulo MOSFET
O que ele pode fazer calor total ou nenhum calor calor total, nenhum calor, ou qualquer nível de calor entre os dois (PWM)
Som clica a cada comutação silencioso
Velocidade lenta (milissegundos) muito rápida
Desgaste os contatos se desgastam, mais ainda se comuta com frequência nada se move, então nada se desgasta
Tipo de aquecedor AC ou DC somente DC
Alimentação do aquecedor qualquer valor para o qual o relé seja especificado 6V ou mais
Isolamento sim, entre a bobina e os contatos sim, através do optoacoplador PC817
Use para aquecedores AC, LIGA/DESLIGA simples aquecedores DC, controle do nível de calor, comutação frequente

Um circuito de controle de temperatura muitas vezes comuta o aquecedor várias vezes por minuto. Para um elemento de aquecimento DC de 12V, o módulo MOSFET lida melhor com isso, e ainda permite definir o nível de calor. Um aquecedor AC ainda precisa do relé.

Diagrama de Ligação

Diagrama de ligação do elemento de aquecimento com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Código ESP8266

O código abaixo ligará o elemento de aquecimento a cada cinco segundos e o desligará a cada cinco segundos, . repetidamente.

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-heating-element */ #define RELAY_PIN D8 // The ESP8266 pin connected to the IN pin of relay // The setup function runs once on reset or power-up void setup() { // initialize the ESP8266 pin as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on heating element 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // turn off heating element 5 seconds delay(5000); }

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for sua primeira vez usando o ESP8266.
  • Faça a ligação dos componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Conecte o cabo USB ao ESP8266 e ao seu computador.
  • Abra o Arduino IDE, selecione a placa e a porta apropriadas.
  • Cole o código no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para enviar o código ao ESP8266.
  • Confira a temperatura do elemento de aquecimento.

WARNING

Tenha cuidado. Isso pode causar danos a você e à sua casa. Este é um assunto importante e queremos que você esteja seguro. Se você não tiver total certeza do que está fazendo, é melhor não mexer em nada. Consulte alguém que entenda do assunto! Não podemos ser responsabilizados pela sua segurança.

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

ESP8266 - Definir o Nível de Calor com o Módulo MOSFET

Nesta parte, um módulo MOSFET toma o lugar do relé. O pino D5 do NodeMCU envia PWM para o módulo, e o elemento de aquecimento recebe mais ou menos potência.

Diagrama de Ligação

Diagrama de ligação do elemento de aquecimento com módulo MOSFET e ESP8266 NodeMCU NodeMCU

This image is created using Fritzing. Click to enlarge image

  • D5 (GPIO14) no NodeMCU vai para PWM no módulo.
  • G (GND) no NodeMCU vai para GND no módulo.
  • O fio positivo do adaptador de 12V e o fio vermelho (+) do elemento de aquecimento entram ambos no terminal +.
  • O fio preto (−) do elemento de aquecimento vai para o terminal LOAD.
  • O fio negativo do adaptador de 12V vai para o terminal −.

Um elemento de aquecimento é apenas um resistor, não uma bobina, então não é necessário um diodo flyback.

Código ESP8266

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/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); }

Este código dá ao aquecedor potência total por 2 segundos, depois nenhuma potência por 2 segundos. Em seguida, a potência sobe de 10% a 100% e volta a cair até 0%. Um aquecedor esquenta e esfria devagar, então você não vai sentir cada passo imediatamente. Para sentir uma mudança clara, mantenha um nível de potência por mais tempo.

Passos Rápidos

  • Prepare o Arduino IDE e selecione a placa NodeMCU como descrito nos Passos Rápidos do relé acima.
  • Faça a ligação conforme o diagrama, com o adaptador de 12V ainda não conectado.
  • Faça o upload do código acima para o NodeMCU.
  • Conecte o adaptador de 12V. Não toque no elemento de aquecimento, pois ele fica quente.
  • Abra o Serial Monitor a 9600 baud para ver o nível de potência.
∞
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

Dica: o módulo MOSFET comuta somente DC, e precisa de uma alimentação do aquecedor de cerca de 6V ou mais. Para um aquecedor que funciona com a rede AC, use o relé.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!