ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

BQ25570微功耗能量收集实战:从引脚配置到VBAT_OK监控

BQ25570微功耗能量收集实战:从引脚配置到VBAT_OK监控 1. 为什么选择BQ25570做微功耗能量收集搞过低功耗物联网节点的人都有一个共同的痛点电池换不起。几百个传感器节点撒在楼宇、农田、管道井里靠纽扣电池撑不过半年派人去换电池的成本比设备本身还高。太阳能收集看起来是个好出路但普通太阳能板在室内或者阴天时输出只有几十微瓦传统DC-DC芯片的静态电流就能把这点能量吃干净。BQ25570这颗芯片就是冲着这个场景来的。它的冷启动电压只要330mV静态电流低到488nA典型值内部集成了升压充电器和可编程降压转换器能把微瓦级的太阳能输入攒进可充电电池或超级电容里再稳定输出给后级负载。我第一次用它是在一个户外环境监测项目上太阳能板只有指甲盖大小室内荧光灯下就能维持传感器每小时上报一次数据这个表现确实让我有点意外。这篇文章适合谁看如果你正在做低功耗无线传感器、可穿戴设备、远程监测终端或者单纯想玩一玩能量收集BQ25570是个很好的入门选择。但它的引脚配置和寄存器设置确实有点绕尤其是VBAT_OK这个状态监控机制很多人第一次用会踩坑。下面我把整个实战过程拆开讲从引脚怎么接、电阻怎么算到VBAT_OK怎么监控、效率怎么优化尽量把每个细节都说透。2. BQ25570核心架构与引脚配置详解2.1 芯片内部架构拆解BQ25570内部可以分成三个主要模块升压充电器、能量管理控制逻辑、降压转换器。升压充电器负责把太阳能板输入的0.1V到3V左右的电压抬升到可以给储能元件充电的水平它采用的是脉冲频率调制PFM方式只有在输入能量足够时才启动开关这样静态功耗才能压到纳安级别。能量管理控制逻辑是这颗芯片的灵魂。它通过外部电阻分压网络设定几个关键阈值欠压锁定阈值UV、最大充电电压阈值VBAT_OV、VBAT_OK的上下限阈值VOK_HI和VOK_LO。这些阈值决定了芯片什么时候开始充电、什么时候停止、什么时候告诉后级“我电量充足”。降压转换器是一个可编程输出的Buck输入来自储能元件输出可以设定在1.8V到3.3V之间最大输出电流110mA。它的使能受VBAT_OK信号控制也就是说只有当储能元件电压高于VOK_HI时降压输出才打开避免储能元件被后级负载抽干。2.2 引脚功能逐个说清楚BQ25570是20引脚QFN封装引脚密度不低第一次画PCB容易搞混。我把关键引脚按功能分组说明。能量输入侧VIN_DC引脚1太阳能板正极输入。这个引脚内部有整流和保护电路输入电压范围-0.3V到5.5V但实际有效工作范围是0.1V到3V左右。注意太阳能板电压超过3V时效率会下降选板子时开路电压最好控制在2.5V以内。VOC_SAMP引脚2开路电压采样引脚。这个引脚配合外部电容使用芯片每隔16秒左右断开输入采样太阳能板的开路电压然后根据开路电压的百分比来追踪最大功率点MPPT。采样电容典型值10nF接在VOC_SAMP和GND之间。VREF_SAMP引脚3参考电压采样保持引脚。外部接一个10nF电容到GND芯片内部产生的参考电压会保持在这个电容上用于MPPT比较。储能元件侧VBAT引脚4储能元件正极连接点。可以接可充电锂电池、薄膜电池或者超级电容。这个引脚也是充电电流的输出端。VSS引脚5地。VBAT_OV引脚6过压阈值设定引脚。通过两个电阻分压从VBAT取电压设定最大充电电压。当VBAT达到这个阈值时充电停止。VRDIV引脚7分压网络使能引脚。这个引脚输出一个使能信号控制外部电阻分压网络的通断目的是减少分压电阻上的静态功耗。它通常在芯片采样阈值时才拉高平时是低电平。OT_PROG引脚8过温保护阈值设定。接一个电阻到GND设定芯片过温关断点。如果不使用可以悬空但建议接一个100kΩ电阻设定在85°C左右。OK_PROG引脚9VBAT_OK上限阈值设定。通过电阻分压网络设定。OK_HYST引脚10VBAT_OK迟滞设定。通过电阻分压网络设定下限阈值。状态输出侧VBAT_OK引脚11开漏输出需要外部上拉电阻。当VBAT电压高于VOK_HI时输出高电平低于VOK_LO时输出低电平。这个信号用来使能后级负载或者通知MCU。BAT_GOOD引脚12另一个状态输出也是开漏。当VBAT高于UV阈值时输出高表示储能元件已经可以正常供电。降压输出侧VOUT引脚13降压转换器输出。VOUT_SET引脚14输出电压设定。通过电阻分压从VOUT取电压设定输出电压值。LBOOST引脚15、16升压电感连接点。接一个10μH到22μH的电感。LBUCK引脚17、18降压电感连接点。接一个10μH到22μH的电感。VOUT_EN引脚19降压使能输入。可以外部控制也可以直接接VBAT_OK。SW_BUCK引脚20降压开关节点接电感。2.3 引脚配置的实操要点画原理图时最容易出错的地方是分压电阻网络。BQ25570的阈值设定全部依赖外部电阻分压芯片内部有一个固定的参考电压通常是1.21V左右具体看数据手册。分压电阻的精度直接影响阈值准确性建议用1%精度的薄膜电阻温度系数50ppm/°C以内。另一个坑是VRDIV引脚的使用。很多人不知道这个引脚的作用直接把它悬空或者接高电平结果分压电阻一直在耗电。正确的做法是把分压网络的下端电阻接到VRDIV而不是GND这样芯片只在采样瞬间才给分压网络供电平时分压电阻上没有电流。这个细节能把静态功耗再降一个数量级。还有VOC_SAMP和VREF_SAMP的电容必须用低漏电流的陶瓷电容X7R或者C0G材质。如果用漏电流大的电容采样电压会漂移MPPT效率会明显下降。我实测过用普通Y5V电容时MPPT效率只有60%左右换成C0G后能到85%以上。3. 阈值电阻计算与储能元件选型3.1 阈值电阻的计算方法BQ25570的所有阈值都通过电阻分压设定计算公式在数据手册里有但实际用的时候有几个细节需要注意。我以设定VBAT_OV4.2V单节锂电为例说明。芯片内部参考电压VREF典型值是1.21V。分压网络从VBAT到VRDIV中间节点接VBAT_OV引脚。设上端电阻为R1下端电阻为R2则VBAT_OV VREF × (R1 R2) / R2反过来已知VBAT_OV和VREF选一个R2值就能算出R1R1 R2 × (VBAT_OV / VREF - 1)R2的选取有讲究。太小了分压网络电流大虽然VRDIV只在采样时供电但采样瞬间的电流也不能太大否则会拉低VBAT电压。太大了则容易受引脚漏电流影响精度下降。经验值是R2取1MΩ到10MΩ之间我一般用4.7MΩ。代入VBAT_OV4.2VVREF1.21VR24.7MΩR1 4.7M × (4.2 / 1.21 - 1) 4.7M × 2.471 11.6MΩ取标准值11.5MΩ或11.8MΩ。实际焊上去后测一下阈值偏差在±50mV以内就算合格。VBAT_OK的上下限阈值计算同理。OK_PROG引脚设定上限VOK_HIOK_HYST引脚设定下限VOK_LO。注意OK_HYST引脚的分压网络是从OK_PROG引脚取电压的不是从VBAT取这个结构有点绕画图时容易接错。假设我要设定VOK_HI3.6VVOK_LO3.3V。先算OK_PROG的分压R3 R4 × (VOK_HI / VREF - 1)取R44.7MΩ则R3 4.7M × (3.6 / 1.21 - 1) 4.7M × 1.975 9.28MΩ取9.1MΩ。然后算OK_HYST的分压。OK_HYST引脚接在OK_PROG分压网络的下端电阻R4上通过另一个电阻R5到GND。实际上OK_HYST的阈值是相对于OK_PROG引脚电压的计算稍微复杂一点。简单做法是先用数据手册的公式算出R5然后实测调整。3.2 储能元件怎么选储能元件的选择直接决定了系统的续航能力和瞬时供电能力。BQ25570支持三种储能元件可充电锂电池、薄膜电池、超级电容。可充电锂电池能量密度最高自放电低适合需要长时间续航的场景。但锂电池有充放电循环寿命限制而且低温性能差。我一般选小容量的锂聚合物电池比如50mAh到200mAh体积小循环寿命也有几百次。薄膜电池比如Cymbet的EnerChip循环寿命长可以充放电上万次但容量小通常只有几十微安时到几毫安时。适合负载功耗极低、但需要频繁充放电的场景。超级电容容量大充放电速度快但自放电率高而且电压随电量线性下降不像锂电池那样有平坦的放电平台。如果后级负载对电压敏感超级电容不是好选择。我自己的项目里用得最多的是100mAh的锂聚合物电池。选型时注意电池的保护板有些电池自带过放保护但保护板本身有静态功耗可能达到几微安会吃掉收集到的能量。如果电池不带保护板就要靠BQ25570的UV阈值来防止过放。储能元件容量计算有个经验公式C (I_load × t) / (V_hi - V_lo)其中I_load是平均负载电流t是两次充电之间的时间间隔V_hi和V_lo是VBAT_OK的上下限。假设负载平均电流100μA两次充电间隔24小时V_hi3.6VV_lo3.3VC (100μA × 86400s) / 0.3V 28.8F这个容量太大了说明单靠太阳能收集在24小时内攒不够这么多能量。实际做法是缩短上报间隔或者降低负载功耗。如果负载平均电流降到10μA则C2.88F用超级电容就能实现。3.3 电感与电容的选型细节升压和降压电感的选择对效率影响很大。BQ25570的开关频率在PFM模式下是变化的典型值在1kHz到100kHz之间。电感值太小峰值电流大开关损耗增加电感值太大响应慢启动时间长。升压电感推荐10μH到22μH饱和电流至少200mA直流电阻小于1Ω。我常用的是22μH的绕线电感直流电阻0.5Ω左右实测效率比10μH高3到5个百分点。降压电感同样推荐10μH到22μH饱和电流要大于最大输出电流。如果输出电流110mA电感饱和电流至少300mA。输入输出电容用低ESR的陶瓷电容。VIN_DC端建议接10μFVBAT端接10μFVOUT端接22μF。注意VOUT端的电容不能太大否则启动时浪涌电流会触发过流保护。4. VBAT_OK状态监控的完整实现4.1 VBAT_OK的工作原理VBAT_OK是BQ25570最实用的功能之一。它本质上是一个带迟滞的电压比较器输出当VBAT电压上升到VOK_HI以上时VBAT_OK输出高电平当VBAT下降到VOK_LO以下时输出低电平。中间区域保持上一次的状态这就是迟滞。迟滞的作用是防止后级负载在阈值附近反复开关。如果没有迟滞VBAT在阈值附近波动时VBAT_OK会频繁跳变后级负载一会儿开一会儿关系统根本没法稳定工作。VBAT_OK是开漏输出必须接上拉电阻。上拉电阻可以接到VBAT也可以接到VOUT取决于后级电路的逻辑电平。如果后级MCU是1.8V供电上拉电阻就接到VOUT如果是3.3V就接到VBAT或者VOUT如果VOUT设定为3.3V。上拉电阻的阻值选择太大则上升沿慢太小则静态功耗大。典型值100kΩ到1MΩ。我一般用470kΩ上升时间在几十微秒量级静态电流不到10μA。4.2 用MCU监控VBAT_OK的实操VBAT_OK可以直接接到MCU的外部中断引脚或者普通GPIO。如果只是用来使能后级负载直接接VOUT_EN就行。但如果想记录能量收集状态、做自适应上报策略就需要MCU来监控。我通常把VBAT_OK接到MCU的一个GPIO配置为输入开启内部上拉如果外部上拉电阻没焊。然后在主循环里轮询或者用外部中断检测边沿。轮询方式简单但会占用MCU的唤醒时间。对于低功耗应用建议用外部中断只在VBAT_OK跳变时唤醒MCU。比如VBAT_OK从低变高时MCU唤醒开始一次数据采集和上报从高变低时MCU进入深度睡眠等待下一次充电完成。这里有个坑VBAT_OK跳变时会有抖动尤其是VBAT电压刚好在阈值附近时。虽然芯片内部有迟滞但外部干扰或者负载突变还是可能引起误触发。解决方法是在MCU端做软件消抖检测到边沿后延时10ms再读一次状态确认稳定后再动作。另一个坑是VBAT_OK的上拉电阻接到VOUT时如果VOUT还没建立VBAT_OK就是低电平MCU可能误判为电量不足。正确做法是上拉电阻接到VBAT这样只要VBAT有电VBAT_OK就能正常输出。4.3 VBAT_OK与BAT_GOOD的配合使用BAT_GOOD是另一个状态输出当VBAT高于欠压锁定阈值UV时输出高。UV阈值通常设定在2.0V到2.2V左右低于这个电压时芯片认为储能元件电量耗尽停止所有输出。BAT_GOOD和VBAT_OK配合使用可以实现分级电源管理。比如BAT_GOOD为低储能元件电量极低MCU进入最低功耗模式只保留RTC走时。BAT_GOOD为高、VBAT_OK为低储能元件有电但不足MCU可以周期性唤醒采集数据但不上报。VBAT_OK为高储能元件电量充足MCU正常上报数据甚至可以开启高功耗传感器。这种分级策略能最大化利用收集到的能量避免在电量不足时做无用功。4.4 实测波形与状态分析我用示波器抓过VBAT_OK的波形。太阳能板在室内荧光灯下输出电流大约20μA。VBAT从3.3V充到3.6V用了大约4小时VBAT_OK从低变高。然后MCU唤醒开启传感器和无线模块瞬时电流20mA持续50ms。这50ms内VBAT从3.6V掉到3.55V但还在VOK_LO以上VBAT_OK保持高电平。上报完成后MCU进入睡眠VBAT继续充电。如果负载电流太大或者上报时间太长VBAT可能掉到VOK_LO以下VBAT_OK变低MCU被迫中断上报进入睡眠。这种情况说明储能元件容量不够或者太阳能板功率不足需要调整。实测中我还发现VBAT_OK的跳变点跟设定值有偏差通常在±30mV以内。这个偏差来自电阻精度、参考电压偏差和温度漂移。如果应用对阈值精度要求高可以用MCU的ADC定期校准或者用数字电位器动态调整分压电阻。5. 效率优化与低功耗设计技巧5.1 MPPT效率怎么调BQ25570的MPPT是通过采样太阳能板开路电压的百分比来实现的。芯片内部固定采样比例通常是开路电压的80%左右。这个比例对单晶硅太阳能板比较合适但对薄膜太阳能板可能不是最优。如果发现MPPT效率不高可以尝试调整VOC_SAMP的采样电容。电容值影响采样保持时间太大则采样跟不上开路电压变化太小则采样电压不稳定。典型值10nF可以在4.7nF到22nF之间试。另一个影响MPPT效率的因素是太阳能板的特性。太阳能板的内阻和光照强度有关光照弱时内阻大最大功率点电压会下降。BQ25570的固定比例MPPT在这种情况下不是最优但胜在简单可靠。如果追求极致效率可以用外部MCU做扰动观察法MPPT但会增加功耗和复杂度对微瓦级应用不划算。5.2 静态功耗的抠法BQ25570本身的静态电流已经很低了但外围电路的静态功耗往往被忽略。几个容易漏电的地方分压电阻网络如果没接VRDIV分压电阻一直在耗电。假设R1R215MΩVBAT3.6V电流就是240nA。虽然不大但跟芯片本身的488nA比就是同一量级了。VBAT_OK上拉电阻470kΩ接3.6V电流7.6μA。这个比芯片静态电流大一个数量级。如果后级不需要一直监控VBAT_OK可以把上拉电阻接到一个GPIO只在需要时拉高。储能元件保护板有些锂电池保护板静态电流几微安选型时要注意。PCB漏电流如果PCB表面有助焊剂残留或者湿度大漏电流可能达到微安级。清洗PCB并涂三防漆能解决。我实测过一块优化后的板子整个系统在睡眠时的静态电流不到1μA其中BQ25570占488nA外围电路占300nA左右。这个水平可以支持在室内光下长期运行。5.3 启动过程与冷启动技巧BQ25570的冷启动需要VIN_DC达到330mV以上。如果太阳能板在弱光下输出只有100mV芯片无法启动。这时候可以用一个储能电容先攒能量等电压升到330mV以上再启动。具体做法是在VIN_DC和GND之间接一个大电容比如100μF。太阳能板先给这个电容充电电容电压慢慢上升达到330mV后芯片启动开始正常升压。这个技巧在室内光或者阴天时特别有用。另一个技巧是降低启动时的负载。芯片启动瞬间降压转换器还没工作后级负载如果直接接在VOUT上会拉低VBAT导致启动失败。正确做法是让VOUT_EN受VBAT_OK控制启动时负载断开等VBAT充到VOK_HI后再打开负载。5.4 温度与长期可靠性BQ25570的工作温度范围是-40°C到85°C但外围元件的温度特性会影响整体性能。电阻的温度系数、电容的容量漂移、电池的低温性能都要考虑。户外应用建议选温度系数50ppm/°C以内的电阻X7R或C0G电容电池选低温型锂聚合物。如果环境温度可能低于-20°C锂电池可能无法充电这时候要考虑用超级电容或者薄膜电池。长期可靠性方面太阳能板表面要防尘防水接线端子要防氧化。我见过一个项目因为接线端子氧化接触电阻变大收集效率下降了一半。后来改用镀金端子并涂了防氧化膏问题解决。6. 常见问题与排查技巧实录6.1 芯片不启动怎么办这是最常见的问题。排查步骤测VIN_DC电压。如果低于330mV芯片不会启动。用万用表测太阳能板开路电压如果开路电压够但接上芯片就掉下来说明太阳能板内阻太大换大一点的板子或者加输入电容。测VOC_SAMP和VREF_SAMP电容。如果电容漏电或者虚焊芯片可能不启动。换C0G电容重新焊接。测VBAT电压。如果VBAT有电压但芯片不充电检查VBAT_OV分压电阻是否接对。如果VBAT已经高于VBAT_OV芯片会停止充电这是正常现象。检查电感。升压电感如果开路或者饱和电流不够芯片无法升压。换一个电感试试。6.2 VBAT_OK不跳变怎么查VBAT_OK一直低或者一直高可能的原因分压电阻接错。OK_PROG和OK_HYST的分压网络容易搞混对照数据手册仔细检查。上拉电阻没接或者阻值太大。VBAT_OK是开漏输出没上拉电阻永远是低。VBAT电压没达到阈值。用万用表测VBAT跟设定值对比。芯片损坏。如果以上都正常换一片芯片试试。6.3 充电效率低怎么优化充电效率低的表现是VBAT上升很慢。排查测太阳能板输出电流。如果电流太小换大板子或者调整角度。测MPPT采样电容。换不同容值的电容试找到效率最高的。测电感直流电阻。如果大于1Ω换低直流电阻的电感。检查PCB布局。升压回路的走线要短而粗减少寄生电阻。6.4 常见问题速查表问题现象可能原因排查方法解决方案芯片不启动VIN_DC低于330mV测VIN_DC电压加输入电容或换太阳能板VBAT_OK不跳变分压电阻接错对照数据手册检查重新计算并焊接电阻充电效率低MPPT采样电容不合适换不同容值试选C0G材质10nF静态功耗大分压网络未接VRDIV测分压电阻电流下端电阻接VRDIVVBAT_OK抖动上拉电阻太大测上升时间减小上拉电阻到100kΩ低温不充电锂电池低温保护测环境温度换超级电容或低温电池6.5 独家避坑经验第一个坑VRDIV引脚一定要用。我第一版设计没注意这个引脚分压电阻直接接GND静态功耗多了200多nA。虽然看起来不多但对于微瓦级收集来说这就是10%以上的能量损失。第二个坑VBAT_OK的上拉电阻不要接到VOUT。VOUT在启动阶段是不稳定的会导致VBAT_OK误触发。接到VBAT最可靠。第三个坑太阳能板的开路电压不要超过3V。BQ25570的VIN_DC最大耐压是5.5V但超过3V后效率下降明显。选板子时注意开路电压参数通常标称0.5V的板子开路电压在0.6V到0.7V串联几片后要算一下总开路电压。第四个坑储能元件的容量不是越大越好。容量太大充电时间太长系统可能几天都启动不了。容量太小负载一工作电压就掉下来。根据负载功耗和充电速率算一个合适的值留50%余量就够了。第五个坑PCB布局时升压电感和降压电感要远离避免磁耦合。我试过把两个电感放得太近效率掉了8%。后来分开布局效率恢复正常。7. 一个完整的室内光能量收集节点实例7.1 系统需求与方案确定这个实例是我去年做的一个室内环境监测节点。需求是在办公室荧光灯下工作每小时采集一次温湿度并通过低功耗无线模块上报设备体积要小不能换电池。方案确定太阳能板用两片串联的薄膜太阳能板每片开路电压0.6V总面积约4平方厘米。储能元件用100mAh锂聚合物电池。BQ25570设定VBAT_OV4.2VVOK_HI3.6VVOK_LO3.3V。降压输出设定3.3V给MCU和传感器。无线模块用低功耗蓝牙上报时瞬时电流10mA持续20ms。7.2 原理图与PCB设计要点原理图按前面说的引脚配置连接。分压电阻全部用1%精度薄膜电阻分压网络下端接VRDIV。VOC_SAMP和VREF_SAMP用10nF C0G电容。升压电感22μH降压电感22μH分开布局。VBAT_OK上拉电阻470kΩ接到VBAT。PCB用四层板顶层走信号第二层地平面第三层电源平面底层走低速信号。升压回路和降压回路分别放在板子两侧中间用地平面隔离。太阳能板接口用镀金焊盘防止氧化。7.3 实测数据与效果评估实测在办公室荧光灯下照度约500lux太阳能板输出电流约30μA。VBAT从3.3V充到3.6V用了约3小时。MCU每小时唤醒一次采集温湿度并通过蓝牙上报每次工作20ms平均电流约5μA。系统连续运行了3个月没有出现断电或者数据丢失。效率方面BQ25570的充电效率约75%降压效率约85%整体效率约64%。这个效率在微瓦级收集里算不错的。如果换用更大面积的太阳能板充电时间可以缩短到1小时以内。7.4 后续优化方向这个节点还有优化空间。一是把MCU的睡眠电流再降低目前是1μA左右可以换用更低功耗的型号。二是无线模块的上报间隔可以自适应调整VBAT_OK为高时每小时上报为低时每4小时上报。三是增加一个超级电容作为缓冲在无线模块发射瞬间提供峰值电流减少对电池的冲击。这个项目让我对BQ25570的理解深了不少。这颗芯片看起来复杂但把引脚配置和阈值计算搞清楚后用起来还是很顺手的。关键是细节VRDIV要接、上拉电阻要接对、MPPT电容要选好、PCB布局要讲究。把这些做到位微功耗能量收集就能稳定运行。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进