RisalDash RisalDash

Гайд · Питание · Отладка

ESP32 сам перезагружается? Это питание, а не код

Случайные ребуты. Плата зависает в момент подключения Wi-Fi. В мониторе порта — Brownout detector was triggered. На это натыкается почти каждый новичок, и это почти никогда не баг в коде. Это просадка питания под нагрузкой. Разбираем почему и как вылечить навсегда.

ПитаниеBrownoutESP32AMS1117Wi-FiЖелезо
График питания: всплеск WiFi просаживает напряжение ниже порога 2.8 В и плата уходит в ресет
Классика: WiFi-всплеск просаживает VDD ниже 2.8 В — и плата ресетится.

Что такое «brownout» на самом деле

В ESP32 встроен детектор просадки (brownout): если рейл 3,3 В падает ниже порога (~2,4–2,8 В), он сбрасывает чип, чтобы не работать на плохом напряжении. Так что сообщение — не болезнь, а симптом: рейл провалился.

Виновник почти всегда — Wi-Fi-радио. На передаче оно рвёт ток резкими всплесками по 300–500 мА. Если БП, кабель или бортовой стабилизатор не выдают это мгновенно, напряжение падает, детектор срабатывает, плата ребутается — вот почему она умирает ровно в момент включения Wi-Fi.

Типовые причины

Что делать (по порядку)

Как питать периферию без просадок

Лента WS2812, серва или мотор поодиночке тянут больше, чем весь ESP32. Гнать это через крошечный бортовой стабилизатор — гарантированные ребуты. Правило: вычисления и радио на одном питании, «мускулы» — на другом, земли соединены. 5-вольтовому модулю или ленте, если она отвечает логикой в ESP32, нужна ещё и проверка уровней 3.3 ↔ 5 В.

На батарее

Батарея добавляет свою ловушку: AMS1117 впустую жрёт ток даже в простое (плохой ток покоя) и требует запаса над 3,3 В для стабилизации. Для батарейных проектов бери эффективный buck/boost — или заведи ячейку LiFePO4 (3,2 В) почти напрямую в рейл 3,3 В. А дальше выжимай каждый микроампер глубоким сном.

В девяти случаях из десяти лекарство — кабель получше плюс жирный конденсатор. Почини рейл — и загадочные вылеты, отвалы Wi-Fi и «случайные» ребуты просто прекращаются.

Цепляешь 5-вольтовые детали к 3,3-вольтовому ESP32? Не сожги заодно пин.