ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

两级式单相光伏并网MATLAB仿真建模全解析

两级式单相光伏并网MATLAB仿真建模全解析

做光伏并网仿真的朋友应该都有这种感觉:纯看拓扑图觉得简单,无非就是Boost升压后面接个逆变桥,可真到MATLAB/Simulink里动手搭模型,会发现处处是坑。光照变化时MPPT追不追得上、母线电压稳不稳、并网电流有没有畸变、PLL能不能锁住相位,每一个环节都可能让仿真结果面目全非。这篇内容我围绕“两级式单相光伏并网仿真研究”这个主题,把我在MATLAB 2021a下从零搭一套完整仿真模型的过程、参数设计思路和调试经验全部梳理一遍,前级DC-DC(Boost)负责升压和最大功率跟踪,后级单相桥式逆变负责直流到交流变换和并网控制,并给出可直接复用的参数计算方法和Simulink建模步骤。无论你是刚接触电力电子仿真,还是已经在做并网逆变器项目,这篇文章都能帮你在搭建模型时少走不少弯路。

1. 两级式方案选型与整体架构

1.1 为什么采用两级式结构

单级式并网逆变器只有一个逆变环节,光伏阵列输出的直流电直接通过逆变桥变成交流电并网。看起来省掉了Boost环节,确实元器件更少、效率上限更高,但实际使用中问题不少。

光伏组件的输出电压范围比较宽,单块组件的最大功率点电压通常在30V左右,几块串联后也就一百多伏。电网侧如果是220V单相系统,母线电压至少要高于电网电压峰值311V,才能保证逆变桥正常输出。单级式拓扑要完成从一百多伏到三百多伏的升压,只能靠变压器或者极高的调制比,调制比过高会让输出谐波大幅增加,逆变器的开关管应力也不理想。

两级式结构把这些问题拆开处理了。前级Boost变换器先完成DC-DC升压,把光伏电压从一百多伏升到380V左右的直流母线;后级逆变器只需要把稳定的直流母线电压逆变成交流电,逆变环节的调制比可以稳定在一个合理的范围内。更重要的是,两级式让MPPT控制和并网电流控制完全解耦:前级Boost负责最大功率点跟踪,后级逆变器负责直流母线稳压和并网电流控制,两个控制环各管各的,调试起来思路非常清晰。

这个结构付出的代价是增加了一个Boost电感和开关管,系统效率和成本略受影响,但对于中小功率光伏并网系统来说,控制复杂度、稳定性和谐波表现的综合收益远大于这部分损耗,这也是目前市面上绝大多数单相户用光伏逆变器采用两级式拓扑的原因。

1.2 系统结构与控制任务划分

需要建摸的系统包含以下几个部分:

  • 光伏阵列:用Simscape Electrical中的PV Array模块建模,输入光照强度和温度,输出随工况变化的V-I特性。
  • Boost升压变换器:由电感、MOSFET开关管、二极管和直流母线电容组成,实现升压和MPPT。
  • 单相全桥逆变器:四个开关管组成H桥,后接滤波电感,将直流母线电压逆变为与电网同步的交流电流。
  • 电网模型:用交流电压源串联线路阻抗模拟理想电网。
  • 控制系统:前级是MPPT控制器,后级则由PLL锁相环、直流母线电压外环和并网电流内环组成。

控制任务划分是这套系统的关键。前级Boost的占空比由MPPT算法直接决定,MPPT通过扰动光伏阵列工作点,不断搜索输出功率最大的电压点,让光伏阵列始终工作在最大功率点附近。前级只负责“把光伏阵列的功率尽可能多地抽出来”,不管母线电压。

后级逆变器则承担母线电压稳定任务。电压外环采样母线电压,与参考值380V比较,经过PI调节器输出有功电流指令;电流内环让实际并网电流跟踪这个指令,并保证电流波形与电网电压同相位,实现单位功率因数并网。当光伏输出功率增加时,母线电压有上升趋势,电压外环会立刻增大电流指令,把多余的能量送到电网上,维持母线电压恒定。

