Skip to Content

Solucionar el brownout del ESP32-CAM

Solucionar el brownout del ESP32-CAM

Este tutorial te ayudará a solucionar problemas de brownout con tu ESP32-CAM placa. Los síntomas de un brownout son un funcionamiento inestable de la placa ESP32-CAM con reinicios aleatorios, debido a una fuente de alimentación inestable o insuficiente.

Dado que el ESP32-CAM es un módulo microcontrolador que integra Wi-Fi y una cámara incorporada, consume bastante energía y los errores de brownout no son infrecuentes. El ESP32 tiene un detector que vigila el bajo voltaje y, si se detecta, reinicia la placa y muestra el siguiente mensaje de error en el Monitor Serial:

Brownout detector was triggered

Este tutorial te guiará para entender qué es un brownout, por qué ocurre y cómo solucionarlo con soluciones tanto de hardware como de software.

¿Qué es un Brownout?

Un brownout ocurre cuando el voltaje de alimentación cae por debajo del umbral mínimo requerido por el ESP32. Cuando esto sucede, el microcontrolador activa un detector de brownout para reiniciarse y evitar un mal funcionamiento.

Los síntomas de un brownout son reinicios o reinicios inesperados de la placa, el mensaje de error «Brownout detector was triggered» o fallos en la conexión Wi-Fi o en la inicialización de la cámara.

Normalmente, los brownouts son causados por una fuente de alimentación débil o inestable, caídas de voltaje debido a cables largos o conexiones deficientes, y el consumo repentino de corriente del módulo de cámara o Wi-Fi.

Requisitos de alimentación del ESP32-CAM

El ESP32-CAM consume más energía que un ESP32 estándar debido al módulo de cámara. Internamente funciona a 3.3V, pero la placa tiene un AMS1117-3.3 regulador de voltaje que permite una entrada de hasta 15 V y soporta una corriente de hasta 1A.

Cuando se usa la cámara y/o el Wi-Fi, la placa puede consumir hasta 500mA y si la fuente de alimentación no puede proporcionar tanta corriente y el voltaje cae, ocurre un brownout.

Problemas comunes que causan brownouts

  • Uso de adaptadores USB a serie que proporcionan menos de 500mA
  • Alimentar el ESP32-CAM a través del pin de 3.3V en lugar del pin de 5V
  • Uso de cables largos o delgados que introducen resistencia y caídas de voltaje
  • Proporcionar alimentación desde una placa de pruebas con conectores deficientes
  • Uso de power-banks con función de apagado automático
  • Regulador de voltaje AMS1117 defectuoso

Soluciones

Usa una fuente de alimentación estable

  • Utiliza un adaptador de corriente regulado de 5V 2A
  • Alimenta el ESP32-CAM a través del pin de 5V, no del pin de 3.3V
  • Evita alimentar directamente desde el puerto USB de un ordenador a menos que uses un hub con alimentación propia

Añade condensadores

Puedes compensar los picos repentinos en el consumo de energía añadiendo un condensador de gran capacidad. Conecta un condensador electrolítico de 470µF o más entre 5V y GND como se muestra abajo. Ten cuidado con la polaridad correcta.

Capacitor to stabilize power supply
Condensador para estabilizar la fuente de alimentación

También puedes probar a añadir un condensador cerámico de 0.1µF para filtrar el ruido de alta frecuencia si observas errores erráticos, por ejemplo, una conexión Wi-Fi inestable.

Mejora el cableado

Usa cables cortos y gruesos (por ejemplo, 22 AWG o más gruesos) y evita alimentar a través de placas de pruebas. Si alimentas a través de una placa de pruebas, puedes duplicar los cables jumper para asegurar un suministro adecuado.

Evita el regulador de voltaje

Si el regulador de voltaje AMS1117 de la placa está defectuoso, puedes intentar alimentar la placa directamente desde el pin de entrada de 3.3V. Esto generalmente no se recomienda, pero puede ayudar en este caso. Por supuesto, también podrías soldar un reemplazo para el AMS1117 defectuoso.

Desactiva el detector de brownout en software

Puedes desactivar el detector de brownout con código para pruebas temporales:

#include "soc/soc.h"             // Access system control
#include "soc/rtc_cntl_reg.h"    // Access RTC control registers

void setup() {
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); // Disable brownout detector
  // Other initialization code...
}

Sin embargo, esto no soluciona realmente el problema. En lugar del error de brownout, podrías experimentar otros errores erráticos mucho más difíciles de diagnosticar, como conexiones Wi-Fi inestables, fallos esporádicos de la cámara, vídeo con ruido, etc.

Conclusión

En conclusión, los brownouts son reinicios del ESP32-CAM causados por una fuente de alimentación inestable o insuficiente. El ESP32-CAM es más propenso a brownouts en comparación con otras placas ESP32 debido a la adición del módulo de cámara que incrementa el consumo de energía. La mejor solución para evitar brownouts es asegurar una fuente de alimentación estable con al menos 1A a 5V.

Si estás empezando con ESP32-CAM, lee nuestro Programming the ESP32-CAM tutorial y si tienes más preguntas, no dudes en dejarlas en la sección de comentarios.

¡Feliz bricolaje ; )