Anda di halaman 1dari 8

PROJETO DE CONTROLADOR

FEVEREIRO-2014

Projeto de Controlador

Deve-se projetar um controlador para um sistema cuja funo de transferncia


em malha aberta dada a seguir. Sabendo que a realimentao unitria e
negativa, projete um controlador que produza um Overshoot de 18 % e tempo de
acomodao de 2 segundos e plote os grficos em MATLAB da funo com e
sem o controlador.

Cdigo do prgrama
clear all
clc

% Programa para plotar a resposta de uma funo de


transferncia em malha
% fechada sem e com controlador.

% Funo de transferncia escolhida em malha aberta G(s) =


7/s(s + 2)

fprintf('Programa para plotar a resposta de uma funo de


transfer~encia sem e com controlador PD')

%_____________________________________________________________

% Em malha fechada a funo de transferncia G(s) = 7/s +


2s + 7

% Por comparao com a equao caracterstica de um sistema


amortecido de
% segunda ordem, tem-se que o a frequncia natural no
amortecida (wn)
% igual a raiz quadrada de 7 e o fator de amortecimento(z)
2/2wn.

% Clculo da frequncia e do amortecimento:


wn = sqrt(7);

% Frequncia natural

z = 2/(2*wn);

% Fator de amortecimento

% A FUNO DE TRANSFERNCIA SEM CONTROLADOR (Forma


polinomial):

num = [7];

% Numerador da equao caracterstica

den = [1 2 7];

% Denominador da equao Caracterstica

% resposta da funo de transferncia em malha fechada usando


o comando
% step

t = 0:0.005:10;

% Variao do tempo

[y,x,t] = step(num,den,t);

%_____________________________________________________________

% Comportamento do sistema sem controlado (Overshoot e tempo


de acomodao)

r = 1; while y(r)<1.0001;
r = r+1;

end;

% Y nximo
[ymax,tp] = max(y);

% Mximo Sobressinal (Overshoot)

max_overshoot = ymax - 1;
Mp = max_overshoot*100;

fprintf('O Overshoot %f (em porcentagem) \n\n', Mp)

%Tempo de acomodao para 2%


s = 1001; while y(s)>0.98 & y(s)<1.02;
s = s -1;

end

Ts = (s-1)*0.005;
fprintf('O tempo de acomodao de %f segundos. \n\n\n', Ts)

%
______________________________________________________________

% PARA FUNO DE TRANSFERNCIA COM CONTROLADOR

% pedido que o controlador possa reduzir o Overshoot para 18


% e o tempo
% de acomodao para 2 segundos.

fprintf('O controlador deve reduzir o Overshoot para 18 por


cento e o Tempo de acomodao para 2 segundos. \n\n\n')

%O Controlador projetado foi um PD


fprintf('O Controlador projetado um PD. \n\n')

% Para cumprir a exigncia calculamos o fator de amortecimento


z e a

% frequncia natural.

%Para Mp = 18 por cento:


z1 = sqrt((log(.18)^2)/(pi^2 + (log(.18))^2)); % Fator de
amortecimento

% Para Ts = 2 segundos:
wn1 = 4/(2*z1);

% Frequncia

natural

% Por meio de z1 e wn1 projetou-se um controlador PD,

% A funo de transferncia com o controlador pode ser escrita


por
% polinmios como:

num1 = [1.092 9.5];

% Numerador da equao caracterstica

den1 = [1 3.092 9.5];

% Denominador da equao caracterstica

% Resposta da funo de transferncia em malha fechada usando


o comando
% step

t = 0:0.005:10;

% Variao do tempo

[y1,x1,t] = step(num1,den1,t);

%_____________________________________________________________
______

% Comportamento do sistema com o controlador:

r = 1; while y(r)<1.0001;
r = r+1;

end;

% Y mximo
[ymax1,tp] = max(y1);

% Mximo Sobressinal ( Overshoot)


max_overshoot = ymax1 - 1;
Mp = max_overshoot*100;

fprintf('O Overshoot %f (em porcentagem) \n\n', Mp)

%Tempo de acomodao para 2%


s = 1001; while y1(s)>0.98 & y1(s)<1.02;
s = s -1;

end

Ts = (s-1)*0.005;
fprintf('O tempo de acomodao de %f segundos. \n\n', Ts)

%_____________________________________________________________
______

% Plotagem de Grficos

subplot(211)
plot(t,y,'k'), grid
ylabel('Y(t)')
xlabel('Tempo(s)')
title('Resposta de uma funo de transferncia em malha
fechada')

subplot(212)
plot(t,y1, 'k'), grid
ylabel('Y(t)')
xlabel('Tempo(s)')

Anda mungkin juga menyukai