⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buduichen.m

📁 电力系统短路计算程序
💻 M
字号:
function buduichen  
%数据来源于教材《电力系统暂态分析》P129例(5-1)
%给学生提供的不对称短路故障的部分程序。
%要求的工作(1)自动形成导纳阵;(2)完善短路类型,两相相间短路和两相短路接地;(3)求短路后发电机的电压
 clear  %清除所有变量的值
N1=3; %输入网络的节点数
N2=5;  %输入包括所有发电机节点的网络的节点数
k=3;%输入短路点的节点号
fault=1;  %输入短路类型 ;f(1)=1单相短路接地;f(2)=2两相相间短路;f(1,1)=3两相短路接地
%输入支路各序阻抗,ZZ1表示支路正序阻抗,ZZ2表示支路负序阻抗,ZZ0表示支路零序阻抗

ZZ1=[j*0.15 j*0.1   j*0.1
     j*0.1  j*0.075 j*0.1
     j*0.1  j*0.1   0    ];
 ZZ0=[j*0.05 j*0.2  j*0.2
      j*0.2  j*0.025  j*0.2
      j*0.2  j*0.2    0   ];
  ZG1=[0      j*0.1   j*0.1   j*0.05    0
      j*0.1    0     j*0.1     0     j*0.025
      j*0.1  j*0.1     0       0       0
      j*0.05   0       0     j*0.1     0
      0      j*0.025   0       0     j*0.05];
  ZZ2=zeros(3,3);
  ZZ2=ZZ1;
  

 %不计及发电机节点的节点导纳矩阵
   %求得正序节点导纳矩阵
 Y1=zeros(3,3);
 for i=1:N1
     for p=1:N1
         if ZZ1(i,p)~=0
         Y1(i,i)=Y1(i,i)+1/ZZ1(i,p);
            if  i~=p
        Y1(i,p)=-1/ZZ1(i,p);
            end
         end
 end
end
 Y1
   %求得负序节点导纳矩阵
 Y2=zeros(3,3);
 Y2=Y1
   %求得零序节点导纳矩阵
  Y0=zeros(3,3);
 for i=1:N1
     for p=1:N1
         if ZZ0(i,p)~=0
         Y0(i,i)=Y0(i,i)+1/ZZ0(i,p);  
            if  i~=p
        Y0(i,p)=-1/ZZ0(i,p);
            end
         end
 end
end
Y0
%计及发电机节点的节点导纳矩阵
  %YY1和YY2分别是此时的正序、负序节点导纳矩阵
 YY1=zeros(5,5);
 for i=1:N2
     for p=1:N2
         if ZG1(i,p)~=0
         YY1(i,i)=YY1(i,i)+1/ZG1(i,p);
            if  i~=p
        YY1(i,p)=-1/ZG1(i,p);
            end
         end
 end
end
 YY1
 YY2=zeros(5,5);
 YY2=YY1


%第一部分:计算所有节点的a,b,c三相电压

for p=1:N1
    if p==k
        I(p)=1;
    else
        I(p)=0;
    end
end

%正序
Z1=eye(N1)/Y1;% eye(N1)是3阶的单位矩阵,求节点导纳矩阵Y1的逆阵,即节点阻抗矩阵Z
Z1(:,k)=Z1*I';%短路点k的自阻抗和互阻抗     
Zk1=Z1(:,k);

%负序
Z2=eye(N1)/Y2;
Z2(:,k)=Z2*I';
Zk2=Z2(:,k);

%零序
Z0=eye(N1)/Y0;
Z0(:,k)=Z0*I';     
Zk0=Z0(:,k);


%计根据故障类型选择不同的计算公式,算故障点各序电流
if fault==1  
    Ik1=1/(Z1(k,k)+Z2(k,k)+Z0(k,k));
    Ik2=Ik1;                               %单相短路接地时的各序电流分量
    Ik0=Ik1;
