regulating mid point voltage of a transmission line using shunt compensation
3 次查看(过去 30 天)
显示 更早的评论
%program for short lines
clear;
clc;
%continue with the program vl = input('enter line load voltage: '); f = input('enter local frequency: '); l = input('enter line constant in H/KM: '); length = input('enter length of line: '); r = input('enter the resistive constant: '); power = input('enter the load power: '); pf = input('enter load power factor: ');
%evaluate the parameters xl=l*length*pi*2*f; p=power/3;
res=r*length; z=complex(res,xl); A=1; B=z; C=0; D=1; vlo=vl/sqrt(3); %evaluate the load current ilmag=p/(vlo*pf); %assuming a lagging power factor il=complex(ilmag*cos(acos(pf)),-ilmag*sin(acos(pf))); vload=complex(vlo,0);
%evaluate the value of Vsending end and Isending end
vs=A*vload + B*il; is=C*vload + D*il; %calculte sending end power s=conj(is)*vs; %calculate voltage regulation vr=((abs(vs)-abs(vlo))/abs(vlo))*100;
%calculate efficiency pin=real(s); pout=p; n=(pout/pin)*100; %evaluating the power factor theta=atan(imag(s)/ real(s)); pfactor=cos(theta);
fprintf ('VS='); disp(vs);
fprintf('IS='); disp(is);
fprintf('power factor at sending end='); disp(pfactor);
fprintf('sending end complex power='); disp(s);
fprintf('voltage regulation='); disp(vr);
fprintf('effiency='); disp(n); %evaluate the per unit values of the line parameters %choosing the base values as follows vbase=vlo;
sbase=p/pf;
zbase=mpower(vbase,2)/sbase;
ibase=sbase/vbase;
zpu=z/zbase;
vreceivingpu=vload/vbase;
ireceivingpu=il/ibase;
vsendingpu=vs/vbase;
isendingpu=is/ibase;
ssendingpu=s/sbase;
precevingpu=p/sbase;
fprintf('the per unit value of the impedance='); disp(zpu); fprintf('the per unit value of the receiving end voltage='); disp(vreceivingpu); fprintf('the per unit value of the receiving end current='); disp(ireceivingpu); fprintf('the per unit value of the sending end voltage='); disp(vsendingpu); fprintf('the per unit value of the sending end current='); disp(isendingpu); fprintf('the per unit value of the sending end apparent power='); disp(ssendingpu); fprintf('the per unit value of the receiving end real power='); disp(precevingpu);
%for power factor correction
thetanew=acos(pfdesired);
qold=imag(s);
qnew=real(s)*tan(thetanew); %evaluating the value of the capacitor bank
qc=qold-qnew; pfdesired = input('enter the desired power factor: '); c=qc/(mpower(abs(vs),2)*2*pi*f);
fprintf('value of the capacitor bank in farads='); disp(c); fprintf('the reactive power to be supplied by the capacitane bank in var='); disp(qc);
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!