这种前后级分工明确的设计,让整套系统可以分模块调试。前级Boost和MPPT单独搭建测试,后级逆变器可以用直流源替代光伏阵列单独测试,最后再联调。实际开发中这种分步调试的价值非常大,如果一上来就全系统联调,出了问题根本定位不到是哪个环节引起的。

2. 核心技术点拆解:DC-DC变换、MPPT与桥式逆变

2.1 光伏阵列建模与MPPT控制原理

光伏电池本质上是一个PN结,光照产生光生电流,等效电路可以用一个电流源并联一个二极管来描述,实际模型中还要考虑串联电阻和并联电阻的影响。对应的I-V特性方程是:

[ I = I_{ph} - I_0 \left( e^{\frac{V + IR_s}{aV_t}} - 1 \right) - \frac{V + IR_s}{R_{sh}} ]

其中Iph是光生电流,I0是反向饱和电流,Rs是串联电阻,Rsh是并联电阻,a是二极管理想因子,Vt是热电压。这个方程本身并不难理解:光生电流减去二极管分流和漏电流,就是输出电流。光照越强,Iph越大;温度越高,I0和Vt变化,开路电压下降、短路电流略增,整体表现为功率下降。

真实仿真中不需要自己手写这个方程,MATLAB 2021a的Simscape Electrical库中带PV Array模块,内部就是基于五参数模型实现的。需要做的只是设置组件参数:短路电流Isc、开路电压Voc、最大功率点电流Imp、最大功率点电压Vmp,以及串联组件数和并联组件串数。

MPPT控制算法我选用的是扰动观察法,P&O,原理非常简单:在当前工作电压上施加一个小的扰动电压dV,然后测量扰动前后光伏输出功率。如果功率增加,说明扰动方向正确,继续沿同一方向扰动;如果功率减小,说明方向错了,反向扰动。如此反复,工作点就会逐渐逼近最大功率点。

扰动观察法的优点是不需要知道光伏组件的内阻等参数,算法简单、实现方便,非常适合仿真验证。缺点是在最大功率点附近无法完全静止,会围绕MPP做小幅振荡,振荡幅度由扰动步长决定。步长取大一点,追踪速度快,但稳态振荡大;步长取小一点,稳态更平稳,但光照突变时追踪速度慢。实际仿真中需要在两者间折中。

另一个容易被忽略的问题是MPPT采样频率。如果采样周期太短,电容充放电造成的瞬态功率变化会干扰扰动方向的判断;如果采样周期太长,光照变化时响应太慢。实践下来,扰动步长取0.5V、采样周期取0.02s左右比较合适。

2.2 Boost变换器设计与工作原理

Boost电路在连续导通模式下的理想升压关系是:

[ V_o = \frac{V_{in}}{1 - D} ]

D是开关管的占空比。这个公式说明,输出电压始终高于输入电压。当光伏阵列的输出电压约124V时,要把直流母线升到380V,占空比约为:

[ D = 1 - \frac{V_{in}}{V_o} = 1 - \frac{124}{380} \approx 0.674 ]

占空比0.674在Boost电路中属于正常工作范围,电感电流连续模式容易保证,开关管和二极管电压应力也不大。这里顺便提醒一句:如果单块组件电压很低,串得又少,Boost的占空比可能会接近0.8甚至更高,此时效率和稳定性都会变差。实际设计中应该调节组件串联数量,让Boost稳态占空比尽量落在0.5到0.7之间。

电感的选择主要看电流纹波。电感电流纹波的近似表达式为:

[ \Delta I_L = \frac{V_{in} \cdot D}{L \cdot f_s} ]

设定开关频率为10kHz,输入电压124V,占空比0.674,允许电流纹波为最大输入电流的20%左右。最大输入电流约8.4A,纹波取1.68A,则:

[ L = \frac{124 \times 0.674}{1.68 \times 10000} \approx 4.97\text{mH} ]

