1. 为什么要在PSIM里搭光伏并网逆变器而不是直接上Matlab很多人第一次接触光伏并网逆变器仿真第一反应是打开Matlab/Simulink。这没错Simulink生态全、工具箱多但如果你只是想把主电路拓扑跑通、把控制环路调稳、把并网电流的THD看清楚PSIM的上手速度和仿真效率会让你回不去。我自己的经历是同样一个单相全桥并网逆变器Simulink里从建模型到跑出稳定波形大概要折腾大半天而PSIM里两个小时就能看到干净的并网电流。原因不复杂——PSIM从底层就是为电力电子开关电路设计的它的求解器对开关事件的捕捉更干脆步长可以放得比较小而不炸内存元件库里的IGBT、MOSFET、二极管模型都是理想开关加导通压降的组合参数少、跑得快特别适合做拓扑验证和环路调试。光伏并网逆变器的仿真核心要解决三件事第一直流侧光伏阵列的输出特性要能模拟出来至少得有个能随光照和温度变化的I-V曲线第二逆变桥要把直流变成交流并且通过PWM调制控制幅值和相位第三并网侧要跟电网电压同频同相电流波形要正弦化功率因数要接近1。这三件事在PSIM里都有现成的模块可以拼不需要自己写微分方程。PSIM里有一个Solar Module模块直接输入开路电压、短路电流、最大功率点电压和电流它就能输出对应的I-V特性省去了自己搭光伏电池等效电路的麻烦。逆变桥用全桥或半桥都可以PSIM的开关器件模型支持死区设置这一点对并网逆变器很关键因为死区会影响电流过零点的畸变。并网部分用一个理想交流电压源模拟电网串联一个线路电感再通过电流闭环控制逆变桥的输出电压就能实现单位功率因数并网。适合看这篇内容的人大概分三类一类是电气工程专业的学生课程设计或毕设要做光伏并网仿真但不想在Simulink里被代数环和求解器报错折磨一类是刚入行的电力电子工程师手头有个小功率并网项目想先仿真验证控制策略再打板还有一类是做微电网或储能系统的从业者需要快速搭一个光伏并网单元作为子系统嵌入更大的仿真平台。不管你是哪一类只要你会拖拽元件、会连导线、会设参数这篇内容就能让你在PSIM里把光伏并网逆变器跑起来。提示PSIM的免费试用版有节点数限制但搭一个单相全桥并网逆变器绰绰有余。如果你用的是正式版注意版本差异PSIM 11和PSIM 2021的元件库位置略有不同但模块名称基本一致。2. 主电路拓扑的选型与PSIM元件对应关系2.1 单相全桥还是半桥先看功率等级和直流母线电压光伏并网逆变器的主电路拓扑小功率场合几百瓦到几千瓦最常见的是单相全桥也叫H桥。它由四个开关管组成对角导通时输出正负交替的方波经过滤波电感后变成正弦电流。半桥拓扑少两个管子但直流侧需要分裂电容而且开关管承受的电压应力是全桥的两倍所以只适合直流母线电压很低的场合。我建议你直接用全桥PSIM里搭起来不麻烦四个IGBT加四个反并联二极管或者直接用PSIM库里的IGBT模块它内部已经包含了反并联二极管。直流母线电压的选取有个经验公式母线电压至少要大于电网电压峰值的1.2倍。比如并网电压是220V交流峰值是311V那母线电压至少取380V实际工程里常取400V。为什么要有这个余量因为逆变桥输出的是PWM波基波幅值最大只能到母线电压如果母线电压不够调制比会饱和电流波形顶部会被削平THD直接爆表。PSIM里你可以用一个直流电压源先代替光伏阵列等控制环路调通了再换成Solar Module。2.2 PSIM里对应的元件和位置打开PSIM左侧元件库按类别排列。主电路需要的元件在几个地方开关器件Elements→Power→Switches里面有IGBT、MOSFET、Diode。IGBT选IGBT就行它自带反并联二极管。直流源Elements→Sources→Voltage选DC。交流源同样在Sources→Voltage选Sinusoidal用来模拟电网。电感电容Elements→Passive→Inductor和Capacitor。光伏模块Elements→Sources→Solar Module这个模块在PSIM的较新版本里才有如果你的版本没有可以用直流源串联一个可变电阻来近似但精度差很多。连线的时候注意PSIM的导线是理想导线没有电阻所以如果你需要模拟线路阻抗得自己串电感或电阻。并网逆变器的滤波电感是必须的它决定了电流纹波的大小。电感值怎么算有个简化公式L (Vdc × D × (1-D)) / (fsw × ΔI)其中Vdc是母线电压D是占空比fsw是开关频率ΔI是允许的电流纹波。举个例子Vdc400VD0.5fsw20kHzΔI取并网电流峰值的20%假设并网电流峰值是10AΔI2A那L (400×0.5×0.5)/(20000×2) 2.5mH。这个电感值在PSIM里直接填就行。2.3 死区设置不能忘全桥逆变器的上下管不能同时导通否则直流母线直接短路仿真里会报错或者电流无穷大。PSIM的IGBT模块有一个Dead Time参数你可以在驱动信号里加死区也可以直接用PSIM的PWM发生器它自带死区设置。死区时间一般取开关周期的2%到5%比如20kHz开关频率周期50微秒死区取1到2微秒。死区太大会导致电流过零点畸变太小又可能直通我一般取1.5微秒实测下来THD和效率比较平衡。注意PSIM仿真里如果忘记设死区仿真会直接报“singular matrix”或者电流冲到几千安这时候别慌检查驱动信号是不是有重叠。3. 光伏阵列的PSIM建模从I-V曲线到最大功率点3.1 Solar Module模块的参数怎么填PSIM的Solar Module模块需要输入四个参数开路电压Voc、短路电流Isc、最大功率点电压Vmp、最大功率点电流Imp。这四个参数从光伏板的数据手册上抄就行。比如一块常见的250W多晶硅板Voc37.6VIsc8.8AVmp30.5VImp8.2A。填进去之后模块会根据光照强度和温度自动计算I-V曲线。光照强度参数叫Irradiance单位是W/m²标准测试条件是1000W/m²温度参数叫Temperature单位是摄氏度标准条件是25°C。这里有个坑PSIM的Solar Module模块默认输出的是单块光伏板的特性如果你需要更高的电压和电流得自己串并联。串联提高电压并联提高电流。比如你要400V母线电压单块Vmp30.5V那至少串13块13×30.5396.5V接近400V。并联的话如果单块Imp8.2A你要10A那就并两块但并联需要每块板先串联一个防逆流二极管PSIM里可以用理想二极管代替。3.2 最大功率点跟踪在仿真里怎么简化实际光伏并网逆变器一定有MPPT但仿真里如果你只是想验证并网控制可以先把MPPT简化成一个固定电压源把母线电压钳在Vmp附近。等并网电流跑通了再回头加MPPT。PSIM里实现扰动观察法MPPT不难用一个C Block写几行C代码就行或者用PSIM自带的MPPT模块在Elements→Control→MPPT里。我建议你先用固定电压源跑通并网因为MPPT的动态响应会干扰你对并网电流环的判断。如果你要用Solar Module加MPPT注意仿真步长要设小一点因为MPPT的扰动周期一般是毫秒级而开关周期是微秒级步长太大MPPT会振荡。我一般设仿真步长为1微秒仿真时间0.1秒这样能看到MPPT追踪过程和并网电流的稳态波形。3.3 光照突变工况的模拟光伏并网逆变器的一个典型工况是光照突变比如云层遮挡。PSIM里你可以把Irradiance参数设成一个分段线性源比如0到0.05秒是1000W/m²0.05到0.1秒降到500W/m²0.1秒后回到1000W/m²。这样你能看到母线电压的波动和并网电流的响应。这里有个经验光照突变时如果MPPT速度太快母线电压会剧烈波动反而影响并网电流质量如果太慢又追不上最大功率点。实际工程里MPPT的扰动周期取10到100毫秒仿真里可以取20毫秒试试。4. 并网电流闭环控制从PWM调制到锁相环4.1 电流环的结构和PSIM实现并网逆变器的核心控制是电流环。结构很简单采样并网电流跟参考电流比较误差经过PI调节器输出调制信号再跟三角载波比较生成PWM。参考电流怎么来由电网电压经过锁相环得到相位再乘以电流幅值指令。电流幅值指令由功率指令除以电网电压有效值得到。PSIM里搭这个环路需要用到Comparator、PI Controller、Sinusoidal源和PWM Generator。具体连线电网电压经过一个Zero Crossing Detector得到相位或者直接用PSIM的PLL模块在Elements→Control→PLL里。PLL输出的是相位角θ用Sin函数生成单位正弦波乘以电流幅值指令得到参考电流。并网电流用Current Sensor采样跟参考电流相减误差进PIPI输出跟三角波比较生成四路PWM驱动全桥的四个管子。PI参数怎么调先用理论计算电流环的带宽一般取开关频率的1/10到1/5比如20kHz开关频率带宽取2kHz。PI的比例系数Kp 2π × 带宽 × L其中L是滤波电感。假设L2.5mH带宽2kHzKp 2π×2000×0.0025 31.4。积分系数Ki Kp × R/LR是电感等效串联电阻一般取0.1ΩKi 31.4×0.1/0.0025 1256。这个计算值是起点实际在PSIM里还要微调因为仿真里没有考虑采样延迟和PWM延迟。4.2 锁相环在PSIM里的坑PSIM的PLL模块有两种一种是基于乘法器的一种是基于同步坐标系的。单相并网用基于乘法器的就行它输出的是电网电压的相位。但这里有个坑PSIM的PLL模块在电网电压过零点附近会有抖动导致并网电流过零点畸变。解决办法是在PLL后面加一个低通滤波器截止频率取电网频率的2到3倍比如100Hz。或者你自己用C Block写一个简单的过零检测加锁相精度更高。我试过直接用Zero Crossing Detector加一个Counter来生成相位效果也不错。具体做法电网电压过零时复位计数器计数器以开关频率计数计数值除以一个周期的计数值再乘以2π就是相位角。这个方法简单粗暴但电网电压有谐波时过零点会跳所以最好先对电网电压做低通滤波。4.3 并网电流的THD怎么看PSIM里看THD用FFT模块在Elements→Control→FFT里。把并网电流接到FFT的输入设置基波频率50Hz分析周期数取5到10个就能看到各次谐波含量和总THD。并网标准一般要求THD小于5%单次谐波小于3%。如果THD超标先看是不是死区导致的低次谐波再看是不是电流环带宽不够导致的高次谐波。死区导致的谐波主要在3次、5次、7次电流环带宽不够导致的谐波在开关频率附近。提示PSIM的FFT模块需要仿真时间足够长才能分析至少跑10个电网周期也就是0.2秒。仿真步长取1微秒的话0.2秒有20万个点PSIM跑起来大概几秒钟可以接受。5. 仿真参数设置与常见报错处理5.1 仿真步长和求解器的选择PSIM的仿真步长设置很关键。步长太大开关动作捕捉不到波形失真步长太小仿真时间太长。经验值是开关周期的1/100到1/50。比如20kHz开关频率周期50微秒步长取0.5到1微秒。我一般取1微秒兼顾精度和速度。求解器选Fixed Step不要选Variable Step因为电力电子电路是刚性系统变步长求解器容易卡死。仿真时间怎么定看你要观察什么。如果只看稳态并网电流跑0.1秒够了前0.05秒是启动过程后0.05秒是稳态。如果要看MPPT动态跑0.5秒。如果要看光照突变跑1秒。PSIM的仿真时间在Simulation→Simulation Control里设Total Time填你要的时间Time Step填步长。5.2 常见报错和解决办法PSIM仿真报错不多但有几个常见的报错信息原因解决办法Singular matrix电路中有电压源短路或电容直连电压源检查全桥上下管是否直通检查电容是否直接并在电压源两端Convergence error步长太大或电路有强非线性减小步长或在开关管两端并一个小电容Node not found导线没连上或元件悬空检查所有元件的引脚是否都有连接Parameter out of range元件参数填了负数或零检查电感、电容、电阻值我遇到最多的是Singular matrix基本都是死区没设或者驱动信号重叠导致全桥直通。解决办法很简单在PWM发生器里设死区或者在IGBT驱动信号之间加一个Delay模块。5.3 仿真速度优化PSIM仿真速度取决于步长、仿真时间和电路复杂度。如果你觉得跑得慢可以试试这几招第一把不用的示波器和FFT模块删掉它们会拖慢仿真第二把开关频率降低比如从20kHz降到10kHz步长可以放到2微秒第三用PSIM的Simulate→Speed→Fast模式但精度会降一点。我一般用默认模式因为并网逆变器的电路不算复杂跑0.2秒也就几秒钟。6. 从仿真到实际那些仿真里看不出来的坑仿真跑通了不代表实际电路就能工作这是我做了几年电力电子最深的体会。仿真里电网是理想电压源内阻为零实际电网有阻抗而且电压有谐波。仿真里开关管是理想开关没有开关损耗实际IGBT有开通关断时间还有反向恢复。仿真里电感是线性的实际电感有饱和电流超过就感值骤降。这些差异在仿真里看不出来但实际调试时会让你抓狂。第一个坑是锁相环的实际精度。仿真里PLL锁相误差几乎为零实际电网电压有谐波和频率波动PLL输出会有相位抖动导致并网电流功率因数下降。解决办法是在PLL前面加一个带通滤波器中心频率50Hz带宽10Hz把谐波滤掉。第二个坑是死区补偿。仿真里死区导致的电流畸变可以通过加大电流环带宽来压制实际电路里死区导致的低次谐波很难压因为死区时间是固定的而电流大小是变化的。实际工程里会加死区补偿根据电流方向调整PWM占空比。仿真里可以先不加但心里要有数。第三个坑是直流母线电压的波动。仿真里直流源是恒压的实际光伏板输出功率变化时母线电压会波动尤其是光照突变时。如果母线电压波动太大并网电流会跟着波动THD超标。实际电路里母线电容要选够大仿真里可以加大电容值来模拟。注意仿真里跑通的PI参数实际电路里可能要重新调因为实际系统有采样延迟、计算延迟和PWM延迟这些在仿真里要么没有要么被简化了。我一般会在仿真里把PI参数调得保守一点实际调试时再往上加。7. 完整电路图与参数清单把上面的东西拼起来一个完整的单相光伏并网逆变器PSIM仿真模型包含以下部分光伏阵列Solar ModuleVoc37.6VIsc8.8AVmp30.5VImp8.2A13块串联2路并联。直流母线电容1000μF耐压450V。全桥逆变器4个IGBT开关频率20kHz死区1.5μs。滤波电感2.5mH等效串联电阻0.1Ω。电网220V/50Hz交流电压源串联线路电感1mH。电流采样Current Sensor采样并网电流。锁相环PLL模块输出相位θ。电流环PI控制器Kp31.4Ki1256。PWM发生器三角载波20kHz比较器生成四路驱动。FFT分析并网电流接FFT基波50Hz分析10个周期。参数清单里滤波电感和PI参数是最需要调的。电感值影响电流纹波和动态响应PI参数影响稳态误差和带宽。我建议你先用我给的参数跑一遍看到并网电流正弦度不错、THD小于5%再根据自己的需求微调。如果你要改功率等级比如从2kW改成5kW电流幅值指令要按比例放大滤波电感要按比例缩小PI参数也要重新算。最后说一个PSIM的小技巧你可以把调好的模型存成*.psimsch文件下次直接改参数就能用。PSIM还支持子电路封装把全桥和驱动封装成一个模块主电路看起来会干净很多。我一般会把光伏阵列、逆变桥、控制环路分别封装成三个子电路这样调试的时候改哪部分就打开哪部分不会互相干扰。