Вы находитесь на странице: 1из 16

COE759 Introduo ao Controle de Sistemas de Potncia Lista de Exerccios # 02 Problema 1

Figura 1

Item 1.:

Resoluo: Para a obteno do ganho como pedido foi desenvolvida a seguinte rotina no programa Matlab:
clc clear all close all % Definindo as Funes de Transferncia P(s) e H(s) e a FTMA: P=tf([1],conv([4 1],[0.5 1])) H=tf([1],[0.01 1]) FTMA=P*H % Plotando o RL com sgrid: rlocus(P*H) sgrid

Resultados: O lugar das razes obtidos em detalhes est representado pela Figura 2 e Figura 3. Na ltima, pode-se observar o valor do ganho Kp = 32,7 para o amortecimento de 0,25 e plos em 1.02j3.96 assim como pedido.

Figura 2

Figura 3

Item 2.:

Resoluo: Para a plotagem da resposta ao degrau unitrio em r(s) para diferentes valores do ganho Kp e obteno do ganho que proporcione um overshoot de aproximadamente 15%, foi elaborada a rotina apresentada a seguir. Esta rotina busca o valor do Kp para que proporcione o overshoot referido com um erro menor que 1% e plota a resposta ao degrau em r(s) para cada valor de kp analisado. A rotina utiliza a funo tstats com algumas modificaes. Esta funo, renomeada para tstats_antigo apresentada tambm em seguida.
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s):

numH=[1]; denH=[0.01 1]; % Busca por k em que o overshoot seja prximo a 15% % Tentativa inicial para o ganho k: k=1; mor=15; % mor: overshoot de referncia (15%) er=99; % er: erro percentual de overshoot mo=99; % mo: overshoot while (er>1) && (mo>0) % Obteno da FTMF=Y(s)/R(s): pc=conv(denP,denH)+conv(numP,conv(numH,k)); FTMF=tf(conv(k,conv(numP,denH)),pc); [y,t]=step(FTMF); mo=tstats_antigo(t,y,1) if mo==99 k=k+10; else er=abs(mo-mor)*100/mor step(FTMF) hold on k=k-er/50; end end grid on

Funo tstats modificada:


function [Mo,tp,tr,ts,ess] = tstats_antigo(t,y,ref) %TSTATS [Mo,tp,tr,ts,ess] = tstats(t,y,ref) % Takes a time vector and a corresponding % step-response vector and returns time-domain % performance measures. %Inputs: t - time vector % y - step response corresponding to t % ref - reference level at steady-state %Outputs: Mo - percent overshoot % tp - time to peak % tr - rise time (10% - 90%) % ts - settling time (2%) % ess - percent steady-state Error % %If the reference level, 'ref', is not specified, 1.0 is assumed. %%%%%%%%%%%%%%%%%%%%% tstats.m %%%%%%%%%%%%%%%%%%%%%% % Feedback Control Problems with MATLAB % and the Control System Toolbox % D. K. Frederick and J. H. Chow, Nov. 94 %---------------------------------------------------if nargin < 3 ref = 1; disp('reference value set = 1.0') end % [maxy,itp] = max(y); tp = t(itp); Mo = 100*(maxy - ref)/ref; if Mo < 0 Mo = 99; end

% i10 = min(find(y>=0.1*ref)); i90 = min(find(y>=0.9*ref)); if i10 > 0 & i90 < length(y) delt = t(2)-t(1); t10 = t(i10) - delt*(y(i10)-0.10*ref)... /(y(i10)-y(i10-1)); t90 = t(i90) - delt*(y(i90)-0.90*ref)... /(y(i90)-y(i90-1)); tr = t90 - t10; else tr = []; end % is = max(find(abs(y - ref*ones(size(y)))/ref>0.02)); if is < length(y) ts = t(is + 1); else ts = 99; end % ess = abs(100*(y(length(y)) - ref)/ref); %%%%%%%%%%%%%%%%%% end of tstats_antigo.m %%%%%%%%%%%%%%%%%%

