Inverteer Gain

You might also like

Download as pdf
Download as pdf
You are on page 1of 4
\\hd. ad. syr.edu\03\e49a1d\Documents\MATLAB\EL...\gains.m clear all ELE 791 Control of Distributed Generation 8 Voltage and current inverter control § Simulation model input data ffun=60; 3 fundamental frequency wfun-2*pi*ffun; § fundamental angular frequency ‘Tsamp = 1/60/51; § controller sampling time - 6536/2066 epsilon=1e-5; % optimization weighting parameter state_W+0.2; ¢ optimization weighting parameter 0 0;0 -1 0]; & DY voltage transformer matrix 11]; & DY current transformer matrix % Model inverter/tranaformer/Zilter parameter data Sload=80e3; % inverter rated power Vload120; % toad rated voltage Vinv-245; % inverter rated voltage 8 inverter filter capacitor \ inverter filter inductor & Grass Capacitor % as suggested in the textbook SLtrans=0.03* (Vload*sqrt (3))*2/Pinv/wfun;? 3%pu transformer inductance +02; % as suggested in the textbook SRtrans=0.03* (Vload*sart (3))*2/Pinv;? 0.3¢pu transformer resistance treVload/Vinv; % transformer turn ratio Ilimit=3*sart (2) *Sload/(Vinv*sart (3)); $ 300% inverter peak current limit § Simulation load data PF=0.8; $ inverter full load power factor (as suggested in the textbook) Rfl=(Vload*sart (3)}°2/ (Sload*PF); § full load resistance Rn1=100; % open circuit simslation resistance ov=5; $ level of overload simulation Rsc=0.01; % short circuit simulation impedance % Controlled harmonic frequencies wlewEun; Tis1/f£un; w5-Stweun; wI-7 wean; 8 Delta side transformer voltage and current qd ~ transformation matrices Tev_ad=1/2*tr* [1 -sqrt (3) ;sqrt (3) 11; Tei_ad=3/2*tr*|1 sart(3);~sqrt (3) 117 % Design of diserete current controller % Plant for the current controller As[zeros(2,2) eye (2,2)/(3*Cinv) -1/Linvtaye (2) -0.01/Linvteye (2)]; B=[zeros(2,2); 1/Linv*eye (2); Bs[-Pri_qd/ (3*Cinv) ; zeros (2,2)15 Fe [zeros (2,2) seve (2) 17 Ca [zeros(2,2) eye(2)1 Dezeros (2,2) Page 1 \\nd.ad. syredu\03\e49a1d\Documents\MATLAB\EL. ..\gains.m Page 2 § Discrete sliding mode gains controller sysc~ss (A,B,C, zeros (size (C,1),size(B,2)))¢ sysd=c2d(syse, Tsamp, 'zoh") + [Acurrd, Burra, Courrd, Deurrd]=ssdata (sysd) 7 cBinv=inv (Courrd*Bourrd) ¢ casCourrd*Acurrd; cpscourra*F; sysc=ss (A, E,C, zeros (size (C,1),size(B,2)))¢ sysd=c2d(syse,Tsamp, 'zoh") + [Acurrdl, Ecurrd, Ceurrd!, Dourrdl cE=Ceurrdl*Eeurra; sdata (sysd) ; § Robust servomechanism perfect controllers 8 True plant Ao=[ zeros (2,2) eye(2,2)/(3*Cinv) zeros (2,2) -Tri_qd/(3*Cinv) ; weye(2,2)/Linv zeros(2,2) zeros(2,2) zeros (2,2) zeros(2,2) zeros(2,2) zeros (2,2) eye (2,2) /Cload; Tev_qd/itrans zeros(2,2) ~eye(2,2)/itrans ~Rtrans*eye (2,2) /Ltrans]; zeros (2,2) seye (2,2) /Linv;zeros (2,2) ;2er0s (2, 2)]5 zeros (2,2) zeros(2,2) eye (2) zeros (2,2)]+ % Discrete true plant sysc=ss (Ao, Bo, Co, zeros (size (C, 1) ,size(B,2))); sysd=c2d(syse, Tsamp, 'zoh") + [hod, Bod, Ca, Da] =ssdata (sysa) s % Equivalent plant and discrete sliding mode current controller eye (4) zeros (4,4) 1; zeros (2,4) eye(2) zeros (2,2) 17 \od~Bod* (CBinv*CA*C1+CBinv*CE*C2) 7 Bd=Bed*cBinv; & Analog servecompensator cn0=2eres (2,2); Chi=[zeros (2,2) eye(2); -wi*2*eye(2) zeros (2,2) 17 cnS~[zeros (2,2) eye(2); -w5*2¥eye(2) zeros (2,2)17 CnT=[zeros (2,2) eye(2); -w7*2*eye(2) zeros (2,2) 17 ch_stars[Ch1 zeros (size (Chl)) zeros (size(Ch1)); zeros (size(Chi)} ChS zeros (size (Chi); zeros(size(Chi)) zeros(size(Ch1)) ChT]; Bh_star=[zeros (2,2) eye (2,2) :zer0s (2,2) seve (2,2) :zer0s (2,2) seve (2,2) ]# & Discrete servocompensator controller csysc=ss(Ch_star,Bh_star, eye (size (Ch_star, 1)), zeros (size (Ch_star,1),size(8h_star,2))); [esysbe, T]=sshal (esyse) ; caysd=c2d (esysbe, Tsamp, '20h') [Acon_d,Beon_d,Ccon_d, Deon_d sdata (csysd) 8 Augmented equivalent plant and the servo compensator Ad_big=(Ad zeros (size (Ad, 1), size(Acon_d,2)) ;-Beon_d*Ca Acon_d]; \\nd.ad. syredu\03\e49a1d\Documents\MATLAB\EL. ..\gains.m Page 3 -Beon_d*bd}; 8 Weighting matrices Q2neye (size (Acon_d, 1); Qlsstate_Wreye(size(Ad,1)); Q=[Q1 zeros (size (Ad, 1), size (Acon_d, 2)) ;zeros (size (Acon_d,1), size (Ad, 2)) 5e5*02]7 Reepsilonteye (2); % Gains optimization iige (Ad_big, 84_big, 0,8); % Create new state equatiions for the plant states equations ‘Tei_qdO=3/24tr*[1 sqrt (3) 0;-sart(3) 10]; § lye side current qd-transformation ‘Tev_qd0=1/2*tr*[1 -sqrt (3) ;sqrt (3) 17 0 0]; % Wye side voltage qd-transformation Ks=2/3* (cos (0) cos(0-2*pi/3) cos(0+2*pi/3);sin(0) sin(O-2¥pi/3) sin(O+2*pi/3) 1 1 117 Ksinveinw (Ks); § Model B and D input matrices Bsim= [zeros (2,2) seve (2,2) /Linv; zeros (3,2) zeros (3,2) 17 Deimezeros (13,2); § Three-phase full load Rload_f1=[RE1 0 00 Rf1 0; 0 0 REL]; Af1=[zeros (2,2) eye(2,2)/(3*Cinv) zeros (2,3) ~Tri_qdO/(3*Cinv); weye(2,2)/Linv zeros (2,2) zeros(2,3) zeros (2,3) zeros(3,2) zeros(3,2) -Ks¥inv(Rload_f1) *Ksinv/Cload eye (3,3) /Cload; ‘Trv_qdo/Ltrans zeros (3,2) -eye(3,3)/Ltrans -Rtrans*eye (3,3) /Ltrans]; [eve (10) }; [zeros (3,4) Ks*iny(Rload_f1) *Ksinv zeros (3,3) 117 § No load Rload_nl=[Rnl 0 0;0 Rnl 0;0 0 Rnl); zeros (2,2) eye (2,2)/(3*Cinv) zeros (2,3) ~Tri_qd0/(3*Cinv); eye (2,2) /Liny zeros (2,2) zeros (2,3) zeros(2,3); zeros(3,2) zeros (3,2) -Ks*inv(Rload_nl)*Ksinv/Cload eye (3, 3) /Cload ‘Tev_ad0/Ltrans zeros (3,2) ~eye(3,3)/Ltrans ~Rtrans*eye (3,3) /Ltrans]; cnl-[ [eye (10) 1; [zeros (3,4) Ks*inv(Rload_n1)*Ksiny zeros (3,3)11; 8 Single-phase load Rload_pi=[Rf1 0 070 Rni 0;0 0 Rail; Api=[zeros (2,2) eye(2,2)/(3*Cinv} zeros (2,3) ~Tri_ad0/(3*Cinv) ~eye (2,2) /liny zeros (2,2) zeros (2,3) zeros (2/3): zeros (3,2) zeros(3,2) —Ks*inv (Rload pl) *Ksinv/Clead eye (3, 3) /Cloads Tev_qd0/Ltrans zeros (3,2) ~eye(3,3)/btrans -Rtansteye (3,3) /Ltzans] [eye (10) J; [zer0s(3,4) Xstiny(Rlead pt) *Ksinv zeros (3,3) ]]7 cp: & Two-phase Load Rload_p2=[RE1 0 070 RE1 070 0 RnlI; Ap2= [zeros (2,2) eye(2,2)/(3*Cinv) zeros (2,3) ~Tri_qd0/(3*Cinv) ; ye(2,2)/Linv zeros (2,2) zeros(2,3) zeros (2,3)+ zeros(3,2) zeros(3,2) -Ks*iny(Rload_p2) *Ksinv/Cload eye (3,3) /Cload: \\nd.ad. syredu\03\e49a1d\Documents\MATLAB\EL. ..\gains.m Page 4 ‘Tev_qd0/Ltrans zeros (3,2) eye (3,3) /Ltrans ~Rtrans*eye (3,3) /Ltrans [eye (10); [zeros(3, 4) Xs#inv(Rload_p2)*Ksiav zeros (3,3) 1]; op: % Overload 5008 Rload_ov=[sqrt (RFl/ov) 0 0;0 sart(REl/ov) 00 0 sart(REl/ov) 1; Aor zeros(2,2) eye (2,2)/(3*Cinv) zeros (2,3) ~Tri_qd0/(3*Cinv); ~eye(2,2)/Linv zeros(2,2) zeros(2,3) zeros (2,3); zeros(3,2) zeros(3,2) -Ks*iny(Rload_ov) *Ksinv/Cload eye (3,3) /Cload: Tev_qd0/Ltrans zeros (3,2) ~eye (3,3) /Ltrans Rtrans*eye (3,3) /Ltrans); [eye (10) };(zer0s(3,4) Xs*inv(Rload_ov) *Ksiav zeros (3,3)]]+ % Short elzeult load Rload_se=[Rsc 0 070 Rsc 070 0 Rscl; Asc=[zeros (2,2) eye(2,2)/(3*Cinv) zeros (2,3) ~Tri_qd0/(3*Cinv) ; weye(2,2)/Linv zeros (2,2) zeros(2,3) zeros (2,3); zeros(3,2) zeros(3,2) -Ks*inv(Rload_sc) *Ksinv/Cload eye (3,3) /Cload ‘Trv_qdo/Ltrans zeros (3,2) -eye(3,3)/Ltrans -Rtrans*eye (3,3) /Ltrans]; [eye (10) }; [zeros (3,4) Xs*inv(Rload_sc) *Ksinv zeros (3,3) 117 csc:

You might also like