Tutorial ESP32 55/55 - Cómo medir voltaje DC de 12V, 24V o 100V | Kit de aprendizaje IoT ESP32 de SunFounder

Tutorial ESP32 55/55 - Cómo medir voltaje DC de 12V, 24V o 100V | Kit de aprendizaje IoT ESP32 de SunFounder

En este tutorial, aprenderemos a utilizar el ESP32 para medir varios voltajes de corriente continua, incluyendo 12V, 24V e incluso hasta 100V. Al utilizar un circuito divisor de voltaje compuesto por dos resistencias, podemos medir de forma segura voltajes más altos sin arriesgar dañar el microcontrolador ESP32. Este proyecto demostrará cómo leer estos voltajes y mostrarlos en el monitor serial, proporcionando información valiosa sobre tus fuentes de energía.

ESP32-55-cualquier-tensión-principal

Mira el video para una explicación completa (en el video a las 00:00). Estaremos utilizando una configuración simple de divisor de voltaje para lograr esto, asegurándonos de que podamos medir voltajes que superen de manera segura los niveles máximos de entrada del ESP32. Este tutorial es perfecto para aquellos que buscan ampliar su conocimiento sobre el ESP32 y sus capacidades.

Fórmula para calcular voltaje

ESP32-55_cualquier-fórmula-de-voltaje

Hardware Explicado

Los componentes clave para este proyecto incluyen el microcontrolador ESP32, dos resistencias que forman un divisor de voltaje y la fuente de alimentación que deseas medir. El ESP32 está equipado con capacidades de Wi-Fi y Bluetooth integradas, lo que lo convierte en una opción versátil para proyectos de IoT. El divisor de voltaje, compuesto por dos resistencias, nos permite reducir el voltaje a un nivel seguro que el ESP32 puede procesar.

En esta configuración, una resistencia,R1, está fijado en 10kΩ, mientras que el segundo resistor,R2, puede variar dependiendo del voltaje máximo que desee medir. El voltaje a través deR1es lo que leeremos utilizando el pin de entrada analógica del ESP32, lo que nos permitirá calcular el voltaje original de la fuente de alimentación.

  • Asegúrate de que las resistencias tengan una tolerancia del 1% para mediciones precisas.
  • Usa un divisor de voltaje para evitar exceder las especificaciones de voltaje de entrada del ESP32.
  • MantenerR1a 10kΩ y ajustarR2basado en el rango de voltaje.
  • Verifique las conexiones para evitar entradas flotantes que pueden conducir a lecturas inexactas.
  • Utilice una fuente de energía estable para mediciones de voltaje consistentes.

Instrucciones de cableado

Para cablear el circuito, comienza conectando un extremo delR1un resistor (10kΩ) a tu fuente de voltaje, y el otro extremo al pin GPIO 35 del ESP32. Este pin leerá el voltaje a través deR1. A continuación, conecta elR2resistor (que puede ser de 100kΩ o de otro valor según tus necesidades) entre el punto de intersección deR1y la tierra. Asegúrate de que la tierra de la fuente de alimentación también esté conectada a la tierra del ESP32.

Por ejemplo, si se mide 24V, conecta el terminal positivo de la fuente de alimentación aR1, luego conecta el otro extremo deR1al pin 35 y la unión de las dos resistencias. El extremo libre deR2debería ir a tierra. Esta configuración permitirá que el ESP32 lea un voltaje reducido de forma segura.

Ejemplos de código y guía paso a paso

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

En este extracto, definimos los valores para nuestros resistores,R1yR2, así como el pin analógicoVinPinque utilizaremos para leer el voltaje. Estas constantes son cruciales para nuestros cálculos de voltaje.

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

Esta función lee el voltaje en milivoltios desde el pin especificado y calcula el voltaje real.VB1usando la fórmula del divisor de voltaje. Esto es importante para traducir el voltaje reducido de vuelta al valor original.

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

Aquí, definimos una función para calcular e imprimir la tensión máxima que se puede medir de manera segura según los valores de los resistores. Esta función es crítica para garantizar que no superemos los límites de tensión del ESP32.

Demostración / Qué Esperar

Cuando ejecutes el código, deberías ver el voltaje medido mostrado en el monitor serie. A medida que ajustes el voltaje de entrada, las lecturas deberían reflejar estos cambios en tiempo real, demostrando la capacidad del ESP32 para medir varios voltajes de CC con precisión. Si experimentas fluctuaciones en las lecturas, considera promediar múltiples muestras para lograr un resultado más estable (en el video a las 12:30).

Marcas de tiempo del video

  • 00:00 Comienzo
  • 1:59 Introducción al proyecto
  • 5:45 Divisor de voltaje
  • 7:33 Explicación del cableado
  • 9:14 Código de Arduino explicado
  • 14:45 Seleccionando la placa ESP32 y el puerto COM en Arduino IDE
  • 16:27 Medición de 30V usando la demostración del ESP32
  • 21:36 Cambié el R2 a 330k ohmios
  • 22:33 Medición de voltaje mínimo

Imágenes

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 y referencias

Aún no hay recursos.

Archivos📁

No hay archivos disponibles.