ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

开关电源仿真利器PSIM:从Buck变换器到控制环路设计全解析

开关电源仿真利器PSIM:从Buck变换器到控制环路设计全解析 很多人第一次接触电路仿真软件第一反应想到的往往是Multisim或者LTspice但如果你去电源工程师的工位上转一圈会发现另一个高频出现的名字——PSIM。这名字最初听起来像个内部工具编号但它几乎是开关电源和电机驱动领域最常用的仿真工具之一。我最早用PSIM是做一个Buck变换器闭环验证当时被SPICE类工具动辄几分钟甚至半小时的仿真折磨得够呛换到PSIM之后同样的电路几秒钟出波形那种感觉确实是打开新世界大门。这篇文章我打算把PSIM从定位、安装、建模仿真、控制闭环到常见坑点做一个系统梳理。适合刚开始接触电力电子仿真、想从Multisim/Simulink过渡到专业电源仿真工具的读者也适合已经在用PSIM但主要停留在拖元件看波形、想进一步深入控制系统设计的工程师。我会用一个大电流Buck变换器作为贯穿案例从开环跑到闭环顺便把仿真步长、器件模型、补偿器设计这些东西讲透。1. PSIM的定位一种为电力电子而生的快速仿真方式1.1 与SPICE类软件的核心区别要理解PSIM必须先把它的求解思路和SPICE区分开。SPICE类工具LTspice、Multisim、Cadence PSpice走的是器件物理级建模MOSFET有详细的管子模型包括沟道电阻、结电容、非线性电容曲线仿真每一步都在求解一大堆非线性方程所以精度高但速度慢。而PSIM走的是系统级快速仿真路线它把开关管简化成理想开关加导通压降加寄生参数把电感电容用节点法求解整个电路被抽象成一个分段线性的网络。这个差异带来最直接的体验就是速度。一个常规的两路交错Boost电路LTspice可能跑几分钟PSIM通常几秒钟就出稳态波形。代价是波形细节没那么真实比如开关管的开关暂态波形、米勒平台这些东西PSIM基本看不出来。但对电源工程师来说绝大多数情况下我们关心的是环路稳定性、输出纹波、负载动态响应、效率趋势这些PSIM完全够用而且快得让人愿意反复试参数。1.2 PSIM真正擅长的场景PSIM的强项大概可以分成四类。第一类是开关电源拓扑验证。Buck、Boost、Buck-Boost、反激、正激、LLC、全桥这些都是PSIM的主场。它内置了各种电源拓扑的常用模块像半桥、全桥这些都可以直接拉模块出来用不用自己拿4个管子一个个拼。第二类是电机驱动控制PSIM有专门的电机驱动模块感应电机、永磁同步电机、无刷直流电机模型都有做FOC或者六步换向仿真是很多做电机控制的工程师选它的原因。第三类是控制环路设计它的Control库里有传递函数、PID、零极点、比较器、数字滤波器等模块可以很直观地搭出电压环、电流环配合AC分析扫频直接看环路增益的波特图。第四类是系统级联合仿真通过SimCoupler跟MATLAB/Simulink做联合仿真把复杂的数字控制算法放在Simulink里功率部分放在PSIM里两边一起跑。1.3 和SIMPLIS、falstad这类工具的横向对比圈子里常拿PSIM跟SIMPLIS比较。SIMPLIS也是开关电源专用仿真它最大的卖点是用分段线性模型和一种特殊的瞬态算法可以快速得到开关电源的周期稳态解尤其在LLC这种谐振拓扑上SIMPLIS的周期扫描优势很强而且仿真精度从原理上能保证固定的开关纹波都被算到。但SIMPLIS的建模逻辑比PSIM难上手元件库封闭倾向厂家定制。PSIM则是拿来就能用元件库直观控制模块丰富跟Simulink打通之后玩法更多。至于falstad电路仿真软件那是个在线免费的教学工具适合看看RC充放电、逻辑门翻转体验极佳但模型精度不高拿来学概念可以拿来做电源设计就别指望了。我的看法是如果只是入门电路分析falstad很方便真正想做开关电源和电机控制PSIM是效率和安全感的平衡点。2. 第一次搭建Buck变换器元件摆放、参数设置到波形输出2.1 安装、界面与版本选择PSIM目前基本是Windows平台官方提供安装包和许可管理工具。下载时注意区分几个版本演示版Demo能跑但元件数量和电路规模受限适合第一次体验流程教育版一般由高校采购功能和标准版接近专业版通常按模块购买Motor Drive、Thermal、MagCoupler等是可选模块。如果你要用于实际项目验证我建议至少确保带Control模块和SimCoupler模块。安装完成后界面很清爽左侧是元件库树中间是绘图工作区顶部是菜单和仿真按钮。第一次打开不要急着找复杂的参数设置先认识几个基本动作从左侧元件库拖元件到画布、双击元件打开属性对话框、鼠标放在引脚端点会变红表示可以连线、右键可以旋转和复制。PSIM的连线比某些软件智能它会自动走直角路径连线完成后按F8进行仿真。2.2 主电路搭建的基本操作下面我用一个48V输入、12V输出、开关频率100kHz的Buck变换器来演示完整流程。需要从Elements库取以下元件直流电压源设为48VMOSFET型号可以先用内置的N沟道MOSFET理想模型二极管续流使用内置快恢复二极管模型电感和电容分别设为47uH和220uF电阻负载设为2.4欧姆对应输出5A电压表和电流表放在输出端和电感支路上用于观测波形。接下来按Buck拓扑连接电压源正极接MOSFET漏极MOSFET源极接电感一端电感另一端接输出电容和负载二极管阳极接MOSFET源极和电感连接点阴极接到输入正极也就是地。我这里专指标准Buck的接法。连线时注意功率地和控制地需要统一PSIM里可以设置接地符号避免悬空导致仿真报错。开关管不能悬空驱动需要给栅极加PWM信号。最简单的方式是放一个PWM调制模块在Control库下设置频率100kHz设置占空比0.25。输出端存在电源内阻、开关噪声初期可能出现尖峰不用慌先跑一版看看趋势。双击电感输入等效串联电阻ESR为100毫欧电容ESR为30毫欧这两个寄生参数对纹波仿真结果影响很大别用理想值0否则波形会过于理想化。2.3 开环跑通从PWM到输出波形绘好电路后打开仿真参数设置Simulation Control设置总仿真时间为5ms步长设置先选固定步长给200ns。为什么是200ns后面第3节我会详细说计算逻辑。点RUN你会在几秒钟内看到波形。默认会打开一个示波器窗口把电压表、电流表的波形拖进去即可。以这个参数算一下理论值占空比0.25输入48V理想输出就是12V电感电流平均值5A纹波量约0.96A峰峰值输出电压纹波取决于ESR粗略估算约几十毫伏。仿真波形出来后拿鼠标右键可以缩放、测量读数PSIM的波形工具自带光标测量功能可以看峰峰值和频率。跑完之后把示波器数据导出成文本后续做FFT分析或者写实验报告都方便。第一次跑通之后的建议不要急着改参数先分别改一下占空比、ESR、负载值看看波形怎么变化。这个过程能帮你建立仿真波形跟理论公式相互印证的感觉。周期性稳态到达前会有启动瞬态有时会看到输出过冲这是电容充电过程造成的属于正常现象。3. 影响仿真可信度的几个关键设置步长、模型和初值3.1 步长选择的实际操作建议PSIM支持固定步长和可变步长。很多人习惯默认可变步长觉得全自动省心但在电力电子电路里这点往往埋着坑。可变步长在状态变化平缓时会把步长拉大一旦遇到开关管动作点步长又要突然收缩这个收缩过程在有些求解器里会带来数值误差甚至振荡。我的经验做法是先用固定步长按开关周期的1/200来取。比如100kHz开关频率周期10微秒步长取50ns。1/200的倍数对纹波细节和环路响应都算合适。如果电路规模大、仿真时长长可以放宽到1/100但低于1/50会导致PWM占空比分辨率不够闭环仿真的稳定性结论会出偏差。如果你要仿真LLC这种高Q值谐振拓扑建议更细比如1/500甚至1/1000。另一个重要参数是总仿真时长。电源闭环仿真从启动到稳态通常需要500到1000个开关周期。100kHz、1000个周期就是10ms按200ns步长就是50000个仿真步。PSIM在这个规模下几秒钟能跑完这也是它比SPICE类工具迷人太多的原因。3.2 半导体器件模型怎么选PSIM的半导体库里有几个层次的MOSFET/IGBT/二极管模型。最理想化的模型是分段线性开关只有导通电阻和阈值电压适合拓扑快速验证稍微精细一些的模型会带结电容、反向恢复电荷等参数。初次跑电路强烈建议先用理想模型先把控制逻辑调对再换成带损耗的模型做效率估算。直接上精细模型一旦出现不收敛你很难分清是电路问题还是模型问题。二极管的反向恢复参数对损耗和EMI仿真有影响但在早期阶段不要纠结设一个小值即可。关键是器件的导通压降要设合理MOSFET的Rds(on)按实际规格书填比如10毫欧二极管的VF按0.4V左右填这样仿出来的效率结果才有参考价值。3.3 初值与启动设置电源电路仿真最常见的发散原因之一就是输出电容的初值设成0而输入电压又很高启动瞬间相当于对零电压电容冲击充电电流尖峰可能大到让求解器崩溃。解决方式有三种给电容设一个合理的初始电压把电源设置为软启动在信号源属性里设上升时间或者串联一个小限流电阻并在仿真稳定后移除。这三种我在实际项目中都用过最简单常用的是给电容设置初始电压比如输入48V输出12V的Buck可以直接把220uF电容初值设为12V。还有一个很多人忽略的点PWM信号的初始相位。如果仿真一开始就让PWM输出高电平开关管瞬间导通同样容易造成启动冲击。PSIM的PWM调制模块可以设初始值建议初始输出设为0让电路在零状态起步再逐步建立稳态这种软起步能减少不少不必要的波形毛刺。4. 控制环路才是PSIM的看家本领补偿器设计与Simulink联调4.1 电压环补偿器怎么搭开环Buck跑通之后下一步通常就是加反馈控制。PSIM里的Control模块库提供了运算放大器、比较器、加法器、传递函数模块、PID模块等。最经典的做法是用分压电阻采样输出电压与参考电压做误差误差信号进入补偿器补偿器输出再控制PWM占空比。要搭一个Type II补偿器可以用传递函数模块设成如下形式 Gc(s) 1.2 * (1 s / 6280) / (s * (1 s / 62800)) 数字可以按你的穿越频率要求换算。这个模块在Control库的Transfer Function里可以直接填零极点形式比搭运放电路省事太多。参数整定上我习惯先把穿越频率压在开关频率的1/10以内100kHz对应10kHz以下相位裕度做到45度以上。从Bode图上量出补偿前开环增益的穿越点和相位再补进去Type II的两个零极点。PSIM自带的AC Analysis功能可以在运行模式里选AC Sweep设置扰动源扫频范围1Hz到100kHz直接看出补偿前后增益和相位的曲线。我第一次用这个功能时最大的惊讶是原来在PSIM里做环路扫频可以这么快根本不用像硬件调试那样搬一堆仪器。4.2 与Simulink联合仿真的配置当控制算法变复杂比如要做MPC或观测器PSIM原生的控制模块就不够用了必须上SimCoupler。我建议的联合仿真配置流程如下确认MATLAB/Simulink和PSIM版本兼容SimCoupler插件在安装PSIM时选上在Simulink里实现数字控制算法把输入输出接口整理好存成.slx文件在PSIM电路里放置SimCoupler模块双击指定Simulink模型路径和接口映射点仿真时PSIM会调用MATLAB引擎完成编译和联合求解。需要注意SimCoupler通信有一定开销步长不一致可能导致两边数据不同步建议两边用同一个步长并且把仿真步长设置偏保守一些。还有一点Simulink模型里别放示波器Scope去实时显示大量波形这会严重拖慢联合仿真速度给PSIM端加输出探针就够了。4.3 一套可复用的参数整定思路闭环仿真最容易遇到的挫败是调了半天参数波形依然振荡或发散。我把自己的调试流程写成固定套路供参考先开环跑通确认主电路正常断开反馈手动设置固定占空比测量从占空比到输出电压的小信号增益和相位加上补偿器从低增益开始先保证稳定逐步增大增益同时观察输出波形的过冲和抖动每调整一次用AC Sweep看环路增益的相位裕度目标45度以上关键参数记录在表格里方便回溯。不要把仿真发散全都赖到算法上很多时候是步长过大。如果加了补偿器后波形高频振荡优先把仿真步长进一步缩小如果是低频振荡再考虑增益和相位补偿问题。这个顺序是反过来的很多人调反了白白浪费时间。5. 新手最容易翻车的场景和对应排查链路5.1 仿真不收敛、发散怎么办不收敛在PSIM里的典型表现是仿真中途停止提示时间步长过小或者矩阵奇异。我建议按从外围到核心的顺序排查。先看有没有浮空节点某个电感的另一端忘了接地或者某个数据源参考电平平移这是最常见原因。再看电源内阻是不是设为0了。PSIM对理想电压源并联理想电容这类结构容忍度一般建议给直流源串一个微欧级小电阻给电容并联一个很大的电阻来提供直流通路。再看是不是步长太小或太大。太小会显著增加迭代时间太大又导致开关状态切换被漏掉。最后看器件参数的数值跨度如果某个电阻是1欧姆另一个是10兆欧姆矩阵条件数差太大就容易奇异。实在查不出原因把电路最复杂的地方比如补偿器逐段断开用二分法缩小问题范围。我之前遇到过一次死活发散的情况最后发现是MOSFET的栅源电容参数填得离奇到跟电源内阻组成的RC时间常数比步长还小。这种数值级差过大的问题很难一眼看出来所以固定步长就别设成极小值要与电路最小寄生时间常数兼容。5.2 PWM驱动信号异常驱动信号有几种典型症状占空比不对、有毛刺、相位反转、死区失效。排查方式首选用示波器光标直接量PWM模块的输出波形别急着怀疑主电路。占空比不对最常见的原因是调制波和载波幅值不匹配。PSIM的PWM调制模块里载波幅值和比较阈值如果跟参考值的量纲不匹配输出占空比就会偏。解决办法是保证误差信号经过补偿器后能被限制在载波幅值范围内必要时加一个限幅模块这是电源控制里非常重要的工程细节。死区失效往往是驱动电阻和开关管门极电容的时间常数太大导致的把驱动电阻调小或者对两个管子分别设置独立的驱动参数即可。还有一类问题是PWM初始状态。先让PWM输出为0仿真到稳定后再使能能避免很多启动瞬态干扰判断的情况。5.3 离散控制引入的额外坑现在很多控制器本身是数字实现在PSIM里可以用Digital Control库搭离散控制。这里最常犯的错是采样频率和PWM频率不同步导致拍频。建议采样频率是PWM频率的整数倍同时离散控制器的Z变换模块步长要和仿真步长匹配。如果做的是定频PWM采样在开关周期中间和起始边的效果差别很大反馈信号零阶保持也会带来延迟这些延迟都会降低相位裕度。调试时可以先做连续域补偿稳定后再离散化再检查离散化后的相位裕度变化。离散控制的联合仿真里C Block是很多人爱用的东西它可以在PSIM里直接写C代码实现数字控制但要注意变量类型强转和静态变量一些编译器在联合仿真下会出现优化问题建议把关键中间量通过输出探针引出来看而不是一头扎进C代码里盲目排查。6. PSIM和常见替代工具怎么选对比、学习顺序与建议6.1 一张表看清工具定位可以拿PSIM、LTspice、SIMPLIS、falstad做个简单对比。LTspice适合器件级波形和损耗分析MOSFET开关暂态、EMI滤波器的特性仿真用它SIMPLIS适合开关电源的周期稳态、小信号扫频和LLC设计falstad适合电路原理教学PSIM适合系统级电源仿真、控制算法验证和电机驱动。它们不是替代关系而是互补关系。成熟的电源工程师通常不只用一个工具而是按不同阶段切换。我个人的工作流是拓扑定性和理论计算用Excel和纸笔器件级关键波形用LTspice电源系统闭环和数字控制验证用PSIM和嵌入式算法工程师协作时用PSIMSimulink联合仿真。这样分工每个工具都在自己做擅长的事效率最高。6.2 从入门到熟练的路径如果你是纯新手从一个简单Buck开环开始走完本文第2节的流程然后给自己布置一个任务比如把输出从12V改成5V搜索参数公式亲手调占空比并观察波形变化接着加电压反馈搭Type II补偿器反复调整零极点位置最后把控制算法迁移到Simulink里做联合仿真。这个过程通常两到三周比只看教程云学有效一百倍。官方自带的Examples是很值得啃的资料里面几乎覆盖了所有常见拓扑每个案例的参数都经过验证跑通后结合Help文档看每个模块的设置含义。遇到报错信息优先在PSIM自带的用户手册里搜索很多报错都有官方解释。6.3 一点个人体会仿真从来不只是拖元器件连线这么简单它要求你对电路本身有足够清晰的理解。PSIM速度快意味着你可以大量试错但如果不思考为什么发散、为什么振荡试错也只是浪费电能而已。我会在仿真前先做一套手算设计确定占空比、电感电流纹波、输出电容ESR约束、补偿器穿越频率。这样仿真只是验证我算出来的结果两者对不上时反而能发现我的计算错误或模型参数问题。这是整个仿真最有价值的部分。再分享一个小习惯我习惯给每个仿真工程建一个参数记录表单把输入电压、输出规格、器件参数、步长、补偿器零极点、关键波形特征全部记录下来。因为一个工程往往会在几周后回过来看记忆会模糊留档能避免重做。另外波形导出后我会用脚本批量处理把纹波、效率、启动过冲这些指标自动算出来省去了在示波器界面里一双眼睛盯半天的功夫。工具只是工具真正值钱的是你对功率变换原理的理解。把PSIM用得顺手它会成为你验证想法、排查故障、与同事沟通拓扑方案时的最强辅助。希望这篇文章能让你少走我当年走过的弯路把有限的时间花在更有价值的电路设计本身。
返回列表