Resultados: Na Figura 4 est apresentada a resposta ao degrau unitrio em r(s) para diferentes valores de kp. Na Tabela 1 esto apresentados os valores de k analisados pela rotina, correspondente overshoot proporcionado e o erro deste em relao ao overshoot desejado (15%). Destes, o valor selecionado de k=7,3538, que representa um overshoot mais prximo do desejado.
Tabela 1

K 1 11 9,1082 8,0498 7,5802 7,4092 7,3538

Overshoot 29,1883 22,9381 18,5224 16,2819 15,4156 15,1341

erro % 94,5887 52,9209 23,4825 8,5460 2,7704 0,8940

Figura 4

Item 3.:

Resoluo: Para a plotagem da resposta ao degrau em r(s) e d(s) com o valor de Kp=7,3538 obtido no item anterior e a obteno do valor em regime permanente correspondente foi elaborada a rotina no programa Matlab a seguir:
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s): numH=[1]; denH=[0.01 1]; k=7.3537 % Descrio das funes de Transferncia em malha fechada: pc=conv(denP,denH)+conv(numP,conv(numH,k)); % Polinmio caracterstico FTMFYR=tf(conv(k,conv(numP,denH)),pc) % FT malha fechada de Y(s)/R(s) FTMFYD=tf(conv(numP,denH),pc) % FT malha fechada de Y(s)/D(s) yrpYR=dcgain(FTMFYR) % y(t) em regime para R(s)=1/s yrpYD=dcgain(FTMFYD) % y(t) em regime para D(s)=1/s step(FTMFYR,FTMFYD) legend('y(t) para R(s)=1/s','y(t) para D(s)=1/s') grid on

Resultados: A resposta aos degraus est representada pela Figura 5, com os valores de y(t) em regime permanente iguais a 0.8803 e 0.1197, para o degrau unitrio em r(s) e d(s), respectivamente.

Figura 5

Problema 2 Item 1.:

Resoluo: Para a obteno dos ganhos Kp e Ki os quais proporcione as caractersticas desejadas foi elaborada a rotina no Matlab apresentada em seguir. A rotina faz uma varredura para valores de kp e ki de 0.1 a 5 com o passo de 0.05, os valores para os quais so satisfeitos os critrios de tempo de assentamento e overshoot so armazenados em um vetor denominado soluo. Nesta rotina, foi ainda utilizada uma funo elaborada para a soma de polinmios de diferentes dimenses. Esta funo, chamada de somapoly apresentada em seguida.
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s): numH=[1]; denH=[0.01 1]; % Varredura de todos os ki e kp entre 0.1 e 5 que satisfaam as especificaes: n=1; for kp=0.1:0.05:5 for ki=0.1:0.05:5 numk=[kp ki]; denk=[1 0]; pc=somapoly(conv(denk,conv(denP,denH)),conv(numP,conv(numH,numk))); FTMF=tf(conv(numk,conv(numP,denH)),pc); [y,t]=step(FTMF); [mo,tp,tr,ts,ess]=tstats_antigo(t,y,1); if (mo<10) && (ts<2.5) solucao(n,1)=kp; solucao(n,2)=ki; solucao(n,3)=mo;

solucao(n,4)=ts; n=n+1; end end end

Funo somapoly desenvolvida:


function [c]=somapoly(a,b) if length(a)==length(b) c=a+b; else if length(a)>length(b) M=a; m=b; else M=b; m=a; end while length(M)>length(m) m=[0 m]; end c=M+m; end

Resultados: A Tabela 2 apresenta os valores de kp e ki obtidos e respectivos percentuais de overshoot e tempo de assentamento. Dentre os valores obtidos, foi escolhido o par menor par kp e ki que atende os critrios, no caso, kp=3.85 e ki=0.85.
Tabela 2

Kp 3,85 3,90 3,95 4,00 4,05 4,10 Item 2.:

ki 0,85 0,85 0,85 0,85 0,85 0,85

mo 1,8277 1,7944 1,7680 1,7469 1,7329 1,7276

ts 2,4450 2,4414 2,4379 2,3827 2,3796 2,3249

Resoluo: Para a plotagem da resposta ao degrau unitrio em r(s) e d(s) e obteno de y(t) em regime permanente foi desenvolvida a seguinte rotina no Matlab:
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s): numH=[1];

