ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Buck变换器小信号建模与环路补偿:LTspice从传递函数到PI参数落地

Buck变换器小信号建模与环路补偿:LTspice从传递函数到PI参数落地 简介《Buck 变换器的建模与仿真》是一份电力电子技术方向的 Word 文档资料面向电气工程、自动控制等专业学生及电源设计入门者系统梳理了单电压环 Buck 变换器的建模与仿真流程。资源包内共 1 个 docx 文件压缩后大小约 708KB内容包含主电路数学建模、小信号传递函数推导、控制电路分析与 PI 调节器设计等核心部分并基于 LTspice 开展了仿真验证。文档以状态空间平均法和开关元件平均法为基础给出了占空比对输出电压、音频敏感及输出阻抗等传递函数同时设计了 Type-3 型 PI 控制器利用伯德图校核系统稳定裕度在仿真环节还加入了软启动、限流、钳位等辅助电路并模拟了负载切入切出场景以检验闭环输出稳定性。目前已有 147 人浏览学习对于需要理解 DC/DC 变换器建模原理并快速上手仿真验证的读者是一份兼具理论推导与工程实践参考价值的资料。1. 单电压环Buck变换器建模与仿真LTspice里从传递函数到PI参数落地Buck变换器是DC/DC变换器里最常见的降压拓扑很多工程师都能随手搭出功率级电路但真正到了环路补偿这一步就开始凭感觉调PI参数运气好能稳住运气不好就出现低频振荡甚至炸管。问题的根源不是拓扑本身而是没有建立主电路的小信号模型不知道功率级给控制环路提供了什么样的传递函数自然也就不知道PI该给多少增益、零点极点该放哪里。这篇文档出自一篇完整的电力电子建模论文给出了一条非常完整的链路从状态空间平均法建立Buck主电路小信号模型到推导占空比对输出电压的传递函数Gvd(s)再到设计Type-3型PI控制器把穿越频率从5kHz校正到2kHz、相位裕度做到65°最后在LTspice里做AC扫描验证和负载切入切出瞬态仿真。它的价值在于把「建模—补偿—验证」三个环节串成了一个闭环适合正在做Buck环路设计、准备参加电力电子相关竞赛或者想系统补齐小信号建模能力的硬件工程师。2. 主电路小信号建模状态空间平均法与受控源等效电路的LTspice搭法2.1 为什么不能直接用PWM开关模型做AC分析很多人在LTspice里搭Buck电路时习惯直接用PWM比较器加逻辑门来控制开关管这种模型做瞬态仿真没问题但做AC分析完全不行。因为AC分析要求电路在某个静态工作点附近是线性时不变的而PWM开关电路本质上是强非线性的LTspice的.ac语句遇到这种电路要么报错要么扫出一条毫无意义的结果。正确的做法是用状态空间平均法。Buck变换器在连续导通模式CCM下只有两个开关状态开关管导通和开关管关断。在开关周期T内对电压和电流求平均把开关管和二极管这一对非线性器件替换成受控源就能得到一个时不变的等效电路。再在这个大信号平均模型上叠加小信号扰动最后得到线性化的小信号等效电路。这就是论文里说的「开关元件平均法」也是后续求Gvd(s)的前提。2.2 占空比对输出电压的传递函数推导过程Buck变换器CCM模式下两个开关状态的状态方程分别列写。开关管导通时电感电压为Vin减去输出电压电容向负载放电开关管关断时电感续流二极管导通电感电压为负的输出电压。对这两个状态按占空比D加权平均得到大信号平均方程。然后令每个变量等于直流分量加小信号扰动量忽略二阶小项就能得到从占空比扰动d̂(s)到输出电压扰动v̂(s)的传递函数Gvd(s) v̂(s) / d̂(s) Vin · [(1 s·rc·C) / (s²·L·C·(1rc/R) s·(L/R rc·C rl·C·(1rc/R)) 1)]从这个表达式能读出几个关键信息第一直流增益就是输入电压Vin第二输出电容的ESRrc在传递函数分子上引入了一个零点第三如果电感寄生电阻rl和电容ESR都很小分母就是一个典型的二阶系统谐振频率近似为1/(2π√(LC))。这决定了后续补偿器零点极点的放置位置。2.3 在LTspice中用受控源搭小信号等效电路有了传递函数还不够工程上更直观的方式是在LTspice里把平均模型搭出来然后用AC扫描直接看伯德图。CCM模式下的开关网络可以用一对受控源等效输入侧用电流源模拟开关管平均电流i1 d·iL输出侧用电压源模拟开关节点平均电压v_sw d·Vin。我一般用LTspice的B源行为源来实现比E源F源组合更直接* Buck CCM平均模型 - LTspice 小信号AC分析 * 参数示例Vin28V, L100uH, C470uF, R4Ω, rc5mΩ, rl10mΩ VIN in 0 28 L1 sw out 100u Rser{rl} C1 out 0 470u Rser{rc} R1 out 0 4 * 开关网络平均模型受控源替代开关管二极管 B1 in sw VV(d)*V(in) * 开关节点平均电压 d * Vin B2 0 in I(-1)*I(L1)*V(d) * 输入侧平均电流 d * IL * 占空比小信号扰动源AC分析信号源 Vd d 0 DC 0.5 AC 1说明一下每个受控源的作用。B1是一个电压行为源它把节点in的电压乘以占空比信号V(d)输出到开关节点sw等效于开关管导通时把输入电压传递到LC网络前端。B2是电流行为源模拟输入侧从电源抽取的电流等于电感电流乘以占空比因为开关管导通期间才有输入电流流过。这里用I(L1)直接引用电感电流是平均模型里比较关键的一步它把输出电感电流的变化反馈到了输入端。Vd这个电压源在小信号模型里承担两个任务DC值是0.5用来设定静态工作点AC值是1表示施加一个幅度为1的小信号占空比扰动。这样AC扫描时输出节点out的电压幅频特性就是Gvd(s)的幅频曲线相频特性就是相位曲线不需要额外写公式。2.4 参数设置与AC扫描操作细节打开LTspice后搭完上面这个原理图添加一个AC扫描指令。我在实际仿真时习惯扫描范围从100Hz到1MHz覆盖Buck变换器LC谐振频率和开关频率附近的范围.ac dec 200 100 1Meg扫描点数选200足够画出平滑曲线如果只看谐振峰附近的细节可以改成dec 500。运行仿真后在波形窗口添加节点out的电压就能看到Gvd(s)的伯德图。需要重点观察三个特征低频段增益是否接近20·log10(Vin)dB谐振峰出现在哪个频率高频段是否以-40dB/dec的斜率下降。这个谐振频率就是后续放置PI零点的位置依据。有个容易忽略的设置电感必须加Rser电容必须加Rser也就是考虑寄生电阻rsl和rc否则分子上没有ESR零点分母阻尼为零伯德图在谐振频率处会出现一个无穷大的尖峰和实际电路偏差很大。论文表1里电感寄生电阻rl和电容寄生电阻rc都给了具体值仿真时务必按表填。3. 控制环路设计Type-3型PI参数怎么定穿越频率怎么压回2kHz3.1 未补偿时伯德图为什么会不满足控制要求小信号模型建立后下一步就是把控制器加进来。论文中的做法是取控制对输出的传递函数Gvd(s)进行校正补偿前系统的伯德图显示穿越频率约为5kHz。为什么5kHz不满足要求在电力电子环路设计中穿越频率一般取开关频率的1/10到1/5穿越频率过高会导致两个问题一是对高频噪声的抑制能力变差输出纹波更容易耦合到控制环路里二是相位裕度往往不足负载突变时容易产生振荡。按这个标准穿越频率压到2kHz是合理的工程选择。另外还需要看相位裕度。如果5kHz穿越频率处的相位裕度远低于45°即使系统能稳住瞬态响应也会出现明显的振铃和过冲。这就是论文里明确以「相位裕度65°、穿越频率2kHz」作为补偿目标的原因。3.2 Type-3型PI补偿器的零极点配置思路Type-3型补偿器也叫三型误差放大器是电压控制Buck环路最常用的补偿结构它提供了两个零点、两个极点和原点处一个积分极点。经典配置如下第一和第二个零点放在LC谐振频率附近用来抵消功率级双极点造成的-40dB/dec斜率第一个极点放在电容ESR零点附近用来抵消ESR零点的影响第二个极点放在开关频率附近或者更高频段用来衰减高频开关噪声原点极点提供低频高增益保证输出电压稳态精度。Type-3补偿器的传递函数一般形式为Gc(s) (1/s) · (1s/ωz1) · (1s/ωz2) / ((1s/ωp1) · (1s/ωp2))配置原则我一般这么掌握零点频率设为LC谐振频率的0.5到0.8倍第二个零点取谐振频率的1.2到1.5倍第一个极点取ESR零点的1.5倍以上第二个极点放在开关频率的0.5倍附近。这样设计的好处是在穿越频率附近补偿器提供一个上升的增益斜率把开环增益曲线以-20dB/dec的斜率穿越0dB线相位裕度自然就能落在目标范围内。3.3 PI参数计算与LTspice中的实现论文里给出的补偿目标是穿越频率2kHz、相位裕度65°。实际操作时先从未补偿的Gvd(s)伯德图上读出2kHz处的增益和相位然后计算补偿器在这点的增益和相位提升量。先用未补偿开环增益确定中频增益再按前面说的零极点位置摆好两个零点和两个极点最后在LTspice里用B源直接表达式实现* Type-3 补偿器示例参数需根据实际Gvd形状调整 * 零点: fz16kHz, fz212kHz; 极点: fp130kHz, fp275kHz * 中频增益补偿: 用 Gc 统一缩放 Ecomp comp 0 value{ Gc * (1s/{2*pi*6k}) * (1s/{2*pi*12k}) / (s*(1s/{2*pi*30k})*(1s/{2*pi*75k})) * V(err)}这里把误差信号V(err)作为输入输出就是调制波信号。Ecomp是个电压行为源直接在value表达式里写传递函数的好处是参数改动方便想调整零点极点频率只需要改数字不用改电路结构。补偿器的输出电压再送给PWM比较器就能生成驱动信号。参数怎么确定不用完全靠手算。我一般的做法是先把零点极点按估算值填进去跑AC扫描看补偿后开环伯德图如果穿越频率偏高就降低中频增益Gc偏低就增大Gc如果相位裕度不够就把两个零点往高频方向推一点。迭代两三次就能精确落在2kHz和65°上。3.4 补偿后系统的开环伯德图如何检查补偿器加进去后AC分析要重新设置断点。工程上最常用的是在误差放大器输出处断开反馈环路注入一个AC扰动源然后测量环路增益T(s)。这里有一个细节断开的地方必须选在单向传输的节点不能在输出电压采样点处断开因为采样网络对输出有负载效应断开位置选错了测出来的环路增益会偏。断开后从主电路输出电压节点到PWM比较器输入端的传递函数乘上补偿器传递函数就是开环增益T(s)。查看伯德图时确认三件事穿越频率是否在2kHz左右穿越频率处的相位减去-180°是否大于65°低频增益是否足够高。论文图6的仿真结果显示校正后系统满足这两个指标在做自己的电路时也要按这个标准核对。4. 建模仿真避坑参数对不上、波形发散的四个常见问题4.1 AC扫描结果和手算传递函数对不上现象LTspice里AC扫描得到的谐振频率和手算1/(2π√(LC))差很多或者低频增益不是预期的20·log10(Vin)dB。原因最常见的是模型里寄生参数没有设置电感L1和电容C1的Rser默认是0。没有rl和rc时二阶系统品质因数趋近无穷谐振频率处增益异常升高另外B1/B2受控源的表达式里如果用了绝对电压V(in)而不是相对节点的压差也会引入额外偏差。解决按实际器件值给L1加Rser10mC1加Rser5m。同时检查B1表达式如果写成了VV(d)*28这种绝对数值改成VV(d)*V(in)让直流工作点自己计算这样扫描结果才会和传递函数公式完全吻合。4.2 受控源报错循环引用仿真不收敛现象运行仿真时LTspice提示Analysis: Time step too small或者singular matrix定位到B2电流源那一行。原因B2用了直接引用I(L1)的形式当电感电流发生突变时行为源里对电流的依赖可能形成代数环导致矩阵求解不收敛。这在B源搭配非线性负载时尤其常见。解决把B2改成用辅助电压源检测电流。在电感支路串联一个0V电压源VSENSE0V不影响电路B2表达式改为II(VSENSE)*V(d)。LTspice对这种电流引用的收敛性更好排查问题也方便随时能看到电感电流的实际值。4.3 负载切换瞬间波形发散输出电压拉不回来现象仿真运行到20ms负载从100%切换到50%时输出电压出现大幅度跌落或尖峰之后要么恢复不到14V要么直接振荡发散。原因负载切换的瞬态响应能力由环路带宽决定。如果前面AC分析没做直接凭经验给PI参数带宽可能只有几百赫兹负载突变后环路响应太慢输出电压跌落幅度超过控制能力边界如果补偿器相位裕度不足45°负载突变激发出来的振荡就无法衰减。解决回到第3章的环路设计流程先把穿越频率按2kHz校正好再回头跑负载切换瞬态。另外检查负载切换的实现方式用switch模型时要注意电阻不能直接接到0到无穷切换目标电阻要设一个合理的导通电阻避免瞬间断流击穿仿真器数值极限。4.4 软启动时间常数设置不当导致启动冲击现象启动瞬间输出电压过冲超过设定值10%以上甚至触发限流保护。原因论文里明确说参考电压从0V缓慢启动到给定值时间常数RC设置为4ms。如果RC设得太小参考电压上升太快PI调节器积分项跟不上输出电压就会过冲如果MR设得太大启动时间过长系统长时间处于低压大占空比状态电感电流平均值很高。解决把软启动的RC时间常数设在3ms到5ms之间和环路穿越频率匹配。穿越频率2kHz对应响应时间约0.5msRC取4ms大约是响应时间的8倍这个比例留出了足够的裕量。实际调的时候用param变量声明RC值方便批量扫描。5. 闭环验证与进阶用伯德图和负载瞬态双向确认PI设计闭环仿真验证不能只看稳态波形真正有效的验证是「频域指标」和「时域行为」的交叉确认。我做完AC分析后一定会补两组瞬态仿真一组是启动过程的波形看输出从0V上升到14V的过程中有没有过冲软启动是否按设计时间完成另一组是重复论文里的负载切换场景前20ms满载运行20ms切换为50%负载40ms再切回100%负载观察输出电压跌落幅度、恢复时间以及是否出现振荡。判断标准我习惯量化来看负载切换时的输出电压跌落不超过2%即14V输出时压降小于280mV恢复时间在1ms以内切换过程中波形没有明显的二次振荡。如果跌了1V以上说明环路带宽不够回去加大中频增益如果有振铃说明相位裕度偏低把零点往高频推。进阶操作是在LTspice里一次性做参数扫描。把PI的零点极点参数声明成变量用.step指令同时扫描几组参数把瞬态波形叠加对比.step param fz1 list 4k 6k 8k这样一次仿真就能看到三组参数下负载瞬态恢复的差别比一组一组试快得多。扫描完你会发现带宽和相位裕度是矛盾的带宽拉高瞬态恢复快但相位裕度下降这就是补偿器设计的核心权衡。这个环节做完整套Buck变换器的建模与仿真流程才算真正闭环。回头想我最开始做Buck环路时也习惯跳过传递函数直接调PI结果就是仿真一个样、焊板实测一个样低压大电流场景经常出问题。从那以后我每次搭Buck闭环仿真都强制走一遍「小信号建模→AC校穿越频率和相位裕度→负载瞬态验证」的完整流程连仿真波形和计算值对不上都会倒查模型参数。现在这份建模仿真文档我还会定期翻出来对照自己的电路参数重算每次都能排查出一些设计隐患。希望帮到你。本文还有配套的精品资源点击获取
返回列表