Você está na página 1de 11

Sistemas de Controle

Introdução aos Sistemas de Controle Ótimo. Sistemas MIMO.


x  Ax  Bu
y  Cx  Du
u = -Kx (lei de controle básica)

K   K1 K2 ... Kn .
- Para sistemas de controle ótimo:

J   ( x T Qx  u T Ru )dt . (Função de custo quadrática).
0

A T P  PA  PBR 1BT P  Q  0 . (Equação de Riccati).

K  R 1BT P . (Matriz de ganhos ótimos).

- Para malhas de controle com integrador, substituir nas equações as matrizes A, B e K por:

^  A 0  ^  B ^
A , B, K - i.
C 0 0
Obs: I = Matriz identidade; XT = Matriz transposta; X-1 = Matriz inversa.

Procedimento Geral

Abrir o MatLab e executar os comandos p=path; path(p,'x:\pos'); <Enter> conforme a


partição “d” ou “e” do disco do computador.

Descrição Geral
Este laboratório tem como objetivo exemplificar malhas de compensação que utilizam
conceitos de sistemas de controle ótimo. Geralmente em sistemas físicos os sinais de entrada
(u) dos processos estão relacionados com a energia (potência) entregue ao sistema para
controlar as grandezas desejadas de saída (y). Os sistemas de controle ótimo visam à
otimização entre as grandezas controladas e os sinais de comando, objetivando minimizar o
consumo de energia do sistema, por exemplo. Este compromisso é expresso por meio de
funções de custo (J), onde os valores de Q e R determinam esse balanço e são considerados
como especificações de projeto.

Parte I – Cálculo dos Ganhos por Técnica de Sistemas de Controle Ótimo

1a) Um processo tem como modelo a função abaixo com Kg = 1 e  g = 1 [s].

y(s) Kg
G(s)  
u ( s )  g .s  1

a) No guia anterior foi visto a modelagem correspondente em variáveis de estado. Entrar com
os seguintes valores na área de trabalho do MatLab: A = -1; B = 1; C = 1; D = 1; <Enter>.
Foi calculado um vetor de ganhos para retroação de estados com a especificação de pólos em
–4,8  j3,6, obtendo-se Ki = 36 e K1 = 8,6. A malha de controle correspondente foi simulada
por meio de um programa no Simulink. Repetir esta simulação abrindo o programa Lab4_pr1
na pasta “pos”. Digitar na área de trabalho os valores dos ganhos: K1=8.6; Ki=36; <Enter>.
Executar o programa para obter a resposta a entrada degrau na malha de controle em questão.

b) Para obter gráficos mais detalhados usar os comandos abaixo.

t=ScopeData(:,1); u=ScopeData(:,2); y=ScopeData(:,3);


subplot(211); plot(t,u);grid;xlabel('t [s]');ylabel('u(t)');
subplot(212); plot(t,y);grid;xlabel('t [s]');ylabel('y(t)');

c) Anotar o valor do máximo pico e do tempo de acomodação da grandeza de saída y(t).


Respostas: _________________________________________________________________ .

d) Anotar o valor do pico máximo do sinal de entrada (u) do sistema. Pode-se usar o comando
a seguir para ler pontos da figura selecionada: [x,y] = ginput(1) <Enter>.
Resposta: up = ______________________________________________________________ .

2a) Considerando o sistema citado na questão anterior, calcular o vetor de ganhos utilizando a
técnica de sistema de controle ótimo. As especificações são:
 ,0 25 0
Q  ; R = 0,001.

0 1 
a) Usar os comandos do MatLab para calcular os ganhos:

Ach = [A zeros(1,1);-C 0];


Bch = [B;0];
Q = [0.25 0;0 1];
R = 0.001;
Kch = lqr(Ach,Bch,Q,R)

b) Anotar os valores obtidos.


Resposta (para R = 0.001): K1 = ______________ , Ki = _________________.

c) Repetir novamente o item (a) fazendo agora R = 0.01 e anotar os ganhos obtidos.
Resposta (para R = 0.01): K1 = ______________ , Ki = _________________.

d) Utilizando o programa Lab4_prg1 (antes entrar com os ganhos na área de trabalho do


MatLab: K1=16.73; Ki=31.62; <Enter>) obter a resposta ao degrau da malha de controle
com a especificação R = 0,001. Usar os procedimentos do item (b) da questão anterior para
obter gráficos da saída do sistema e também da sua entrada. Anotar o valor do pico máximo
do sinal de entrada (up) e o tempo de acomodação da grandeza de saída (y) do processo.
Respostas: _________________________________________________________________ .

