ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

分布式电源接入下配电网三相不平衡潮流计算与工程实现

分布式电源接入下配电网三相不平衡潮流计算与工程实现 1. 从单相模型到三相模型分布式电源接入后到底哪里出了问题1.1 单相潮流为什么在配电网里够用在纯交流输电网里设计阶段几乎默认三相线路是换位的长距离线路经过整循环换位三相阻抗基本一致大型负荷也是三相平衡的所以把一个三相系统当作一个等值单相系统来算既省事又够准。单相潮流本质上是在求某一相的电压和相角然后默认另外两相只是相位差120°、幅值相同。只要系统真平衡这个假设无可挑剔。但配电网不一样。10kV及以下线路很多是架空裸导线、无换位或者换位极不充分低压台区更是大量单相线路、单相负荷比如空调、电磁炉、充电桩的交流慢充再加上现在分布式电源大量接入我见过不少台区甚至出现单相光伏全部挤在A相的情况。此时还拿单相模型去算相当于把一个大平板的平均分贝当成了所有人的听力水平平均数是好看的但某一相可能早就越限了。1.2 三相不平衡被忽略后的连锁反应三相不平衡的直接后果是各相电压降不同。压降本质上是支路电流乘以线路阻抗支路电流又由本相负荷和DG出力决定。A相重载、C相轻载的时候A相末端电压可能已经低于0.9 p.u.而单相潮流把总负荷均分到三相算出来可能还是0.96 p.u.看着完全合格。这个偏差在工程上很要命——规划阶段的电压合格结论漏掉现场的真实低电压用户投诉、设备保护动作、逆变器频频脱网全都回来了。相角也会失真。三相不平衡时每相电流与电压的夹角不同叠加互阻抗后各相电压相角不再是完美的120°间隔相间线电压幅值比如UAB|Va-Vb|也不再等于相电压的根号3倍。对于需要做继电保护整定、电能质量评估的人这个信息单相潮流完全给不了。还有一个常被忽略的问题就是配电变压器中性点的电流。三相不平衡会产生零序电流在中性线中流回电源若不接地或接地阻抗太大会造成中性点电位漂移。单相潮流模型里根本没有中性线这个维度自然代表不了这种影响。1.3 分布式电源怎样加剧三相不平衡很多人以为光伏是绿色又干净的接入电网应该有助于平衡但现实恰恰相反。集中式大型光伏电站基本都是三相逆变器算平衡可屋顶分布式光伏大量采用单相逆变器并网电源常常集中在光照好的某几相。只要一个台区接入的几户单相光伏都在同一相就会造成该相负载电流减小甚至倒送电压被抬高而负荷重的那相又没有光伏支撑电压继续往下掉。结果是同时存在某相过电压和另一相低电压单相潮流模型把DG功率平均分摊之后这两种越限风险全被抹平了。这也是为什么我坚定认为只要配电网里存在单相接入的DG、单相大负荷或不对称线路就必须上三相潮流计算而不是继续沿用单相模型。2. 前推回代法的三相迭代框架从树枝末端到树根的电流汇集2.1 单相前推回代的三步走前推回代法专门吃辐射状这口饭。配电网是放射式树状结构潮流从根节点流向各末端这给了它一个高效迭代办法。单相版逻辑很清晰第一步初始化把所有节点电压设成根节点电压比如10kV母线标幺值1.0∠0°。第二步前推从树枝末端向前走到根节点的方向根据节点负荷功率和各支路下游的电流需求计算每一条支路的电流或功率。末端没有下游它的注入电流就是负荷电流上游支路的电流等于下游所有节点注入电流的代数和。第三步回代从根节点向后走到末端用支路电流和线路阻抗计算电压降落更新下游节点电压[ V_{child} V_{parent} - Z \cdot I_{branch} ]然后拿新的电压再次前推、回代直到前后两次电压差小于收敛门槛。辐射状网络下这个方法收敛快通常十几次迭代就稳定了。2.2 三相网络里的相电压和支路电流从单相版扩到三相版最大的区别是每个数都从标量变成了向量。节点电压变成Va、Vb、Vc三个复数组成的相电压向量支路电流变成三根相线的电流向量线路阻抗从单个复数Z变成3×3的阻抗矩阵。这个矩阵的对角线是自阻抗非对角线是相间互阻抗。架空线三相之间的距离不同互阻抗也各不相同所以线路压降不再是简单的I×Z而是[ \begin{aligned} \Delta V_a Z_{aa} I_a Z_{ab} I_b Z_{ac} I_c, \ \Delta V_b Z_{ba} I_a Z_{bb} I_b Z_{bc} I_c, \ \Delta V_c Z_{ca} I_a Z_{cb} I_b Z_{cc} I_c. \end{aligned} ]这个结果可以写成紧凑形式[ \Delta V_{abc} Z_{abc} \cdot I_{abc} ]这样一来A相电流不仅产生A相自身的压降还会通过互阻抗感应出B相、C相的电压变化。很多复杂的三相不平衡现象比如某相接地短路、感应过电压都藏在互阻抗里这正是单相潮流看不到的部分。迭代流程和单相版基本一致只是前推时需要把每相电流分别累加末端节点根据三相负荷Sa、Sb、Sc和当前三相电压分别求注入电流Ia conj(Sa / Va)以此类推然后再累加下游支路电流得到各支路三相电流。回代时用上一步算出的支路三相电流和3×3阻抗矩阵依次更新各节点三相电压。# 伪代码以树形拓扑为例 def backward_forward(net, voltage): # 1) 前推从叶子节点往上 for node in reversed(bfs_order): I_inj compute_injection_current(node.load, node.dg, voltage[node]) branch_current[node] I_inj sum(branch_current[child] for child in node.children) # 2) 回代从根往下 for node in bfs_order[1:]: voltage[node.abc] voltage[parent.abc] - Z_abc[node.branch] * branch_current[node] return voltage2.3 分布式电源作为节点电流源的接入方法分布式电源在潮流计算里不能只看成一个负负荷。不同控制方式对应不同模型PQ型有功和无功都恒定大多数光伏逆变器在单位功率因数下Q0处理最简单节点注入电流反向即可在节点注入电流公式里S_dg取负号。PI型有功恒定、电流幅值恒定通常出现在部分恒流控制的整流器。每次迭代先取出节点电压相角θ再令节点注入电流为|I|∠(θφ)φ为功率因数角。每轮都要用当前电压相位去修正电流相角。PV型保证电压幅值在设定值需要内含一个无功修正环节。最简单的方法是在每轮迭代后检查节点电压幅值偏离目标的量按经验灵敏度把无功出力往反方向调比如ΔQ K·(V_set - V_k)等下一轮迭代再看效果。如果无功超过逆变器限幅就主动转成PQ型继续算。下垂控制型在微电网里很常见有功-频率下垂和无功-电压下垂同时作用。这会改变节点类型严格来说已经超出教科书里纯PV/PQ的范畴实际代码里我会把它当作带输出特性的受控源来处理。对初学的人来说建议先把PQ型跑通再考虑PV型最后才碰下垂控制。2.4 收敛判据与迭代初值三相前推回代法的收敛判据一般用电压幅值和相角两方面的综合偏差。我习惯用标幺值max(|V_new - V_old|) 1e-5或者功率失配小于1e-4。辐射状配电网正常条件下20次以内基本都能收敛。但三相严重不平衡时有个坑如果直接用平衡初值去计算DG注入电流在PV型DG和逆变器限幅逻辑下前几轮迭代可能会出现电流尖峰和电压振荡。我的做法是先跑一遍单相潮流拿它的节点电压幅值作为三相迭代初值相位按120°间隔铺开这样初始值已经接近真实解后面迭代很稳。另一个技巧是给电压更新加一个阻尼系数[ V_{new} V_{old} \alpha \cdot (V_{calc} - V_{old}) ]α取0.6到0.8对付重载和强DG渗透场景很管用。3. 三相不平衡建模的工程细节线路、负荷与变压器连接3.1 线路阻抗矩阵不能只填对角线简单把线路等效成三相各自独立的阻抗是很多新手做三相潮流时最容易犯的错。实际上三相导线之间相互耦合每条导线的自阻抗和相间互阻抗都要算。工程上最常用的办法是先算相参数再通过Carson公式考虑大地回路的影响得到完整的3×3阻抗矩阵。如果只做规划级评估可以用正序、零序阻抗反推[ Z_{aa} \frac{Z_0 2Z_1}{3}, \quad Z_{ab} \frac{Z_0 - Z_1}{3} ]前提是假设线路完全换位对未换位线路这个取值已经足够用于潮流评估。如果你手头有配电线路型号比如LGJ-120设计手册里通常能查到正序阻抗Z10.27j0.347Ω/km零序阻抗Z0≈0.87j1.5Ω/km用这两个参数构造Z_abc很方便。我常用的线路参数如下表线路类型自阻抗(Ω/km)相间互阻抗(Ω/km)10kV架空LGJ-1200.27j0.3470.083j0.214低压电缆YJV-4×950.25j0.1550.03j0.11这些参数精度对潮流评估足够如果做保护整定或故障分析就需要按实际导线间距和换位情况逐项计算。3.2 负荷模型的相分配与ZIP处理三相潮流对负荷建模比单相潮流更讲究。首先要区分三相负荷和单相负荷。三相平衡电机之类按每相分配1/3功率即可单相负荷必须挂在对应相上且挂载点要按实测台账确定。如果原始资料只给了台区总负荷没有分相数据建议按实测电流占比估算分相系数而不是粗暴均分——均分就等于自动绕回了单相模型。其次是负荷的电压静态特性。恒功率负荷PQ恒定电压一变功率就变恒阻抗负荷Z恒定电流随电压线性变化恒电流负荷I恒定。配电网中很多负荷其实是混合的工程上常用ZIP模型[ P P_0 \left( a_p b_p \left(\frac{V}{V_0}\right) c_p \left(\frac{V}{V_0}\right)^2 \right) ]Q也类似三个系数加起来等于1。如果做规划和评估取a_p0.2、b_p0.4、c_p0.4比例比较稳健。实现时每一次迭代都要根据当前电压重新计算节点负荷的功率值再转成注入电流。3.3 配电变压器连接组别对三相潮流的影响三相潮流还有一个单相模型从来不用操心的问题就是变压器接线组别。配电变压器常用Dyn11高压侧三角形、低压侧星形带中性线这种接线在正序和负序网络中会带来30°相移在零序网络中三角形侧为零序环流提供流通路径导致零序分量无法跨越高压侧。反应到相分量法里变压器支路的电压电流关系不再是简单的理想变比乘以标量而是一个带角度和连接关系的3×3导纳阵。实操里怎么处理我的建议是不要自己手推变压器耦合矩阵尽量用已有的网络矩阵生成工具去自动构建如果纯手写代码就把变压器按等效序网模型换算成节点间的3×3导纳矩阵再叠加到整网导纳。Dyn11模型的要点是低压侧线电压相对高压侧线电压有30°的相移零序只在低压星形侧形成通路高压侧三角形内流动的是零序环流。很多自动化三相潮流软件会直接内置各种连接组别你只需要在数据表格里填上Dyn11和变比算法自动处理。自己实现的时候一定记得做一次空载验证给高压侧加对称电压看低压侧三相电压是不是各自差120°且幅值一致这一步能查出很多连接矩阵细节上的低级错误。3.4 中性点与接地问题三相三线与三相四线的边界标题叫三相潮流但低压台区基本是三相四线制三条相线加一条中性线。中性线上有电流压降不能忽略尤其在单相负荷大量存在时中性线电流可能很大。若强行用三相三线模型假设中性点等电位可能会低估中性点电压偏移同时对相电压的判断也会偏差。怎么取舍以0.4kV低压台区为例如果你要精确计算中性点电压升降、或者评估漏电保护整定就需要四线制模型把中性线也当成一条支路阻抗矩阵扩成4×4如果只是研究电压分布和DG越限可以用三相三线近似把中性线电流的影响折算进相线阻抗的修正里。这个折中在项目交付中很好用给别人算报告时一定要在模型说明里写清楚未计及中性线阻抗还是已计及不然数据对不上会白费功夫。10kV系统一般三相三线中性点不接地或经消弧线圈接地就没有这个问题。4. 结果对比单相潮流和三相潮流到底差在哪些指标上4.1 电压幅值单相报合格、三相报越限的经典案例我做过一个验收测试一个低压台区母线400V馈线末端约120m是重负荷区域同时有一排屋顶单相光伏全挂在A相上。用单相潮流把总负荷和总光伏平均到三相计算最末端电压0.979 p.u.结论合格按三相不平衡台区数据用前推回代法计算A相因为有光伏倒送末端电压1.055 p.u.直接越上限C相因为负荷重且无光伏末端电压0.926 p.u.接近下限。同一条线、同样的负荷模型不同结论完全相反。这张对比表值得贴出来指标单相模型三相模型(A相/C相)末端电压标幺值0.979A相1.055 / C相0.926最大电压偏差2.1%5.5%是否越限否A相过压、C相低压相角分布三相各差120°A相与C相相位差明显偏离120°这类案例在配电网规划中经常出现所以我的复盘里始终强调单相潮流的结果只能当粗筛凡是大规模分布式电源渗透、单相接入比例较高的台区必须做三相校核。4.2 相角分布120°相位差被打破之后的信息三相电压幅值相差不大时大家容易忽略相角。但三相不平衡系统的相角信息其实很值钱。第一相间线电压Uab|Va-Vb|会和标称值有偏差即使三相幅值都在0.95~1.05之间如果相位差偏离120°太多线电压也可能低于0.95 p.u.。对电机负载来说这会造成负序电流增大、发热加剧对逆变器来说并网检测里的电压不平衡判据也很敏感。第二保护整定需要知道故障前的相角。三相潮流给出的Va、Vb、Vc向量可以在微电网保护方案设计里直接用来算d-q变换、序分量和差动电流参考值单相潮流完全没有这个输出。比如在刚才的算例中A相电压相角因为光伏倒送而明显前移C相因为重载而滞后导致A-C线电压比正常值偏大B-C线电压偏小。这种细节在现场判断为什么某台电动机总发热但相电压都合格时非常关键。4.3 哪些场景可以继续用单相模型三相潮流不是万能的也谈不上处处都代替单相模型。需要做三相计算的高优先场景包括单相DG渗透率高、单相大负荷多、线路未换位、存在中性线电流和中性点电位漂移问题、需要做相间保护整定。反过来以下场景用单相就足够供电半径短、负荷基本三相平衡、DG为集中式三相电站、只关心整体潮流断面。工程上按优先级排序可以节省大量计算时间。特别是初步方案比选阶段先用单相模型圈定长名单再用三相模型精准校核效率高很多。5. 一个可复现的算例低压台区接入单相光伏的运行笔记5.1 网络参数与负荷设定我用一个简单测试算例来说明整套流程。场景如下根节点0.4kV低压母线额定相电压220V取A相为参考角0°。线路主线为YJV-4×95电缆长度0.2km采用三相对称阻抗近似自阻抗0.25j0.155Ω/km互阻抗0.03j0.11Ω/km。负荷三相平衡负荷总计150kWj50kvarA相单相负荷20kWC相单相负荷15kW。DG单相光伏6台A相4台、C相2台每台8kWPQ模式单位功率因数。这个算例的好处是结构清晰能直接看出单相负荷和单相DG对电压的影响。5.2 核心迭代代码与计算步骤用Python写核心部分关键就两个函数一个是前推一个是回代。import cmath def z_abc(z_s, z_m): return [[z_s, z_m, z_m], [z_m, z_s, z_m], [z_m, z_m, z_s]] def node_injection(s_phase, v_phase): # 恒功率模型I conj(S / V) return [cmath.conj(s_phase[a] / v_phase[a]) for a in range(3)] def backward_pass(net, voltage): branch_current {node.name: [0j, 0j, 0j] for node in net.nodes} for node in reversed(net.bfs_order): inj node_injection(node.load, voltage[node.name]) if node.dg: inj [inj[a] dg_current(node.dg, voltage[node.name])[a] for a in range(3)] branch_current[node.name] inj.copy() for child in node.children: branch_current[node.name] [ branch_current[node.name][a] branch_current[child.name][a] for a in range(3) ] return branch_current def forward_pass(net, voltage, branch_current): for node in net.bfs_order[1:]: p net.parent[node] imp net.branch_impedance[node.name] dv matvec(imp, branch_current[node.name]) voltage[node.name] [voltage[p.name][a] - dv[a] for a in range(3)] return voltage主迭代就是循环调用backward_pass和forward_pass直到电压差均小于1e-5。matvec实现3×3复数矩阵乘法代码不复杂用三层for循环即可。5.3 计算结果与调参经验用上面的算例算下来单相模型末端A相电压0.98 p.u.看起来完全正常。三相模型A相末端电压1.043 p.u.C相末端电压0.942 p.u.B相0.982 p.u.。A相因为单相光伏倒送已经接近过压上限C相则偏低。迭代次数方面不带阻尼大约15次收敛加阻尼系数0.7时约28次收敛虽然慢一点但稳定性明显更好。这段过程里最油的调参经验是收敛性在含光伏的算例中主要受DG节点电流更新影响尤其在把DG处理成PV节点时无阻尼容易一步冲过。我的做法是先用PQ模型算一遍得到初值改成PV后通常只需要8~15次迭代。另外一个实操建议是把相电压输出打印成幅值和相角两列中间用制表符分隔方便和画图工具联调。画A相、C相电压随节点距离变化的曲线一眼就能看出问题。5.4 踩过的坑与工程建议相序和参考角刚开始我在两个不同脚本里分别用了不同的参考相导致数据对不上。现在我会在每个脚本开头固定写一段注释参考相A相相序ABC标幺值S基准100kVAV基准相电压220V。收敛门槛过低前推回代法对纯辐射状网络非常灵敏如果加了环网却忘了断开会有明显振荡。判断网络是否辐射状的方法节点数支路数1不是就说明存在环。光伏逆变器无功限制很多参数表只写有功额定没写功率因数范围。做PV节点时务必加上Q_min/Q_max约束否则迭代会收敛到一个逆变器根本给不出的无功点上。结果呈现建议把单相和三相结果放在同一张表里对比不光是给客户看自己排查也方便。多一次对比少一句明天我去现场看看。5.5 实际落地时的扩展方向最近我在做的项目还把前推回代法和时间序列负荷曲线结合按照96点日负荷曲线逐时刻做三相潮流用来统计光伏高渗透台区全年电压越限小时数。这个扩展的核心改动是把每个时刻作为独立潮流算例但可以把前一时刻的解作为初值传给下一时刻这样整条曲线的计算效率提升很多。如果你要做全年8760小时逐时计算这个方法能省掉大量迭代时间。最后再分享一个小技巧。如果项目周期紧张我建议把三相前推回代法做成一个能批量跑算例的脚本输入只要网络拓扑、负荷分相、DG控制类型、线路参数四类数据输出直接生成单相/三相对比表、最大和最小相电压分布。做成之后每次给台区做评估只需要改表不用再改代码。这个方法我用了两三年从10节点到上千节点的台区都能扛住。希望这篇复盘能帮你在分布式电源接入评估里少走一点弯路祝算出来的电压都合格。
RELATED READING

延伸阅读

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