11
TEMA: MAQUINA SINCRONA Ref.: CHEE-MUN ONG: Dynamic Simulation of Electric Machinery using MATLAB/SIMULINK, PRENTICE HALL PTR

Fallas en Generadores Sincronos

Embed Size (px)

DESCRIPTION

fallas de generador

Citation preview

Page 1: Fallas en Generadores Sincronos

TEMA: MAQUINA SINCRONA

Ref.: CHEE-MUN ONG: Dynamic Simulation of Electric Machinery using MATLAB/SIMULINK,

PRENTICE HALL PTR 

Page 2: Fallas en Generadores Sincronos

PROYECTO 2:Falla en los Terminales de un Generador

Síncrono

El propósito de este Ejercicio es examinar la respuesta de un generador sincrónico operando a valores fijados de velocidad del rotor y de tensión de excitación ante diferentes clases de fallas

eléctricas en los terminales del estator.

Page 3: Fallas en Generadores Sincronos

El primer paso será hacer una copia del archivo S1 de SIMULINK y modificar esa copia para poder simular los siguientes tipos de falla en terminales del estator:1. Falla trifásica metálica (sin impedancia de falla)2. Falla de fase a fase entre las fases b y c con contacto a tierra3. Falla monofásica a tierra en la fase a Verifique su simulación utilizando el conjunto 2 (Set 2) de parámetros del generador sincrónico dado en la Tabla 7.2 con la ayuda del archivo m1_gc.m (modelo s1_gc.mdl) de MATLAB.

Page 4: Fallas en Generadores Sincronos

La simulación así modificada le debe permitir a Ud. simular la condición de aplicar cualquier tipo de falla directamente a los terminales del estator de la máquina los que están inicialmente a circuito abierto (máquina en vacío). Fije la inercia en un valor grande, digamos 999, para mantener la velocidad del rotor constante sobre un breve período antes y durante el cortocircuito. Edite las condiciones iniciales especificadas en el archivo m1 para arrancar su simulación con la máquina funcionando a velocidad sincrónica, a circuito abierto y con tensión nominal en sus terminales. (a)Cuando los transitorios iniciales se han atenuado, aplique un cortocircuito trifásico en el instante del valor de pico de . Registre las respuestas de . Compare las formas de onda de las corrientes de falla con aquéllas dadas en los textos estándar sobre máquinas eléctricas. Repita la corrida con el cortocircuito aplicado en el instante en que . Comente sobre las diferencias en las componentes unidireccionales de la corriente de cortocircuito en los dos casos simulados. (b)Cuando los transitorios iniciales se han atenuado, aplique un cortocircuito de fase a fase entre las fases b y c en el instante correspondiente al valor de pico de . Registre las respuestas de .

(c)Cuando los transitorios iniciales se han atenuado, aplique un cortocircuito de fase a trierra en la fase a en el instante correspondiente al valor de pico de . Registre las respuestas de .

Page 5: Fallas en Generadores Sincronos

Simulación S1de un generador síncrono

Page 6: Fallas en Generadores Sincronos

A continuación simularemos en MATLAB • clear variables;• • % seleccionamos el archivo con los parametros de la maquina para entrar en el area de trabajo de MATLAB• disp('introduzca nombre del archivo de parametros de la maquina .m')• disp('ejemplo: set1 or set3c')• setX = input('Input machine parameter filename > ','s')% string s• eval(setX); % evaluate MATLAB command• • • % Calculo de las cantidades de base• we = 2*pi*Frated;• wbase = 2*pi*Frated;• wbasem = wbase*(2/Poles);• Sbase = Prated/Pfrated;• Vbase = Vrated*sqrt(2/3); % Use peak values as base quantites • Ibase = sqrt(2)*(Sbase/(sqrt(3)*Vrated));• Zbase = Vbase/Ibase;• Tbase = Sbase/wbasem;• • % Calculo de los parametros del circuitoequivalente dq0• • if(xls ==0) xls = x0 % assume leakage reactance = zero_sequence• end• • xmq = xq - xls;• xmd = xd - xls;• • xplf = xmd*(xpd - xls)/(xmd - (xpd-xls));• • xplkd = xmd*xplf*(xppd-xls)/(xplf*xmd - ...• (xppd-xls)*(xmd+xplf));•