e) Repetir o item anterior com os ganhos agora calculados para R = 0,01 (antes entrar com os
ganhos na área de trabalho do MatLab: K1=5.78; Ki=10; <Enter>).
Respostas: _________________________________________________________________ .

f) Em relação ao valor de up anotado na primeira questão com alocação de pólos, houve


diminuição nos valores de up? Justificar.
Respostas: _________________________________________________________________
__________________________________________________________________________ .

g) Houve alteração do tempo de resposta da saída y(t) do sistema nestes casos? Por que?
Respostas: _________________________________________________________________
__________________________________________________________________________ .

h) Para qual valor de R a intensidade de up é menor? Justificar.


Respostas: _________________________________________________________________
__________________________________________________________________________ .
3a) Nas questões anteriores foi utilizado o exemplo de um sistema SISO modelado por um
processo de primeira ordem. O modelo do sistema era representado pela função de
transferência a seguir.

y1 ( s ) K1
G1 ( s )  
u1 ( s )  1 .s  1

Muitos sistemas físicos (elétricos, mecânicos, hidráulicos, térmicos, e outros) são


modelados por funções similares. Um exemplo ilustrativo é circuito elétrico abaixo, onde os
parâmetros são dados por K1 = 1 e τ1 = R1C1.
R1
u1 y1

C1

A modelagem em variáveis de estado do sistema em questão é dada por:

o 1
X1  ( X 1  u1 ); y1  X 1 .
R1C1

Um exemplo simples de sistema MIMO está ilustrado abaixo. Ele é composto por dois
circuitos similares ao da figura anterior interligados por uma resistência elétrica (R3). Este
resistor promove um acoplamento entre os circuitos. Se a resistência em questão não existir,
ou tiver valor muito grande, o sistema poderia ser modelado por duas funções de primeira
ordem G1(s) e G2(s) com as respectivas constantes de tempo (R1C1 e R2C2).

R1
u1 y1

C1

R3

R2
u2 y2

C2
A modelagem em variáveis de estado deste sistema MIMO é dada por:

o 1 R R
X1  ( (1  1 ) X 1  1 X 2  u1 );
R1C1 R3 R3

o 1 R2 R
X2  ( X 1  (1  2 ) X 2  u 2 );
R2 C 2 R3 R3

y1 1 0X1
   .  .

y2 0 1X2
a) Para valores dos parâmetros em R1 = 10 [KΩ], R2 = 15 [KΩ], R3 = 22 [KΩ], C1 = C2 = 100
[μF], a representação do sistema no MatLab é dada por:

A = [-1.4545 0.4545;0.4545 -1.1212]; B = [1 0;0 0.6667];


C = [1 0;0 1]; D = [0 0;0 0];

b) Os autovalores do sistema podem ser obtidos pelo comando a seguir.

eig(A) <Enter>

c) Anotar os valores resultantes e dizer se o sistema é estável em malha aberta. Justificar.


Respostas: _________________________________________________________________ .

d) A função de transferência do processo pode ser obtida por meio da expressão


G(s) = C(sI – A)-1B + D, que para sistemas MIMO é dada por uma matriz de funções de
transferência, onde neste exemplo é representada por:
g1() g12(ss ) y1(s) u1(s)
G(s) ;  G(s) .
g21() gs(ss ) y2(s) u2(s)
e) Os valores de g11(s) e g12(s) podem ser obtidos por meio do comando:

[Ns,Ds] = ss2tf(A,B,C,D,1) <Enter>

f) Anotar os valores resultantes.


Respostas: g11(s) = _________________________; g21(s) = __________________________ .

g) Os valores de g21(s) e g22(s) podem ser obtidos por meio do comando:

[Ns,Ds] = ss2tf(A,B,C,D,2) <Enter>

h) Anotar os valores resultantes.


Respostas: g12(s) = _________________________; g22(s) = __________________________ .

i) Notar que as funções dos denominadores neste exemplo são iguais e que a fatoração das
mesmas leva as mesmas raízes anotadas no item (c). A fatoração pode ser realizada pelo
comando abaixo.

roots(Ns) <Enter>

j) Um dos problemas de se usar técnicas convencionais para projetar malhas de controle para
sistemas MIMO é a questão do processamento da matriz de funções de transferência dos
modelos. Outro problema é o acoplamento inerente a sistemas MIMO como indicado nas
expressões abaixo, onde uma determinada variável de saída pode depender de mais de uma
informação de entrada. Outro exemplo de sistema com esta estrutura são dois tanques de
armazenamento de líquidos acoplados entre si.