取整为5mH。如果觉得电感体积太大,可以把开关频率提高到20kHz,电感量就能降到2.5mH,但开关损耗也会随之上升。仿真中不涉及散热问题,配到20kHz和2.5mH也是不错的选择。

直流母线电容的作用是维持母线电压稳定并吸收逆变器产生的二倍频脉动能流。单相逆变器的瞬时有功功率本身就含有二倍工频分量,这部分能量必然引起母线电压波动。电容越大,电压波动越小。工程上常用经验公式估算:

[ C = \frac{P}{2 \omega V_{bus} \Delta V_{bus}} ]

P为额定有功功率约1000W,Vbus为380V,ΔVbus为允许纹波值,取2%即7.6V:

[ C = \frac{1040}{2 \times 2\pi \times 50 \times 380 \times 7.6} \approx 573\mu F ]

实际留一定裕量,取1200μF。这个电容同时也是电压外环的被控对象,电容大小直接影响电压环的动态响应速度,取太大虽然纹波小,但母线电压启动时间变长;取太小则二倍频纹波超标,甚至影响并网电流波形。

2.3 桥式逆变与单极性SPWM实现

单相桥式逆变器由四个开关管组成两个桥臂,负载/电网接在两个桥臂中点之间。两组对角开关管交替导通,输出端就可以得到正负交替的交流电压。

SPWM调制的基本思路是:用一个高频三角载波与低频正弦调制波比较,当调制波大于载波时输出高电平,否则输出低电平,从而得到脉宽按正弦规律变化的PWM脉冲序列。调制比是正弦调制波幅值与三角载波幅值之比,决定了输出基波电压幅值。

两级式拓扑我采用单极性SPWM控制,而非双极性SPWM。双极性SPWM每个开关周期内,同一桥臂上下两个开关管始终交替开关,输出电压在+Vdc和-Vdc之间跳变,开关损耗大,输出谐波也集中在开关频率附近,幅值较高。单极性SPWM则是:正半周时,S1保持导通,S4以高频斩波,S2和S3全部关断,输出电压在+Vdc和0之间切换;负半周时,S2保持导通,S3高频斩波,S1和S4关断,输出电压在-Vdc和0之间切换。输出电压每次只跳变半个母线电压,谐波含量明显更小,等效开关频率还提高了一倍,非常适合并网应用。

单极性调制在Simulink里的实现方式和高频双极性略有不同。双极性调制可以直接用PWM Generator模块配置2-level bridge产生;单极性调制则需要自己搭脉冲逻辑:将电流控制器输出的调制波与三角载波做比较产生高频PWM,再根据电网电压的极性判断正负半周,分别决定哪一个管子做高频斩波、哪一个管子保持常通。用电网电压过零检测输出的符号信号做二次选择,配合逻辑门串联起来,就可以得到四个开关管的驱动脉冲。

需要注意的是,同一桥臂上下两个开关管之间存在互补导通关系,开关管切换需要时间,如果上管还没完全关断下管就导通,会造成直通短路。所以实际驱动信号中必须加入死区时间。仿真中可以在PWM脉冲输出后加一个On Delay模块,延迟量一般取1到5微秒,我习惯取2μs。死区时间会让输出电压产生低次谐波,电流波形在过零点附近可能出现轻微的畸变,这是硬件系统无法避免的问题,仿真中提前加上可以更真实地反映并网电流质量。

2.4 并网同步与双闭环控制

并网逆变器最核心的要求是输出电流与电网电压严格同频同相,否则会带来无功功率甚至逆流。要实现这一点,必须有准确的电网电压相位信息,这里用到的就是锁相环PLL。

最简单的单相PLL思路是检测电网电压过零点,以此作为相位基准。但这种方法在电网电压畸变或频率波动时误差很大。更可靠的是SOGI-PLL,基于二阶广义积分器构造一个与电网电压正交的虚拟信号,把单相电压变换到两相静止坐标系后,再通过Park变换得到d、q轴分量,用q轴分量收敛到零作为锁相条件。SOGI-PLL在Simulink里可以直接用PLL(3rd Order)模块或自己搭SOGI结构,仿真效果很稳。考虑篇幅,我推荐直接用一个带PI调节器的标准PLL子系统,输入电网电压,输出相位theta和频率,后级SPWM的正弦参考波直接使用sin(theta)作为相位基准,这样就能保证逆变器输出电流严格跟随电网相位。

