光伏-储能并网系统仿真(MATLAB/SIMULINK)-part1
如果不想看原理,可以直接点击文件下载连接
本文介绍如何利用MATLAB/SIMULINK完成一个光伏-储能并网系统的搭建。
一篇文章就能读懂光伏并网系统的控制,以及PI控制器的设计方法。
本文将会介绍四个部分:
- 整体系统控制逻辑
- 光伏并网逆变器的控制理论(dq解耦控制)
- 光伏MPPT控制以及恒功率控制
- 电池的功率控制
每个部分都会包括:
- 控制器原理
- PI控制器参数理论计算
1. 整体系统控制逻辑
1.1 系统要求
- 储能DC/DC变换器与光伏DC/DC变换器共直流母线(母线电压750V)运行,母线电压纹波需要小于5%。
- 储能电池系统双向功率控制,达到平滑系统功率输出的目的
1.2 系统控制方法
该系统需要考虑了两种场景分别是:
- 场景一:电池SOC较为健康(40%-90%),此时可以帮助平抑光伏的功率波动
- 场景二:电池SOC过低或者过高,此时电池需要恒功率的充电或者放电,以保护电池
针对这两种场景,系统需要采取不同的控制方式。
对于场景一,按照表1所示的控制方式可以实现系统有功输出和无功输出都保持恒定,从而可以满足系统的要求。
对于场景二,按照表1所示的控制方式,进行光伏弃光(即恒功率控制),同时对电池进行恒功率充电或者放电以保持系统总功率输出不变。
场景 | 光伏模块 | 电池 | 逆变器 |
---|---|---|---|
场景一(电池SOC健康) | MPPT | 输出系统有功输出和光伏功率输出的差值 | 控制母线电压+控制无功输出 |
场景二 | 恒功率控制 | SOC过低(高):恒功率充(放)电 | 控制母线电压+控制无功输出 |
1.3 系统控制原理解释
控制的基本原理是:维持母线电容电压的稳定等价于光伏输出功率加上电池输出功率(充电记为负功率)与逆变器输出功率平衡。
如果记光伏出力为 P 1 P_1 P1,电池出力为 P 2 P_2 P2,逆变器出力为 P 3 P_3 P3。母线电压稳定就意味着电容的能量保持稳定,因此有如下关系:
P 1 + P 2 = P 3 P_1+P_2=P_3 P1+P2=P3
为了更清晰地解释,我们假设系统运行在场景一下。此时,光伏采用MPPT控制,因此光照和温度的变化都会引起光伏出力( P 1 P_1 P1)的变化。假设系统要求出力为 P ∗ P^* P∗,那么应该控制电池输出功率为 P 2 P_2 P2( P 2 = P ∗ − P 1 P_2=P^*-P_1 P2=P∗−P1)。又因为逆变器控制了母线电压稳定,因此整个系统的输出就是 P 3 P_3 P3( P 3 = P 1 + P 2 = P ∗ P_3=P_1+P_2=P^* P3=P1+P2=P∗)。因此也就满足了系统处理要求。
2. 光伏并网逆变器的控制理论(dq解耦控制)
2.1 逆变器有功无功控制
逆变器与电网的连接可以用如下公式近似表示:
U a b c = i a b c R + L d i a b c d t + e a b c ( 1 ) U_{abc}=i_{abc}R+L\frac{di_{abc}}{dt}+e_{abc} (1) Uabc=iabcR+Ldtdiabc+eabc(1)
其中,下表abc表示abc三相所对应量所构成的列向量; U a b c U_{abc} Uabc表示逆变器的电压; i a b c i_{abc} iabc表示三相电流; e a b c e_{abc} eabc表示网侧的三相电压。
对公式(1)进行park变换,可以得到如下的公式:
{ v d = R i d + L d i d d t − ω L i q + e d v q = R i q + L d i q d t + ω L i d + e q ( 2 ) \left\{ \begin{array}{c} v_d=Ri_d+L\frac{di_d}{dt}-\omega Li_q +e_d \\ v_q=Ri_q+L\frac{di_q}{dt}+\omega Li_d +e_q \end{array} \right. (2) {
vd=Rid+Ldtdid−ωLiq+edvq=Riq+Ldtdiq+ωLid+eq(2)
其中, ω \omega ω为park变化中dq坐标系的旋转角速度(一般选取为电网的频率)。(park变换的相关知识见文章park变换是什么?)
经过变换后,输出给电网的有功功率和无功功率可以表示为如下公式:
{ P = 3 2 ( e d i d + e q i q ) Q = 3 2 ( e q i d − e d i q ) ( 3 ) \left\{\begin{array}{c} P = \frac{3}{2}(e_di_d+e_qi_q) \\ Q=\frac{3}{2}(e_qi_d-e_di_q) \end{array}\right. (3) {
P=23(edid+eqiq)