Você está na página 1de 26

Universidade Federal de Pernambuco - UFPE

Centro de Tecnologias e Geociências - CTG


Departamento de Engenharia Mecânica - DEMEC

PROJETO DE CONTROLE

ISRAEL BEZERRA CAVALCANTI


CARLOS ROBERTO CAVALCANTI REIS NETO
MATEUS CELESTINO DA SILVA

Recife, 2019
PROJETO DE CONTROLE

Relatório final apresentado ao


professor Guaraci Bastos da
Universidade Federal de Pernambuco,
como parte da nota da disciplina de
Controle.

Recife, 2019
SUMÁRIO
Introdução .......................................................................................................... 4

Espaço de Estados ............................................................................................ 5

Definição dos parâmetros .................................................................................. 7

Verificação.......................................................................................................... 9

Identificação de Sistema .................................................................................. 12

Controlador PID................................................................................................ 17

Códigos Utilizados (Matlab).............................................................................. 22

Conclusão ........................................................................................................ 25

Referências bibliográficas ................................................................................ 26


Introdução

Os sistemas de controle são criados para várias atividades específicas em


operações automáticas e devem atender a algumas especificações de projeto
para poder operar com uma boa velocidade de resposta e estabilidade.
Na análise e no projeto de sistemas de controle, devemos ter uma base de
comparação do desempenho de vários sistemas de controle. Essa base pode
ser estabelecida detalhando-se sinais de entrada de testes específicos e, em
seguida, comparando-se as respostas dos vários sistemas com esses sinais.
Há alguns comportamentos importantes do sistema como estabilidade relativa
e o erro estacionário que devemos ter uma consideração especial. A resposta
transitória de um sistema de controle prático frequentemente apresenta
oscilações amortecidas antes de atingir o estado permanente.
Nesse trabalho serão utilizados conhecimentos adquiridos na disciplina de
Engenharia de Controle para projetar um manipulador robótico com duas
barras, onde teremos duas entradas e duas saidas.
Espaço de Estados

Em primeiro ponto temos a modelagem matemática da situação proposta,


onde as Equações dinâmicas (1,2) são consideradas como:

𝑀11 𝛼1̈ + 𝑀12 𝛼2̈ + 𝐶1 𝛼1̇ + 𝐾1 𝛼1 = 𝑇1 (1)


𝑀21 𝛼1̈ + 𝑀22 𝛼2̈ + 𝐶2 𝛼2̇ + 𝐾2 𝛼2 = 𝑇2 (2)

Definido as variáveis de Estado para representação no modelo Espaço


