电力系统11个节点无功补偿仿真,功率因数和谐波可观察,线路阻抗参数可改,matlab2018b及以上(可改版)
凌晨三点半的实验室键盘声格外清脆,我正在MATLAB里调试第17版电网模型。眼前的11节点系统拓扑图上,Qc参数每调整0.1Mvar都会引发蝴蝶效应——这大概就是电力系统的魅力所在吧。
新建的NodeData矩阵藏着整个系统的基因:
NodeData = [ 1 1.00 0 0 0 0 0 % 平衡节点 2 1.02 0 21.7 12.3 0 0 3 1.02 0 35.0 15.0 0 0 ... 11 1.02 0 18.5 8.7 0 0 ];第五、六列空着的正是我们要填的补偿电容位置。突然发现节点7的功率因数掉到0.82了,抄起代码在第七行末尾加上[0 4.5],相当于怼了个4.5Mvar的并联补偿器。
线路参数才是真正的戏精,改个小数点后三位都可能翻车。Impedance矩阵里藏着π型等效电路的秘密:
LineParam(:,4) = [0.987+0.312i; % R+jX 0.845+0.298i; ... 1.124+0.415i];有次把节点3-5的X值从0.312改成0.412,结果隔壁节点8的电压直接飙到1.08pu,吓得赶紧调出实时监测窗口:
voltage_monitor = @() disp(datestr(now, 'HH:MM:ss ') + "节点9电压: "+num2str(V(9))); addlistener(simObj, 'PostStep', @(src,evt)voltage_monitor());谐波分析才是重头戏。某次投入5次滤波器后,THD从7.2%骤降到1.8%:
[thd_total, harm_spectrum] = power_fft(current_wave, 50, 15); disp(['第5次谐波含量: ' num2str(harm_spectrum(5)*100, '%.2f') '%']); plot(harm_spectrum(1:15), 's-', 'MarkerFaceColor', [0.2 0.6 0.9]);突然意识到,系统振荡时频谱图上3次谐波和7次谐波居然在跳探戈——原来是补偿电容与线路电感形成了谐振回路。赶紧在初始化脚本里加上:
sysConfig.resonance_check = true; sysConfig.max_harmonic_order = 13;仿真跑了三小时终于出结果,导出的节点数据CSV用热力图一画,功率因数从0.75到0.95的渐变色谱美得像梵高的星空。突然发现节点4的补偿量还能再优化0.3Mvar,得,今晚的咖啡又白喝了。