Page 7: Fallas en Generadores Sincronos

• xplkq = xmq*(xppq - xls)/(xmq - (xppq-xls));• • rpf = (xplf + xmd)/(wbase*Tpdo);• • rpkd = (xplkd + xpd - xls)/(wbase*Tppdo);• • rpkq = (xplkq + xmq)/(wbase*Tppqo);• • % Convirtiendo los parametros del circuito dq0 a sistemas por unidad• • if(Perunit == 0) % parameters given in Engineering units• fprintf('Dq0 circuit paramters in per unit\n')• • H = 0.5*J_rotor*wbasem*wbasem/Sbase;• rs = rs/Zbase;• xls = xls/Zbase;• • xppd = xppd/Zbase;• xppq = xppq/Zbase;• xpd = xpd/Zbase;• xpq = xpq/Zbase;• • x2 = x2/Zbase;• x0 = x0/Zbase;• • xd = xd/Zbase;• xq = xq/Zbase;• • xmd = xmd/Zbase;• xmq = xmq/Zbase;• • rpf = rpf/Zbase;• rpkd = rpkd/Zbase;• rpkq = rpkq/Zbase;• • xplf = xplf/Zbase;• xplkd = xplkd/Zbase;• xplkq = xplkq/Zbase;

Page 8: Fallas en Generadores Sincronos

• %****************************************************• % condicones iniciales establecidas para la simulacion puesta en marcha• • wb=wbase;• xMQ = (1/xls + 1/xmq + 1/xplkq)^(-1);• xMD = (1/xls + 1/xmd + 1/xplf + 1/xplkd)^(-1);• • % especifique las codiciones de las listas operativas deseadas• • P = 1.0;% especifique el rango e incremento • Q = 0; % y la energia reactiva de salida, • % P is negative for motoring • Vt = 1. + 0*j; % especifique el voltaje terminal• thetaeo = angle(Vt); % ingrese el angulo del voltaje • Vm = abs(Vt);• St = P+Q*j; % generated complex power• • • % Use steady-state phasor equations to determine• % steady-state values of fluxes, etc to establish good • % initial starting condition for simulation• % - or good estimates for the trim function• • % It - phasor current of generator• % St - complex output power of generator• % Vt - terminal voltage phasor• % Eq - Voltage behind q-axis reactance • % I - d-q current with q axis align with Eq• • It = conj(St/Vt);• Eq = Vt + (rs + j*xq)*It; • delt = angle(Eq); % angle Eq leads Vt•

Page 9: Fallas en Generadores Sincronos

• • Psiado = xmd*(-Ido + Ifo);• Psiaqo = xmq*(-Iqo);• • Psiqo = xls*(-Iqo) + Psiaqo;• Psido = xls*(-Ido) + Psiado;• Psifo = xplf*Ifo + Psiado;• Psikqo = Psiaqo;• Psikdo = Psiado;• • Vto = Vt*(cos(delt) - sin(delt)*j);• Vqo = real(Vto);• Vdo = -imag(Vto);• Sto = Vto*conj(I);• Eqpo = Vqo + xpd*Ido + rs*Iqo;• Edpo = Vdo - xpq*Iqo + rs*Ido;• • delto = delt;% initial value of rotor angle• thetaro = delto+thetaeo;% thetar(0) in variable frequency oscillator• Pemo = real(Sto);• Qemo = imag(Sto);• Tmech = Pemo;• • T2piby3 = 2*pi/3; % phase angle of bus phase voltages• • % estableciendo lazo para repetir casos multiples usando lo mismo• % iniciando condicion• • repeat_option = 2 ; % set initially to 2 to repeat yes for more cases• while repeat_option == 2• • % eleccion de disturbio • disp('las elecciones de disturbio')• opt_dist = menu('su eleccion de disturbio? ','el cambio de paso en Eex', 'el cambio de paso en Tmech','el cambio de paso en Vm')• • if (opt_dist == 1) % el cambio de paso en Eex• tstop = 5; % tiempo de ejecucion• Vm_time = [0 tstop];• Vm_value = [1 1]*Vm; % Bus voltage siguio constante• tmech_time = [0 tstop];• tmech_value = [1 1]*Tmech; % Tmech siguio constante• Ex_time = [0 0.2 0.2 tstop];• Ex_value = [1 1 1.1 1.1]*Efo; % el cambio de paso en Eex • disp(' la secuencia de disturbio en Eex es ')• Ex_time • Ex_value• end % si para el cambio de paso en Eex

