
做低压配电网电能质量分析最怕的就是空谈理论。电压偏低、三相不平衡、谐波超标这些事在真实台区里天天发生但你想靠一摞公式让现场的人信服基本行不通。我的做法是直接上Matlab Simulink搭一个看得见摸得着的台区仿真模型把48节点低压配电网从变压器到用户入户端全部复现出来然后在上面做各种电能质量实验。这篇就聊聊我搭建这个模型的完整过程包括模型怎么分层、线路参数怎么定、负荷怎么建模、电能质量指标怎么算以及那些调试了许久才解决的坑。这个模型不复杂但细节非常多想复现低压配电网仿真、做电能质量课题或者评估光伏充电桩接入影响的读者顺着这套思路走能省不少时间。1. 项目思路与模型拓扑设计1.1 为什么选择48节点而不是随便拉一条馈线先说节点口径。很多人一听到48节点就犯嘀咕低压配电网有必要建这么密吗这里要特别说清楚电网仿真里常说的节点可以按三相合在一起算也可以按单相拆分。我这个模型里的48节点是把台区内16个三相电气位置分别按A/B/C相裂化为48个单相接入点得到的中性线N作为公共参考不单独计入节点编号。这样做的核心原因很直接低压用户本来就是单相入户三相不平衡的根源恰恰在单相负荷分布上。如果只搭三相平衡模型你永远看不到中性线电流也看不到负序电压那电能质量分析就成了一句空话。为什么是16个三相电气位置因为实际台区规模摆在那里。一个400kVA配电变压器带一个中型小区或一片商住混合区域出线回路一般就是4到6条每条馈线上挂着几个楼栋或配电箱折算下来十几个电气位置很正常。我试过把整个台区二三百户全部建模结果模型臃肿、仿真慢得没法用也试过只搭一条馈线结果电压分布和三相不平衡的剖面特征出不来。48个单相节点是工程上比较合适的折中既能体现沿线的电压降落、三相不平衡和谐波分布又不会让仿真卡到怀疑人生。1.2 台区拓扑与馈线负荷分配这个模型按典型的10kV/0.4kV配电变压器台区来搭10kV中压电源经Dyn11联结组别的配电变压器降压到0.4kV低压侧为三相四线制放射状引出4条馈线每条馈线上分布不同数量的三相电气节点每个节点再按单相拆分成3个单相接入点馈线末端接居民、商业、混合等不同性质的负荷低压台区基本都是开环放射状供电闭环成本高、保护复杂工程上很少见所以仿真模型直接按单端电源放射状来处理这也是后面分析电压降落时最自然的场景。4条馈线我给出了不同的长度和负荷密度模拟真实台区里“近区密、远区疏”的特点馈线编号供电区域线路长度三相电气节点数单相接入点总数平均单相负荷F1商业街区0.35km4126kVAF2居民单元0.60km6184kVAF3混合区域0.80km4125kVAF4边远零散1.20km263kVA注意这里的负荷并不是三相平均分配的。我在F1馈线上有意让A相多带负荷、B相次之、C相最少在F3馈线上让C相偏重这样整个台区就天然存在一定程度的三相不平衡后面分析不平衡度和中性线电流时才有真实的“病根”可挖。1.3 模型分层设计与整体架构很多初学者搭Simulink模型喜欢把一堆模块拖在一起电源、变压器、线路、负荷、测量全混在同一个画面里最后连线能绕成一团。我建议从一开始就按层次拆开第一层中压电源和配电变压器负责供电第二层馈线网络用π型线路或等值阻抗串联起来第三层负荷节点包括线性恒阻抗负荷和非线性谐波源第四层测量与记录系统包括三相电压电流测量、有效值计算、序分量计算和波形导出分层的好处是切换场景非常方便。想研究负荷增长对电压的影响直接改第三层负荷参数想分析线路阻抗的影响只动第二层就行。这个模型后续接入光伏、充电桩时我也只需要在对应的节点位置“插”一个新的子系统不需要重画整张图。2. Simulink建模核心细节2.1 中压电源与配电变压器参数设置电源用的是Simscape Electrical库里的Three-Phase Source模块。这里有一个重要经验不要把三相电压源设成理想源那样后续仿真非常容易出现代数环报错。我给10kV电源设置了短路容量500MVA、X/R比10等效内阻大概是0.2Ω左右。这一步很多人忽略实际上等于给系统加了一个天然的数值阻尼对求解器友好得多。变压器是模型里最关键的元件选择我使用Three-Phase Transformer (Two Windings)模块设置如下额定容量400kVA电压变比10kV/0.4kV线电压联结组别Dyn11短路阻抗4.5%负载损耗按典型值4.3kW折算为什么强调Dyn11因为低压侧必须引出中性点形成三相四线制Dyn11不仅是配电变压器主流方案它的移相角度还会影响潮流方向选错联结组别后面的三相不平衡计算方向会完全反掉。短路阻抗相关参数可以自己计算。低压侧基准阻抗Zbase U²/S 400²/400000 0.4Ω变压器短路阻抗Z uk% × Zbase 0.045 × 0.4 0.018Ω。再按典型X/R4折算R Z / √(14²) ≈ 4.4mΩX ≈ 17.6mΩ。这样算出来的变压器模型和现场铭牌参数能对得上。2.2 馈线线路模型π型线路与中性线处理低压台区线路不长但绝不能简单当成纯电阻。电缆和架空线都存在感抗和杂散电容长线路上的电压降落不仅由电阻决定谐波谐振、无功分布都和这些参数有关。我用的是π型线路模型。配电线路典型参数可以参考下表导线型号电阻(Ω/km)感抗(Ω/km)对地电容(uF/km)常见用途LGJ-120架空线0.270.330.009架空主干线YJV-4×120电缆0.160.080.28电缆分支或入地这里有一个Simulink建模的坑三相PI Section Line模块默认是三相三线制不带中性线。低压台区必须考虑N线因为三相不平衡电流会流过N线N线阻抗直接影响中性点电压偏移。我的做法是A、B、C三相分别用三个单相PI Section Line模块建模中性线单独用一个单相PI Section Line参数按N线截面设置。这样四个“导线”在空间上虽然是解耦的但通过变压器中性点的公共连接形成了三相四线制回路仿真结果能直接读出N线电流。如果只关注稳态电压和不平衡度也可以把线路简化成串联电阻加感性电抗毕竟低压线路电容在短距离范围内影响有限。但既然Simulink里搭π型并不费事建议还是保留电容尤其是后面要挂谐波源时线路电容会不会参与谐振是值得观察的问题。2.3 负荷与谐波源建模居民负荷我采用恒阻抗负荷模型即Three-Phase Series RLC Load或Single-Phase Series RLC Load功率因数设置在0.9到0.95之间。为什么不直接用恒功率负荷恒功率模型在电压跌落时电流会反向增大容易引起迭代不收敛对于电能质量分析这种以稳态为主的研究恒阻抗模型足够而且稳得一匹。为了模拟三相不平衡我把16个三相节点的单相负荷做了差异化分配。以前面F1馈线为例A相10kW、B相7.5kW、C相5kW其他馈线类似地设成不同组合。这样仿真后各相电压幅值会有明显差异N线电流也不为零分析起来才有抓手。谐波源是电能质量分析的关键。我在F2馈线末端节点接入了一个三相整流桥Universal Bridge带直流侧R-L负载用来模拟带变频设备的商业负荷或充电桩群。参数上直流侧电阻5Ω、电感2mH输出功率约30kW电流THD大致在20%到30%之间产生的5次、7次、11次谐波会沿着馈线向上游传播影响临近节点电压波形。需要说明的是真实低压台区谐波源很多是单相整流负载比如空调、开关电源、LED驱动它们会产生3次及其倍数次谐波并叠加在中性线上。这里为了控制模型复杂度先用一个三相整流桥作为集中谐波源如果后续要研究3次谐波和N线过载问题可以把部分单相负荷替换成单相整流负载模型思路是完全一致的。2.4 测量与记录模块布置测量模块选用Three-Phase V-I Measurement这是最常用的电压电流测量口。我在以下位置布置了测量点变压器低压侧母线看台区整体电压和总电流每条馈线首端看分路负载率和谐波注入情况F2馈线末端重点观察谐波源影响最严重的节点F4馈线末端重点观察长线路末端的电压降落测量点输出接三路一路进Scope直接看波形一路进RMS模块看有效值动态一路进Three-Phase Sequence Analyzer提取正序负序零序分量。对于数据导出我用To Workspace模块把关键电压电流变量存成结构体Structure with time后面做FFT或者批量计算时直接读MATLAB脚本处理比Scope导出数据好用得多。3. 电能质量指标的仿真实现3.1 电压偏差与负载率分析电压偏差是最直观的指标。在Simulink里我通过RMS模块测量出各节点电压有效值然后和额定电压对比。单相220V供电的允许偏差按国标要求为额定值的7%到-10%也就是198V到235.4V之间。实际仿真中F4馈线末端节点电压是206V偏差约-6.4%虽然没跌破198V但已经压着警戒线。这个结果很典型长线路末端在负荷较重时电压往下掉得很明显。想验证线径影响把F4馈线导线从LGJ-120换成LGJ-70末端电压能再降3到5V换更大截面电缆电压又明显回升。这种对比实验在现场很难做但仿真改一个参数就能看到这也是这个模型最大的价值。功率因数也不能忽略。我用Three-Phase Active Reactive Power模块监测各馈线首端的有功和无功cosφ P / √(P²Q²)。F1馈线因为商业负荷集中功率因数偏低大约0.88说明存在无功补偿需求。这个指标和电压偏差是联动的无功不足会进一步拉低末端电压。3.2 三相不平衡度计算与中性线电流三相不平衡度是低压配电网电能质量的重点也是这个48节点单相拆分模型最能体现价值的地方。理论定义是负序电压分量与正序电压分量的比值即ε U₂ / U₁ × 100%。在Simulink里最简单的方法是直接用Three-Phase Sequence Analyzer模块基波把三相电压测量信号接进去它能直接输出正序、负序、零序的幅值和相位。基准参考值按GB/T 15543电网公共连接点的负序电压不平衡度一般不超过2%短时不超过4%低压台区工程分析里我习惯以4%作为参考阈值。仿真结果里调整前台区不平衡度约5.7%超过4%的参考线。此时变压器低压侧的中性线电流最大到32A这个电流会在线路和接地电阻上产生额外损耗也容易造成末端电压中性点偏移。找到原因后我把F1馈线的一部分A相负荷切到C相F3馈线的一部分C相负荷切到A相重新仿真不平衡度降到2.9%N线电流减到约12A效果立竿见影。这里分享一个经验观察三相不平衡时不要只看电压波形一定要同时看中性线电流波形和零序分量。三者结合才能判断不平衡是“重载相电压被拉低”还是“中性点偏移”两种问题对应的治理措施完全不同。3.3 谐波分析与THD计算谐波分析我用了两种方法一种偏交互式一种偏自动化。交互式方法是双击Powergui模块在Tools里打开FFT Analysis工具。导入To Workspace导出的电压结构体设置Start time为0.2s跳过启动暂态Number of cycles设为5到10个工频周期基波频率50Hz最大频率到2500Hz也就是50次谐波。点击Display后界面会显示频谱柱状图并自动给出THD。自动化方法则是把数据导到MATLAB脚本里自己算。下面是我用的FFT分析代码片段% 从To Workspace导出的电压数据结构体格式为 struct with time load(V_a_meas.mat); t V_a_meas.time; v V_a_meas.signals.values; % 取稳态段0.2s~0.4s idx t 0.2 t 0.4; v_ss v(idx); t_ss t(idx); dt t_ss(2) - t_ss(1); Fs 1 / dt; % 基波50Hz FFT N length(v_ss); Y fft(v_ss); P2 abs(Y / N); P1 P2(1:floor(N/2)1); P1(2:end-1) 2 * P1(2:end-1); f Fs * (0:floor(N/2)) / N; % 提取基波并计算2~50次谐波THD fund_idx find(abs(f - 50) min(abs(f - 50))); THD sqrt(sum(P1(2:end).^2)) / P1(fund_idx) * 100; fprintf(基波(50Hz)幅值: %.2f V, 电压THD: %.2f%%\n, P1(fund_idx), THD);0.38kV系统电压总谐波畸变率限值按GB/T 14549要求为5%。仿真中接入整流桥的F2馈线末端电压THD约6.2%超标。观测频谱能看到5次谐波最大约4.1%7次谐波约2.3%这与三相整流器的特征谐波完全吻合也反过来验证了模型没有搭错。这里要提醒一句做FFT时起始时间必须取在暂态衰减完之后。我见过不少朋友把0到0.2s的启动电流都算进去结果THD算出来百分之几十明显失真。3.4 暂态事件与动态过程观察电能质量不只是稳态指标电压暂降、暂升这些事件在真实台区里的投诉量很大。Simulink模型里模拟暂态非常方便我在某个负荷节点上增加了Step模块控制的负荷投切开关。在t0.3s时投入一组大功率负荷Scope里可以清晰看到该节点电压瞬间下凹随后因为网络阻抗和负荷特性的原因略有回升。这个过程对理解“电压暂降”非常直观。你可以在仿真里把故障持续时间设成0.2s、0.5s、1s观察电压跌落深度和恢复时间的关系这些数据用于电能质量评估报告的量化分析很有说服力。4. 求解器配置与数据采集4.1 Powergui三种仿真模式怎么选Simscape Electrical里Powergui模块是不可或缺的一个它决定仿真模式。三种模式我的选择逻辑如下Continuous连续模型里没有电力电子开关时可用。求解器一般选ode23tb相对容差1e-3最大步长设1e-4到1e-5。但模型一旦带Universal Bridge整流桥连续模式下容易在二极管换相点报“derivative is not finite”非常难受。Discrete离散最推荐。固定步长我习惯设20μs对应50kHz采样率既能看50次谐波也绰绰有余。带开关器件的模型用离散模式稳定性好非常多。Phasor相量适合工频稳态分析速度最快但看不到谐波和暂态波形电能质量分析基本不适用。我的最终方案是Discrete模式步长20μs仿真时长0.5s取0.2s到0.4s的稳态数据做分析。实际测试下来精度和速度都能兼顾一次完整仿真大约2到3分钟。4.2 初始状态与潮流初值处理这是许多人容易忽略的步骤。模型搭好后直接按运行按钮变压器励磁涌流可能引发很大的衰减直流分量前面0.1s的波形惨不忍睹甚至直接报错。解决方式是使用Powergui的Load Flow工具初始化电气状态。操作方法是在Powergui中进入Tools Load Flow设定变压器参数和负荷电压软件会自动计算稳态初值。不过要注意带非线性负荷的模型Load Flow能不用就不用因为整流桥的开关状态会干扰潮流计算。我的办法是先跑一段0.2s让暂态自然衰减然后从该时刻重新采样分析同时把电压源串联小阻抗作为数值阻尼。如果模型规模大、暂态衰减慢可以采用“分段启动”策略前0.1s只投一半负荷0.1s到0.2s再投剩余负荷这样启动冲击会小很多。4.3 仿真步长、时长与数据导出仿真步长和FFT分析精度直接相关。固定步长20μs对应50kHz采样率理论上能分析到25kHz覆盖50次谐波绰绰有余。如果觉得仿真太慢可以把步长放宽到50μs对应20kHz采样率仍能分析到100次谐波精度也够用。再放宽到100μs就开始影响波形细节尤其是开关瞬态变得更不光滑不推荐。数据导出我强烈建议用To Workspace模块而不是Scope。Scope的显示非常消耗资源48节点模型里挂太多Scope仿真速度成倍下降。我通常在关键位置只留一个Scope看总貌所有详细数据都靠To Workspace导出后处理统一用脚本算再可视化。5. 常见问题与排查技巧实录5.1 仿真报错不收敛多半是这几种原因问题现象常见原因解决措施Solver could not solve for the algebraic loop理想电压源直接并联、测量回路形成代数环给电压源串联小电阻切断代数环derivative of state not finite连续求解器处理开关器件换相改成Discrete模式固定步长20μsSimulation timeout模型初始化状态差暂态振荡太久用Powergui初始化或分段投入负荷端口未连接提示信号维数不匹配三相测量信号维度混乱用Demux整理信号维度后再进下一级模块我实际遇到最典型的一次是两台理想电压源在同一个节点上并联Simulink直接报代数环错误。把其中一台换成带内阻的电压源问题立刻消失。5.2 电压波形毛刺与数值振荡波形在整流桥开关切换点附近出现高频毛刺这是数值振荡而不是真实的电磁暂态。判断方法很简单真实谐波频率和幅值是稳定的数值振荡则是高频、快速衰减、且反复出现。处理手段有三个一是给Universal Bridge加snubber电路默认RC参数1e5Ω和1e-6F基本够用二是缩小固定步长三是检查线路电容参数是否设置过大低压电缆电容如果填错单位会让杂散电容和电感形成误差严重的振荡。5.3 仿真速度太慢怎么优化48节点模型不算小如果使用Continuous模式加一堆Scope跑一次要等很久。我的实践优化方案是仿真模式用Discrete固定步长50μs代替20μs速度能提升一倍左右用To Workspace替代Scope减少图形刷新开销把可合并的并联用户负荷等值成一个负荷模块仿真时长从1s缩短到0.5s只要暂态衰减完、稳态数据足够长即可实测在普通笔记本上这些优化做完后一次0.5s仿真控制在2分钟以内。如果想做批量参数扫描还可以用MATLAB脚本循环修改模型变量每次仿真自动运行、自动保存结果。5.4 FFT工具读不出数据或者结果离谱Powergui的FFT Analysis工具读不出数据最常见的坑是数据格式不对。Scope日志导出的数据在FFT工具里有时识别不了时间向量解决办法是使用To Workspace模块并确保输出格式设置为Structure with time。另一个坑是FFT的Start time没有跳过暂态。如果起点选在0sFFT会把衰减直流当成很大的低频分量THD直接爆表。一般Start time取0.2s以后Number of cycles取5到10个周波这样计算出的THD才符合工程直觉。如果THD算出来异常高先看一眼波形确认已经是稳态正弦周期信号再复查FFT参数。6. 模型扩展方向与个人经验6.1 接入光伏与充电桩扩展48节点模型的扩展空间非常大。如果想研究分布式光伏对低压配电网电压的影响可以在某个馈线末端接入光伏阵列加Boost变换器加三相逆变器观察日照变化时电压抬升的情况。高渗透率光伏最容易导致的电压越上限问题用这个模型能很直观地复现。类似地充电桩充电负荷可以作为单相整流谐波源分配到不同节点研究谐波叠加效应和三相不平衡的互相影响。6.2 参数化批量仿真模型搭好后手动改参数一个个跑不是长久之计。我习惯把变压器的容量、线路长度、负荷功率、不平衡系数全部定义成MATLAB工作区变量用m脚本统一赋值再通过模型工作空间传给Simulink。这样写一个循环脚本就能批量跑几十种场景输出每个节点的电压、THD、不平衡度报表。比如设置负荷从50%逐步增长到120%可以画出台区电压随负载率变化的曲线找出台区供电能力边界这对规划部门特别有用。6.3 从0到1的建模习惯这个模型我前前后后调了很多次。最难的不是搭线路而是让模型既足够真实又不会慢到没法跑。后面我学乖了一开始先搭一个8节点小模型验证电气逻辑确认各模块参数和测量无误后再扩展成48节点完整模型。还有一个小技巧所有线路长度、负荷功率、变压器容量都用文本文件或m文件定义再通过模型工作