光伏并网系统本质上是个能量翻译官,负责把光伏板的直流电"翻译"成电网能听懂的三相交流电。咱们这个模型采用经典的两级式结构,前级Boost升压,后级三相逆变,中间用LCL滤波器当"消音器"。
光伏阵列输出的直流电首先进入Boost电路,这里MPPT控制器就像个精明的商人,不断试探着寻找最大利润点(最大功率点)。升压后的直流电来到800V母线,这个电压等级可不是随便定的——考虑到三相380V电网的峰值电压约537V(380×√2),留够余量才能应对各种工况。
逆变环节采用全控型IGBT桥,把直流电"切"成PWM波。这里的LCL滤波器就像个声学工程师,专门消除开关频率带来的"电流噪音"。实测显示,合理设计的LCL能将THD压到3%以下,远优于国标5%的要求。
直流母线电压800V的设定蕴含深意:
LCL滤波器参数选择更是门艺术:
math复制L1 = 2mH, L2 = 1mH, C = 30μF
这个组合的转折频率设在1.5kHz,正好在50Hz工频和20kHz开关频率之间。但实际调试时会发现谐振峰问题,这时候并个5Ω阻尼电阻,就像给秋千加了减速器,谐振幅度立刻收敛。
文中的MPPT算法代码看似简单,实则暗藏玄机。那个0.005的步长参数就是"试探步幅",步子太大容易错过峰值,太小则响应迟钝。实际调试时我发现:
那个sign()函数用得相当巧妙,它自动判断扰动方向:
matlab复制DutyCycle = prev_D + sign(Vpv - getPersistentVoltage())*step;
相当于让系统记住上次的电压和功率,像蒙眼登山者通过脚底感觉判断上坡下坡。实测中,这个算法在光照渐变时效率可达99%,但在快速变化时会有约2%的功率损失。
针对扰动法的缺陷,可以加入预测机制:
matlab复制if abs(Pnow - Pprev) > 0.1*Pprev
step = 0.01; % 大幅变化时加速追踪
else
step = 0.002; % 小范围时精细调节
end
这种变步长策略让仿真中的动态效率提升1.5个百分点。更高级的做法是结合开路电压法,先快速定位大致工作点,再用扰动法精细调节。
并网控制的首要任务是"听清"电网节奏。文中提到的锁相环就像音乐家的节拍器,必须严格跟随电网频率。我常用的二阶PLL参数配置:
matlab复制Kp_pll = 100;
Ki_pll = 5000;
这个组合能在0.1秒内锁定相位,相位误差小于0.5度。调试诀窍是:
警告:PLL带宽不能超过电网频率的1/10,否则会放大谐波干扰。曾有同行设到100Hz带宽,结果把5次谐波也锁进去了,导致控制失稳。
文中给出的解耦公式堪称经典:
c复制Vd = (Kp + Ki/s)*(Id_ref - Id) - ω*L*Iq + GridVd;
Vq = (Kp + Ki/s)*(Iq_ref - Iq) + ω*L*Id;
这个ωL项就是解耦的关键,它像太极推手般化解了dq轴间的耦合。实际调试时要注意:
电流环参数整定有套"黄金法则":
matlab复制Kp = L/(2*Ts); % Ts为控制周期
Ki = R/L; % R为线路等效电阻
按这个规则,我们取L=3mH, Ts=100μs, R=0.5Ω时:
matlab复制Kp = 3e-3/(2*100e-6) = 15;
Ki = 0.5/3e-3 ≈ 167;
实测证明这个参数下阶跃响应超调<5%,调节时间<5ms。
LCL设计要满足三个约束条件:
以20kHz开关频率为例:
math复制f_c = 1/(2π√(L_eq*C)) ≈ 1.5kHz
L_eq = (L1*L2)/(L1+L2) = (2*1)/(2+1) ≈ 0.67mH
C = 1/( (2π*1500)^2 * 0.67e-3 ) ≈ 30μF
这个设计满足:
无阻尼时LCL在1.5kHz处的谐振峰可达20dB!文中提到的5Ω并联电阻虽简单有效,但会引入约0.5%的额外损耗。更优的方案是:
实测对比:
| 阻尼方式 | THD | 损耗 | 成本 |
|---|---|---|---|
| 无阻尼 | 8.2% | 0% | 0 |
| 5Ω并联 | 2.7% | 0.5% | 低 |
| 无源改进 | 2.9% | 0.2% | 中 |
| 有源阻尼 | 2.5% | 0% | 高 |
错误的启动顺序可能炸管!正确流程应该是:
我曾见过新手直接全压启动,结果dq轴电流冲击导致IGBT过流报警。后来在控制代码中加入延时判断:
c复制if(abs(GridPhase - PLL_Phase) > 5deg)
disable_PWM();
这个保护措施至少救了三个实验模块。
抓取关键波形有讲究:
特别有用的几个波形组合:
当看到电流电压完美重合的正弦波,THD读数小于3%,那种成就感比打游戏通关还爽!
文中提到的梯形光照测试很实用,但实际工程还需考虑:
我的独门秘方是在电压环加入自适应增益:
matlab复制Kp_v = Kp_norm * (1 + 0.5*abs(dVdc/dt)/100);
当检测到直流电压快速变化时,自动增强调节力度,实测可将恢复时间缩短40%。
电网电压跌落时不能简单脱网!解决方案:
代码实现关键点:
c复制if(GridVoltage < 0.9pu) {
Iq_ref = 1.2*(1 - GridVoltage);
enable_brake_resistor();
}
这个功能让系统能满足最新国标GB/T 37408-2019的要求。