程序名称##
含DG的配电网三相谐波潮流计算(matlab版)
算法说明
基本思想:将叠加原理和频率扫描法应用于三相潮流计算。其核心是:
在多个频率下分别建立电网模型(基波、各次谐波频率)。
非线性负载被建模为谐波电流源,其注入电流取决于其两端的谐波电压(可能具有耦合关系)。
通过迭代求解,使得整个网络在所有频率下的电气关系(基波潮流和谐波注入)同时得到满足。
1.数学模型基础
a.线路与电缆,电容、电抗:
采用分布参数模型或精确的π型等值电路。
电阻考虑集肤效应,电感视为常数,电抗与频率成正比,电容电抗与频率成反比。
Zh=Rh+jhXL−jXCh Z_h = R_h + jhX_L - j\frac{X_C}{h} Zh=Rh+jhXL−jhXC
其中XL=2πfLX_L = 2\pi f LXL=2πfL,XC=12πfCX_C = \frac{1}{2\pi f C}XC=2πfC1,h 为谐波次数,近似公式。
在电力系统中,三相耦合谐波导纳矩阵通常表示为:
Y(h)=[Yaa(h)Yab(h)Yac(h) Yba(h)Ybb(h)Ybc(h) Yca(h)Ycb(h)Ycc(h)] \mathbf{Y}^{(h)} = \begin{bmatrix} Y_{aa}^{(h)} & Y_{ab}^{(h)} & Y_{ac}^{(h)}\newline \ Y_{ba}^{(h)} & Y_{bb}^{(h)} & Y_{bc}^{(h)}\newline \ Y_{ca}^{(h)} & Y_{cb}^{(h)} & Y_{cc}^{(h)} \end{bmatrix} Y(h)= Yaa(h) Yba(h) Yca(h)Yab(h)Ybb(h)Ycb(h)Yac(h)Ybc(h)Ycc(h)
其中:下标 a,b,ca,b,ca,b,c 表示三相系统(A相、B相、C相);上标 (h)(h)(h) 表示谐波次数(h=1h=1h=1 为基波);矩阵元素 Ymn(h)=Gmn(h)+jBmn(h)Y_{mn}^{(h)} = G_{mn}^{(h)} + jB_{mn}^{(h)}Ymn(h)=Gmn(h)+jBmn(h) 为复数导纳;相角关系需满足 Yab(h)=∣Yab(h)∣ejθab(h)Y_{ab}^{(h)} = |Y_{ab}^{(h)}|e^{j\theta_{ab}^{(h)}}Yab(h)=∣Yab(h)∣ejθab(h) 等形式,包含自感和互感。
注:此程序实际计算中忽略了各相之间互阻抗,仅保留三相自阻抗,简化计算,后续会增加考虑互阻抗潮流计算。
b.变压器:
励磁支路可能产生谐波(饱和时),通常作为谐波电流源处理。
连接组别对谐波传播有重要影响,特别是零序谐波。
Zgh=jhXdL′ Zg_h = jhXd'_L Zgh=jhXdL′
c.负载:
线性负载:在谐波频率下,用其R-L-C等值阻抗表示 Zload(h)。本文仅考虑线性负荷。
非线性负载(核心):通常建模为谐波电流源 Ih与一个谐波导纳Yh的并联组合。其中注入的谐波电流与基波电压V1和谐波电压Vh有关:Yh(inj)=Ih(V1)−YhY_{h}^{(inj)} = I_{h}\left(V_{1}\right)-Y_{h}Yh(inj)=Ih(V1)−Yh。
d.电容器:
在电力系统谐波分析中,电容器需要建立谐波等值模型以反映其在谐波频率下的特性。电容器的阻抗随频率变化,其谐波模型需考虑基波和谐波频率下的等效参数。
电容器的阻抗公式为:[ZC(f)=1j2πfC][ Z_C(f) = \frac{1}{j2\pi f C} ][ZC(f)=j2πfC1]
其中 ( f ) 为频率,( C ) 为电容值。在谐波频率f。( h ) 为谐波次数,( f_1 ) 为基波频率)下,阻抗变为: [ZC(h)=1j2πhf1C][ Z_C(h) = \frac{1}{j2\pi h f_1 C} ][ZC(h)=j2πhf1C1]
第 h 次谐波下每相导纳:
Y(C,h)=jhwC=jhBC\]\[ \\mathbf{Y}_{(C,h)} = jhwC=jhB_C\]\[Y(C,h)=jhwC=jhBC
2 网络方程------谐波导纳矩阵
对于第 h 次谐波,整个三相网络的节点电压方程可以写为:
I(h)=Y(h)V(h)\]\[ \\mathbf{I}\^{(h)} = \\mathbf{Y}\^{(h)} \\mathbf{V}\^{(h)} \]\[I(h)=Y(h)V(h)
I(h)\]\[ \\mathbf{I}\^{(h)}\]\[I(h)\] 是n×1 的节点谐波注入电流相量列向量。 \[V(h)\]\[ \\mathbf{V}\^{(h)}\]\[V(h)\]是n×1 的节点谐波电压相量列向量。 \[Y(h)\]\[ \\mathbf{Y}\^{(h)}\]\[Y(h)\]是n×n 的谐波节点导纳矩阵,它由所有元件在该频率下的三相模型组装而成,通常是高度稀疏的复数矩阵。 **3.计算谐波参数** 总谐波电压畸变率: THDV=∑h=2∞Vh2V1×100 THD_V = \\frac{\\sqrt{\\sum_{h=2}\^{\\infty} V_h\^2}}{V_1} \\times 100% THDV=V1∑h=2∞Vh2 ×100 总谐波电流畸变率: THDI=∑h=2∞Ih2I1×100 THD_I = \\frac{\\sqrt{\\sum_{h=2}\^{\\infty} I_h\^2}}{I_1} \\times 100% THDI=I1∑h=2∞Ih2 ×100 一般来讲系统中主变对于采用三角形接线的部分(或通过Y/Δ变压器与系统连接的部分),主要需要重点关注和分析正序与负序谐波,即特征次数为 h=6k±1 的谐波(对于6脉波整流器,主要是5、7、11、13、17、19...次)。 **4.算法流程** 步骤1:求解基波潮流:首先进行三相不平衡潮流计算(通常采用牛顿-拉夫逊法)。这提供了系统的基波电压 V1(幅值和相角),它是非线性负载产生谐波电流的"驱动源"。 步骤2/3:谐波迭代循环: 非线性负载模型计算:根据从基波潮流得到的 V1,基波电流I1和上一次迭代得到的谐波电压 \[Vh(k−1)\]\[ \\mathbf{V}_{h}\^{(k-1)}\]\[Vh(k−1)\],根据非线性负载的数学模型,计算出它注入系统的谐波电流源矢量\[Ih(inj)\]\[ \\mathbf{I}_{h}\^{(inj)}\]\[Ih(inj)\] 。理想情况(无重叠角,无限大电感)下第 h 次谐波电流幅值:Ih=I1hI_h = \\frac{I_1}{h}Ih=hI1。相角公式(考虑触发延迟角 α):θh=θ1−hα±π2θ_h =θ_1-hα± \\frac{\\pi}{2}θh=θ1−hα±2π(符号取决于谐波次数)。 线性网络求解:对于每个谐波频率 h,将Ih(inj)\\mathbf{I}_{h}\^{(inj)}Ih(inj) 作为注入电流,代入该频率的谐波网络方程 \[Y(h)V(h)=Ih(inj)\]\[ \\mathbf{Y}\^{(h)} \\mathbf{V}\^{(h)}= \\mathbf{I}_{h}\^{(inj)}\]\[Y(h)V(h)=Ih(inj)\]中,直接求解(如极坐标牛顿拉夫逊潮流),得到新的谐波电压 Vh(k)\\mathbf{V}_{h}\^{(k)}Vh(k) 。 步骤4:收敛判断比较所有节点、所有次数的谐波电压在前后两次迭代中的变化量。若小于预设容差,则收敛;否则,用新求得的 Vh(k)\\mathbf{V}_{h}\^{(k)}Vh(k) 更新线性负载模型,再次计算 \[Ih(inj)\]\[ \\mathbf{I}_{h}\^{(inj)}\]\[Ih(inj)\] ,重复此过程。 步骤5:结果输出,各节点谐波电压畸变率和各次谐波电压幅值,电流幅值,支路损耗。 ## 程序功能(对象) 1. 适用于任意大小的纯交流电网,支持节点和支路的增删; 2. 适用于接入多个风电、光伏等分布式电源; 3. 适用于接入任意个数谐波以及任意次数谐波(以5/7/11/13/17次谐波为例) 4. 适用场景:电网三相不对称或单相DG并网效果凸显 5. 子函数包含:节点导纳矩阵计算,雅克比矩阵计算(n-1+m维); 6. 程序输出:各个节点三相基波和各次谐波电压幅值相角、各支路三相首末端潮流及损耗、各节点各相谐波电压畸变率; ## 程序函数说明 1. 主程序:Three_NL_PowerFlow 2. 输入算例子程序:截图包含的所有case文件 3. 节点导纳子程序:createYbus文件 4. 雅克比矩阵子程序:Jacobi文件 5. 诺顿模型谐波潮流程序:MY_harmonic_flow文件 6. 系统参数文件:case33bw2文件  程序计算步骤及流程图 7. 参数初始化,读取网络参数,在此标幺化 ac_3phase_data = case33bw2;%三相数据 ac_3phase_baseMVA = ac_3phase_data.baseMVA; ac_3phase_bus = ac_3phase_data.bus; ac_3phase_branch = ac_3phase_data.branch; ac_3phase_gen = ac_3phase_data.gen; %电网三相数据 ac_3phase_dg = ac_3phase_data.dg; %%电网数据 source1 = ac_3phase_data.source; %谐波电流含有率 2. 构造单相潮流所需数据 ac_bus = [ac_3phase_bus(:, 1:2), ac_3phase_bus(:, 2*phase+1:2*phase+2),ac_3phase_bus(:, 9:11),ac_3phase_bus(:, 2*phase+10:2*phase+11), ac_3phase_bus(:, 18:end)]; ac_branch = [ac_3phase_branch(:, 1:2),ac_3phase_branch(:, [phase+2 phase+8 phase+11]), ac_3phase_branch(:, 20:24), ac_3phase_branch(:, phase+24), ac_3phase_branch(:, 28:29)]; ac_gen = [ac_3phase_gen(:, 1), ac_3phase_gen(:, 2*phase: 2*phase+1),ac_3phase_gen(:, 8:end)]; %发电机三相数据 3. 基于牛拉法的基波潮流计算基波电压电流 dPQ = [dP ; dQ(1:m)]; ang_U = -J^-1*dPQ;%基波电压幅值相角修正(参考牛拉法或PQ分解法) Iii(:, 2) = conj(Sii)./conj(Ui); %注意共轭的取值 Ii = Ybus*Ui; %Ii = Yi1*U1+Yi2*U2+Yi3*U3+...... 4. 理想情况(无重叠角,无限大电感)下第 h 次谐波电流: I_h(source1(:,1)) = -Iii(source1(:,1), 2).*source1(:, i+1); %用节点注入电流约为0.0075时谐波电压畸变率2% 5. 各设备的谐波等值模型(可自行根据需求增加) %发电机谐波模型 XG_h = 1i*h*ac_gen(:, 23)/ZB; %负序电抗0.2;XG=1i*h*0.2*sqrt(real(Sn)^2+imag(Sn)^2); yG = 1./XG_h; Zload([ac_bn;ac_pv] , i) = XG_h; %负荷谐波阻抗模型 Num_L= find( load_power(ac_pq) ~=0); %pq节点中非零负荷的位置 RL = real(load_power(ac_pq(Num_L))).*(Bus_V(ac_pq(Num_L), 2)*UB).^2./(abs(load_power(ac_pq(Num_L)))).^2;%有名值计算 RL = RL/ZB; %33节点系统需要标幺化,下同 XL = imag(load_power(ac_pq(Num_L))).*(Bus_V(ac_pq(Num_L), 2)*UB).^2./(abs(load_power(ac_pq(Num_L)))).^2; XL = XL/ZB; Zload(ac_pq(Num_L) ,i) = RL+1i*h*XL; %Z=U^2*S/|S|^2 6. 形成网络谐波导纳矩阵,求解h次潮流,得到新的谐波电压Vh: Ybus_h = createYbus(ac_baseMVA, bus_h, branch_h); U_h = (Ybus_h^-1)*I_h; 7. 输出支路潮流及损耗,各节点电压向量,各支路电流情况 Sij_branch_h = U_h(from_node).*conj(I_branch_h); %支路ij流过的容量 Sji_branch_h = U_h(to_node).*conj(-I_branch_h); %支路ji流过的容量 loss(: ,i) =abs(real(Sij_branch_h+Sji_branch_h))*ac_baseMVA*10^6; %谐波潮流有功损耗 THDU = sqrt(sum(V_bus_h_total_abs.^2))./Bus_V(:, 2)'; %各个节点的谐波畸变率 8. 计算流程图如下图所示 以电网参数和谐波源特性为输入,通过交替求解基波潮流与谐波网络方程来实现。具体流程是: 首先形成基波导纳矩阵并初始化电压,通过牛顿-拉夫逊法等求解基波潮流,得到系统基波运行状态;随后进入谐波分析阶段,根据已建立的设备谐波等值模型和基波电压,计算各节点的谐波电流注入量,并针对每一次谐波频率形成对应的谐波导纳矩阵,求解谐波网络方程得到各次谐波电压;然后利用新的谐波电压更新非线性负载的谐波注入电流,如此迭代直至谐波电压收敛;最后累加所有频率分量,计算包括电压电流畸变率、谐波损耗在内的各项指标并输出结果。  ## 程序结果分析 1. 谐波接入的拓扑结构图,在12/22/25/29节点接入各次三相谐波源。  2. 系统三相基波电压幅值对比情况,其中C相负荷和阻抗设置比较大,故电压偏低,A相负荷较小,且接入DG。  3. 系统中三相各次谐波电压幅值波动情况。 4. 系统中三相各支路损耗波动情况。  4. 系统三相各节点谐波电压畸变大小,其中往往是谐波源中的某一个节点谐波电压畸变率最大,波形可根据自己需求修改。 ## 程序获取 需要完整版程序,通用性程序请私信"深入"探讨V lemonyoungman 提供程序答疑 想要根据自己需求修改的或者python版的也可以联系