denH=[0.01 1]; % Descrio de k kp=4.1; ki=0.85; numk=[kp ki]; denk=[1 0]; % Descrio das funes de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denP,denH)),conv(numP,conv(numH,numk))); Polinmio caracterstico FTMFYR=tf(conv(numk,conv(numP,denH)),pc); % FT malha fechada de Y(s)/R(s) FTMFYD=tf(conv(denk,conv(numP,denH)),pc); % FT malha fechada de Y(s)/D(s) % Obteno do valor final para cada resposta: yrpYR=dcgain(FTMFYR) % y(t) em regime para R(s)=1/s yrpYD=dcgain(FTMFYD) % y(t) em regime para D(s)=1/s % Resposta ao degrau em cada caso: step(FTMFYR,FTMFYD) legend('y(t) para R(s)=1/s','y(t) para D(s)=1/s') grid on

Resultados: A Figura 6 apresenta as respostas ao degrau unitrio em r(s) e d(s) como pedido. Nota-se que neste caso a resposta tem valor em regime igual a 1, ou seja, igual ao sinal de referncia, e a sada para o degrau unitrio em d(s) nula em regime, representando a rejeio ao distrbio. Essa caracterstica tipica dos reguladores integradores, garantindo o erro de regime nulo.

Figura 6

Problema 3 Resoluo: Para a obteno dos ganhos Kp, Ki e Kd os quais proporcione as caractersticas desejadas foi elaborada a rotina no Matlab apresentada em seguir. A rotina faz uma varredura para valores

de kp, ki e kd de 1 a 50 com o passo de 1 unidade. Assim como na rotina utilizada no problema 2, os valores para os quais so satisfeitos os critrios de tempo de assentamento, tempo de resposta e overshoot so armazenados em um vetor denominado soluo. Nesta rotina, foi ainda utilizada uma funo somapoly apresentada anteriormente. A rotina elaborada para a plotagem da resposta ao degrau unitrio em r(s) e d(s) para um dos resultados obtidos est apresentada em seguida.
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s): numH=[1]; denH=[0.01 1]; % Varredura de todos os ki e kp entre 0.1 e 5 que satisfaam as especificaes: n=1; for kp=1:1:50 for ki=1:1:50 for kd=1:1:50 numk=[kd kp ki]; denk=[1 0]; pc=somapoly(conv(denk,conv(denP,denH)),conv(numP,conv(numH,numk))); FTMF=tf(conv(numk,conv(numP,denH)),pc); [y,t]=step(FTMF); [mo,tp,tr,ts,ess]=tstats_antigo(t,y,1); if (mo<10) && (ts<4.5) && (tr<0.1) solucao(n,1)=kd solucao(n,2)=kp; solucao(n,3)=ki; solucao(n,4)=mo; solucao(n,5)=ts; solucao(n,6)=tr; n=n+1; end end end end

Rotina elaborada para a plotagem da resposta ao degrau unitrio em r(s) e d(s), nesse caso foi utilizado os seguintes valores para as constantes: kp=14, kd=50 e ki=6.
clc clear all close all % Descrio da funo de Transferncia P(s): numP=[1]; denP=conv([4 1],[0.5 1]); % Descrio da funo de Transferncia H(s): numH=[1]; denH=[0.01 1]; % Descrio de k kp=14; ki=6; kd=50;

numk=[kd kp ki]; denk=[1 0]; % Descrio das funes de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denP,denH)),conv(numP,conv(numH,numk))); Polinmio caracterstico FTMFYR=tf(conv(numk,conv(numP,denH)),pc); % FT malha fechada de Y(s)/R(s) FTMFYD=tf(conv(denk,conv(numP,denH)),pc); % FT malha fechada de Y(s)/D(s) % Obteno do valor final para cada resposta: yrpYR=dcgain(FTMFYR) % y(t) em regime para R(s)=1/s yrpYD=dcgain(FTMFYD) % y(t) em regime para D(s)=1/s % Resposta ao degrau em cada caso: step(FTMFYR,FTMFYD) legend('y(t) para R(s)=1/s','y(t) para D(s)=1/s') grid on