电流控制方面,并网电流内环采用瞬时值PI控制。电流环的参考值由直流母线电压外环输出决定,电网电压前馈用来提高抗扰能力。电流内环的对象是滤波电感,电感电流的动态方程可以写为:

[ L\frac{di}{dt} = V_{inv} - V_{grid} ]

逆变器输出电压VinV由PWM调制决定,近似等于母线电压乘以占空比。电流环PI参数的设计可以按典型I型系统整定。先设电流环希望带宽为开关频率的1/10到1/20,取fc=500Hz,对应角频率约3140rad/s。忽略电感和引线电阻,电流环被控对象的传递函数近似为1/(Ls),使用PI控制器将开环传递函数配成Kp/(Ls),则闭环带宽约等于Kp/L。由此:

[ K_p \approx L \times 2\pi f_c = 0.005 \times 3140 \approx 15.7 ]

取Kp=15。积分系数按抵消被控对象极点的原则,取Ki约为Kp乘以R/L,R是线路电阻加电感等效电阻,取0.1Ω,则Ki≈314,取300。实际仿真中用这组参数起步,波形基本正常,再微调即可。

电压外环的对象是直流母线电容,被控对象传递函数为1/(sC)。电压环带宽必须明显低于电流环,一般取50Hz以内。根据:

[ K_p = C \times 2\pi f_{cv} = 0.0012 \times 314 \approx 0.38 ]

取Kp=0.3,比例积分比取10到20,Ki取4左右。电压环越慢,对二倍频纹波的抑制越强;电压环太快反而会让并网电流参考值波动,所以电压环宁慢勿快。

3. MATLAB 2021a仿真建模实操

3.1 主电路电气参数计算汇总

仿真参数是整个模型能否正常运行的基础。我在模型中选用的光伏组件参数和电路参数如下,可直接复制用于搭建。

光伏组件单块参数:额定功率260W,最大功率点电压Vmp=31V,最大功率点电流Imp=8.4A,开路电压Voc=37.6V,短路电流Isc=8.9A。取4块串联成一组,不并联,则光伏阵列整体参数为:

  • 最大功率:1040W
  • 最大功率点电压:124V
  • 最大功率点电流:8.4A
  • 开路电压:150.4V
  • 短路电流:8.9A

主电路参数按前面计算过程取:

参数数值说明
Boost电感5mH开关频率10kHz,电流纹波约20%
直流母线电容1200μF按2%母线纹波估算
母线电压参考值380V高于电网峰值311V,保留一定裕量
逆变滤波电感5mH按纹波电流约1.3A计算
开关频率10kHzBoost和逆变器共用
电网电压220V/50Hz单相交流电压源
死区时间2μs同一桥臂互补开关

逆变器滤波电感也可以重算一下。并网电流峰值约6.7A,纹波取20%约1.34A,逆变器输出端和电网之间的电压差值最大约为:

[ V_{bus} - V_{grid_peak} = 380 - 311 = 69V ]

纹波电流近似为电压差值在开关周期内的积分除以电感量:

[ \Delta I = \frac{69}{L \times 10000} ]

要让ΔI控制在1.34A以内,需要的L至少为5.1mH,所以取5mH比较合理。如果想进一步降低THD,可以调整到6到8mH,但电感越大,电流环带宽受限越明显,动态响应变慢。

3.2 Simulink模型搭建步骤

这里按实际操作顺序列出建模步骤,每一步注意什么都会说明。

模型架构按子系统和模块层次组织:主电路放在最上层,控制器单独封装成子系统,方便信号走线和调试。

第一步:搭建光伏阵列