y1(s) = g11(s). u1(s) + g12(s). u2(s);

y2(s) = g21(s). u1(s) + g22(s). u2(s).

4a) Seja simular o exemplo MIMO apresentado.

a) Abrir na pasta “pos” o programa Lab8_eca311_pr1. O mesmo simula o sistema


representado em variáveis de estado. Antes de executar o aplicativo, digitar na área de
trabalho MatLab os valores das entradas do processo, por exemplo: u1 = 1; u2 = 2; <Enter>.
Acionar o programa e verificar na janela “Scope” os valores das respostas das saídas do
sistema. Gráficos mais detalhados podem ser gerados por meio dos comandos:

plot(ScopeData(:,1),ScopeData(:,2),'b',ScopeData(:,1),ScopeData(:,3),'r');grid <Enter>
xlabel('t [s]');ylabel('y1 = Azul e y2 = Vermelho') <Enter>

b) Dados do gráfico podem ser lidos por meio do comando [t,y] = ginput(1) <Enter>. Anotar
os valores em regime permanente de y1(t), y2(t) e seus respectivos tempos de estabilização. Por
que as saídas não tendem aos valores das respectivas entradas u1 = 1 e u2 = 2?
Respostas: _________________________________________________________________ .

c) Fechar o programa em questão e abrir o aplicativo Lab8_eca311_pr2. O mesmo realiza a


mesma simulação do sistema MIMO em questão, mas utilizando agora representação em
funções de transferência. Executar o aplicativo e notar que os resultados obtidos são iguais ao
do item anterior. Fechar o programa.

5a) O processo da questão anterior é estável em malha aberta, mas a utilização de malhas de
controle pode ser necessária para facilitar a imposição de valores nas saídas do sistema, ou
também modificar características dinâmicas e rejeitar eventuais perturbações. Anteriormente
projetou-se uma estrutura de controle com retroação de estado visando à imposição de
determinadas características em um processo de primeira ordem similar ao modelo da função
G1(s) citado neste guia. As especificações foram: erro nulo em regime permanente (para isto
foi necessário adicionar um pólo na origem do sistema por meio da inclusão de um integrador
na malha de controle.); pólos dominantes em –4,8  j3,6 (correspondentes a um tempo de
acomodação em torno de 0,83 segundos e um máximo pico próximo de 1,5%). Foram obtidos
os ganhos K1 = 8,6 e Ki = 36.

a) Uma das possibilidades para se compensar processos MIMO é considerar os mesmos como
sendo sistemas não-acoplados, considerando neste exemplo apenas as funções G1(s) e G2(s)
correspondentes as constantes de tempo dadas por R1C1 e R2C2, desprezando inicialmente os
acoplamentos entre g11(s), g12(s), g21(s) e g22(s). Assim, os ganhos dos controladores PI
poderiam ser Kp = 8,6 e Ki = 36. Abrir o programa Lab8_eca311_pr3, o mesmo realiza a
simulação de duas malhas de controle de tensão para o sistema MIMO em questão. Antes de
executar o aplicativo, digitar na área de trabalho MatLab os valores das entradas de
referência, por exemplo: r1 = 1; r2 = 2; <Enter>. Acionar o programa e verificar na janela
“Scope” os valores das respostas das saídas do sistema. Gráficos mais detalhados podem ser
gerados por meio dos comandos:

plot(ScopeData(:,1),ScopeData(:,2),'b',ScopeData(:,1),ScopeData(:,3),'r');grid <Enter>
xlabel('t [s]');ylabel('y1 = Azul e y2 = Vermelho') <Enter>

b) Dados do gráfico podem ser lidos por meio do comando [t,y] = ginput(1) <Enter>. Anotar
os valores de máximo pico das saídas y1(t), y2(t) das malhas de controle e os respectivos
tempos de acomodação resultantes. Agora as saídas tendem aos valores das respectivas
entradas de referência r1 = 1 e r2 = 2? Justificar.
Respostas: _________________________________________________________________
__________________________________________________________________________ .

c) Para realizar para este sistema malhas de controle por retroação de estados, as técnicas a
serem utilizadas são as mesmas vistas no guia anterior. Empregando as mesmas
especificações citadas e aplicando técnicas de alocação de pólos, vem:
Ach = [-1.4545 0.4545 0 0;0.4545 -1.1212 0 0;-1 0 0 0;0 -1 0 0] <Enter>
Bch = [1 0;0 0.6667;0 0;0 0] <Enter>
P = [-4.8+j*3.6;-4.8-j*3.6;-4.8+j*3.6;-4.8-j*3.6] <Enter>
Kch = place(Ach,Bch,P) <Enter>