Resultados: Foram inmeros os valores de kd, kp e ki obtidos pela rotina apresentada os quais atendem as especificaes pedidas, dentre eles foram escolhidos os seguintes: Kd=50, Kp=14 e Ki=6 Os valores do percentual de overshoot, tempo de assentamento e tempo de resposta respectivos so os seguintes: Mo=1,4492 %, Ts=4,1986 s e Tr=0,083208 s Aplicados os valores dos ganhos descritos na segunda rotina apresentada, foi obtido a resposta ao degrau em r(s) e d(s) apresentada na Figura 7.

Figura 7

Nota-se que o valor em regime para degrau unitrio em r(s) igual a 1 e igual a 0 para o degrau unitrio em d(s), assim como no caso do problema 2, por apresentar uma parcela integradora no regulador. A dinmica entretanto entre ambos difere. A resposta neste caso significativamente mais rpida devido a parcela derivativa. Observando a Figura 5, Figura 6 e

Figura 7, possvel verificar as alteraes na resposta ao degrau utilizando cada um dos tipo de reguladores, vale ressaltar: (i) eliminao do erro em regime em reguladores integradores, (ii) tempo de resposta mais rpido em reguladores derivadores e (iii) uma maior liberdade na escolha dos valores nos ganhos na medida que foram aumentando as parcelas dos reguladores (proporcional, integrador e derivador).

Problema 4 Resoluo e resultados manuscritos, exceto para a lista de especificaes, apresentadas a seguir: Item 1.:

Resoluo: Para a simulao da resposta temporal foi elaborada a seguinte rotina no Matlab:
clc clear all close all % Tw: Cte de tempo da gua % D: cte de amortecimento da carga % H: cte de inrcia do gerador % Descrio da funo de Transferncia T(s) da turbina hidrulica: Tw=1.5; %[s] numT=[-Tw 1]; denT=[Tw/2 1]; T=tf(numT,denT) % Descrio da funo de Transferncia G(s) do gerador: D=0.5; %[pu] H=5;%[s] numG=[1]; denG=[2*H D]; G=tf(numG,denG) P=T*G % Plotando a resposta a perturbao de 10% em Gd step(-0.1*P) grid on

Resultados: A Figura 8 apresenta a resposta temporal do sistema para a variao da posio da vlvula, assim como pedido.

Figura 8

Item 2.:

Primeiro estgio: Resoluo: Para a simulao da resposta temporal do sistema em malha fechada foi elaborada a seguinte rotina no Matlab. Nesta, foi utilizado um valor de Ki=0,1.
clc clear all close all % Tw: Cte de tempo da gua % D: cte de amortecimento da carga % H: cte de inrcia do gerador % Descrio da funo de Transferncia T(s) da turbina hidrulica: Tw=1.5; %[s] numT=[-Tw 1]; denT=[Tw/2 1]; % Descrio da funo de Transferncia G(s) do gerador: D=0.5; %[pu] H=5;%[s] numG=[1]; denG=[2*H D]; % Descrio do regulador k ki=0.1; numk=[ki]; denk=[1 0]; % Descrio da funo de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denT,denG)),conv(numk,conv(numT,numG))); Polinmio caracterstico FTMF=tf(conv(denk,conv(numT,denG)),pc); % FT malha fechada de Y(s)/Gd(s)

% Obteno do valor final: yrp=dcgain(-0.1*FTMF) % Resposta ao degrau: step(-0.1*FTMF) grid on

Resultados: A Figura 9 apresenta a resposta temporal do sistema do primeiro estgio em malha fechada para a variao da posio da vlvula como proposto. Nota-se que o erro em regime anulado. A sada tem valor anulado em regime para a perturbao proposta.

Figura 9

Segundo estgio: Resoluo: Para a simulao da resposta temporal do sistema em malha fechada foi elaborada a seguinte rotina no Matlab. Nesta, foi utilizado um valor de Ki=1 e Rp=0.3.
clc clear all close all % Tw: Cte de tempo da gua % D: cte de amortecimento da carga % H: cte de inrcia do gerador % Descrio da funo de Transferncia T(s) da turbina hidrulica: Tw=1.5; %[s] numT=[-Tw 1]; denT=[Tw/2 1]; % Descrio da funo de Transferncia G(s) do gerador: D=0.5; %[pu] H=5;%[s] numG=[1];

