Brownout detector was triggered

  1. 什么是ESP32的Brownout Detector?
    ESP32的Brownout Detector(BOD,欠压检测器)是一种硬件保护机制,用于监测电源电压是否低于某个阈值。当电源电压下降到该阈值以下时,BOD会触发,导致ESP32复位,以防止因电压过低而导致的损坏或不稳定运行。

  2. Brownout Detector被触发的原因
    Brownout Detector被触发的原因通常有以下几种:

电源电压不稳定:如果ESP32的供电电压波动较大,或者电源质量较差,可能会导致电压低于BOD的阈值。
电源容量不足:如果电源提供的电流不足以满足ESP32及其外围设备的需求,特别是在高负载情况下,电压可能会下降。
电源线路问题:电源线路过长、线径过细或连接不良都可能导致电压损失,从而触发BOD。
外部干扰:某些外部因素,如电磁干扰,也可能影响电源电压的稳定性。
3. 解决ESP32 Brownout Detector被触发问题的方法
解决ESP32 BOD被触发问题的方法包括:

检查电源电压:确保电源电压稳定且高于BOD的阈值。可以使用电压表测量ESP32的供电电压,并检查电源是否稳定。
更换电源:如果电源质量较差或容量不足,考虑更换更高质量或更大容量的电源。
优化电源线路:确保电源线路短而粗,以减少电压损失。同时,检查电源线路的连接是否良好。
增加电容滤波:在ESP32的电源引脚附近增加适当的电容滤波电路,可以平滑电源电压的波动,减少BOD被触发的可能性。

rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)

  • 在调试PFC8574 I2C接口扩展IO模块时使用到了GPIO12/13导致一直复位重新打印如下异常日志:

rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46

rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46

在这里插入图片描述
经分析排查因模块影响到GPIO12上电时被拉低,更换GPIO14/15后问题解决。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