laboratório de teoria de controle - ufpb · bode resposta em frequência: módulo e fase nyquist...
TRANSCRIPT
Laboratório de Teoria de Controle
Prof. Juan Moises Mauricio Villanueva
www.cear.ufpb.br/juan
E-mail: [email protected]
Principais Comandos Usados Em Teoria De Controle
Funções de Construção de Modelos
tf Modelo representado como uma Função de Transferência
ss Modelo representado em Espaço de Estados
[Num,Den]=ss(A,B,C,D,iu) Calcula os vetores Num e Den que contem os coeficientes em ordem descendente de potencias de “s”, do numerador e denominador da função de transferência expressada como um polinômio para a iu-ésima entrada.
Os argumentos de entrada A, B, C e D são as matrizes das equações de espaço de estados, em que iu é o
número da entrada no caso de sistema MIMO. No caso de sistema SISO, iu é 1.
Funções de Conversão de Modelos
c2d Espaço de estados continua a espaço de estados discreto
residue Expansão de frações parciais
( ) (1) (2) ( )( ) ... ( )
( ) (1) (2) ( )
Num s R R R nH s K s
Den s s P s P s P n
ss2tf Espaço de estados a função de transferência
ss2zp Espaço de estados a zero-polo-ganho
1 2
1 2
( )( )...( )( )
( )( )...( )
n
m
s z s z s zH s k
s p s p s p
tf2ss Função de transferência a espaço de estados
tf2zp Função de transferência a zero-polo-ganho
zp2ss Zero-polo-ganho a espaço de estados
zp2tf Zero-polo-ganho a função de transferência
clc
close all
clear
%Funções de conversão de modelos
%Data 17-03-2019
%Autor Prof .Juan
A = [0 1 0;0 0 1;-24 -26 -9];
B = [0 0 1]';
C = [1 1 0];
D = 0;
%Modelos em Espaço de Estados
sys1 = ss(A,B,C,D)
%Conversão para Função de Transferência
[Num,Den] = ss2tf(A,B,C,D);
sys2 = tf(Num,Den)
%Decomposiçao em frações parciais
[r,p,k] = residue(Num,Den)
%Conversão de espaço de estados para zero-polo-ganho
[z,p,k]=ss2zp(A,B,C,D)
%Resposta ao Degrau
figure
tsim = 5;
step(sys1,tsim)
hold on
step(sys2,tsim)
hold off
legend('SS','TF')
Funções de Análise e Projeto
bode Resposta em frequência: módulo e fase
nyquist Resposta em frequência de Nyquist
rlocus Lugar geométrico das raízes
sisotool Projeto de sistemas SISO
%Diagrama de Bode
figure
bode(Num,Den)
grid
Análise de Funções de Transferência
2
3 2
6 1( )
3 3 1
sH s
s s s
clc
close all
clear
%Análise da Função de Transferência
Num = [6 0 1];
Den = [ 1 3 3 1];
sys= tf(Num,Den);
%Determinando as raizes do numerador e denominador
raizesNum = roots(Num)
raizesDen = roots(Den)
%zeros e polos no plano-s
figure
pzmap(sys)
%resposta ao degrau
figure
step(sys)
stepinfo(sys) %informações sobre a resposta ao degrau
%resposta ao impulso
figure
impulse(sys)
RiseTime: 0.1877
SettlingTime: 9.5105
SettlingMin: 0.1218
SettlingMax: 1.4062
Overshoot: 40.6236
Undershoot: 0
Peak: 1.4062
PeakTime: 0.6100
ATIVIDADE 1 (0,5 pontows)
(Estabilidade usando o Critério de R-H e Erro em Regime
Estacionário):
Para um sistema de controle:
Determine os valores de “a” e “k” para que o sistema seja estável para uma entrada rampa, e
para que ess 24% da referência.
Solução
Usando o critério de estabilidade do método de Routh-Hurwitz para encontrar os valores de “a”
e “k”:
A função de transferência em mala fechada:
4 3 2
( ) ( )
( ) 8 17 ( 10)
C s k s a
R s s s s k s ak
A equação característica em laço fechado é dada por:
4 3 2( ) 8 17 ( 10)q s s s s k s ak
s4 + 1 17 ak
s3 + 8 (k+10)
s2 + 126
8
k
ak 0
s1 + 21260 116 64
126
k ak k
k
0 0
s0 + ak 0 0
Para que o sistema seja estável, todos os polos devem estar no lado esquerdo do plano de
Laplace, e por tanto não deveria haver troca de sinal.
1260 126
8
0 0 0
kk
ak a e k
Usando a informação do erro em estado estacionário:
Observa-se que o G(s) é um sistema “tipo 1”. Para ter um erro em regime estacionário, a
entrada tem que ser uma rampa.
Considerando-se uma entrada rampa u(t)=At, em que “A” é a inclinação e “t” o tempo:
020
lim ( ) ( )lim
( 1)( 7 10)
ss
ss
A Ae
sG s k s as
s s s
100,24ss
Ae A
ak (24% da referência)
41,67 aK
Finalmente, as restrições das variáveis seriam:
0 126 41,67k e ak
Se k=70 então a>0,59
Para determinar “a”, pode-se assumir um valor de a=0,60
clc
close all
clear
t = 0:0.01:10;
u = t; %Entrada tipo rampa
NumGc = [1 0.6];
DenGc = [1 1];
NumG = [70];
DenG = [1 7 10 0];
%Sistema em Serie
[NumS, DenS] = series(NumGc,DenGc,NumG,DenG);
%Sistema em laço fechado
[Num,Den] = cloop(NumS,DenS);
%lsim Simulate time response
%of dynamic systems to arbitrary inputs.
[y,x] = lsim(Num,Den,u,t);
plot(t,y,t,u),grid
xlabel('t (s)')
ylabel('c(t)')
hold on
plot(t,u+0.24,'--g')
plot(t,u-0.24,'--k')
hold off
legend('Saída','Referência','limite Superior',...
'limite Inferior','Location','North')
PROBLEMAS ATIVIDADE 1:
a) Analisar a influência das variações de “a” e “k” dos polos do sistema no plano de
Laplace
b) Utilizar o código abaixo para analisar as variações de “a” e “k”. Observe os resultados e
relate suas conclusões e comentários
clc, close all, clear
a = [0.1 : 0.01 : 3]; %Variação de “a”
k = [20 : 1 : 120]; %Variação de “k”
x = 0*k;
y = 0*k;
n = length(k);
m = length(a);
for i = 1:n
for j = 1:m
%Equação caracteristicas
q = [1 8 17 (k(i)+10) (k(i)*a(j))];
p = roots(q); %Raizes
if max(real(p))>0
x(i) = k(i);
y(i) = a(j-1);
break
end
end
end
plot(x,y)
grid
xlabel('k'),ylabel('a')
ATIVIDADE 2 (0,75 pontos)
(Controladores PID)
Considere uma planta de segunda ordem com um controlador PID. Implemente o sistema em
simulink e parametrize as constantes do controlador.
Suponha que a planta poderia sofrer a variação de um parâmetro no modelo. Usar a variável
“delta” para incluir estas variações em uma constante do modelo da planta.
Parâmetros do controlador
clc
close all
clear
delta = 0;
%Controlador PID
kp = 4; %Proporcional
ki = 25; %Integral
kd = 1; %Derivativo
tsim = 10; %Tempo de simulação
%Passando parametros ao modelo feito em Simulink
sim('modelo',tsim);
figure
plot(t,r,t,y)
xlabel('t')
ylabel('y')
grid
PROBLEMAS ATIVIDADE 2:
a) Implementar o controle PID usando blocos integradores e derivadores do toolbox de
simuliunk, e comparar o bloco PID de simulink
b) Analisar as contribuições individuais de cada ação de controle e do conjunto do sistema
de laço fechado (domínio do tempo e frequência)
c) Determinar analiticamente o erro em regime estacionário, o sobrevalor, e a constante de
tempo. Compare os resultados com a simulação
d) Considerar a influência na variação de parâmetros da planta, realize as simulações para
delta: 0, -10 e 10. Observe os resultados do sistema de controle e justifique os tipos de
respostas.
ATIVIDADE 3 (0,75 pontos)
(Controle do Motor CC)
Considere o modelo do motor CC cuja entrada é a tensão da armadura e a saída é a velocidade
angular
https://la.mathworks.com/help/control/examples/dc-motor-control.html
Modelo em diagrama de blocos:
clc
close all
clear
tsim = 5; %Tempo de Simulação
%Parametros
R = 2.0; % Ohms
L = 0.5; % Henrys
Km = 0.1; % torque constant
Kb = 0.1; % back emf constant
Kf = 0.2; % Nms
J = 0.02; % kg.m^2/s^2
NumG1 = Km;
DenG1 = [L R];
NumG2 = 1;
DenG2 = [J Kf];
[NumG,DenG] = series(NumG1,DenG1,NumG2,DenG2);
sysOpenLoop = tf(NumG,DenG);
sysCloseLoop = feedback(sysOpenLoop,Kb,1,1);
figure
step(sysCloseLoop,tsim)
axis([0 tsim, 0 1.5])
hold on
t = 0:0.001:tsim;
plot(t,ones(1,length(t)),'--r');
hold off
legend('saída c(t)','Set-Point')
%% Controle Proporcional
Kp = 4;
[NumG2,DenG2] = series(NumG,DenG,Kp,1);
sysOpenLoop2 = tf(NumG2,DenG2);
sysCloseLoop2 = feedback(sysOpenLoop2,Kb,1,1)
figure
step(sysCloseLoop2,tsim)
axis([0 tsim, 0 1.5])
hold on
t = 0:0.001:tsim;
plot(t,ones(1,length(t)),'--r');
hold off
legend('saída c(t)','Set-Point')
PROBLEMAS ATIVIDADE 3:
Considerando-se Td=0, resolver:
a) Construir o modelo do sistema em espaço de estados
b) Analisar o comportamento do sistema em laço aberto do modelo do motor CC,
determinar a constante de tempo, os zeros e polos no plano-s
c) Projetar um sistema de controle P, PI, PD, PID, com erro estacionário ess<5% da
referência, Ts<1 s e SP<10%. Analisar a influência dos controladores nos zeros e polos
do sistema em laço fechado. Realizar as comparações para cada tipo de controlador.