ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

3.7V锂电池升5V,为什么首选Buck-Boost电路?

3.7V锂电池升5V,为什么首选Buck-Boost电路? 前些天朋友发消息问我想用一块3.7V锂电池给5V单片机系统供电看了半天资料发现全网都是Boost升压方案但电池电压又好像在5V上下跳。我跟他说这种情况不推荐单纯Boost用Buck-Boost电路才是正解。很多人一听“Buck-Boost”就觉得难其实拆开看并不复杂关键是它能同时处理输入电压高于输出和低于输出两种状态正好覆盖锂电池从4.2V到2.7V的整个放电区间。这篇文章我就按自己的实操习惯把方案选型、公式推导、芯片选型、焊接调试、问题排查完整过一遍给想用3.7V锂电池升压到5V的朋友一个可以直接照抄的参考。1. 核心思路与方案选型为什么“升压”却选Buck-Boost1.1 标称3.7V不等于始终3.7V锂电池真实放电曲线新手最容易踩的坑是看到“3.7V”就以为电池一直输出3.7V。实际上锂电池的标称电压只是一个接近中段的参考值完整放电区间通常是这样满电4.2V左右稍微用一会儿会掉到3.9V再到3.7V附近会稳定一段时间等电量下降后继续走低到2.7V到3.0V时保护板就截止了。也就是说这颗电池能给系统提供的电压是一个从4.2V到2.7V的连续变化区间。目标负载需要5V供电那么电池电压有时低于5V有时又高于5V。如果选择单纯Boost升压它的前提是输入电压始终低于输出电压。当电池在3.7V以下时Boost可以稳定把电压抬到5V这部分没有问题但当电池刚充满电时电压是4.2V虽然仍低于5V没问题但如果你换一颗2S电池或者输入电压高于5V的电源Boost就会失效甚至输出电压会随输入电压直接跑上去。反过来如果选择单纯Buck降压它只能处理输入高于输出的情况电池电压一旦低于5V输出就无法保持5V了。所以当输入有可能在输出值上下波动时Buck-Boost拓扑是最合适的选择。它内部其实是一个“先判断、再切换”的过程输入高于目标值时做Buck降压输入低于目标值时做Boost升压输入和目标接近时工作在Buck-Boost过渡状态四个开关配合起来保证输出始终稳定。1.2 Boost、Buck、Buck-Boost到底差在哪我习惯用一个简单表格来理解这三者的关系方便项目选型时快速判断。拓扑结构输入输出关系典型应用场景代表芯片Buck降压输入电压高于输出电压12V转5V、5V转3.3VLM2596、AMS1117Boost升压输入电压低于输出电压3.7V锂电池升5V、5V升12VMT3608、XL6009Buck-Boost升降压输入可高于、等于、低于输出锂电池宽压供电、车载电源TPS63020、LTC3530可以看到单纯Boost确实能实现“3.7V电池升到5V”但前提是电池电压始终低于5V。对于单节锂电池来说如果只做一次简单升压Boost方案也能凑合但如果你希望系统在电池电压高时依然稳得住或者电池电压会越过目标值那么Buck-Boost才是可靠方案。关于Buck-Boost还有必要说一句很多资料里提到的Buck-Boost是反极性输出也就是输出负压常见于老式电路。但现代集成芯片里的Buck-Boost大多采用四开关同步结构输出是正压这种结构才是最常用在锂电池供电里的方案后续内容围绕四开关Buck-Boost展开。1.3 常用Buck-Boost芯片怎么选芯片选型是我在项目里花时间最多的一步。市面上Buck-Boost芯片不少但参数差异很大我整理了几颗常见型号芯片型号输入电压范围输出能力开关频率特点TPS630201.8V到5.5V最大2A2.4MHz四开关同步整流效率高体积小TPS630001.8V到5.5V最大1A2.4MHz和63020同系列输出电流稍小LTC35301.8V到5.5V最大1A1MHz低静态功耗适合电池供电如果输出电流需求在500mA以下选择TPS63000就够用这颗芯片外围简单反馈电阻加两个电容加一颗电感就能工作。如果需要驱动接近1A到2A的负载我会选TPS63020它的饱和电流余量更大发热相对可控。有人会拿XL6009当Buck-Boost用这里还是要说明一下XL6009是一颗Boost芯片不是Buck-Boost。它在输入电压低于输出电压时表现不错但输入一旦接近或超过输出值就会失去调节能力。这类芯片适合“固定输入低于输出”的场景比如用3.7V电池稳定做一路5V输出不考虑高电压输入情况。想真正稳定应对电池全区间放电还是选四开关Buck-Boost更合适。2. 参数设计与公式推导先算明白再动手2.1 电感伏秒平衡与Buck-Boost输出公式推导电源设计里电感是最核心的储能元件。很多人记不住公式其实只需要掌握一个原则稳态工作时电感在每个开关周期里“存储的能量”和“释放的能量”必须相等也就是伏秒平衡。对于Boost模式可以简单推导一遍。设开关导通时间为D*T此时输入电压加在电感上电感电流上升这个阶段电感两端电压是Vin。开关关断时间为(1-D)*T电感通过二极管往输出端释放能量此时电感两端电压是Vout-Vin。根据伏秒平衡Vin * D (Vout - Vin) * (1 - D)展开后得到Vout Vin / (1 - D)这就是Boost升压公式。占空比D越大输出越高。例如输入3.7V占空比设0.26就能得到约5V输出。对于Buck模式伏秒平衡公式是Vin * D Vout * (1 - D) * ? 这里更常见的推导是 D Vout / Vin因为Buck在开关导通时电感一端接Vin另一端接Vout关断时电感一端续流到GND另一端还是Vout所以稳态时(Vin - Vout) * D Vout * (1 - D)展开后得到Vout Vin * D。四开关Buck-Boost则是在不同条件下自动选择上述两种模式输入低于输出时按Boost规律工作输入高于输出时按Buck规律工作输入接近输出时用Buck-Boost过渡模式让四个开关交替导通来维持输出。对于新手不需要精确计算过渡区的每一个占空比只需要知道最终输出电压由反馈电阻决定芯片内部会自动完成模式切换。2.2 反馈电阻计算让芯片精准锁定5V绝大多数可调输出电源芯片都有一个反馈引脚FB它内部有一个基准电压比如TPS63020的基准电压是0.5V。输出电压经过两个电阻分压之后反馈到FB引脚芯片通过调节占空比让FB电压始终等于内部基准。分压关系是Vfb Vout * R2 / (R1 R2)通常把R2放在下端接地R1放在输出和FB之间反推得到Vout Vfb * (1 R1 / R2)以输出5V、Vfb0.5V为例0.5 5 * R2 / (R1 R2)解得R1 / R2 9。也就是说只要让上电阻是下电阻的9倍反馈电压就会准确落在0.5V附近。实际中我会用标准阻值组合比如R2取100kΩR1取910kΩ这样比值是9.1输出大约5.05V在5V设备允许范围内。如果想更精确R1用900kΩ和10kΩ串联R2用100kΩ误差可以控制在1%以内。注意反馈电阻尽量选1%精度的金属膜电阻不要用5%的碳膜电阻。这类电阻的温度漂移会影响输出电压精度在小电流设备上不明显如果负载电流到几百毫安以上电压偏移会变得很敏感。2.3 电感、电容的选型计算Buck-Boost电路里电感取值直接影响纹波电流和效率。电感值太小纹波电流大输出纹波电压高电感值太大动态响应变慢体积也变大。很多芯片手册会直接给出推荐值比如TPS63020在2.2V到5V输出区间推荐2.2μH到3.3μH。按经验输出电流1A以下选2.2μH1A到2A选3.3μH比较合适。电感还有一个关键参数是饱和电流。电感饱和后等效电感量迅速下降电流失控电路会发热甚至损坏。我一般会让电感的饱和电流至少是最大输出电流的1.5倍。比如最大负载2A至少选3A以上饱和电流的电感留够余量。输出电容主要用于平滑输出电压建议选低ESR的陶瓷电容X5R或X7R材质容量10μF到22μF。输入电容同样重要因为电池导线本身有内阻输入电流突变会在大地上产生电压波动在芯片输入端放一颗10μF陶瓷电容能有效抑制这种波动。提示陶瓷电容的容量会随直流偏压下降比如10μF的电容在5V直流偏压下实际容量可能只有标称的60%到80%。如果条件允许用两颗10μF并联或者选额定电压高一级的型号比如16V耐压的电容容量衰减会小一些。3. 实操过程搭电路、焊接、上电调试3.1 参考电路图四开关Buck-Boost拓扑这里给一个简化版的四开关Buck-Boost拓扑示意图实际芯片内部结构会复杂一些但理解这个骨架就够了。VIN ──┬── Q1 ──┬── L ──┬── Q3 ──┬── VOUT │ │ │ │ CIN Q2 Q4 COUT │ │ │ │ GND GND GND GNDQ1到Q4是芯片内部集成的MOS开关。Q1、Q2负责输入侧控制Q3、Q4负责输出侧控制电感L在中间储能。当输入高于输出时Q1持续导通、Q2断开Q3和Q4按PWM方式交替形成Buck降压当输入低于输出时Q4持续导通、Q3断开Q1和Q2按PWM方式交替形成Boost升压输入输出电压接近时四个开关一起参与切换处于Buck-Boost过渡模式。实际接线时以TPS63020为例引脚连接很简单锂电池正极 → C1正极 → VIN引脚 C1负极 → GND 锂电池负极 → GND系统公共地 L电感 → 接芯片的开关节点SW1和SW2之间 VOUT引脚 → C2正极 → 5V输出 C2负极 → GND FB引脚 → R1上端 → VOUT FB引脚 → R2下端 → GND EN引脚 → VIN使能默认开启这里需要说明不同封装的开关节点引脚名称可能不同有的写SW、有的写LX具体以所选芯片的引脚定义为准但连接思路是一致的电感接在两个开关节点之间。3.2 元器件清单可直接抄作业以制作一个“3.7V锂电池升压到5V/最大1A”的模块为例我用到的元器件如下序号名称规格数量备注1Buck-Boost芯片TPS630201也可以用TPS630002功率电感2.2μH饱和电流2A1一体成型电感更稳3输入电容10μF/16V陶瓷电容1X5R或X7R4输出电容10μF/16V陶瓷电容1可再加1颗并联5反馈上电阻910kΩ1%1也可以用900kΩ6反馈下电阻100kΩ1%1与上电阻配套7锂电池3.7V容量自选1加保护板8万能板或PCB洞洞板即可1高频部分注意布局如果是手头只有Boost芯片比如MT3608或XL6009也可以先按Boost方案做一个5V输出但必须清楚使用限制电池电压从4.2V掉到3V时输出电压能稳定在5V电池电压一旦高于5V这种方案就失效。所以“抄作业”前先确认自己的输入电压范围。3.3 焊接顺序与注意事项焊接顺序直接决定调试效率。我一般按“芯片→电感→电容→反馈电阻→输入输出线”这个顺序来焊。先焊芯片。使用TPS63020这类小型封装时烙铁温度控制在320℃到350℃之间引脚上先上一薄层锡再对准PCB焊盘用镊子固定芯片轻轻点焊固定一个引脚确认位置后焊完其他引脚。不要长时间加热容易烫坏芯片。再焊电感。电感焊接相对简单但要注意方向不区分焊完后检查有没有虚焊摇晃一下器件看是否牢固。然后是输入输出电容。电容靠近芯片引脚放置特别是输出电容要尽量靠近VOUT和GND引脚太远会引入寄生电感导致输出纹波变大。最后焊反馈电阻。这两个电阻决定输出电压精度焊完用万用表量一下实际阻值再接入电路。注意焊接洞洞板时反馈电阻的走线不要靠近SW开关节点开关节点上的电压在做高频跳变会通过寄生电容耦合到反馈引脚导致输出抖动。我刚开始做时就踩过这个坑反馈电阻离电感太近输出纹波始终降不下来。3.4 上电调试流程从空载到满载焊好后不要直接接满负载。我习惯按照“空载→轻载→满载”三个步骤来测试。第一步先把锂电池正极串万用表电流档确认没有大电流短路。如果电流表显示几十毫安以上说明电路有短路或元件焊错先断电检查。第二步断开电流表正常接电池测量输出端电压。空载时输出应该接近5V允许有±3%误差。如果输出为0先测VIN处有没有电池电压有电压但输出没有重点检查EN引脚有没有拉高、反馈电阻是否焊错。第三步接一个小负载比如100Ω电阻输出电流约50mA观察电压有没有跌落。如果电压掉到4.8V以下可能是电感量不合适或反馈电阻问题。第四步逐步加大负载比如接一个USB小风扇或LED灯条观察电流和电压。满载时电压能稳定在5V左右芯片温度略高于环境温度但不应烫手。如果温度很高检查电感是否饱和或者芯片输出电流是不是已经超过规格。调试时最好用电子负载没有的话用电阻和万用表也能完成。关键不是工具多高级而是每一步都记录下电压和电流方便后面排查。4. 常见问题排查与仿真验证4.1 问题速查表基于我做过的几个Buck-Boost板子整理出一张故障速查表适合贴在工作台旁边故障现象可能原因排查方法输出无电压电池没接好、EN悬空、芯片虚焊先测VIN对GND电压再测EN电压最后检查FB引脚空载正常带载电压跌落严重电感饱和电流不够、电容失效换更大饱和电流电感检查输出电容容量输出纹波大输出电容离芯片太远、电容容量偏小把电容移到芯片附近并联一颗10μF电容电感啸叫控制环路不稳定、PWM频率落在音频范围检查电感值是否偏大偏小调整电容值芯片发热严重输出电流超过规格、电感饱和降低负载换低DCR电感检查散热输出电压偏高反馈电阻阻值比例不对焊下来用万用表实测R1/R2比值电池很快保护启动冲击电流过大、输出短路用电子负载逐步加载避免直接接大电容设备这张表不能覆盖所有问题但至少能帮我们找到80%的常见故障。4.2 几个典型故障现场与排查实录第一个典型的故障是空载5V正常一接手机充电就掉到3V左右。我用万用表量输出端电压掉得很明显再用示波器看SW节点波形发现占空比已经接近极限电感电流非常大。最后换了一颗饱和电流更大的电感问题就消失了。原因是原本选的贴片电感饱和电流只有0.8A输出1A时已经进入饱和区。第二个典型故障是输出有轻微啸叫。这个声音通常来自电感或陶瓷电容。我检查了反馈补偿发现输出电容用的是一颗较老的电解电容ESR偏高导致环路相位裕量不足。换上10μF陶瓷电容后啸叫消失。陶瓷电容在Buck-Boost电路里通常比电解电容更合适因为ESR低、高频特性好。第三个故障是电池端电压掉得特别快。这里要区分是电路消耗大还是电池本身问题。我在输入端串了一个万用表测电流发现静态电流有几百微安芯片的EN电压虽然是5V但VIN引脚上还挂着一颗LED指示灯电阻太小白白消耗电流。去掉指示灯后静态功耗降到几十微安电池续航明显改善。4.3 动手前先用Multisim或LTspice仿真一遍现在很多人在画板之前会先做一次仿真我强烈建议新手也这么做。仿真能验证公式对不对也能提前看波形减少实物调试踩坑的次数。如果你习惯用Multisim可以搭一个简单的非同步Buck-Boost模型用信号源产生PWM方波驱动一个开关管接一个电感、一个二极管、一个电容和负载。把占空比设成需要的值用示波器观察输出电压就能立刻看到公式和仿真结果是否吻合。比如输入3.7V占空比0.6理论输出是5.55V左右仿真结果一般会很接近。如果想仿真四开关Buck-Boost最方便的做法是使用LTspice并加载芯片厂商提供的SPICE模型比如TI的模型在官网可以直接找到。LTspice免费模型精度也很高能观察到模式切换、电感电流纹波和负载瞬态响应。仿真文件本身不复杂但需要花一点时间熟悉界面。提示仿真不能完全替代实物因为仿真模型里的元件参数是理想的实物里PCB走线寄生参数、温度漂移、器件离散性都会影响结果。但仿真可以提前排除大部分设计错误比如占空比算错、电感量选错、负载过流等这些在实物里排查起来成本很高。5. 效率优化与PCB布局经验5.1 电感储能升压效率提升的几个关键点很多人做Buck-Boost能用但效率不高比如锂电池升压到5V掉电快。效率低的根源通常在三个方面电感损耗、开关损耗和静态电流。电感损耗主要是铜损和磁损。铜损由电感DCR决定DCR越大输出电流流过时发热越严重效率越低。磁损和电感材质、开关频率有关。做500mA以下小电流输出时用一体成型功率电感效率会明显好于工字电感。开关损耗和芯片本身的导通电阻、开关频率有关。同步整流芯片比非同步加二极管的方案效率高特别是在输出电压低、输出电流大的场景。因为肖特基二极管的正向压降通常是0.3V到0.5V同步整流MOS管的导通压降可以做到几十毫伏。静态电流决定了轻载效率。如果设备大部分时间处于待机状态芯片会周期性进入轻载模式或PFM模式。选芯片时留意静态电流参数TPS63020在PFM模式下静态电流只有几十微安比较适合电池供电设备。最后是我个人的实测体会把输出从5V稍微降低到4.8V有时效率能提升2到3个百分点。因为输入输出电压差越小开关管占空比越接近理想范围损耗越小。如果负载不强制要求5.0V可以考虑把输出电压设低一点换取更长续航。5.2 PCB布局SW节点、反馈走线和地平面自己画板时布局比电路本身更影响性能。第一次画Buck-Boost PCB的朋友可以记住几个重点。第一开关节点SW是高频跳变信号应该短而宽减少寄生电感和辐射。SW节点走线不要绕圈也不要把敏感信号线从它下面穿过。第二反馈电阻走线要远离电感和SW节点。FB引脚是高阻抗输入非常容易受到干扰。走线尽量短从VOUT取电压时应该从输出电容正极单独引一条细线而不是直接从大电流主回路上取。第三输入电容和输出电容要尽量靠近对应引脚电容的GND端就近打过孔到地平面。电源板的地平面尽量保持完整不要被走线割裂尤其是输入地和输出地之间不要出现大的缝隙否则会产生额外的寄生电感。第四如果板子上有锂电池保护IC、充电管理IC和Buck-Boost电路建议把充电回路和升压回路的GND分开布局在电池负极单点汇合避免充放电电流互相干扰。5.3 从纯Boost方案迁到Buck-Boost的几点体会可能有人已经在用MT3608这类Boost芯片做了3.7V升5V用着也还行。我一开始也是这样因为手头有现成的模块。后来在室外测试时发现电池从满电放到一半输出电压虽然稳定在5V但电池电压一旦超过5V比如使用2S电池组或者电源适配器时Boost模块的输出会直接跟随输入导致后级电路损坏。这才决定换成Buck-Boost。迁移其实不复杂控制逻辑和MCU端完全不用改只需要把电源模块替换为Buck-Boost模块确认输入电压范围重新测一遍带载能力。如果是自己画板直接把芯片和外围器件替换反馈电阻按输出5V重新计算即可。但要注意一点Buck-Boost芯片的静态功耗和外围器件比单纯Boost多一些如果是极小体积的待机设备需要仔细评估待机电流。我这里做过一块用CR2032电池的传感节点本来想用Buck-Boost保持稳定5V但测试发现CR2032的等效内阻太大负载稍微一动电压就崩最后还是换成了低功耗LDO方案。选拓扑不能只看负载需求还要看电源来源的内阻和能量密度。另一个体会是无论用哪种方案锂电池供电一定要带保护板防止过放、过流和短路。Buck-Boost电路在轻载时如果保护板截止电压设置不当可能会反复重启这个不是电源芯片的锅是保护板选型问题。锂电池保护IC的过放检测阈值要尽量低于芯片的最低工作电压否则电池还没放完电就被保护板切断了。
返回列表