Page 10: Fallas en Generadores Sincronos

• if (opt_dist == 2) % el cambio de paso en Tmech• tstop = 5; % tiempo de ejecucion• Vm_time = [0 tstop];• Vm_value = [1 1]*Vm; % Bus voltaje sigue constante• tmech_time = [0 0.5 0.5 3 3 tstop];• tmech_value = [1 1 0 0 -1 -1]*Tmech; % cambio de paso en Tmech • Ex_time = [0 tstop];• Ex_value = [1 1]*Efo; % Eex sigue constante • disp(' secuencia de disturbio en Tmech es ')• tmech_time• tmech_value• end % si para el cambio de paso en Tmech• • if (opt_dist == 3) % el cambio de paso en Vm• tstop = 1.5; % tiempo de ejecucion• tmech_time = [0 tstop];• tmech_value = [1 1]*Tmech; % cambio de paso en Tmech • Ex_time = [0 tstop];• Ex_value = [1 1]*Efo; % Eex siguio constante • disp('ponga en fase la falla del terminal de corto cirvuito')• disp('sera aplicado en 0.1 segundos lugar en la simulacion')• ncycle = input('Entre el numero de ciclos deseados> ')• tfault = ncycle/Frated; % tiempo de falla• tfstart = 0.1; % establecio falla en 0.1 sec en la simulacion• Vm_time = [0 tfstart tfstart (tfstart+tfault) (tfstart+tfault) tstop];• Vm_value = [1 1 0 0 1 1]*Vm; % Vm es cero durante el cortocircuito• disp(' la secuencia de disturbio en Vm es ')• Vm_time % print array• Vm_value % print array• end % if for step change in Vm• % Transfer para teclado para la simulacion• disp('Simulacion s1.m esta listo ahora para correr,');• disp(' usted todavia puede introducir cambios para los paarmetros o los valores de aporte')• disp(' por la ventana MATLAB antes de correr a s1')• disp('Ater corriendo s1, type ''return'' for plots');• keyboard• clf;•

Page 11: Fallas en Generadores Sincronos

• subplot(4,1,1)• plot(y(:,1),y(:,2),'-')• ylabel('|Vt| in pu')• axis([-inf inf 0.9 1.1])• title('la magnitud del voltaje del estator')• subplot(4,1,2)• plot(y(:,1),y(:,3),'-')• ylabel('|It| in pu')• axis([-inf inf 0 inf])• title('la magnitud de la corriente del estator')• subplot(4,1,3)• plot(y(:,1),y(:,4),'-')• ylabel('Pgen in pu')• title('el verdadero poder generado')• subplot(4,1,4)• plot(y(:,1),y(:,5),'-')• ylabel('Qgen in pu')• xlabel('time in sec')• title('Reactive power generated')• • h2=figure;• subplot(4,1,1)• plot(y(:,1),y(:,6),'-')• ylabel('Delta in rad')• title('Power angle delta')• subplot(4,1,2)• plot(y(:,1),y(:,7),'-')• ylabel('Tem in pu')• title('la fuerza de torcion electrica instantanea')• subplot(4,1,3)• plot(y(:,1),y(:,8),'-')• ylabel('If in pu')• title('Field current')• subplot(4,1,4)• plot(y(:,1),y(:,9),'-')• ylabel('ia in pu')• xlabel('time in sec')• title('Instantaneous phase a current')• • disp('Save plots array before typing return to exit')• keyboard• close (h2)• % prompt for options to repeat over with determination of Ipm• % for new terminal condition or• % just with new parameters, eg inertia or loading.• repeat_option = menu('Repeat run?,','Quit','Repeat run');• if isempty(repeat_option) % if empty return a 1 to terminate• repeat_option = 1;• end % if isempty• end % while repeat for another runs