else
   if fault==2
      Ik1=1/(Z1(k,k)+Z2(k,k));
       Ik2=-1*Ik1;                          %两相相间短路时的各序电流分量
       Ik0=0;
     else
        if fault==3
         Ik1=1/(Z1(k,k)+Z2(k,k)*Z0(k,k)/(Z2(k,k)+Z0(k,k)));   
         Ik2=-Ik1*Z0(k,k)/(Z2(k,k)+Z0(k,k));        %两相短路接地时的各序电流分量
         Ik0=-Ik1*Z2(k,k)/(Z2(k,k)+Z0(k,k));
        end
    end
   end
end

%计算各序电流的故障分量
for p=1:N1  
    p;
    if p==k
        I1(p)=-1*Ik1;
        I2(p)=-1*Ik2;
        I0(p)=-1*Ik0;
    else
        I1(p)=0;
        I2(p)=0;
        I0(p)=0;
    end
end

%计算故障点各序电压的故障分量 P96公式(4-13)
uu1(:,k)=Y1\I1.' %“\”表示左除 A\B=inv(A)*B  inv是求逆阵。 即AX=B
uu2(:,k)=Y2\I2.'
uu0(:,k)=Y0\I0.'

%假设故障前空载,各节点电压正序分量为1 
for p=1:N1
    U1(p)=1;
end

%计算故障点发生故障后的电压值:正常运行的分量+故障分量,P37公式(5-39)
u1=U1'+uu1(:,k)  %计算所有节点正序电压
u2=uu2(:,k)      %计算所有节点负序电压
u0=uu0(:,k)       %计算所有节点零序电压

a=-0.5+j*sqrt(3)/2
T=[1    1      1        % T为对称分量法的变换矩阵,见P94公式(4-4)
   a^2  a      1
   a    a^2    1]
   
for p=1:N1
    U=[u1(p)   u2(p)    u0(p)]
    p
    Uabc=T*U.'       %Uabc表示p节点的a,b,c三相电压向量,见P94公式(4-4)
    UUabc=abs(Uabc)   %UUabc表示p节点的a,b,c三相电压有效值
end

%第二部分:计算支路电流
for  m=1:N1
    for n=1:N1
        if m<n
            mn(1)=m;mn(2)=n;
            mn
            I1(m,n)=(u1(m)-u1(n))/ZZ1(m,n);   %支路正序电流
            I2(m,n)=(u2(m)-u2(n))/ZZ2(m,n);   %支路负序电流
            I0(m,n)=(u0(m)-u0(n))/ZZ0(m,n);   %支路零序电流
            Iabc=T*[I1(m,n)   I2(m,n)    I0(m,n)].';%由序分量合成相分量
            Iabc
            abs(Iabc)   
        end       
   end
end

%第三部分:计算发电机的端电压,只写了部分程序,余下的工作由同学们完成。要考虑变压器绕组是11点接线的
for p=1:N2
    if p==k
        II(p)=-Ik1;
    else
        II(p)=0;
    end
end
vv1(:,k)=YY1\II.';
vv2(:,k)=YY2\II.';            
for p=1:N2
    V1(p)=1;
end
%计算发机障后的电压值=正常运行分量+故障分量
v1=V1'+vv1(:,k)   %计算发电机节点的正序分量
v2=vv2(:,k)       %计算发电机节点的负序分量
%计及11点接线形式
c=sqrt(3)/2+j*0.5  %正序分量三角形侧电压较星型侧超前30度(11点钟)
d=sqrt(3)/2-j*0.5  %负序分量三角形侧电压较星型侧落后30度(11点钟)
v1(4)=v1(4)*c;
v2(4)=v2(4)*d;
v1(5)=v1(5)*c;
v2(5)=v2(5)*d;
VG1=[v1(4)  v2(4)   0 ]
VG1abc=T*VG1.'
VG1abc1=abs(VG1abc)    %VG1abc是发电机1的机端三相电压
VG2=[v1(5)  v2(5)    0 ]
VG2abc=T*VG2.'
VG2abc1=abs(VG2abc)    %VG2abc是发电机1的机端三相电压



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -