Arduino Nano ESP32 - Controla Elemento de Aquecimento

Este tutorial fornece instruções sobre como usar o Arduino Nano ESP32 para controlar um elemento de aquecimento. Com base neste tutorial, você vai aprender a fazer um sistema de aquecimento em outro tutorial.

O Nano ESP32 pode acionar o elemento de aquecimento por meio de um relé ou de um módulo MOSFET. O relé dá apenas dois estados: aquecimento em potência total, ou sem aquecimento. O módulo MOSFET pode fazer o mesmo ON e OFF, mas também pode ajustar o nível de calor (a potência) com PWM. Ele não faz barulho e não tem contatos para se desgastar, mesmo quando chaveia com muita frequência. Esta página mostra primeiro a maneira com relé, depois a maneira com MOSFET.

Sobre o Elemento de Aquecimento

Pinagem

Pinagem do Elemento de Aquecimento do Arduino Nano ESP32

O elemento de aquecimento geralmente tem dois pinos:

  • Pino positivo (+) (vermelho): precisa ser conectado ao 12V da fonte de alimentação DC
  • Pino negativo (-) (preto): precisa ser conectado ao GND da fonte de alimentação DC

Como Controlar o Elemento de Aquecimento

Se o elemento de aquecimento de 12V for alimentado por uma fonte de 12V, ele emite calor. Para controlar um elemento de aquecimento, precisamos usar um relé entre o Arduino Nano ESP32 e o elemento de aquecimento. O Arduino Nano ESP32 pode controlar o elemento de aquecimento por meio do relé. Se você não conhece o relé (pinagem, como funciona, como programar ...), aprenda sobre o relé no tutorial Arduino Nano ESP32 - Relé

Também podemos colocar um módulo MOSFET no lugar do relé. Novo neste módulo? Leia primeiro o tutorial Arduino Nano ESP32 - Módulo MOSFET

Elemento de Aquecimento: Relé vs Módulo MOSFET

Relé Módulo MOSFET
Controle de calor calor total ou sem calor calor total, sem calor, ou qualquer nível entre os dois (PWM)
Som faz clique a cada chaveamento silencioso
Tempo de chaveamento milissegundos (lento) muito curto
Desgaste os contatos queimam e se desgastam com chaveamento frequente sem partes móveis, sem desgaste de contatos
Alimentação AC ou DC somente DC
Tensão mínima de alimentação nenhuma (dentro da especificação do relé) cerca de 6V
Isolação da placa sim, bobina e contatos sim, optoacoplador PC817
Use para aquecedores AC, ON/OFF simples aquecedores DC, controle de potência, chaveamento frequente

Um sistema de aquecimento muitas vezes liga e desliga o aquecedor várias vezes para manter uma temperatura. Um relé se desgasta rápido com isso, então, para um elemento de aquecimento DC de 12V, o módulo MOSFET é uma boa escolha. Para um aquecedor de rede elétrica (AC), você precisa ficar com o relé.

Diagrama de Ligação

Diagrama de Ligação do Elemento de Aquecimento do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código do Arduino Nano ESP32

O código abaixo liga o elemento de aquecimento por cinco segundos e o desliga por cinco segundos, repetidamente,

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-heating-element */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin connected to the heating element via the relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin A5 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

  • Conecte o Arduino Nano ESP32 ao PC por um cabo USB
  • Abra o Arduino IDE, selecione a placa e a porta corretas
  • Copie o código acima e cole no Arduino IDE
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
  • Verifique a temperatura do elemento de aquecimento

WARNING

Tenha cuidado. Ele pode queimar você e a sua casa. Este é um assunto sério, e queremos que você fique seguro. Se você NÃO tem 100% de certeza do que está fazendo, faça um favor a si mesmo e não toque em nada. Peça ajuda a alguém que saiba! NÃO assumimos nenhuma responsabilidade pela sua segurança.

Explicação do Código

O código acima do Arduino Nano ESP32 contém uma explicação linha por linha. Por favor, leia os comentários no código!

Código do Arduino Nano ESP32 - Potência do Elemento de Aquecimento com Módulo MOSFET

Aqui, um módulo MOSFET aciona o elemento de aquecimento, para que o Nano ESP32 possa definir quanto calor ele dá.

Diagrama de Ligação

Diagrama de ligação do elemento de aquecimento com módulo MOSFET no Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

De Para
Arduino Nano ESP32 D9 Pino PWM do módulo MOSFET
Arduino Nano ESP32 GND Pino GND do módulo MOSFET
+ do adaptador de 12V terminal +
+ do elemento de aquecimento (vermelho) terminal + (compartilhado com o + do adaptador)
− do elemento de aquecimento (preto) terminal LOAD
− do adaptador de 12V terminal −

Um elemento de aquecimento não tem bobina, então não é necessário um diodo de roda livre (flyback).

Código

O código é o do tutorial do módulo MOSFET. Ele alimenta o aquecedor em potência total por 2 segundos e o desliga por 2 segundos. Depois, aumenta a potência de 10% a 100% e a baixa de volta até 0%. Um aquecedor esquenta e esfria devagar, então você sente a mudança de calor só depois de algum tempo, e não a cada passo.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-heating-element */ const int MOSFET_PIN = D9; // Arduino Nano ESP32 pin 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); }

Passos Rápidos

  • Prepare a placa e o Arduino IDE do mesmo modo que nos Passos Rápidos do relé acima.
  • Faça a ligação do diagrama, com o adaptador de 12V ainda não conectado.
  • Faça o upload do código acima para o Arduino Nano ESP32.
  • Conecte o adaptador de 12V.
  • Abra o Serial Monitor com um baud rate de 9600 e veja o nível de potência.
  • Não toque no elemento de aquecimento. Ele fica quente.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

Nota: use o módulo MOSFET somente com um elemento de aquecimento DC e uma alimentação de cerca de 6V ou mais. Um aquecedor na rede elétrica AC precisa do 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!