继续往下讲,这次按**“电从哪里来 -> 怎么被存起来 -> 怎么变成稳定电源 -> MCU 怎么调度”**这条主线说。
1) ADP5090 是“前端采能经理”
从器件定位和原理图连接看,IC1 = ADP5090 是整个前级的核心,负责把太阳能板这种“弱、飘、变化大”的输入,变成可用的系统能源。
它在这块板上做了几件事
A. 从太阳能板取能
原理图里:
SC1:+、SC1:- 接到输入侧
VIN 在 Net (R2 - P1) 上
SW 接电感 L1
这说明它前面接的是太阳能输入,内部工作方式是采能升压/能量管理 ,而不是普通线性稳压。
B. 用 MPPT 提高采能效率
原理图里:
MPPT 引脚接到 R2/R3 分压网络
这是典型的“检测输入电压并设定工作点”的做法
你可以把 MPPT 理解成:
太阳能板不是电流源,也不是理想电压源
如果你拉得太猛,电压塌掉,反而取不到更多功率
如果你拉得太轻,又浪费了可用能量
所以 ADP5090 会尽量把太阳能板工作点控制在一个更“甜”的位置。
C. 给储能端充电
原理图里:
BAT 接到 C1(1F) 超级电容
BACK_UP 接到 BATT1:+
说明这板子支持两类储能思路:
BAT 侧 :主储能/缓冲储能,这里用了 1F 超级电容
BACK_UP 侧 :备份电池
这很关键,因为太阳能会忽强忽弱,如果没有储能,系统会一直复位、掉电、重启。
D. 给后级提供系统电源
原理图里:
SYS 接到 IC2:PVIN1、IC2:PVIN2
还挂了输入电容 C5/C6
这说明 ADP5090 不只是“充电”,它还把当前可用能量送到系统母线 SYS,再交给后级电源管理。
E. 给 MCU 一个“电源好不好”的状态
原理图里:
所以 MCU 能知道:
前级采能/储能侧是否达到可工作状态
当前是不是适合启动负载
这就是低功耗系统里很重要的“看电再行动”。
2) ADP5310 是“后端配电经理”
IC2 = ADP5310 在这块板里更像一个后级 PMIC,用前级给出的 SYS 再生成更稳定、适合不同负载的电源轨。
从搜索结果可确认,它本质上是:
双 Buck
一路负载开关
带 power-good
它在板上怎么工作
A. 吃进 SYS
原理图里:
PVIN1、PVIN2 都接 Net (IC1 - SYS)
也就是:
前级采来的能量先形成 SYS
后级再从 SYS 变换成更稳定的输出
B. 生成 3.3V
原理图里:
SW2 -> L3
L3 后面接到 +3V3
FB2 也接到 +3V3
这基本说明:
第二路 Buck 被配置为 3.3V 输出
+3V3 给 MCU 以及一部分数字逻辑用
C. 生成传感器电源 V_SENSOR
原理图里:
VOUT3 直接进入 Net (V_SENSOR - P1)
BME680 的 VDD、VDDIO 都挂在 V_SENSOR
所以这块板把传感器单独放在 V_SENSOR 这一路上,而不是粗暴全挂 3.3V。这么做的好处是:
便于 MCU 单独控制传感器域
可以减少待机功耗
可以把敏感模拟/传感器部分和主逻辑供电分开
D. 使能控制
原理图里:
EN1 接 MCU
EN3 接 LOAD_EN
SYNC/MODE 也和 LOAD_EN 有关
这意味着 MCU 能直接决定:
哪一路电源什么时候开
什么时候只保留主控,什么时候再打开传感器
这就是典型的分级上电 思路。
E. 电源状态反馈
原理图里:
所以 MCU 除了看前级 PGOOD,还会看后级 PWRGD:
这两个信号一起,决定系统是否进入“真正工作状态”。
3) STM8L051 是“策略控制器”
U2 = STM8L051F3P 是超低功耗 MCU,这很符合太阳能采能系统的定位。
它在这板上承担的角色
A. 少耗电地活着
这类系统最怕控制器自己吃电太多。
STM8L051 本身就是低功耗 8 位 MCU,适合这种:
长时间睡眠
短时间唤醒
处理简单任务
控制电源时序
B. 监视电源状态
从原理图看:
PB0 LOAD_EN
PB2 -> IC2:EN1
所以 MCU 并不是单纯被动工作,而是在做电源调度:
能量够:打开传感器和外设
能量不够:关闭负载,只保留核心功能
电压恢复:再恢复采样
D. 负责和传感器通信
原理图里:
U2:PC0 U1:SDI
U2:PC1 U1:SCK
再结合 BME680 数据手册可知:
BME680 支持 I2C 和 SPI
若 CSB 拉到 VDDIO 是 I2C
若 CSB 拉低则进入 SPI
你这张原理图里没有看到 CSB 被固定到 VDDIO,因此更像是SPI 方式 在用。
也就是 MCU 通过串行接口读取温湿压气体数据。
4) BME680 是“被按需供电的环境传感器”
从 Bosch 数据手册查到的关键信息:
VDD 是模拟电源
VDDIO 是数字接口电源
CSB 决定 I2C 还是 SPI
SDI/SCK/SDO 是数字接口引脚
推荐电源去耦 100 nF
如果用 I2C,CSB 应直接接 VDDIO,SDA/SCL 需要上拉
而你的板上:
VDD 和 VDDIO 都接到 V_SENSOR
周围有去耦电容
SDI/SCK 接 MCU
V_SENSOR 是由后级单独提供的
所以设计思想很明确:
传感器不是一直常开
而是作为可控负载 ,在有能量预算时再运行
这对于太阳能节点非常合理,因为 BME680 虽然不算特别耗电,但一直开着也不划算。
5) 这块板真正的工作节奏
你可以把它想成一个“会看天吃饭”的系统。
"Solar panel input"
"ADP5090\nenergy harvest + MPPT"
"Supercap / backup storage"
"SYS rail"
"ADP5310\npost regulation"
"3.3V"
"V_SENSOR"
"STM8L051"
"BME680"
"PGOOD"
"PWRGD"
"EN1 / LOAD_EN"
一个典型周期可能是这样
太阳能刚进来,能量很弱
ADP5090 开始从太阳能板慢慢取能
先给储能元件充一点电
系统先别急着启动大负载
储能达到一定水平
ADP5090 的 SYS 能稳定输出
后级 ADP5310 得到输入
PGOOD / PWRGD 逐渐有效
MCU 唤醒
读取电源状态
判断是否允许打开传感器域
拉高 LOAD_EN 或对应使能脚
打开 V_SENSOR,读取 BME680
任务结束,关闭部分负载
关掉传感器域或部分稳压输出
MCU 再回到低功耗等待
下一次等能量恢复后再工作
6) 这类主板最核心的设计思想
不是“有太阳就直接跑”,而是:
这四步缺一不可。
如果没有 ADP5090:
如果没有储能:
如果没有 ADP5310:
如果没有 STM8L051 的使能控制:
传感器和外设一直耗电,前面辛苦采来的能量很快被浪费掉
7) 你可以把这块板理解成什么
它不是单一功能板,而是一个低功耗太阳能节点原型平台 ,适合用来验证:
太阳能采能效率
超级电容/后备电池的缓冲能力
低功耗电源时序
传感器按需唤醒
MCU 的能量感知控制策略
如果你要,我下一步可以继续讲两种更具体的内容之一:
按启动时序讲 :上电后每一步谁先工作、谁后工作
按原理图网络讲 :把 SYS、+3V3、V_SENSOR、LOAD_EN、PGOOD 这几个网逐条解释清楚