denG=[2*H D]; % Descrio do regulador k ki=1; Rp=0.3; numk=[ki]; denk=[1 Rp*ki]; % Descrio das funes de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denT,denG)),conv(numk,conv(numT,numG))); Polinmio caracterstico FTMF=tf(conv(denk,conv(numT,denG)),pc); % FT malha fechada de Y(s)/Gd(s) % Obteno do valor final: yrp=dcgain(-0.1*FTMF) % Resposta ao degrau: step(-0.1*FTMF) grid on

Resultados: A Figura 10 apresenta a resposta temporal do sistema do segundo estgio em malha fechada para a variao da posio da vlvula como proposto. Nota-se que o erro em regime no mais anulado. A sada tem valor em regime diferente de zero devido ao estatismo implementado.

Figura 10

Terceiro estgio: Resoluo: Para a simulao da resposta temporal do sistema em malha fechada foi elaborada a seguinte rotina no Matlab. Nesta, foi utilizado um valor de Ki=1, Rp=0.05, Rt=0.33375 e Tr=7.125.
clc clear all

close all % Tw: Cte de tempo da gua % D: cte de amortecimento da carga % H: cte de inrcia do gerador % Descrio da funo de Transferncia T(s) da turbina hidrulica: Tw=1.5; %[s] numT=[-Tw 1]; denT=[Tw/2 1]; % Descrio da funo de Transferncia G(s) do gerador: D=0.5; %[pu] H=5;%[s] numG=[1]; denG=[2*H D]; % Descrio do regulador k numk=[7.125 1]; denk=[7.125 3.7339 0.05]; % Descrio da funo de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denT,denG)),conv(numk,conv(numT,numG))); Polinmio caracterstico FTMF=tf(conv(denk,conv(numT,denG)),pc); % FT malha fechada de Y(s)/Gd(s) % Obteno do valor final: yrp=dcgain(-0.1*FTMF) % Resposta ao degrau: step(-0.1*FTMF) grid on

Resultados: A Figura 11Figura 10 apresenta a resposta temporal do sistema do terceiro estgio em malha fechada para a variao da posio da vlvula como proposto. Nota-se que o erro em regime no mais anulado, porm minimizado se comparado com o caso anterior.

Figura 11

Item 3.:

Resoluo: Para a obteno dos parmetro para que se tenha as magens de ganho e fase pedidas foi elaborada a seguinte rotina no Matlab:
clc clear all close all % Tw: Cte de tempo da gua % D: cte de amortecimento da carga % H: cte de inrcia do gerador % Descrio da funo de Transferncia T(s) da turbina hidrulica: Tw=1.5; %[s] numT=[-Tw 1]; denT=[Tw/2 1]; % Descrio da funo de Transferncia G(s) do gerador: D=0.5; %[pu] H=5;%[s] numG=[1]; denG=[2*H D]; % Descrio do regulador k(s) ki=1 Rp=0.05 % Varredura para encontrar Tr e Rt n=1; for Tr=1:0.1:10 for Rt=0.1:0.1:1 numk=[ki*Tr ki]; denk=[Tr ki*Tr*(Rp+Rt)+1 Rp*ki]; % Descrio da funo de Transferncia em malha fechada: pc=somapoly(conv(denk,conv(denT,denG)),conv(numk,conv(numT,numG))); % Polinmio caracterstico FTMF=tf(conv(numk,conv(numT,numG)),pc); % FT malha fechada de Y(s)/Gd(s) % Obteno do valor final: [MG,MF]=margin(FTMF); if ((20*log10(MG)>=10) && (MF>=40)) solucao(n,1)=Tr; solucao(n,2)=Rt; solucao(n,3)=20*log10(MG); solucao(n,4)=MF; n=n+1; end end end

Resultados: Foram inmeros os valores de Rt e Tr obtidos pela rotina apresentada os quais atendem as especificaes pedidas, dentre eles foram escolhidos os seguintes: Tr=5.1 e Rt=1 Os valores da margem de ganho e margem de fase correspondente ao valores selecionados so os seguintes: MG=11,7479 dB e MF=53,8322

Вам также может понравиться