d) Notar que Kch é agora uma matriz e não um vetor, tendo a seguinte estrutura:

^K11 K12 - Ki1 0 


K  .

K21 K22 0 - Ki2 


e) Anotar os valores dos ganhos obtidos.
Respostas: _________________________________________________________________
__________________________________________________________________________ .

f) Esses ganhos são utilizados na implementação de malhas de controle com retroação de


estados, promovendo um desacoplamento no sistema MIMO que permite a imposição das
especificações desejadas. As leis de controle resultantes são u1 = Ki1 ∫e1 − K11. X1 − K12. X2,
u2 = Ki2 ∫e2 − K21. X1 − K22. X2, onde e1 = r1 – y1 e e2 = r2 – y2.
g) Abrir o programa Lab8_eca311_pr4. O mesmo realiza a simulação da malha de controle
em questão. Antes de executar o programa digitar na área de trabalho do MatLab os valores
dos ganhos: K11 = 8.1455; K12 = 0.4545; K21 = 0.6817; K22 = 12.7176; Ki1 = 36;
Ki2 = 53.9973; <Enter>. Executar o programa e anotar os valores dos máximos picos e dos
tempos de acomodação das respostas da malha de controle na janela “Scope”.

h) Gráficos mais detalhados podem ser gerados por meio dos comandos:
plot(ScopeData(:,1),ScopeData(:,2),'b',ScopeData(:,1),ScopeData(:,3),'r');grid <Enter>
xlabel('t [s]');ylabel('y1 = Azul e y2 = Vermelho') <Enter>

i) Dados do gráfico podem ser lidos por meio do comando [t,y] = ginput(1) <Enter>. As
especificações desejadas foram alcançadas? São melhores que as anotados no item (b)?
Justificar as respostas.
Respostas: _________________________________________________________________
__________________________________________________________________________ .

Parte II – Experiências Práticas

1) O objetivo desta experiência é mostrar um sistema real de controle por retroação de estado
com os ganhos calculados por meio de técnicas de sistemas de controle ótimo. Como exemplo
de sistema será utilizado um processo composto por um circuito elétrico que implementará
uma função de transferência de primeira ordem. Na prática poderia ser uma planta de nível,
etc. O circuito elétrico correspondente está montado em um protoboard e está conectado a um
sistema de aquisição de dados. Nesta experiência será realizada uma malha de controle de
tensão simples. Uma saída analógica (D/A) do sistema de aquisição de dados (AQD) fornece
o sinal de comando para o circuito elétrico. Uma entrada analógica do A/D do AQD lê o sinal
da informação da tensão a ser controlada no circuito. O circuito abaixo ilustra a experiência
em questão, onde R = 10KΩ e C = 100 uF.
R
Pino 14 Pino 2
(D/A) (A/D)
C
Pino 1
(Gnd)

a) Na pasta “pos” abrir o programa Controle_RetroEstado_Tensao. O mesmo realiza uma


malha de controle de tensão com retroação de estados no ambiente LabView. Os ganhos Ki e
K1 são os mesmos da primeira parte do guia, inicialmente utilizando técnicas de alocação de
pólos (K1 = 8,6; Ki = 36). A referência (ou Set Point) está inicialmente ajustada em 0,5 [V].
Verificar se após um tempo a indicação real da grandeza (y) controlada (tensão no capacitor)
fica em torno deste valor?
Resposta: __________________________________________________________________ .

b) Na tela de supervisão deste controle há uma outra seleção de set-point para ensaios, que
inicialmente está ajustado em 1 [V]. Existe uma chave virtual, que quando colocada por meio
do mouse na posição “Liga” (“On”) é realizado um ensaio comutando os valores de set point,
provocando uma mudança de referência tipo degrau. Acionar a chave e verificar na parte de
baixo da janela do aplicativo, um segundo gráfico que registra a variável de saída (y)
controlada e a intensidade da grandeza de entrada (u) do circuito em função do número de
amostras do ensaio. Anotar o máximo pico e o tempo de acomodação aproximado de y(t).
Anotar a intensidade máxima de u(t) com a técnica de alocação de pólos.
Respostas: _________________________________________________________________ .

c) Alterar nos campos correspondentes do programa de controle os valores dos ganhos:


K1=16,73; Ki=31,62. Repetir os passos anteriores e anotar os valores do tempo de
acomodação de y(t) e máximo pico de u(t) agora para R = 0,001.
Respostas: _________________________________________________________________ .

