48节点低压配电网Simulink仿真:电能质量分析与建模实践

48节点低压配电网Simulink仿真:电能质量分析与建模实践 搞配电网现场工程的都知道想拿到一份完整的低压台区电能质量数据有多难负荷曲线波动大、谐波源分布散、三相不平衡时有时无抄表数据往往又只有稳态值真要分析某个扰动对全线路的影响基本靠猜。但仿真不同——你可以在一个完全可控的环境里把电压偏差、三相不平衡、谐波畸变、无功不足这些问题一个个“制造”出来再观察它们怎么沿线路传播和叠加。最近我搭了一个48节点低压配电网的Matlab Simulink仿真模型专门用来探索低压配电网电能质量从头到尾走了一遍建模、仿真、指标分析和踩坑排错今天把这套东西完整复盘出来希望能给正在做配电网仿真、写论文或者做工程项目预研的同行一些能直接用的参考。1. 为什么做48节点配电网仿真从现场问题到仿真需求1.1 低压配电网电能质量痛点低压配电网国内一般指400V/380V三相四线制系统和输电网不太一样它贴近用户负荷种类极其杂。居民用电里有大量整流器、开关电源、变频空调这些都属于非线性负荷会往电网里灌谐波电流单相负荷接入相序分配不合理又导致三相不平衡再加上近年分布式光伏和充电桩大量接入台区里的电压波动、谐波放大和中性线电流超标问题越来越明显。这些痛点直接影响用户侧设备谐波会让变压器和电机额外发热三相不平衡会让某相电压偏高或偏低影响照明和精密电子产品严重的还会让零序保护误动作。想在现场做系统性实验成本高、周期长而且很多扰动情况根本没法主动制造出来比如你要模拟一台大功率电机在馈线末端启动时造成的电压暂降真去现场频繁启停设备别人厂里生产都会受影响。所以仿真成了最合理的替代方案。Matlab Simulink里的Simscape Electrical库能建出包含变压器、线路、负载、逆变器、故障模块的完整低压配电系统既能看稳态潮流也能看暂态波形还能用自带的FFT、序分量分析工具做电能质量指标计算。1.2 48节点模型的由来与优势很多人会问为什么偏偏是48节点而不是IEEE 33、IEEE 69这些经典配电网测试系统原因很简单那些经典系统是中压配电网模型电压等级是10kV或更高而我要研究的是低压台区0.4kV的问题直接套用并不贴合。实际低压台区的一个典型结构是一台10kV/0.4kV配电变压器引出3到4回馈线每回馈线带十几个接户点总体节点规模大约在三四十个以上。因此我选了48个节点把四条馈线各带12个节点组合成一个辐射状低压配电网模型。这个规模有几个实际好处节点数量足够多能明显看出电压沿馈线长度方向从首端到末端的下跌趋势也能看出分布式光伏接入后造成的局部电压抬升。节点数量又不至于太多Simulink仿真不会因为大量开关器件和非线性负载而慢得不可接受。我试过把同样模型扩展到96节点离散仿真步长50微秒时跑0.2秒仿真光是求解就要等十几分钟而48节点通常一两分钟就能搞定。48节点更容易做分区配置。比如我可以把前三条馈线设为居民生活负荷区第四条馈线设为含光伏和充电桩的混合园区再分别配置不同扰动源一张模型就能对比多种场景。整个建模思路是自底向上的扩展。我先在Simulink里搭一个单馈线12节点的“最小台区”跑通电压分布和负载潮流后再复制成四条馈线通过变压器低压母线汇聚成48节点。这个做法好处是排错容易每加一段拓扑就能验证一段电气连接的正确性避免一上来就铺一个大模型结果电压根本带不起来还找不到原因。2. 建模思路与关键参数设计2.1 48节点拓扑如何搭模型的电气拓扑是这样设计的10kV无穷大电源作为上级电网通过一台10kV/0.4kV Dyn11三相双绕组变压器降压变压器低压侧中性点直接接地引出四回电缆馈线每回馈线12个节点每个节点带一组三相或单相负荷节点与节点之间用线路阻抗连接。四条馈线的末端分别设置在距离变压器约300米、500米、800米和1000米左右的位置模拟不同供电半径的台区。这里要特别强调变压器联结组别。低压配电网普遍采用Dyn11而不是Yyn0因为Dyn11能让低压侧中性点接地同时隔离部分三次谐波电流尤其在单相负荷占比较高的情况下电压不平衡度明显更低。Simulink里选择“Three-Phase Transformer (Two Windings)”后直接设置联结组为“Dyn11”同时勾选“Three-winding? 不是双绕组需要设置绕组接线方式一次侧D接二次侧Y接中性点接地。线路阻抗参数是另一个关键点。低压架空线或电缆的每千米电阻比电抗要大得多这一点和中压线路明显不同。我用的典型值是R0.45Ω/kmX0.08Ω/km对于三相四线低压电缆线路长度在节点间按均匀分布取30米到80米不等。由于是三相四线制中性线也要参与仿真我在Simulink里用“Three-Phase Distributed Parameters Line”模块建模不过低压线路长度较短电磁暂态过程不是重点实际上用集中参数RL支路也够。如果你建的是电缆线路还要考虑不同相序排列引起的零序阻抗差异但因为Simscape里使用的是对称分量模型默认三相完全对称所以零序阻抗按经验值设为正序的三倍即可。下面这张表是我建模型时的基准参数你可以直接抄参数数值说明电源电压10kV理想三相电压源变压器变比10kV/0.4kVDyn11额定容量630kVA低压额定电压380V/220V相间/相零馈线数量4回每回12个节点节点间距30~80m均匀分布线路阻抗R0.45Ω/kmX0.08Ω/km低压电缆典型值总负荷约420kW 120kvar按四馈线分配2.2 负荷与分布式电源建模负荷建模直接决定仿真结果是否可信。Simulink的Simscape Electrical库里有几种常见负荷模型恒阻抗模型Parallel RLC Load、恒功率模型Three-Phase Dynamic Load、以及由异步电机、整流桥等构成的具体设备。对低压配电网来说真实负荷介于恒阻抗和恒功率之间但做电能质量研究时我一般把大比例负荷设成恒阻抗模型因为它在动态仿真里数值最稳定再把一小部分设成恒功率负荷用于模拟制冷压缩机、电梯等设备观察末端电压稳定性。如果你也想研究三相不平衡最简单的办法是在不同节点接入单相负荷而不是直接用一个不平衡的三相负荷模型。我在2号馈线上故意把A相多接了约30kW负荷B相缺一些负荷C相平衡这样就能真实好看地反映三相电流不平衡如何导致中性点电压偏移以及三相电压不平衡。分布式光伏接入采用简化的PQ控制逆变器模型既可以用详细的IGBT加PWM整流器模型也可以用三相可控电流源注入相同相位的电流。我在末端节点35接了一个60kW分布式光伏在谐波分析时更关注它注入电流的波形如果只关心潮流和电压抬升直接用电流源模型完全够用而且不会让仿真变慢。这里要注意光伏逆变器的直流侧需要一个稳态电压源否则仿真初期直流电压建立过程会产生很长的暂态毛刺。2.3 电能质量扰动源设置探索电能质量不能只靠正常负荷还要人为设置特定的扰动源。我在模型里设置了三类典型扰动第一类是谐波源在第23节点接入一个三相全桥整流器带阻感性负载额定容量约15kW。二极管整流桥会产生典型5次、7次、11次、13次谐波电流这些电流注入电网后在系统阻抗上产生谐波电压。实测仿真结果中23节点附近电压THD可以达到6%左右刚好超过国标5%限值很适合后续做谐波治理对比。第二类是三相不平衡扰动在2号馈线各节点分配不平衡单相负荷使三相电流不平衡度达到15%~20%左右。通过这个扰动可以看到低压侧中性点电压偏移以及三相电压不平衡度变化。第三类是电压暂降扰动在馈线4末端附近设置一个三相短路故障模块故障持续时间设为100ms用来观察暂降沿馈线的传播范围。对于想研究动态电能质量的人来说这个扰动源非常有用因为只要改变故障电阻和故障类型就能模拟不同深度和不同持续时间的暂降。3. Matlab/Simulink实操从模块选型到模型搭建3.1 Simulink电力系统模块库选择使用Simulink做电力系统仿真第一件事是选对模块库。早期版本叫SimPowerSystems现在叫Simscape Electrical Specialized Power Systems你需要在Simulink库浏览器里找到“Simscape Electrical Specialized Power Systems”路径。这个库和普通的Simulink信号模块不一样它有自己的电气网络求解机制必须搭配一个“powergui”模块。很多新手从没用过这个库直接在Simulink里把三相电压源和电阻用普通加法器连接那是完全跑不起来的。我的模型里用到的核心模块如下“Three-Phase Source”用于模拟10kV上级电网设置相电压幅值、频率以及短路容量。“Three-Phase Transformer (Two Windings)”降压变压器设置容量、频率、变比、绕组电阻电抗、励磁支路联结组Dyn11。“Three-Phase Distributed Parameters Line”馈线线路模块设置正序零序电阻、电感、电容以及线路长度。“Three-Phase Parallel RLC Load”恒阻抗负荷模块直接设每相有功无功。“Three-Phase Dynamic Load”恒功率负荷模块需要设置初始有功无功以及电压指数。“Three-Phase V-I Measurement”用于测量节点三相电压和电流把波形显示在Scope或导出到工作区。“Three-Phase Fault”用于模拟短路等故障可配置故障相和动作时间。“powergui”电网求解器必须放置在模型的顶层用于设置仿真类型和步长。一开始我建议把每个节点的测量模块直接串联在线路和负荷之间因为低压配电网中同一节点电压相同测量模块并联在母线上也可以但要保证测到的是节点电压而不是导线压降。我通常习惯在节点处加一个“Three-Phase V-I Measurement”串联进馈线这样电流数据也同时拿到了。3.2 搭建步骤从单馈线到48节点完整建模步骤可以分成七步每一步都有必须注意的细节。第一步新建Simulink模型从Simscape库拖入powergui并设置仿真模式为“Discrete”采样时间填50e-6秒。很多新人不理解离散仿真和连续仿真的区别低压电力电子装置里有开关器件连续仿真在开关切换时会出现十分尖锐的数值变化导致ode求解器步长变得极短、仿真卡死。离散仿真相当于在固定步长内强制网络开关状态不变适合带电力电子器件的电能质量分析。如果只是看工频稳态也可以选“Phasor”模式但那样就看不到谐波波形了所以一定要用Discrete。第二步搭一个最简单的单馈线台区10kV三相电源、变压器、一段线路、一个负载、一个V-I测量模块。先跑通这个最小模型确认变压器二次侧三相电压为380V负载电流正常。这里最常见的坑是变压器联结绕组设置不对导致二次侧没有中性点引出下面接的所有单相负荷都无法工作。第三步把单馈线扩展成一条12节点馈线。在变压器低压侧母线处引出线路每两个节点之间用一段“Three-Phase Distributed Parameters Line”连接每个节点接一个“Three-Phase Parallel RLC Load”。建议节点编号按A01到A12这样的方式整理方便后面扫描电压分布。我使用“Goto/From”标签来连接远距离信号尽量避免大量交叉的电气连线否则模型图会乱到让人崩溃。第四步复制这条馈线三次分别修改线路长度和负荷参数得到四条馈线。每条馈线的首端都连接到变压器低压母线上。这一步要小心Simulink中“Copy/paste”复制线路和负荷后模块内部参数还是原来那套需要逐个检查馈线长度和负荷功率是否按需求修改避免四条馈线完全一样。第五步在指定节点加入谐波源、不平衡负荷和光伏模型。谐波源直接用三相全桥整流模块整流桥交流侧接23节点母线直流侧接滤波电感和负载电阻。不平衡负荷用三个单相负载分别接到A、B、C和中性点之间因为Simscape电气库有三相四线制接法所以这个操作是可行的。第六步设置仿真时间和输出变量。我一般把仿真时间设为0.2秒正好是10个工频周期非常方便FFT分析。为了减少初始暂态对结果的污染FFT数据从0.1秒之后开始截取。每个节点电压和支路电流通过“To Workspace”模块输出到MATLAB工作区变量名设为V_in、I_in这种结构化形式。第七步运行仿真并保存模型。跑之前强烈建议先在“powergui”里选择“Use LTI initial state”或“Start from steady-state”选项让仿真从稳定工况开始否则一开始的电压和电流会有一个明显冲击过程。Simulink的电力系统仿真并不像普通控制仿真那样按零初始状态起机配电网应该从交流稳态附近开始这样才能更快进入稳定状态。3.3 仿真参数设置与收敛性调整仿真步长和求解器设置是决定模型能不能跑通的命门。离散仿真步长默认是自动选择但我们要分析到20次或40次谐波就需要按奈奎斯特采样定理来算。20次谐波频率1000Hz用50微秒采样对应20kHz采样率频谱最高能看到10kHz至少是20次谐波频率的10倍足够用了。如果你想看更到40次谐波2000Hz最好把采样时间降到20微秒但仿真时间会翻倍。我常用的折中方案是50微秒采样能覆盖到40次谐波几乎没有问题再高次谐波在低压配电网中占比很小。求解器方面离散模式下Simulink通常用“Fixed-step discrete”求解器步长等于powergui里的采样时间。如果你的模型里存在连续积分环节比如动态负荷和逆变器控制回路使用“Variable-step”时选ode23tb效果更好。我刚搭建模型时碰到过仿真速度特别慢的情况后来发现是负荷模块里设置了太小的惯性时间常数导致系统动态响应频率极高被迫把仿真步长压得很小。你可以把恒功率动态负荷的时间常数设为0.02秒左右让它在工频尺度上表现得足够慢仿真速度就快了。仿真收敛性是另一个容易翻车的地方。低压配电网模型的线路阻抗都很小如果变压器短路阻抗设得过大或者电源内阻为0离散仿真很容易出现高频数值振荡。我在三次调整后总结了一条经验变压器短路阻抗百分比用4%~6%负荷侧若出现恒功率模型则在节点处并联一个小电阻比如100kW的有功负荷对应并联几百欧姆电阻作为阻尼收敛问题基本能缓解。看到波形有高频毛刺时先别急着怀疑算法检查一下线路电感和采样步长的匹配关系一般情况下仿真步长应该小于线路暂态时间常数的1/5。4. 电能质量指标分析与仿真结果解读4.1 电压偏差与三相不平衡48节点模型跑完0.2秒后我拿到全部48个节点的三相电压有效值。最直观的分析方式是把各节点A相电压幅值画成曲线横轴是从变压器低压母线到各馈线末端的距离纵轴是电压标幺值。结果发现在负荷较重且光伏未接入时4号馈线末端电压降到了0.91p.u.左右已经低于我国标准中220V单相供电电压偏差-10%的限值。这个电压偏差主要是线路电阻压降造成的因为低压线路电阻远大于电抗。此时在末端接入60kW光伏后末端电压立刻抬升到0.98p.u.说明分布式电源对低压线路的电压支撑作用非常明显但如果光伏功率过大且负荷小还可能反向潮流导致末端电压超过1.05p.u.这在实际工程中也是光伏并网需要做电压校核的核心原因。三相不平衡度是通过负序电压与正序电压的比值来计算的。在Simscape里可以使用“Sequence Analyzer”模块输入三相电压信号直接输出正序、负序和零序分量。我在2号馈线不平衡负荷场景下测到最大负序不平衡度为3.8%超过国标2%的限值。把各节点不平衡度沿馈线画出来会发现越靠近末端不平衡度越高因为负序电流在阻抗上产生的压降是逐级累积的。与此同时我也观察了中性点电压偏移在中间某节点中性点电压有效值达到30V左右这对单相设备会造成明显的电压不对称。4.2 谐波分析THD谐波分析我习惯用powergui自带的FFT工具也可以把电压波形存到工作区后自己写MATLAB代码计算THD。先说简单方式双击powergui选择“FFT Analysis”指定需要分析的信号变量基波频率设50Hz最大频率设2500HzFFT窗口选择“Hanning”。要注意的是如果你用Scope里的波形直接做FFTScope的显示时间往往不是整周期导致频谱泄漏严重。正确的做法是用To Workspace把节点电压按固定采样率导出再确保截取的数据长度正好覆盖整数个工频周期比如0.1秒5个周期或0.2秒10个周期。从结果看23节点接入整流桥后该节点电压THD约为6.3%电流THD超过了20%。谐波频谱中5次谐波最大达到基波的5.2%7次谐波也有3%左右。沿着馈线往上游走电压THD逐级降低因为谐波电流在路径阻抗上的压降变小了但电流THD在所有线路中基本一致因为谐波电流主要由负载决定。如果你在配电网首端补偿谐波比如加无源滤波器就可以看到谐波电流被部分吸收时末端电压畸变率也同步下降。这个结论对谐波治理方案很有价值治理重点要靠近谐波源而不是只在台区变压器侧加滤波器。4.3 无功功率与功率因数低压配电网的功率因数问题主要来自异步电机和无功负荷。我在模型里给部分节点负荷设置了滞后的无功初始总功率因数约0.85。用Powergui里的“Continuous measurements”统计馈线首端的平均有功和无功可以看到系统存在约60kvar的无功缺口。这时我在馈线末端并联了一个30kvar的电容器组功率因数从0.85提升到了0.94末端电压也提高了约2%。这个过程可以直接套用到实际工程中的无功补偿容量估算先通过仿真确定无功缺额再按“无功补偿容量不超过平均无功负荷”的原则选电容器容量避免过度补偿引起电压过高。值得注意的是低压配电网的功率因数测量并不仅依赖基波有功和无功。在谐波源接入后电压电流波形畸变传统的功率因数表可能会读错。我更推荐用MATLAB脚本处理瞬时电压电流数据按有功功率定义P1/T∫v(t)i(t)dt计算视在功率SV_rms*I_rms然后是位移功率因数和畸变功率因数。谐波存在时真正提高能效的指标是总功率因数它等于P/S而基波功率因数仅仅反映相位移部分。5. 常见问题与排查实录5.1 仿真不收敛的几种典型表现Simulink仿真最常见的一个错误就是“Solver unable to handle this system”或者“Nonlinear iteration is not converging”。我在搭建48节点模型过程中至少踩过五次总结下来主要分三类原因。第一类是初始条件问题。模型里变压器和线路有电感和电容直接按零状态仿真会有一个很大的充电冲击过程数值上容易发散。解决办法是在powergui的“Tools”里选择“Set Initial States”点击自动计算稳态工作点让仿真从稳态开始。第二类是负荷模型太“硬”。恒功率模型在电压偏离额定值时会产生很高的电流增量特别是多个恒功率负荷串联在线路末端电压低时电流增大又进一步压低压降导致求解器迭代发散。我最后把大部分恒功率负荷改成了恒阻抗负荷只保留少数关键负荷作为恒功率仿真瞬间稳定下来。对于必须保留恒功率负荷的场景可以在负荷两端并联一个电阻性负载给它一个电压支撑。第三类是采样步长与线路电容不匹配。如果线路电容较大而仿真步长不够小高频振荡就会淹没整个波形。这时要么减小步长要么改用“Equivalent circuit”的线路模型关闭分布电容参数。低压电缆的分布电容影响很小直接设成零对结果影响不大但能让仿真速度快好几个量级。5.2 节点电压读取错误的排查满心欢喜跑完仿真结果Scope里看到的某个节点电压突然变成几十伏甚至几千伏这种情况多半不是电网真出了问题而是测量模块接错了。Three-Phase V-I Measurement模块有两种接线方式一种是串联在支路里测电流一种是并联在母线上测电压。很多人只拖了一个模块它默认同时测电流和电压你必须把它的电流输入端串进线路里再把电压输入端口并联到被测母线上否则模型会显示内部信号未连接。还有一次我排查发现某个节点电压居然是0测电流也正常后来发现是因为那个节点后面的负荷模块没有接“N”端子到中性线整个负荷回路没有电流通路所以节点电位被悬浮了。低压配电网仿真里中性线必须是最为完整地贯穿整个系统的所有需要220V的单相负荷和三相四线负荷都要正确接入N线否则节点电压就是随机乱跳的。5.3 数据导出与FFT后处理的脚本经验用Scope看图只能做定性判断如果要写报告或论文最好还是把波形导到工作区再用代码处理。我写了一个简短脚本可以从模型导出的结构体里提取某一节点电压并计算THD供你参考% 假设To Workspace输出的变量名为 V23, 结构体包含时间向量和信号矩阵 t V23.time; V V23.signals.values; % 矩阵第一列是A相电压 % 取稳定后5个周期从0.1s到0.2s mask (t 0.1) (t 0.2); v V(mask,1); fs 1 / (t(2)-t(1)); % 去直流后做FFT v v - mean(v); N length(v); Y fft(v); P2 abs(Y / N); P1 P2(1:floor(N/2)1); P1(2:end-1) 2*P1(2:end-1); f (0:floor(N/2))*fs/N; % 找到基波和各次谐波 [~, i_fund] min(abs(f - 50)); fund_amp P1(i_fund); for k 3:2:15 [~, i_h] min(abs(f - 50*k)); THD_v THD_v (P1(i_h)/fund_amp)^2; end THD_v sqrt(THD_v) * 100; fprintf(节点电压THD %.2f%%\n, THD_v);这段脚本就是正常MATLAB信号处理流程截取整周期、去直流、FFT、找基波和谐波。要注意的是FFT前务必对齐整数个周期否则结果会有频谱泄漏谐波幅值误差可能在20%以上。用这个脚本我可以批量处理48个节点的电压快速画出THD分布热力图比在Simulink里一个个点FFT高效得多。还有个小技巧在Simulink里做FFT分析时建议先用“Rate Transition”模块把采样率统一很多离散步长不同导致的频谱混叠错误都来自多速率系统。把模型中所有测量信号的采样率都统一到50微秒导出到工作区后频率轴自然对齐省去很多麻烦。结语一点实操心得我做完这个48节点低压配电网仿真模型后最大的体会是低压配电网电能质量问题和输电系统完全是两套逻辑电阻主导的压降、中性线的作用、分布式光伏的电压抬升、谐波源就近治理这些特点在理论教材里经常一句话带过但真放到Simulink里跑一遍才会有那种“原来如此”的感觉。如果你也想复现这套模型建议千万别从48节点开始先搭个最小的单馈线模型把变压器和负荷学明白再一步步扩展。后续想深入的话可以在48节点平台上加分布式储能、动态负荷、充电桩集群甚至和机器学习算法结合做电能质量扰动分类这个模型的扩展空间远比一次仿真要大。