我先按你这张原理图里电源拓扑把问题“对上号”,再给你一套最可能的根因 + 立刻可做的验证 + 改法。
1) 这两个现象,90%像“电源掉压/纹波 + 地弹”引起的
从图上看:
电池(VCC)→MT3608B 升压→ 得到+5V(VOUT)
+5V再进两个TLV75733做D3V3 / A3V3(数字3.3V、模拟3.3V)
电机/舵机侧用DRV8837(UM1/UM2),其VMIN很可能吃的是+5V(或同一电源域)
音频/麦克风(ES7210/ES8311、MICBIAS/REF等)吃A3V3,对电源噪声非常敏感
为什么“电量下降→灵敏度变差”?
电池电压越低,升压芯片 MT3608 要维持 5V 就得拉更大电流(电池内阻也更明显),这时:
+5V 更容易在负载突变时下陷
+5V 的开关纹波/噪声更大
TLV75733 的输入一旦掉到接近 3.3V+压差,它输出也会跟着掉,导致:
麦克风偏置/参考电压抖动 →ADC/AFE噪声上升、有效信号变小→ “变不灵敏”
ESP32 侧也可能发生棕断/时钟抖动/采样异常(轻则性能差,重则复位)
为什么“有时电机/舵机不工作”?
电机/舵机启动电流、堵转电流很大,尤其舵机常见瞬间 >1A。若 +5V 来自 MT3608:
MT3608 可能进入限流或输出掉压
DRV8837 有UVLO/欠压保护,电压一低它就直接不驱动 → 表现为“有时不转/不动”
同时大电流造成地线抬升(ground bounce),把模拟/数字参考一起带着飘
2) 你现在最该做的 3 个验证(半小时内就能定性)
示波器同时看三路:VCC(电池)、+5V、D3V3/A3V3
在“电量低 + 电机/舵机启动”瞬间抓波形
重点看:+5V 下陷幅度、恢复时间、纹波峰峰值;3.3V 是否跟着掉
电池内阻/线束压降检查
同样负载下,测电池端电压 vs 板上 VCC 电压差(线/开关/保护件压降)
很多“电量低变迟钝”其实是:电池内阻+接触电阻一大,启动瞬间直接掉穿。
把电机/舵机暂时断开,再做灵敏度测试
如果断开后灵敏度明显恢复:基本坐实是电源噪声/地弹耦合到音频/采样链路。
3) 立刻可落地的改法(按收益从高到低)
A. 电源域隔离(最有效)
电机/舵机单独一条电源:要么单独升压/电源模块,要么至少在电机支路前加“限流/滤波/大电容”,避免它把 +5V 拉塌。
A3V3(音频模拟3.3V)务必更干净:
在 +5V→A3V3 之间加磁珠/小电阻 + 电容做隔离(哪怕 10Ω+10uF/1uF 这种也能立竿见影)。
B. 加储能电容(低成本立竿见影)
在MT3608 输出(+5V)旁边加足够的低ESR大电容(例如 220uF~470uF,外加 10uF+0.1uF 贴片并联)。
电机/舵机支路入口同样加大电容(并注意回流路径别穿过模拟地)。
C. 升压芯片能力评估(常见根因)
MT3608 这类方案在低电压+大电流场景很吃紧:
低电量时,5V*Iout 对应的电池侧电流会很大(效率还要打折)
若你有舵机/电机,建议改用更大电流能力的升压/升降压,或者干脆:
电机用5V升压
MCU/音频用独立3.3V(从电池直接降压/升降压)
这样不会“电机一动,整板都跟着抖”。
D. 欠压策略(软件必须配合)
图里已经有 BAT_ADC 分压(200k/100k)给电池检测
建议:
电池低于阈值时:禁止舵机/电机动作或限制占空比/加软启动
灵敏度随电压补偿:低电压时适当提高前端增益/降低触发阈值(前提是噪声可控)
ESP32 开启合适 brownout,避免半死不活的异常状态
4) 我对你图里“最可疑的点”的一句话结论
你这板子是**“电池→升到5V→再LDO到3.3V,同时5V还要带电机/舵机”的结构,低电量时最容易出现5V被拉塌/纹波变大**,进而让音频灵敏度下降、让电机驱动欠压不工作。