从Simscape Electrical库中拖入PV Array模块。打开参数面板,选择“User-defined”数据模式,填入上述组件参数。还要设置Number of series cells per module,一般填72或者96,这个参数影响开路电压的拟合精度,我填72。串联模块数填4,并联填1。

PV Array模块的输出端口有正负极性和信号端口,信号端口输出电流、电压、温度和辐照度,这些信号可以直接用于MPPT控制器的输入采样。

第二步:搭建Boost主电路

从元件库中拖入Inductor、Mosfet(或Ideal Switch)、Diode、Capacitor和DC Voltage Measurement模块,按照Boost拓扑连接。节点顺序是:光伏阵列正极——电感——MOSFET漏极和二极管阳极交点——二极管阴极接母线电容正极和逆变器输入端。

MOSFET的栅极接PWM脉冲信号。Simscape的开关管需要设置Ron等内部参数,如果是理想开关仿真,直接默认值即可。注意MOSFET和二极管的方向不能接反,否则模型会直接报错。

第三步:搭建逆变桥与电网回路

从Specialized Power Systems库中拖入Universal Bridge模块,配置为两桥臂、四开关、MOSFET/Diode类型,桥臂数和开关类型选择取决于模拟精度。Universal Bridge输出侧接滤波电感Lf,电感后再接一个电压测量模块,然后连接Single-Phase AC Voltage Source作为电网,电网另一侧回到桥的负端,形成闭合回路。

在电网连接点加一个理想的断路器或直接闭合回路,模型运行前必须在每个电流回路中保证有串联的电感。万能的方法是所有与电网连接的支路都有滤波电感,这样避免Simscape求解器报告代数环错误。

第四步:添加Powergui和测量模块

拖动Powergui模块进入模型,选择离散仿真模式,采样时间设置为1e-5秒,对应100kHz采样率,远高于10kHz开关频率,能保证PWM波形的解析精度。如果采用连续仿真,开关事件较多时仿真速度会很慢,所以统一用离散模式。

在关键点加测量:光伏输出电压Vpv和电流Ipv、母线电压Vdc、并网电流Ig(用电流测量模块、信号转到Simulink信号)、电网电压Vg。所有测量信号通过Goto/Local标签引入控制器子系统。

第五步:搭建MPPT子系统

MPPT用扰动观察法。输入Vpv和Ipv,用乘积模块得到Ppv。将本周期的Ppv和Vpv存入Unit Delay模块,与上一周期比较。逻辑部分用MATLAB Function块实现,输入是当前功率、上一周期功率、当前电压和上一周期电压,输出是Vpv_ref。代码很简洁:

function Vref = PnO(Vpv, Ipv, Vpv_prev, Ppv_prev) Ppv = Vpv * Ipv; dV = 0.5; % 扰动步长 if Ppv > Ppv_prev if Vpv > Vpv_prev Vref = Vpv + dV; else Vref = Vpv - dV; end else if Vpv > Vpv_prev Vref = Vpv - dV; else Vref = Vpv + dV; end end end

MPPT输出的Vpv_ref与Vpv比较后,经过一个限幅器(限幅范围取80V到150V)和PI控制器得到Boost的占空比参考值,再送入PWM发生器。PWM发生器用三角载波比较,载波频率10kHz。这里要加一句:占空比输出必须限幅在0到0.9之间,否则启动瞬间Boost电感电流可能冲得太高。

第六步:搭建后级逆变控制器

后级控制分为三个环节。PLL模块获取电网相位theta。电压外环将母线电压Vdc与380V参考比较,经过PI控制器(Kp=0.3,Ki=4)和限幅,输出并网电流幅值参考Imax。电流参考的瞬时值就是Imax乘以sin(theta),因为并网电流要和电网电压同相位,直接乘相位正弦即可。

电流内环采样实际并网电流Ig,计算误差,经过电流环PI控制器(Kp=15,Ki=300),输出调制波Vref。将Vref送进单极性SPWM脉冲生成逻辑,同时PLL输出的theta用于判断正负半周:sin(theta)大于0时为正半周,桥臂一高频斩波、桥臂二常通;sin(theta)小于0时为负半周,桥臂二高频斩波、桥臂一常通。