d) Alterar nos campos correspondentes do aplicativo os valores dos ganhos: K1=5,78; Ki=10.
Repetir os passos anteriores e anotar os valores do tempo de acomodação de y(t) e máximo
pico de u(t) agora para R = 0,01.
Respostas: _________________________________________________________________ .

e) Houve alterações nas dinâmicas das respostas nos itens anteriores? Por que?
Respostas: _________________________________________________________________
__________________________________________________________________________ .

f) Os valores obtidos são similares aos relacionados com as simulações efetuadas?


Resposta: __________________________________________________________________ .

2) O objetivo desta experiência é mostrar um sistema real de controle por retroação de estado
de um processo MIMO. Como exemplo de processo será utilizado o sistema de circuitos
acoplados. O circuito elétrico correspondente está montado em um protoboard e está
conectado a um sistema de aquisição de dados (SAQ). As informações de comando (u1 e u2)
são fornecidas por duas saídas analógicas por meio de D/As do SAQ. Os dados relativos às
saídas (as tensões associadas com as variáveis do processo y1 e y2) são fornecidas por duas
entradas analógicas correspondentes a A/Ds do SAQ.

a) Verificar na parte superior do protoboard se há dois fios não conectados. Nesta condição a
resistência R3 não está acoplando os dois circuitos RC do sistema. Deste modo o processo
pode ser visto como dois circuitos independentes (não-acoplados). Na pasta “pos” abrir o
programa Controle_Manual_Voltagem. O mesmo realiza um controle manual de tensão no
sistema. Executar o programa e verificar se a indicação real das grandezas comandadas (y1 e
y2) tendem aos valores de comando (u1 e u2)? Alterar os valores de comando e verificar se as
variáveis controladas acompanham estas informações.
Respostas: _________________________________________________________________ .

b) Ajustar no aplicativo os valores de comando em u1 = 1 e u2 = 2. Agora conectar os dois


fios citados no item anterior acoplando os circuitos e verificar se as grandezas controladas
tendem aos mesmos valores do item anterior. Justificar a resposta.
Respostas: _________________________________________________________________ .
c) Tentar ajustar manualmente os valores de u1 e u2, de modo que as variáveis y1 e y2 tendam a
1 e 2 [V], respectivamente. O ajuste é imediato ou necessita-se de algumas tentativas? Quais
são os valores ajustados que determinaram as saídas desejadas?
Respostas: _________________________________________________________________ .

d) Fechar o programa em questão e abrir outro denominado Controle_RetroEstado_MIMO. O


mesmo realiza malhas de controle com retroação de estado utilizando os valores de ganhos
calculados na questão anterior. Executar o aplicativo e verificar agora se as variáveis de saída
(y1 e y2) do processo tendem aos valores de referência de entrada (r1 e r2)? Justificar.
Respostas: _________________________________________________________________ .

e) Outros valores de referência podem ser testados.

f) Ajustar as referências de entrada nos valores r1 = 1 e r2 = 2. Colocar com o mouse a chave


virtual situada na janela “Parâmetros”, na posição “Ensaio”. Um ensaio será realizado para
mudanças dos valores das referências da malha de controle, que agora serão acrescidos de 0,5
[V]. As informações das tensões controladas poderão ser visualizadas no gráfico denominado
“ENSAIO” em outra janela situada mais embaixo do aplicativo. Um arquivo de dados será
gravado na pasta “Alunos” com o nome “ensaio.xls”. Visando a geração de gráficos com as
informações das variáveis medidas no ensaio, basta no MatLab executar os comandos a seguir
conforme a partição “d” ou “e” do disco do computador.

load d:\Alunos\ensaio.xls; <Enter> ou load e:\Alunos\ensaio.xls; <Enter>


t = ensaio(:,1); y1 = ensaio(:,2); y2 = ensaio(:,4); <Enter>
plot(t,y1, 'b', t,y2, 'y');grid <Enter>
xlabel('t [s]');ylabel('y1 = Azul y2 = Amarelo') <Enter>

g) Anotar os valores dos máximos picos e dos tempos de acomodação das respostas da malha
de controle. As especificações desejadas foram alcançadas?
Respostas: _________________________________________________________________ .

h) Métodos de observadores de estado também podem ser aplicados em sistemas MIMO.


Neste exemplo não há necessidade, pois as duas variáveis de estado envolvidas são
mensuradas. Técnicas de controle ótimo também são aplicadas em sistemas de múltiplas
entradas e saídas, com as vantagens citadas anteriormente.

i) Fechar os programas abertos.

Você também pode gostar