1. 四开关Buck-Boost到底是个什么东西
1.1 从一个尴尬的电压问题说起
做过电源的朋友大概率遇到过这种场景:输入电压标称12V,但实际可能在9V到18V之间晃荡,而你的负载偏偏需要稳定在12V。用Buck吧,输入掉到9V的时候它只能干瞪眼——降压电路没法把9V升到12V;用Boost吧,输入冲到18V的时候它又只能看着——升压电路没法把18V降到12V。以前遇到这种需求,要么用SEPIC拓扑,要么用反激,要么干脆用两颗芯片做级联。但这些方案要么效率一般,要么体积大,要么成本高。
四开关Buck-Boost就是冲着这个痛点来的。它的核心能力用一句话概括:无论输入电压高于、低于还是等于输出电压,都能稳定输出你想要的电压。输入9V它能升到12V,输入18V它能降到12V,输入恰好12V它也能稳稳地维持。这种"通吃"的能力,在电池供电设备、车载电子、USB PD电源、光伏MPPT等场景里非常吃香。
我第一次接触这个拓扑是在一个车载充电器的项目上,输入电压范围要求6V到36V,输出稳定12V/5A。当时试过SEPIC,效率只有85%左右,电感电流应力还大。换成四开关Buck-Boost之后,效率直接拉到95%以上,电感也小了一圈。从那以后我就把这个拓扑当成了宽压输入的"万金油"方案。
1.2 四个开关管的分工逻辑
名字里的"四开关"不是随便叫的,它确实有四个功率开关管。你可以把它想象成一个Buck电路和一个Boost电路背靠背拼在一起,中间共享一个电感。左边两个开关管(通常叫Q1和Q2)组成一个桥臂,右边两个开关管(Q3和Q4)组成另一个桥臂,电感就横跨在两个桥臂中间。
具体来说,Q1是左桥臂的上管,Q2是左桥臂的下管;Q3是右桥臂的上管,Q4是右桥臂的下管。输入电压接在左桥臂两端,输出电压从右桥臂两端取。这个结构看起来对称,但工作模式可一点都不简单。
为什么要用四个管子而不是两个?因为两个管子的传统Buck-Boost(就是那种输出反极性的老拓扑)虽然也能升降压,但它的输出是负电压,而且输入输出不共地,用起来很别扭。四开关结构把输出翻正了,输入输出共地,驱动也更好做。代价就是多了两个管子,驱动电路复杂一些,但换来的是更好的性能和更广的适用范围,这笔账算得过来。
1.3 三种工作模式:Buck、Boost、Buck-Boost
四开关Buck-Boost最妙的地方在于它能根据输入输出电压关系自动切换工作模式。这不是什么高深的魔法,而是通过PWM控制策略实现的。
当输入电压明显高于输出电压时(比如输入18V,输出12V),它工作在Buck模式。这时候Q3常通,Q4常关,Q1和Q2交替开关,本质上就是一个标准的同步Buck电路。电感电流从左边流向右边,右桥臂就是个"直通"的状态。
当输入电压明显低于输出电压时(比如输入9V,输出12V),它工作在Boost模式。这时候Q1常通,Q2常关,Q3和Q4交替开关,本质上就是一个标准的同步Boost电路。能量先从输入存到电感里,再从电感释放到输出。
最麻烦的是输入电压和输出电压接近的时候(比如输入12V,输出12V),这时候既不能纯Buck也不能纯Boost,需要进入Buck-Boost模式。四个管子都在开关,控制策略也最复杂。这个区域是很多新手翻车的地方,后面我会详细讲怎么处理。
注意:模式切换的边界不是一刀切的,通常需要设置一定的滞回区间,否则输入电压在临界点附近波动时会导致模式频繁切换,引起输出电压振荡。
2. 核心工作原理拆解
2.1 Buck模式下的电流路径
先看最简单的Buck模式。假设输入18V,输出12V,Q3常通、Q4常关。这时候电路等效于一个同步Buck:Q1是控制管,Q2是同步整流管,电感在右边,输出电容也在右边。
Q1导通时,电流从输入正极经过Q1、电感、Q3流向输出正极,电感电流线性上升,能量一部分传给负载,一部分储存在电感里。Q1关断、Q2导通时,电感通过Q2和Q3续流,电流线性下降,电感释放能量维持输出。
这个模式下,占空比D = Vout / Vin = 12/18 = 0.667。电感电流纹波ΔIL = (Vin - Vout) × D / (L × fsw)。假设开关频率fsw = 200kHz,电感L = 10μH,那么ΔIL = (18-12) × 0.667 / (10e-6 × 200e3) = 2A。如果输出电流是5A,电感电流峰值就是5 + 1 = 6A,谷值是4A。选电感的时候要保证饱和电流大于6A,最好留20%余量。
2.2 Boost模式下的能量转移
再看Boost模式。假设输入9V,输出12V,Q1常通、Q2常关。这时候电路等效于一个同步Boost:Q4是控制管,Q3是同步整流管。
Q4导通时,电流从输入经过Q1、电感、Q4回到输入负极,电感电流线性上升,能量储存在电感里。这时候输出电容单独给负载供电。Q4关断、Q3导通时,电感电流通过Q3流向输出,和输入一起给负载供电,电感电流线性下降。
Boost模式的占空比计算和Buck不一样:D = 1 - Vin / Vout = 1 - 9/12 = 0.25。注意这里的D是Q4的导通占空比,不是Q3的。电感电流纹波ΔIL = Vin × D / (L × fsw) = 9 × 0.25 / (10e-6 × 200e3) = 1.125A。Boost模式下电感电流是连续的,平均电流等于输入电流,比输出电流大。输出5A时,输入电流大约是5 × 12/9 = 6.67A,电感电流峰值就是6.67 + 0.56 = 7.23A。这就是为什么Boost模式对电感和开关管的电流应力要求更高。
2.3 Buck-Boost模式的复杂切换
当输入电压接近输出电压时,比如输入12V、输出12V,纯Buck或纯Boost都不好使。Buck模式要求Vin > Vout,Boost模式要求Vin < Vout,都不满足。这时候需要进入Buck-Boost模式,四个管子都参与开关。
常见的控制策略有两种:一种是单电感连续电流模式,四个管子分成两组交替工作,前半周期做Buck,后半周期做Boost;另一种是四开关同时PWM,通过特定的占空比组合实现升降压。前者控制简单但电感电流纹波大,后者效率高但驱动时序复杂。
我个人的经验是,对于输入输出压差在±20%以内的场景,用Buck-Boost模式;压差超过20%就切到纯Buck或纯Boost。这样既能保证效率,又能避免模式频繁切换带来的问题。模式切换的阈值要设置滞回,比如从Buck切到Buck-Boost的阈值是Vin < Vout × 1.1,从Buck-Boost切回Buck的阈值是Vin > Vout × 1.15。这个滞回区间可以根据实际负载和输入波动情况调整。
3. 关键器件选型与参数计算
3.1 电感选型:不是越大越好
电感是四开关Buck-Boost的核心储能元件,选型直接决定了纹波、效率和动态响应。很多人第一反应是"电感越大纹波越小",这话对但不全对。电感大了,纹波确实小,但动态响应会变慢,体积和成本也上去了。更麻烦的是,大电感的直流电阻(DCR)通常也大,导通损耗会增加。
选电感的第一个参数是电感值。根据最恶劣工况下的纹波要求来算。四开关Buck-Boost的最恶劣工况通常出现在Buck-Boost模式或者Boost模式的低压输入时。假设要求电感电流纹波不超过平均电流的30%,输出5A,Boost模式下平均电感电流6.67A,纹波上限2A。用公式L = Vin × D / (ΔIL × fsw) = 9 × 0.25 / (2 × 200e3) = 5.6μH。取标准值6.8μH或10μH都可以。
第二个参数是饱和电流。电感电流峰值必须小于饱和电流,否则电感会饱和,电流失控,管子炸给你看。峰值电流 = 平均电流 + ΔIL/2。Boost模式下是6.67 + 1 = 7.67A,再留20%余量,饱和电流至少要9.2A。选10A以上的电感比较稳妥。
第三个参数是DCR。DCR直接决定导通损耗,P = I² × DCR。7.67A的峰值电流下,如果DCR是20mΩ,损耗就是1.18W,相当可观。尽量选DCR小于10mΩ的。一体成型电感DCR低、屏蔽好,但价格贵;绕线电感便宜但漏磁大。看你的EMI要求来定。
实操心得:电感选型时不要只看标称电感值,一定要看在实际工作电流下的电感量。很多电感在大电流下电感量会下降20%到30%,如果按标称值算纹波,实际纹波会超标。
3.2 开关管选型:Rds(on)和Qg的权衡
四个开关管的选型要考虑耐压、导通电阻Rds(on)、栅极电荷Qg和封装散热。耐压方面,至少要比最大输入电压高20%。比如最大输入36V,选40V或60V的管子。40V管子的Rds(on)通常比60V的低,但余量小;60V的更稳妥但导通损耗大。我一般选60V的,留足余量。
Rds(on)决定导通损耗,Qg决定开关损耗。这两个参数往往是矛盾的:Rds(on)小的管子芯片面积大,Qg也大。选型时要算总损耗。导通损耗Pcond = I² × Rds(on) × D,开关损耗Psw = 0.5 × Vin × I × (tr + tf) × fsw。假设Rds(on) = 5mΩ,I = 7.67A,D = 0.5,Pcond = 0.147W。开关损耗在200kHz下可能也有0.1到0.2W。加起来单个管子0.3W左右,四个管子1.2W。这个损耗不算大,但要注意散热。
封装方面,DFN5×6或者PowerPAK这类贴片封装热阻小,适合高功率密度设计。TO-220直插的散热好但体积大。如果是几十瓦的应用,贴片封装加足够的铜箔散热就够了。
3.3 驱动电路:别小看这一环
四开关Buck-Boost需要四个驱动信号,而且左桥臂和右桥臂的参考地不一样。左桥臂的下管Q2源极接地,驱动简单;上管Q1源极浮空,需要自举或者隔离驱动。右桥臂的Q4源极接输出地(其实和输入地是同一个地),Q3源极浮空,也需要自举。
自举电路是最常用的方案,一个二极管加一个电容就能搞定。但自举电容的容值要算够,否则高占空比或者低频时自举电压会掉。经验公式是Cboot > 10 × Qg / ΔVboot。假设Qg = 20nC,允许自举电压跌落0.5V,Cboot > 10 × 20e-9 / 0.5 = 400nF。取1μF比较稳妥。
驱动芯片的选择也很关键。很多同步Buck控制器只驱动两个管子,四开关的控制器选择面窄一些。常见的方案是用专用的四开关Buck-Boost控制器,比如LT8390、TPS55288这类。这些芯片内部集成了模式切换逻辑和驱动电路,省心很多。如果自己用分立元件搭,驱动时序和死区时间要仔细调,否则容易直通炸管。
注意:死区时间设置不当是四开关拓扑最常见的炸管原因。死区太短会导致上下管直通,死区太长会导致体二极管导通损耗增加。一般设置在20ns到50ns之间,具体看管子的开关速度。
4. 控制策略与PWM实现
4.1 电压模式还是电流模式
四开关Buck-Boost的控制环路可以用电压模式,也可以用电流模式。电压模式简单,只需要一个误差放大器和一个PWM比较器,但动态响应慢,对输入电压变化的抑制能力弱。电流模式增加了一个电感电流采样环路,动态响应快,还能天然实现逐周期限流,但采样电路复杂一些。
我一般推荐用峰值电流模式。电感电流的峰值直接和输出功率挂钩,采样电阻放在电感回路里或者用管子的Rds(on)做无损采样。峰值电流模式还有个好处是模式切换时环路比较平滑,不会因为模式变了环路就崩了。
不过峰值电流模式在占空比超过50%时需要斜坡补偿,否则会有次谐波振荡。斜坡补偿的量一般是电感电流下降斜率的一半左右。这个在四开关拓扑里稍微麻烦一点,因为Buck模式和Boost模式的电感电流斜率不一样,补偿量要跟着模式变。有些专用控制器内部会自动调整补偿量,省了不少事。
4.2 模式切换的平滑过渡
模式切换是四开关Buck-Boost最考验设计功底的地方。如果切换不平滑,输出电压会跳变,严重的时候会触发过压保护或者欠压复位。
平滑过渡的核心思路是:在切换点附近让两种模式的占空比逐渐过渡,而不是突变。比如从Buck切到Buck-Boost,Buck模式下Q3常通、Q4常关,Buck-Boost模式下Q3和Q4都开始开关。如果Q4突然从常关变成开关,输出会瞬间多一个Boost的升压效果,电压就冲上去了。
解决办法是在切换点附近设置一个过渡区,让Q4的占空比从0逐渐增加到目标值,同时Q1的占空比相应调整。这个过渡区的宽度一般是输出电压的5%到10%。过渡区太窄切换不平滑,太宽效率会下降。我一般设8%左右,实测下来比较稳。
4.3 用STM32实现PWM控制
很多朋友喜欢用MCU来做数字控制,STM32G070CBT6或者STM32F103都是常见的选择。用MCU的好处是控制策略灵活,模式切换逻辑可以随便改,还能做通信和监控。坏处是开发周期长,环路调试麻烦。
用STM32的定时器输出四路PWM,关键是要保证四路PWM的同步和死区。高级定时器比如TIM1或者TIM8支持互补输出和死区插入,很适合这种应用。配置的时候注意几点:一是四路PWM要用同一个定时器,保证频率和相位一致;二是死区时间要设置合适,20ns到50ns;三是模式切换时占空比要平滑更新,不能在中断里直接改寄存器,最好用影子寄存器或者DMA传输。
下面是一个简化的PWM配置思路,用HAL库实现:
// 定时器基础配置:中心对齐模式,频率200kHz htim1.Instance = TIM1; htim1.Init.Prescaler = 0; htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1; htim1.Init.Period = 84000000 / (200000 * 2) - 1; // 假设主频84MHz htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(&htim1); // 四路PWM通道配置 TIM_OC_InitTypeDef sConfigOC; sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 0; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4); // 死区配置 TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig; sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; sBreakDeadTimeConfig.DeadTime = 42; // 约500ns,根据实际调整 sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig);这段代码只是配置框架,实际用的时候还要根据模式切换逻辑动态更新四路PWM的占空比。Buck模式下Q3占空比100%、Q4占空比0%,Boost模式下Q1占空比100%、Q2占空比0%,Buck-Boost模式下四路都按计算值输出。
实操心得:用MCU做数字控制时,ADC采样时机很关键。电感电流的采样要在PWM周期的特定时刻进行,避开开关噪声。一般是在上管导通的中点采样,这时候电流比较稳定。采样早了有振铃,采样晚了电流已经变了。
5. 常见问题与排查技巧实录
5.1 输出电压振荡怎么办
输出电压振荡是四开关Buck-Boost最常见的毛病,尤其是在模式切换点附近。振荡的表现是输出电压在目标值上下周期性波动,频率可能是几百Hz到几十kHz。
排查思路分三步走。第一步,确认是不是模式频繁切换引起的。用示波器同时看输入电压和输出电压,如果输入电压在切换阈值附近波动,输出电压也跟着振荡,那就是模式切换的问题。解决办法是加大滞回区间,或者加输入滤波电容把输入电压稳住。
第二步,检查环路补偿。如果振荡频率接近环路的穿越频率,那就是补偿没调好。峰值电流模式的环路补偿相对简单,主要是调误差放大器的零极点。穿越频率一般设在开关频率的1/10到1/5,相位裕度至少45度。用网络分析仪测一下伯德图最直观,没有的话就靠阶跃响应来调。
第三步,检查电感电流有没有次谐波振荡。如果占空比超过50%且没有斜坡补偿,电感电流会一大一小交替,输出电压也会跟着振荡。解决办法是加斜坡补偿,补偿量一般是电感电流下降斜率的0.5到1倍。
5.2 开关管发热严重怎么查
四个管子有一个或多个发热严重,原因可能有好几种。先摸清楚是哪个管子热,不同管子热代表不同的问题。
Q1和Q2热,通常是Buck模式下的问题。检查Q1的开关波形有没有振铃,振铃会导致额外的开关损耗。振铃一般是PCB布局不好或者驱动电阻太小引起的。加大驱动电阻可以抑制振铃,但会增加开关损耗,要折中。Q2热可能是死区时间太长,体二极管导通时间过长。缩短死区时间试试。
Q3和Q4热,通常是Boost模式下的问题。Q4的导通损耗和输出电流的平方成正比,输出电流大的时候Q4热是正常的,但要确认有没有超过热设计余量。Q3热可能是自举电路有问题,自举电压不够导致Q3没有完全导通,工作在线性区,损耗巨大。用示波器看Q3的栅极电压,正常应该在10V左右。
四个管子都热,那可能是开关频率太高或者电感DCR太大。降低开关频率可以减小开关损耗,但会增加纹波。换DCR更小的电感可以减小导通损耗。实在不行就加散热片或者换更大封装的管子。
5.3 效率不达标的优化方向
效率是电源设计的核心指标之一。四开关Buck-Boost的效率损失主要来自四个方面:导通损耗、开关损耗、电感损耗和驱动损耗。
导通损耗和电流的平方成正比,大电流应用下是主要损耗。优化方向是选Rds(on)更小的管子,或者并联管子。但并联管子会增加Qg和驱动损耗,要算总账。
开关损耗和开关频率成正比,降低频率可以减小开关损耗,但会增加纹波和动态响应时间。如果纹波要求不严,可以适当降频。另外,用软开关技术比如零电压开关(ZVS)可以大幅减小开关损耗,但四开关Buck-Boost实现ZVS比较复杂,需要额外的辅助电路。
电感损耗包括铜损和铁损。铜损是I² × DCR,铁损和磁芯材料、频率、磁通摆幅有关。选低DCR、低铁损的电感可以改善。一体成型电感的铁损通常比绕线电感小。
驱动损耗是Qg × Vgs × fsw,四个管子加起来可能有好几百mW。选Qg小的管子可以减小驱动损耗,但Rds(on)可能会大一些。这个也是折中。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决措施 |
|---|---|---|---|
| 输出电压振荡 | 模式频繁切换 | 示波器看输入电压和输出电压 | 加大滞回区间,加输入滤波 |
| 输出电压振荡 | 环路补偿不当 | 测阶跃响应或伯德图 | 调整误差放大器零极点 |
| 输出电压振荡 | 次谐波振荡 | 看电感电流波形 | 加斜坡补偿 |
| Q1/Q2发热 | 驱动振铃 | 看栅极波形 | 加大驱动电阻 |
| Q2发热 | 死区太长 | 看Q2体二极管电流 | 缩短死区时间 |
| Q3发热 | 自举电压不足 | 看Q3栅极电压 | 加大自举电容,检查自举二极管 |
| 效率低 | 导通损耗大 | 算I²×Rds(on) | 换低Rds(on)管子 |
| 效率低 | 开关损耗大 | 算开关损耗 | 降频或软开关 |
| 效率低 | 电感损耗大 | 摸电感温度 | 换低DCR电感 |
| 炸管 | 上下管直通 | 看死区时间 | 加大死区,检查驱动 |
| 炸管 | 电感饱和 | 看电感电流 | 换大饱和电流电感 |
| 炸管 | 过压击穿 | 看管子漏源电压 | 换高耐压管子 |
注意:炸管之后不要只换管子就上电,一定要先查清楚炸管原因。否则换一个炸一个,损失更大。查的时候先断开负载,用低压小电流慢慢试,确认驱动和时序没问题再加压加载。
6. PCB布局与EMI抑制
6.1 功率回路的布局原则
四开关Buck-Boost的功率回路有两个:左桥臂回路和右桥臂回路。左桥臂回路由输入电容、Q1、Q2组成,右桥臂回路由输出电容、Q3、Q4组成。两个回路的面积都要尽量小,否则会辐射EMI,还会在开关瞬间产生大的电压尖峰。
布局的时候,输入电容要紧挨着Q1和Q2,输出电容要紧挨着Q3和Q4。电感放在两个桥臂中间,走线要短而粗。四个管子的源极和漏极连接要尽量宽,减小寄生电感。寄生电感大了,开关瞬间的电压尖峰会很高,可能超过管子的耐压。
有个经验法则:功率回路的面积每减小一倍,辐射EMI大约降低6dB。所以布局的时候要反复优化,把回路面积做到最小。多层板的话,功率层和地平面要相邻,利用平面电容来吸收高频噪声。
6.2 采样电路的抗干扰
电流采样和电压采样的精度直接影响控制效果。采样电路最容易受开关噪声干扰,布局的时候要注意几点。
采样电阻的走线要用开尔文连接,也就是从电阻的两个焊盘分别引出采样线,不要从电阻的引脚上直接引。采样线要远离功率走线,最好用地线包起来。采样信号进ADC之前要加RC滤波,截止频率一般是开关频率的1/10到1/5。滤波电容要靠近ADC引脚,不要放在采样电阻旁边。
如果是用管子的Rds(on)做无损采样,要注意Rds(on)随温度变化,精度不如采样电阻。但无损采样没有额外的损耗,效率高一些。看你的精度要求来选。
6.3 散热设计要点
四开关Buck-Boost的损耗分散在四个管子和电感上,散热设计要综合考虑。管子的散热主要靠PCB铜箔,所以管子下面的铜箔面积要尽量大,最好多打过孔连接到内层或者底层的铜皮。
电感的散热靠表面积和空气对流。如果电感温度高,可以选大一号的封装,或者加散热片。电感下面不要铺铜,否则涡流损耗会增加。如果电感是屏蔽式的,下面可以铺铜,但要注意分布电容。
整板的散热要考虑空气流向,发热大的器件放在出风口。如果自然冷却不够,就加风扇。风扇的PWM调速可以用MCU的另一个定时器通道来实现,根据温度传感器读数自动调速。
实操心得:PCB布局完成后,一定要用热像仪看一下整板的温度分布。很多时候你以为发热大的地方其实还好,反而是某个不起眼的小器件温度最高。热像仪能帮你快速定位热点,比用手摸靠谱多了。
7. 实测波形分析与调试记录
7.1 Buck模式实测波形
输入18V,输出12V/5A,开关频率200kHz。用示波器看Q1的栅极电压和电感电流。
Q1栅极电压是标准的PWM方波,高电平10V,低电平0V,占空比约66.7%。上升沿和下降沿都有轻微的振铃,这是驱动电阻和管子输入电容谐振引起的,振铃频率大约50MHz,幅度2V左右。这个振铃在可接受范围内,如果幅度再大就要加大驱动电阻。
电感电流是三角波,平均值5A,峰峰值约2A,和理论计算基本吻合。电流波形很干净,没有明显的振铃或者畸变。这说明电感选型和布局都没问题。
输出电压纹波约30mV,主要是开关频率的纹波,没有低频振荡。纹波大小和输出电容的ESR有关,换低ESR的电容可以进一步减小纹波。
7.2 Boost模式实测波形
输入9V,输出12V/5A,开关频率200kHz。看Q4的栅极电压和电感电流。
Q4栅极电压的占空比约25%,和理论计算一致。电感电流平均值约6.7A,峰峰值约1.2A。电流波形在Q4导通时线性上升,关断时线性下降,很规整。
输出电压纹波约40mV,比Buck模式稍大。这是因为Boost模式的输出电流是断续的,输出电容的充放电电流更大。加大输出电容或者降低ESR可以改善。
Q4的漏源电压在关断瞬间有一个尖峰,幅度约15V,超过了输入电压9V。这是电感漏感和Q4输出电容谐振引起的。尖峰在Q4的耐压范围内(60V),但要注意不要超过。如果尖峰太高,可以加RC吸收电路或者换更低漏感的电感。
7.3 模式切换瞬间的波形
这是最关键的测试。让输入电压从15V慢慢降到9V再升回15V,观察输出电压和模式切换信号。
输入电压从15V降到13.2V(12V × 1.1)时,从Buck模式切到Buck-Boost模式。切换瞬间输出电压有一个约100mV的跌落,持续约200μs,然后恢复稳定。这个跌落是模式切换时占空比突变引起的,在可接受范围内。
输入电压继续降到10.8V(12V × 0.9)时,从Buck-Boost模式切到Boost模式。切换瞬间输出电压有一个约80mV的过冲,同样很快恢复。
输入电压从9V升回15V时,切换过程反过来,输出电压的波动也在100mV以内。整个切换过程没有触发过压或欠压保护,说明滞回区间和过渡区设置得比较合理。
实操心得:模式切换测试一定要用可编程电源慢慢扫输入电压,不要手动调。手动调太快,切换瞬间的波形根本看不清。扫速控制在1V/s左右,用示波器的滚动模式或者单次触发来抓波形。
8. 应用场景与选型建议
8.1 电池供电设备
锂电池的电压范围通常是3.0V到4.2V,单节电池供电的设备如果需要一个稳定的3.3V或者5V输出,四开关Buck-Boost就很合适。电池电压高于3.3V时降压,低于3.3V时升压,全程稳定输出。
这种应用的特点是输入电压范围窄(3.0V到4.2V),输出电流不大(通常几百mA到2A),对效率要求高。选型的时候优先选低静态电流的控制器,轻载效率很重要。开关频率可以选高一点(1MHz到2MHz),电感可以小一些,节省空间。
8.2 车载电子
车载电子的输入电压范围很宽,标称12V,实际可能在6V到36V之间波动,还有各种瞬态和浪涌。四开关Buck-Boost的宽压输入能力很适合这种场景。
车载应用对可靠性要求高,管子耐压要选60V以上,最好有100V的余量。输入要加TVS和滤波,防止浪涌损坏。工作温度范围要覆盖-40°C到125°C,选车规级的器件。EMI要求也严,PCB布局和滤波要仔细做。
8.3 USB PD电源
USB PD协议支持多种电压档位,5V、9V、12V、15V、20V。如果用四开关Buck-Boost做PD电源,输入可以是适配器的固定电压,输出根据PD协议动态调整。比如输入12V,输出可以在5V到20V之间任意设定。
这种应用的特点是输出电压动态变化,模式切换频繁。控制环路要能快速响应电压设定值的变化,模式切换要平滑。另外PD协议需要通信,MCU要同时处理PWM控制和协议通信,对MCU的性能有一定要求。STM32G070CBT6这种带CAN或者多路UART的MCU比较合适。
8.4 光伏MPPT
光伏板的输出电压随光照和温度变化,单块板子的电压可能在18V到36V之间。如果用四开关Buck-Boost做MPPT,可以跟踪最大功率点,同时稳定输出给负载或者电池。
这种应用的特点是输入功率变化慢(光照变化是分钟级的),但输入电压范围宽。控制策略上,MPPT算法(比如扰动观察法)给出输出电压参考值,四开关Buck-Boost跟踪这个参考值。模式切换不需要太快,但效率要尽量高,因为光伏应用对效率很敏感。
选型的时候,控制器要支持外部参考电压输入,方便MPPT算法介入。电流采样精度要高,否则MPPT跟踪不准。电感选大一点,减小电流纹波,提高MPPT精度。
注意:光伏应用要注意输入反接保护,光伏板接反了会直接烧控制器。加一个防反二极管或者用P沟道MOS做防反电路。
9. 从入门到精通的进阶路线
9.1 先搭一个能工作的原型
新手最容易犯的错误是一上来就追求高效率、高功率密度,结果调试了半天连基本功能都跑不通。我的建议是先搭一个能工作的原型,参数保守一点,效率低一点没关系,先跑通再说。
原型可以用现成的四开关Buck-Boost控制器评估板,比如LT8390的Demo板,改一下反馈电阻就能工作。或者用MCU自己写PWM,先开环跑,确认四个管子的时序和死区没问题,再加闭环。
开环测试的时候,输入接可调电源,输出接电子负载。慢慢加输入电压,看四个管子的栅极波形和电感电流。确认Buck模式、Boost模式、Buck-Boost模式都能正常工作,再调闭环。
9.2 环路调试的实用方法
环路调试是四开关Buck-Boost的难点。没有网络分析仪的话,可以用阶跃响应来调。给输出加一个小的负载阶跃(比如从2A跳到3A),看输出电压的响应。
如果输出电压恢复很慢,说明带宽不够,加大误差放大器的增益或者减小补偿电容。如果输出电压振荡,说明相位裕度不够,减小增益或者加大补偿电容。如果输出电压有过冲,说明阻尼不够,加一个零点。
调的时候一次只改一个参数,改完测一次,记录波形。不要一次改好几个参数,否则不知道是哪个参数起了作用。调好了之后,在极端工况下再验证一遍,比如最低输入电压满载、最高输入电压空载、模式切换点附近。
9.3 从原型到产品的差距
原型能工作不代表能做成产品。产品化要考虑的东西多得多:EMC认证、安规认证、热设计、可靠性、成本、生产工艺。
EMC方面,四开关Buck-Boost的辐射EMI主要在开关频率的谐波上。加输入输出滤波、优化PCB布局、加屏蔽罩都可以改善。传导EMI主要在低频段,加共模电感和X电容可以抑制。
安规方面,输入输出要满足爬电距离和电气间隙的要求。高压应用还要考虑绝缘和防触电。认证费用不低,设计初期就要考虑进去,不要等做完了才发现过不了。
成本方面,四个管子比两个管子贵,驱动电路也复杂一些。但如果能省掉一级变换器,整体成本可能反而更低。选型的时候要算总账,不要只看单个器件的价格。
生产工艺方面,四开关Buck-Boost的调试比简单拓扑麻烦,生产线上要留足够的调试时间。参数的一致性要好,否则每台都要单独调。设计的时候尽量用数字控制,参数存在MCU里,生产时统一烧录。
我个人在实际操作中的体会是,四开关Buck-Boost这个拓扑入门不难,但要做好做精需要大量的实践。第一次做的时候不要怕炸管,炸几次就摸清楚脾气了。关键是要养成记录波形和参数的习惯,每次调试都记下来,时间长了就有感觉了。另外,多看看芯片厂商的应用笔记和参考设计,里面有很多实战经验是教科书上没有的。