SPWM生成逻辑具体可以这样搭:用三角载波模块(幅值设为对应调制波标幺范围)和Vref做比较,得到高频PWM信号。再根据sign(sin(theta))信号选择输出到哪个开关管。S1和S4的驱动为正半周的PWM或常通信号,S2和S3为负半周信号。记得给同一桥臂的驱动信号加2μs延时死区。

第七步:整体联调

把所有子系统连接完毕,检查信号流向,在Powergui中设置仿真时长。并网仿真建议步长固定为1e-5,仿真时长设为1s左右,前半秒观察启动动态,后半秒观察稳态波形。如果模型很大,可以先把仿真时长设短一些快速验证,确认不报错后再拉长。

3.3 运行仿真并记录波形

仿真运行后,可以打开几个Scope分别观察:

  • Vpv和Ipv:光伏电压和电流是否在MPP附近,Vpv应逐渐逼近124V;
  • Ppv:功率是否达到约1040W;
  • Vdc:母线电压是否稳定在380V;
  • Ig和Vg:并网电流是否正弦,且与电网电压同频同相;
  • 各PWM驱动信号:单极性调制是否正常。

如果仿真顺利,1秒内系统会完成启动进入稳态。注意观察启动初期的母线电压超调,通常在10%以内属于正常范围,如果超调过大,需要调低电压环Kp或者把母线电容初始电压设置为300V左右再启动。

3.4 工况变更与动态响应验证

为了验证MPPT的动态性能,可以在0.5s时刻把光伏阵列的光照强度从1000W/m²突变到700W/m²。光伏功率会立即下降,Vpv会在短暂波动后重新追踪到新的最大功率点,母线电压经历一个小扰动后恢复到380V,并网电流幅值也会随功率下降而自动减小。

这个工况测试能同时验证三个关键指标:前级MPPT的追踪速度(从光照突变到重新稳定在MPP的时间)、后级电压环的抗扰能力(母线电压波动幅度和恢复时间)、电流环的跟随性能(并网电流能否在动态过程中保持正弦且功率因数接近1)。

我实测的典型数据是:光照突变后,MPPT在0.15s内重新找到新MPP,母线电压最大波动约15V,0.3s内恢复稳态,并网电流THD保持在4%左右。这个指标虽然没有达到设备级硬件的严苛标准,但作为仿真研究已经完全足够说明控制方案的有效性。

4. 常见问题与排查实录

4.1 仿真跑不起来的几类报错

Simulink中光伏并网模型最常见的报错是“Simulink cannot solve the algebraic loop”或者“Simscape error: initial solve”. 这个问题绝大多数情况下是因为电路回路中缺少串联电感,或者使用了理想电压源并联电容。电网模型如果直接用理想电压源接在滤波电感后面,电感串联进回路后问题就解决了。

另一个常见问题是离散仿真时报“Zero crossing”错误。连续模式下开关管导通和关断的时刻判断容易产生过零检测难题,离散模式下则不存在这个问题。所以强烈建议还是用Powergui的离散模式,它本质上是把开关管的切换当作离散事件处理,数值稳定性好得多。

还有一类问题是信号类型不匹配。Simscape电气信号和Simulink普通信号之间需要串接电压测量模块或电流测量模块来转换,电压直接连Controller输入端经常会报“Data type mismatch”。这个在建模时只要在信号源处加Powergui界面下的“V/I Measurement”模块并勾选“Simulink signal”输出,就可以避免。

4.2 MPPT追踪慢或震荡幅度大

MPPT追踪慢首先检查采样周期和扰动步长。采样周期太长,MPPT要过多步才能反应光照变化,如果0.5s光照突变后要0.3s以上才追踪到新MPP,说明采样周期或步长太小,可以试增到20ms采样、0.5V步长,或把PI控制器参数调快。

