Tutorial ESP32 55/55 - Como medir a tensão DC de 12V, 24V ou 100V | Kit de aprendizado em IoT ESP32 da SunFounder

Tutorial ESP32 55/55 - Como medir a tensão DC de 12V, 24V ou 100V | Kit de aprendizado em IoT ESP32 da SunFounder

Neste tutorial, aprenderemos como usar o ESP32 para medir várias tensões DC, incluindo 12V, 24V e até mesmo 100V. Ao utilizar um circuito divisor de tensão feito com dois resistores, podemos medir tensões mais altas com segurança, sem arriscar danificar o microcontrolador ESP32. Este projeto demonstrará como ler essas tensões e exibi-las no monitor serial, fornecendo informações valiosas sobre suas fontes de energia.

ESP32-55-qualquer-voltagem-principal

Assista ao vídeo para uma explicação abrangente (no vídeo em 00:00). Estaremos usando uma configuração simples de divisor de tensão para alcançar isso, garantindo que possamos medir tensões que excedem os níveis máximos de entrada do ESP32 com segurança. Este tutorial é perfeito para aqueles que procuram expandir seu conhecimento sobre o ESP32 e suas capacidades.

Fórmula para calcular a tensão

ESP32-55_fórmula-de-qualquer-voltagem

Hardware Explicado

Os principais componentes deste projeto incluem o microcontrolador ESP32, dois resistores formando um divisor de tensão e a fonte de energia que você deseja medir. O ESP32 é equipado com capacidades de Wi-Fi e Bluetooth integradas, tornando-o uma escolha versátil para projetos de IoT. O divisor de tensão, composto por dois resistores, nos permite reduzir a tensão para um nível seguro que o ESP32 pode processar.

Neste arranjo, um resistor,R1está fixado em 10kΩ, enquanto o segundo resistor,R2, pode variar dependendo da tensão máxima que você deseja medir. A tensão em relação aR1é o que leremos usando o pino de entrada analógica do ESP32, permitindo-nos calcular a tensão original da fonte de alimentação.

  • Certifique-se de que os resistores têm tolerância de 1% para medições precisas.
  • Use um divisor de tensão para evitar exceder as classificações de tensão de entrada do ESP32.
  • MantenhaR1a 10kΩ e ajusteR2baseado na faixa de tensão.
  • Verifique as conexões para evitar entradas flutuantes que podem levar a leituras imprecisas.
  • Utilize uma fonte de energia estável para medições de voltagem consistentes.

Instruções de Fiação

Para ligar o circuito, comece conectando uma extremidade doR1resistor (10kΩ) à sua fonte de tensão, e a outra extremidade ao pino GPIO 35 do ESP32. Este pino irá ler a tensão atravésR1. Em seguida, conecte oR2resistor (que pode ser 100kΩ ou outro valor dependendo das suas necessidades) entre o ponto de junção deR1e o terra. Certifique-se de que o terra da fonte de energia também esteja conectado ao terra do ESP32.

Por exemplo, se medir 24V, conecte o terminal positivo da fonte de alimentação aR1, em seguida conecte a outra extremidade deR1para o pino 35 e a junção dos dois resistores. A extremidade livre deR2deve ir para o terra. Esta configuração permitirá que o ESP32 leia uma tensão reduzida com segurança.

Exemplos de Código e Guia passo a passo

const int R1 = 10000; // Resistor 1 value
const int R2 = 100000; // Resistor 2 value
const int VinPin = 35; // Voltage input pin

Neste excerto, definimos os valores para nossos resistores,R1eR2, assim como o pino analógicoVinPinque usaremos para ler a tensão. Essas constantes são cruciais para nossos cálculos de tensão.

void readVoltage() {
  uint32_t voltage_mV = analogReadMilliVolts(VinPin); // Read in millivolts
  VB1 = (((float) voltage_mV) / 1000.0) * (1 + (float)R2/(float)R1);
}

Esta função lê a tensão em milivolts do pino especificado e calcula a tensão real.VB1usando a fórmula do divisor de tensão. Isso é importante para traduzir a tensão reduzida de volta ao valor original.

void maxVoltage() {
  float maxVoltage = (3.1) * (1 + (float)R2/(float)R1);
}

Aqui, definimos uma função para calcular e imprimir a tensão máxima que pode ser medida com segurança com base nos valores dos resistores. Esta função é crítica para garantir que não excedamos os limites de tensão do ESP32.

Demonstração / O que Esperar

Quando você executar o código, deverá ver a tensão medida exibida no monitor serial. À medida que você ajusta a tensão de entrada, as leituras devem refletir essas mudanças em tempo real, demonstrando a capacidade do ESP32 de medir várias tensões DC com precisão. Se você experimentar flutuações nas leituras, considere fazer a média de várias amostras para obter um resultado mais estável (no vídeo às 12:30).

Marcas de Tempo do Vídeo

  • 00:00 Início
  • 1:59 Introdução ao projeto
  • 5:45 Divisor de tensão
  • 7:33 Explicação da fiação
  • 9:14 Código Arduino explicado
  • 14:45 Selecionando a placa ESP32 e a porta COM no Arduino IDE
  • 16:27 Medindo 30V usando demonstração do ESP32
  • 21:36 Mudou o R2 para 330k ohm
  • 22:33 Medição da tensão mínima

Imagens

ESP32-55_any-voltrage-formula
ESP32-55_any-voltrage-formula
ESP32-55-any-voltage-main
ESP32-55-any-voltage-main
805-ESP32 Tutorial 55/55 - Arduino code to measure 12V, 24V or 100V DC voltage
Idioma: C++
Copiado!

Recursos e referências

Ainda não há recursos.

Arquivos📁

Nenhum arquivo disponível.