estados:
𝑥1 = 𝛼1 𝑥̇ 1 = 𝛼̇ 1
𝑥2 = 𝛼̇ 1 𝑥̇ 2 = 𝛼̈ 1
{𝑥 = 𝛼2 e {𝑥̇ 3
3 = 𝛼̇ 2
𝑥4 = 𝛼̇ 2 𝑥̇ 4 = 𝛼̈ 2
Com isso poderemos rearranjar os termos e definir as representação no
modelo EE , no qual por fim temos:

𝑇1 × 𝑀22 − 𝑇2 × 𝑀12 − 𝑥1 × 𝐾1 × 𝑀22 − 𝑥2 × 𝐶1 × 𝑀22 + 𝑥3 × 𝐾2 × 𝑀12 + 𝑥4 × 𝐶2 × 𝑀12


𝑥̇ 2 =
𝑀11 𝑀22 − 𝑀12 𝑀21

−𝑇1 × 𝑀21 + 𝑇2 × 𝑀11 + 𝑥1 × 𝐾1 × 𝑀21 + 𝑥2 × 𝐶1 × 𝑀21 − 𝑥3 × 𝐾2 × 𝑀11 − 𝑥4 × 𝐶1 × 𝑀11


𝑥̇ 4 =
𝑀11 𝑀22 − 𝑀12 𝑀21

0 1 0 0
𝑥1̇ −𝐾1 × 𝑀22 −𝐶1 × 𝑀22 𝐾2 × 𝑀12 𝐶2 × 𝑀12 𝑥1
𝑥̇ 𝑀 𝑀 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑥2
[ 2 ] = 11 22 × [𝑥 ]
𝑥3̇ 0 0 0 1 3
𝑥4̇ 𝐾1 × 𝑀21 𝐶1 × 𝑀21 −𝐾2 × 𝑀11 −𝐶1 × 𝑀11 𝑥4
[𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 ]
0 0
𝑀22 −𝑀12
𝑀 𝑀 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 𝑇
+ 11 22 × [ 1]
0 0 𝑇2
−𝑀21 𝑀11
[𝑀11 𝑀22 − 𝑀12 𝑀21 𝑀11 𝑀22 − 𝑀12 𝑀21 ]
𝑥1
𝑌 1 0 0 0 𝑥
[ 1] = [ ] × [𝑥2 ]
𝑌2 0 0 1 0 3
𝑥4
Através dessas informações podemos também calcular a equação da F.T,
utilizando a relação entre F.T e E.E que é dada por:
𝐺(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1 𝐵 (3),
Mas como sugerido na descrição do projeto, poderemos escrever as Eqs (1,2)
na forma matricial dada por :

𝑴𝒒̈ + 𝑪𝒒̇ + 𝑲 = 𝒖 (4), onde


𝑀11 𝑀12 𝐶 0 𝐾 0 𝛼1 𝑇
𝑀=[ ]; 𝐶 = [ 1 ]; 𝐾 = [ 1 ] ; 𝑞 = [𝛼 ] ; 𝑢 = [ 1 ]
𝑀21 𝑀22 0 𝐶2 0 𝐾2 2 𝑇2

Onde, aplicando Laplace na equação 4 temos:

Sendo nossa G(s) definido, podemos com isso calcular as F.Ts G11, G12, G21,
G22 utilizando da função ode45 do Matlab para resolução dessa F.T, com isso
temos:
𝑴𝑄(𝑠)𝑠 2 + 𝑪𝑄(𝑠)𝑠 + 𝑲𝑄(𝑠) = 𝑈(𝑠)
𝑄(𝑠)(𝑴𝑠 2 + 𝑪𝑠 + 𝑲) = 𝑈(𝑠)
𝑄(𝑠)
𝐺(𝑠) = = (𝑴𝑠 2 + 𝑪𝑠 + 𝑲)−1
𝑈(𝑠)
𝐺11 𝐺12
𝐺(𝑠) = [ ]
𝐺21 𝐺22
Sendo:
𝐺11 (𝑠)
M22 s2 + C2 s + k2
=
k1 k2 + (C1 k2 + C2 k1)s + (M11 k2 + M22 k1 + C1 C2)s2 + (C2 M11 + C1 M22)s3 + (M11 M22 − M12 M21)s4

𝐺12 (𝑠)
−M12 s2
=
k1 k2 + (C1 k2 + C2 k1)s + (M11 k2 + M22 k1 + C1 C2)s2 + (C2 M11 + C1 M22)s3 + (M11 M22 − M12 M21)s4

𝐺21 (𝑠)
−M21 s2
=
k1 k2 + (C1 k2 + C2 k1)s + (M11 k2 + M22 k1 + C1 C2)s2 + (C2 M11 + C1 M22)s3 + (M11 M22 − M12 M21)s4

𝐺22 (𝑠)
M11 s2 + C1 s + k1
=
k1 k2 + (C1 k2 + C2 k1)s + (M11 k2 + M22 k1 + C1 C2)s2 + (C2 M11 + C1 M22)s3 + (M11 M22 − M12 M21)s4
Definição dos parâmetros

Os parâmetros do sistema foram definidos como mostra o código acima e sua


estabilidade foi testada no matlab com base no critério de estabilidade de Ruth e
Lugar das Raízes.
O código para o teste do Critério de Routh pode ser encontrado no anexo.
Sabendo-se que, {

𝑀11= 𝐽1+𝑚2*𝑙12 (4);


𝑀12=𝐽2+𝑚2*𝑙1*𝑙2² (5);
𝑀21=𝑀12 (6);
𝑀22=𝐽2 (7);

𝐺(𝑠)=𝑄(𝑠)𝑈(𝑠)=(𝑴𝑠2+𝑪𝑠+𝑲)−1,𝑜𝑛𝑑𝑒

{ 𝐾1=𝐾2=2 𝐶1=𝐶2=1/3 𝐽1=1 𝐽2=0.5 𝑚2=1 𝑙1=1 𝑙2=2/3


% k1 = 2 % k2 = k1 M11 = 2
% c1 = 1/3 % c2 = c1 M12 = 0.83
% j1 = 1 kg/m^2 % j2 = 0,5 kg/m^2 M22 = 0,5
% L1 = 1 m % L2 = 2/3 m

G11 =
3
------------------
6*s^2 + s + 6
Continuous-time transfer function.
G22 =
3
--------------------
1.5*s^2 + s + 6
Continuous-time transfer function.
Routh
Figura1 -Root locus (G11 e G22)

É possível observar que as duas FT atendem ao critério de Routh e ao LR.

Aplicando os valores dos paramentros calculado via matlab:

systf =
From input 1 to output...
s^4 + 2.727 s^3 + 18.36 s^2 + 5.455 s + 19.64
1: ---------------------------------------------
s^4 + 2.727 s^3 + 16.73 s^2 + 4.364 s + 13.09

-2.727 s^2 - 9.091e-05 s + 0.0001091


2: ---------------------------------------------
s^4 + 2.727 s^3 + 16.73 s^2 + 4.364 s + 13.09

From input 2 to output...


-2.727 s^2 + 9.091e-05 s - 0.0003818
1: ---------------------------------------------
s^4 + 2.727 s^3 + 16.73 s^2 + 4.364 s + 13.09

s^4 + 2.727 s^3 + 23.27 s^2 + 5.455 s + 19.64


2: ---------------------------------------------
s^4 + 2.727 s^3 + 16.73 s^2 + 4.364 s + 13.09

Continuous-time transfer function.

Verificação

Para esta etapa foi implantada ao sistema duas entradas senoidais, 𝑇1(𝑡)=sin
(𝜔1𝑡) e 𝑇2(𝑡)=sin (𝜔2𝑡+𝜑) .Sendo os valores de já declarados no código acima.
A solução foi encontrada utilizando a função ODE45 do Matlab, que tem como
objetivo resolver equações diferenciais. Foi necessária a criação de uma
função paralela para guardar as informações da equação estudada.
De forma a obter os gráficos requisitados no problema 3, primeiro foram
definidas as seguintes constantes:

• 𝜔1=2 rad/s
• 𝜔2=3 rad/s
• 𝜑 =0

Figura 2-Plot (t, alfa1)


Figura 3-Plot (t, alfa2)

Figura 4- Plot (alfa2, alfa2ponto)


Figura 5-Plot (alfa1, alfa1ponto)

Figura 6-Plot (alfa1, alfa2)


Identificação de Sistema

O Matlab, possui uma função na qual ele tenta encontrar funções aproximadas
através de um ruído, sendo este ruído qualquer função de desejo. Para o nosso
caso foi implantado um ruído caracterizado por uma função senoidal. 𝑇1(𝑡)=sin
(𝜔1𝑡) e 𝑇2(𝑡)=cos(𝜔2𝑡) .
O ruído foi adicionado segundo o código abaixo:
r1 = awgn(alfa1,50);

figure
plot(t,r1) %plotar de saída 1 com
ruidos
grid on
xlabel('t');
ylabel('saída 1 com ruido');

r2 = awgn(alfa2,60);

figure
plot(t,r2) %plotar de saída 2 com
ruidos
grid on
xlabel('t');
ylabel('saída 2 com ruido');

u1 = sin(2*t);
u2 = cos(3*t);
Figura 7- Plot (t, Saida1 com ruído)

Figura 8-Plot (t, saida2 com ruído)


As seguintes FTs foram encontradas:

FT encontradas:
tf1 =

From input "u1" to output "y1":


0.002732 s^3 - 2.896e-05 s^2 + 3.975e-05 s - 6.555e-07
-----------------------------------------------------------------------
s^5 + 0.1462 s^4 + 0.02751 s^3 + 0.003861 s^2 + 7.849e-05 s + 7.567e-06

Name: tf1
Continuous-time identified transfer function.

Parameterization:
Number of poles: 5 Number of zeros: 3
Number of free coefficients: 9
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "g11".
Fit to estimation data: 92.02% (simulation focus)
FPE: 0.0003769, MSE: 0.0003594
tf2 =

From input "u1" to output "y1":


0.002732 s^3 - 2.896e-05 s^2 + 3.975e-05 s - 6.555e-07
-----------------------------------------------------------------------
s^5 + 0.1462 s^4 + 0.02751 s^3 + 0.003861 s^2 + 7.849e-05 s + 7.567e-06

Name: tf2
Continuous-time identified transfer function.

Parameterization:
Number of poles: 5 Number of zeros: 3
Number of free coefficients: 9
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "g11".
Fit to estimation data: 92.02% (simulation focus)
FPE: 0.0003769, MSE: 0.0003594
tf3 =

From input "u1" to output "y1":


0.002732 s^3 - 2.896e-05 s^2 + 3.975e-05 s - 6.555e-07
-----------------------------------------------------------------------
s^5 + 0.1462 s^4 + 0.02751 s^3 + 0.003861 s^2 + 7.849e-05 s + 7.567e-06

Name: tf3
Continuous-time identified transfer function.

Parameterization:
Number of poles: 5 Number of zeros: 3
Number of free coefficients: 9
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "g11".
Fit to estimation data: 92.02% (simulation focus)
FPE: 0.0003769, MSE: 0.0003594
tf4 =

From input "u1" to output "y1":


0.0004316 s^2 + 1.015e-05 s + 4.335e-06
----------------------------------------------------------------------
s^5 + 0.1404 s^4 + 0.0277 s^3 + 0.003697 s^2 + 8.406e-05 s + 7.157e-06
Name: tf4
Continuous-time identified transfer function.

Parameterization:
Number of poles: 5 Number of zeros: 2
Number of free coefficients: 8
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "g11".
Fit to estimation data: 89.41% (simulation focus)
FPE: 0.0006618, MSE: 0.0006333

Figura 9-Plot G11 & G12 & G21 & G 22 aproximadas


Controlador PID
Utilizando os PID tuner sintonizamos os controladores de modo a atingir
os valores requisitados para a redução do tempo de assentamento.

Figura – G12 aproximada com 30% de redução no Ts


Figura – G21 aproximada com 30% de redução no Ts

Figura – G22 aproximada com 40% de redução no Ts


Figura – G11 aproximada com 40% de redução no Ts

Para projetar os compensadores foi utilizada a ferramenta SisoTool do Matlab,


além disso calculamos manualmente os K(s) a fim de facilitar os ajustes dos
compensadores, calculando o limite da G(s) com s tendendo a zero.

Figura – G12 aproximada com C= 0.0012384 (s+0.001278)/ (s+0.006473)


(s+0.01957)^2
Figura – G12 aproximada com C=-0.3187

Figura – G21 aproximada com C= 2.272e-07/ (s^2 + 0.002191s + 2.815e-06)


Figura – G22 aproximada com C=0.2748
Códigos Utilizados (Matlab)

function dx=edo_seno1(t,x)

y = x(1);
w = x(2);
u = x(3);
v = x(4);
dx1 = w;
dx2 = -3.2727*y - 0.5455*w + 5.4545*u + 0.9091*v + 1.6364*sin(2*t) -
2.7273*cos(3*t);
dx3 = v;
dx4 = 5.4545*y + 0.9091*w -13.0909*u -2.1818*v - 2.7273*sin(2*t)+
6.5455*cos(3*t);
dx=[dx1;dx2;dx3;dx4];
end

-------------------------------------------------------------------

syms K1 M11 C1 K2 M22 C2 M12 M21 M11 s;

J1=1;
J2=1/2;
m2=1;
l1=1;
l2=2/3;
K1=2;
K2=K1;
C1=1/3;
C2=C1;
M11=J1+m2*(l1)^2
M12=J2+(1/2)*(m2)*(l1)*(l2)
M21=M12;
M22=J2
I=eye(4);

Q=(M12*M21-M11*M22)
A=(1/Q)*[0 Q 0 0; K1*M22 C1*M22 -K2*M12 -C2*M12; 0 0 0 Q; -K1*M21 -C1*M21
K2*M11 C2*M11]
B=(1/Q)*[0 0; -M22 M12; 0 0; M21 -M11]
s=tf([1 0],[0 1]);

-------------------------------------------------------------------------

Codigo Geral

%---------item 1------------------%
a = [0 1 0 0;-3.2727 -0.5455 5.4545 0.9091; 0 0 0 1;5.4545 0.9091 -
13.0909 -2.1818];
b = [0 0;1.6364 -2.7273; 0 0;-2.7273 6.5455];
c = [1 0 0 0; 0 0 1 0];
d = eye(2);

sysss= ss(a,b,c,d) %cria modelo em espa�o


estado
systf = tf(sysss) %cria matriz de fun�ao
transferencia

%-----------item 2------------%
% k1 = 2 % k2 = k1 M11 = 2
% c1 = 1/3 % c2 = c1 M12 = 0.83
% j1 = 1 kg/m^2 % j2 = 0,5 kg/m^2 M22 = 0,5
% L1 = 1 m % L2 = 2/3 m

% --------item 2 -------------%

[t,x]=ode45(@edo_seno1,[0 30],[0 0 0 0]);

alfa1 =x(:,1);
alfa1ponto = x(:,2);
alfa2 =x(:,3);
alfa2ponto = x(:,4);

figure
plot(t,alfa1) %plotar resposta alfa1

grid on
xlabel('t');
ylabel('alfa1');

figure
plot(alfa1,alfa1ponto) %plotar alfa1 x alfa1ponto
grid on
xlabel('alfa1');
ylabel('alfa1ponto');

figure
plot(t,alfa2) %plotar resposta alfa2
grid on
xlabel('t');
ylabel('alfa2');

figure
plot(alfa2,alfa2ponto) %plotar alfa2 x alfa2ponto
grid on
xlabel('alfa2');
ylabel('alfa2ponto');

figure
plot(alfa1,alfa2) %plotar alfa1 x alfa2
grid on
xlabel('alfa1');
ylabel('alfa2');

%----------------item 3 -------------%
r1 = awgn(alfa1,50);

figure
plot(t,r1) %plotar de sa�da 1 com
ruidos
grid on
xlabel('t');
ylabel('sa�da 1 com ruido');

r2 = awgn(alfa2,60);

figure
plot(t,r2) %plotar de sa�da 2 com
ruidos
grid on
xlabel('t');
ylabel('sa�da 2 com ruido');

u1 = sin(2*t);
u2 = cos(3*t);

pause
ident;
% --------------item 5---------------%

pidTuner
Conclusão
Todos os quesitos solicitados no projeto foram cumpridos e seus resultados
estão apresentados no decorrer deste relatório.
Pudemos perceber, através do dado projeto, que é possível projetar
controladores com o objetivo de atender requisitos necessários de um sistema
qualquer solicitado, através de ferramentas computacionais a exemplo do
software MATLAB que foi o software utilizado neste projeto.
Referências bibliográficas

 Nise, Norman S: Engenharia de Sistemas de Controle - 6° Edição Rio de


Janeiro: LTC, 2013. il.

 OGATA, K: Engenharia de controle moderno - 5ª Edição, Prentice- Hall.


(OGATA,2011)

Você também pode gostar