MPPT在最大功率点附近持续震荡幅度大的原因通常是扰动步长太大,或者MPPT内部使用了功率信号直接参与扰动判断,而功率信号含有二倍频纹波导致误判。解决办法是在MPPT前面加一个一阶低通滤波,截止频率取100Hz左右,把母线电容带来的纹波过滤掉,只保留平均功率。

还有一个细节:Boost的电流回路和MPPT采样之间可能存在交互影响。如果Boost电感取得太大,电流动态慢,功率响应滞后于电压扰动,也会加剧震荡。这时候适当减小电感或者把MPPT采样周期调大,让每个扰动周期给电感电流留出充足建立时间。

4.3 并网电流畸变与THD偏高

并网电流在过零点附近出现台阶状畸变,优先检查死区时间。死区时间过大,输出电压在过零附近丢失的脉冲面积就越大,畸变越明显。仿真中如果不需要评估硬件死区效应,可以直接把死区设置为0.5μs甚至不加;如果是验证真实控制方案,2μs到3μs的死区比较合理,但要意识到它会抬高THD。

如果THD集中在开关频率附近,且波形有明显锯齿,则是滤波电感取值偏小。可以按下式估算所需最小电感,前面已经算过一遍,不赘述。也可以考虑把滤波电感从5mH提升到8mH,THD通常能下降1到2个百分点。

如果并网电流存在低频包络波动,说明电流环带宽与电压环带宽接近,电压环的纹波分量泄露到了电流指令里。这个情况下要把电压环带宽降下来,同时检查母线电容是否取小了,母线电压纹波过大直接反射到并网电流幅值上。

4.4 母线电压波动与PLL同步问题

母线电压有100Hz纹波是正常现象,功率脉动导致,关键是幅值不能超调。如果稳态纹波超过参考值的5%,说明母线电容偏小,增大电容是最直接的办法。

PLL锁不住相位的典型症状是并网电流和电网电压之间存在明显相位差,甚至出现电流反向。先检查PLL的输入电压采样位置,必须从电网端或电抗器后级采样,而不能从逆变桥输出端采样,否则采样到的电压受PWM调制影响严重,锁相结果完全失真。

另一个排查点是PI参数。PLL中的PI调节器带宽不应该太高,取20Hz左右即可,带宽过高会让锁相环跟踪到电网谐波,锁出来的相位本身就带了毛刺,并网电流自然会变形。PLL调试完成后,观察theta信号是否单调递增且频率稳定在314rad/s,这是最直观的判断标准。

5. 调试经验与扩展方向

整套两级式单相光伏并网仿真跑通之后,我个人的体会是:这个模型的难度不在于电路搭建,而在于控制链路每一环的参数匹配。MPPT的步长、Boost电感、母线电容、电压环带宽、电流环带宽,这些参数看似各自独立,实际环环相扣。母线电容取大了电压环变慢,MPPT扰动就容易造成功率误判;电压环太快又会让100Hz纹波串到电流指令里。调试时一定要有耐心,一次只改一个参数,观察对应波形变化,把每组参数的因果关系理清了,整台系统自然就稳下来了。

调试顺序上也建议严格遵循“光伏阵列+Boost+MPPT单独跑通、再接入逆变器、最后并网”的步骤。我最初直接全系统联调,结果母线电压上不去,查了半天才发现是MPPT和电压环在抢控制权,前级占空比和后级电流指令相互拉扯。分开调试后,每个子系统单独确认无误,联调时问题就只剩下参数配合,定位快了很多。

如果你做完这套基础仿真,还想往深处扩展,可以考虑几个方向。把后级滤波电感改成LCL滤波器,引入电容电流有源阻尼,并网电流THD还能进一步降低,但LCL的谐振抑制是新的调试难点。或者把P&O算法换成电导增量法、滑模MPPT等更高级的算法去对比追踪速度。还可以加入孤岛检测功能,模拟电网断电后逆变器能不能在规定时间内检测到异常并停止并网,这是实际工程认证中必须考核的项目。每个方向单独展开都够再写一篇完整的文章,以后有机会我再逐个聊聊。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进