天天看點

低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

目錄

​​1 概述​​

​​2 傳輸線模型​​

​​3 Matlab實作 ​​

​​4 運作結果​​

​​5 牛頓拉夫遜法求潮流(Matlab代碼實作)​​

1 概述

近年來,全球電力行業經曆了許多改革,以有效滿足不斷增長的能源需求,同時實作各種技術經濟和社會目标。電力供需平衡和電能品質是以最經濟的方式持續監控和維護的基本目标。潮流研究在電力系統運作和規劃研究中始終起着至關重要的作用。潮流研究和解決方案高度依賴于系統,無論是輸電網絡還是配電網絡。發現高壓輸電系統是平衡的和網狀結構的,是以,可以假設平衡潮流研究足以确定系統狀态。然而,配電系統高度不平衡,并以輻射狀結構運作。

流行的潮流計算方法基于牛頓法、快速解耦方法、後向掃描(BFS)方法。可以觀察到,在大多數情況下,電力系統不是病态的,是以潮流問題可以通過使用牛頓或基于牛頓的技術來解決。然而,對于病态電力系統,這些方法的收斂性較差或有時會發散。快速解耦潮流 (FDLF) 方法相對于傳統的牛頓-拉夫森潮流 (NRLF) 方法的優勢之一是由于雅可比矩陣尺寸減小,大規模電力系統的計算時間快。據觀察,與傳統的 NRLF 相比,FDLF 方法對于具有高 R/X 比的線路的配電系統的收斂特性較差。

為了快速确定與不同 DER 技術相關的三相不平衡有源配電網絡的穩态變量,快速有效的潮流求解方法可能起着至關重要的作用。該方法應包括對所有可能數量和類型的裝置進行模組化,以模拟配電網絡的真實場景。

2 傳輸線模型

中壓 (MV) 配電系統由三相導體組成,沒有任何中性導體。而衆所周知,低壓 (LV) 配電網絡是具有中性導體的 3 相 4 線系統。在三相線模型中,需要 3 × 3 阻抗和導納矩陣來确定潮流計算。在 LV 系統的情況下,矩陣的大小将是 4 × 4,但通常會轉換為 3 × 3 [13]。三相四線傳輸線示例模型如圖 1 所示。其對應的阻抗和導納矩陣呈現如下.

低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)
低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

類似地,節點 j 處傳輸線的分流元件注入的電流計算為:

低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

 更多細節參考文獻:

低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

3 Matlab實作 

clc
clear
tic;
N=33
[NUM1] = xlsread('Ieee_data33','Line_records');
[NUM2] = xlsread('Ieee_data33','Bus_records');
Base_Kv = 12.66/sqrt(3);%基準電壓                                         
Base_MVA = 100;%基準功率
d = 1;
Niter = 16; %疊代次數
Z_Base = (((Base_Kv)^2)/(Base_MVA));  %基準阻抗
fb = NUM1(:,1);   %首節點
tb = NUM1(:,2);  %尾節點
Nb = length(fb);  %節點個數
R = NUM1(:,3);  %電阻
X = NUM1(:,4);  %電抗
Z_Line = complex(R,X)/Z_Base;
%% 三相阻抗矩陣的形成
for br=1:Nb
    ZZZ = zeros(3,3);
    for j=1:3
        ZZZ(j,j)=Z_Line(br);
    end
    Zline(:,:,br) = ZZZ;
end

PL = [NUM2(:,7) NUM2(:,7)   NUM2(:,7)]./3;
QL = [NUM2(:,8) NUM2(:,8)   NUM2(:,8)]./3;
SL = ((complex(PL,QL)))./(1000*Base_MVA);
PG = zeros(N,3);%[NUM2(:,5) NUM2(:,5)   NUM2(:,5)];
QG = zeros(N,3);%[NUM2(:,6) NUM2(:,6)   NUM2(:,6)];
SG = ((complex(PG,QG)))./(1000*Base_MVA);



%% 最後顯示結果
Pinj = real(Sinj);
Qinj = imag(Sinj);

disp('----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('==============================================================================================================================================================================================');
disp('| Bus  |Va     |Vb     |Vc |    |    三相相角 (Degree)   | | 發電機有功功率 (kW)| |發電機無功功率(kVAr)||  有功功功率負荷(kW)    |   |無功功率負荷(kvAr) |');
disp('| No   |pu     |pu     |pu |    |Ph-a    Ph-b    Ph-c | |Ph-a    Ph-b    Ph-c | |Ph-a    Ph-b    Ph-c ||Ph-a     Ph-b     Ph-c   | |Ph-a     Ph-b     Ph-c | ');
disp('==============================================================================================================================================================================================');
for m = 1:N
    fprintf('%4g', m); fprintf('%8.3f', V_mag(m,:)); fprintf(' %8.3f', Del(m,:)); 
    fprintf('%8.3f', PG(m,:)); fprintf('%8.3f', QG(m,:)); 
    fprintf(' %8.3f', PL(m,:)); fprintf(' %8.3f', QL(m,:)); fprintf('\n');
end
disp('===============================================================================================================================================================================================');
fprintf(' Total                                              ');fprintf('%8.3f', sum(PG)*100000); fprintf('%8.3f', sum(QG)*100000); 
% fprintf('  %8.3f', sum(Pinj+PL)); fprintf('   %8.3f', sum(Qinj+QL));
fprintf(' %8.2f', sum(PL)); fprintf(' %8.2f', sum(QL)); fprintf('\n');
disp('===============================================================================================================================================================================================');
disp('                                                                                     ');

disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('                              線路潮流和損耗 ');
disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('|From|To ||       有功功率, P(kW)    ||     無功功率, Q(kVAr) | |From|To ||       有功功率, P(kW)      | |      無功功率, Q(kVAr)   | |      線路有功損耗(kW)      ||     線路無功損耗(kVAr)   |');
disp('|Bus |Bus||Phase-a   Phase-b   Phase-c  ||Phase-a    Phase-b    Phase-c| |Bus |Bus||Phase-a    Phase-b    Phase-c | |Phase-a      Phase-b     Phase-c| |Phase-a  Phase-b  Phase-c||Phase-a Phase-b Phase-c|');

for m = 1:Nb
    p = fb(m); q = tb(m);
    disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
    fprintf('%4g', p); fprintf('%4g', q); fprintf('  %8.2f', P_Flow(p,q,:)); fprintf('   %8.2f', Q_Flow(p,q,:)); 
    fprintf('% 4g', q); fprintf(' %4g', p); fprintf('   %8.2f', P_Flow(q,p,:)); fprintf('    %8.2f', Q_Flow(q,p,:));
    fprintf(' %8.2f', P_Loss(m,:)); fprintf('%8.2f', Q_Loss(m,:));
    fprintf('\n');
end
disp('================================================================================================================================================================================================================ ');
fprintf('   總的功率損耗                                                                                                                                            ');
fprintf('%8.3f', sum(P_Loss)); fprintf('%8.3f', sum(Q_Loss));  fprintf('\n');
disp('================================================================================================================================================================================================================');
hold on
plot(V_mag,'r')
xlabel('節點')
ylabel('電壓幅值/kv')      

 全部代碼點這裡:低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

4 運作結果

低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)
低壓配電網絡中三相潮流計算的前推回代法(Matlab實作)

5 牛頓拉夫遜法求潮流(Matlab代碼實作)

繼續閱讀