Project Description Update


继续往下讲,这次按**“电从哪里来 -> 怎么被存起来 -> 怎么变成稳定电源 -> 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 一个“电源好不好”的状态
原理图里:
  • PGOOD 接到 U2:PB0
所以 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. 电源状态反馈
原理图里:
  • PWRGD 接到 U2:PB3
所以 MCU 除了看前级 PGOOD,还会看后级 PWRGD:
  • 前级能量够不够
  • 后级输出稳不稳
这两个信号一起,决定系统是否进入“真正工作状态”。

3) STM8L051 是“策略控制器”
U2 = STM8L051F3P 是超低功耗 MCU,这很符合太阳能采能系统的定位。
它在这板上承担的角色 A. 少耗电地活着
这类系统最怕控制器自己吃电太多。
STM8L051 本身就是低功耗 8 位 MCU,适合这种:
  • 长时间睡眠
  • 短时间唤醒
  • 处理简单任务
  • 控制电源时序
B. 监视电源状态
从原理图看:
  • PB0 <- IC1:PGOOD
  • PB3 <- IC2:PWRGD
也就是说 MCU 能知道:
  • 采能前端是不是已经建立可用电源
  • 后端稳压是不是已经稳定
C. 控制谁上电、谁休眠
从原理图看:
  • PB1 -> 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) 这块板真正的工作节奏
你可以把它想成一个“会看天吃饭”的系统。

Diagram


"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"
一个典型周期可能是这样
  1. 太阳能刚进来,能量很弱
    • ADP5090 开始从太阳能板慢慢取能
    • 先给储能元件充一点电
    • 系统先别急着启动大负载
  2. 储能达到一定水平
    • ADP5090 的 SYS 能稳定输出
    • 后级 ADP5310 得到输入
    • PGOOD / PWRGD 逐渐有效
  3. MCU 唤醒
    • 读取电源状态
    • 判断是否允许打开传感器域
    • 拉高 LOAD_EN 或对应使能脚
  4. 打开 V_SENSOR,读取 BME680
    • 采一组环境数据
    • 做简单处理或通过排针输出/调试
  5. 任务结束,关闭部分负载
    • 关掉传感器域或部分稳压输出
    • MCU 再回到低功耗等待
    • 下一次等能量恢复后再工作

6) 这类主板最核心的设计思想
不是“有太阳就直接跑”,而是:
  • 先采能
  • 再存能
  • 再稳压
  • 最后有策略地用能
这四步缺一不可。
如果没有 ADP5090:
  • 太阳能板会很难稳定给系统供电
如果没有储能:
  • 云一来、光一弱,系统就反复死机
如果没有 ADP5310:
  • 负载看到的电压不稳定,MCU 和传感器工作不可靠
如果没有 STM8L051 的使能控制:
  • 传感器和外设一直耗电,前面辛苦采来的能量很快被浪费掉

7) 你可以把这块板理解成什么
它不是单一功能板,而是一个低功耗太阳能节点原型平台,适合用来验证:
  • 太阳能采能效率
  • 超级电容/后备电池的缓冲能力
  • 低功耗电源时序
  • 传感器按需唤醒
  • MCU 的能量感知控制策略
如果你要,我下一步可以继续讲两种更具体的内容之一:
  1. 按启动时序讲:上电后每一步谁先工作、谁后工作
  2. 按原理图网络讲:把 SYS、+3V3、V_SENSOR、LOAD_EN、PGOOD 这几个网逐条解释清楚
讲启动时序
讲关键网络
检查电源时序
运行 ERC/DRC

3D view of the PCB of Solar Power Project

Solar Power Project