You are on page 1of 8

Guia de Laboratório

Sistemas de Controle por Retroação de Estados, Alocação de Pólos,


Observadores de Estado.

Descrição
Este laboratório tem como objetivo mostrar projetos, simulações e experiências
práticas de malhas de controle por retroação de estados com alocação de pólos e com
observadores de estado.

Procedimentos Gerais

Abrir o MATLAB e executar conforme partição “d” ou “e” do HD do computador os


comandos: p=path; <Enter> path(p,’p:\pos’); ou path(p,’e:\pos’); <Enter>.

Parte I – Projetos e Simulações

1a) Um sistema de posicionamento angular é modelado pela função abaixo. O sistema


apresenta um pólo na origem e então tende a ser instável em malha aberta. Assim, será
utilizada uma malha de controle de controle que utilizará retroação de estados, cujos ganhos
serão obtidos por alocação de pólos.

 ( s) 27,4 1370
G (s)   
u ( s) s (0,02s  1) s( s  50)

a) A representação do sistema em variáveis de estado pode ser realizada por:

A = [0 1;0 -50] <Enter>


B = [0; 1370] <Enter>

b) Seja a especificação da alocação dos pólos P = [-4,5; -180], objetivando uma resposta
dinâmica sem máximo pico e um tempo de acomodação inferior a um segundo. A obtenção
dos ganhos de retroação pode ser efetuada por:

P = [-4.5;-180] <Enter>
K = acker(A,B,P) <Enter>

c) Anotar os valores obtidos.


Resposta: K = [K1 K2] = [_______________________________].

d) Abrir na pasta “pos” o programa Lab6_eca311_pr3. O programa simula o sistema de


controle em questão. Executar o mesmo e anotar os valores do máximo pico e do tempo de
acomodação resultantes.
Respostas: _________________________________________________________________ .

2a) Um processo é modelado pela função a seguir com os parâmetros Kg = 1 e  = 1.


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

a) Será utilizado um comando especifico do MatLab para obter a representação em variáveis


de estado a partir dos coeficientes da função de transferência do modelo:

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

b) Anotar os valores resultantes.


Resposta: A = ___________ ; B = _________ ; C = __________ ; D = ___________ .

c) A resposta ao degrau do sistema pode ser obtida por meio do comando:

step(A,B,C,D) <Enter>.

c) O tempo de acomodação (para +/- 2% do valor final da saída) é menor ou igual a 1 [s]?
Resposta: __________________________________________________________________ .

d) Mesmo sendo estável em malha aberta, será projetado um sistema de controle por retroação
de estados visando à obtenção de respostas dinâmicas mais rápidas e para eventuais rejeições
de distúrbios no processo. Deseja-se que a malha de controle apresente erro nulo em regime
permanente. Para isto é necessário adicionar um pólo na origem do sistema por meio da
inclusão de um integrador na malha de controle. Seja impor os pólos em malha fechada em
–4,8  j3,6 (correspondentes a um tempo de acomodação em torno de 0,83 [s] e um máximo
pico próximo de 1,5%). A inclusão do integrador implica em expandir as dimensões de A e B
conforme indicado pelos comandos abaixo.

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


Bch = [B;0] <Enter>

e) O cálculo dos ganhos para a alocação dos pólos especificados neste exemplo, denotado por
Kch = [K1 -Ki], pode ser obtido pelos comandos a seguir:

P = [-4.8+j*3.6; -4.8-j*3.6] <Enter>


Kch = acker(Ach,Bch,P) <Enter>

f) Anotar os valores obtidos.


Resposta: K1 = __________________ ; Ki = ____________________ .

g) Abrir o programa Lab6_eca311_pr4. O mesmo realiza a simulação da malha de controle


em questão. Executar o programa e anotar o valor do máximo pico e do tempo de acomodação
da resposta da malha de controle. As especificações desejadas foram alcançadas?
Respostas: _________________________________________________________________ .

h) Para obter um gráfico mais detalhado usar os comandos seguintes:


plot(ScopeData(:,1),ScopeData(:,2),'k');grid <Enter>
xlabel('t [s]');ylabel('y(t)'); <Enter>

i) Pode-se usar o comando a seguir para ler pontos da figura selecionada: [x,y] = ginput(1)
<Enter>.

3a) Na primeira questão foi realizado o projeto de uma malha de controle por retroação de
estados de um sistema de posicionamento angular. Foi mostrada a modelagem em variáveis de
estado do sistema conforme ilustrado abaixo. A saída (y) do sistema é a informação do ângulo
(θ) de posicionamento. A variável de estado denominada X1 constitui a informação de posição,
e a variável X2 diz respeito à informação da velocidade angular (W) do sistema.


o
X1 0 1X1 0 X 
o  .  .u y[1 0].X 
1

  0 -5X2 1370
; .

X2
Para a realização prática da malha de controle do sistema empregou-se um transdutor de
posição angular (servo-potenciômetro) utilizado para medição da informação correspondente
a variável X1, e um transdutor (taco-gerador) relativo à medição de rotação angular relativa a
variável X2. Na realização prática da lei de controle na forma digital, houve a necessidade de
se utilizar duas entradas analógicas relacionadas a conversores analógicos-digitais (A/Ds).
Uma saída analógica (por intermédio de um D/A) forneceu a informação de comando (u) do
processo.

Nas implementações de malhas de controle com retroação de estados é necessário ter-se todas
as variáveis de estado acessíveis. A utilização de observadores de estado pode levar a redução
do número de transdutores a serem utilizados, assim como da quantidade das entradas
analógicas (A/Ds) empregadas em implementações digitais de malhas de controle. Isso pode
levar a uma economia significativa nos hardwares utilizados nas implementações.

a) A representação no MatLab do sistema citado em variáveis de estado pode ser realizado


com os seguintes comandos:

A = [0 1;0 -50] <Enter>


B = [0; 1370] <Enter>
C = [1 0] <Enter>

b) Neste item será visto como calcular os ganhos de um observador de estado de ordem plena
visando à estimação das variáveis de estado a partir das informações de comando (u) de
entrada e da saída (y) do sistema. As raízes (pólos) do observador serão especificadas em
valores reais de –50 (em geral devem ser no mínimo de 2 a 5 vezes menores que os valores
das partes reais dos pólos dominantes de eventuais alocações de pólos das malhas de
controle).

N = [C’ A’*C’] <Enter>


So = [-50 0;0 -50] <Enter>
F = polyvalm(poly(So),A); <Enter>
Ke = F*(inv(N’))*[0;1] <Enter>

c) Anotar os valores obtidos dos ganhos do observador.


Respostas: Ke1 = _______________________ ; Ke2 = _________________________.

d) O posto (ou rank) da matriz N deve ter a mesma ordem da matriz A para o sistema ser
observável. Isto significa que o determinante de N é diferente de zero, verificar estas
informações com os comandos rank(N) <Enter>ou det(N) <Enter>. Anotar o valor do posto
e o correspondente determinante da matriz.
Respostas: _________________________________________________________________ .

e) A representação do estimador de estados (observador de Luenberger) é dada pela expressão


X’e = (A-Ke.C).Xe + B.u +Ke.y, onde substituindo valores numéricos têm a expressão
matricial abaixo. Efetuando a computação correspondente pode-se obter o valor da
informação da rotação angular (W) do sistema a partir da informação da variável X2e estimada,
não necessitando empregar-se um transdutor para a medição da rotação angular.

o
X1e 50 1X1e 0 50
o  .  ..yu
  0 5X2e 1370 
X2e
f) Abrir o programa Lab7_eca311_pr1. Este programa simula a computação do observador de
estado em questão. No aplicativo foi empregada uma entrada de comando (u) simulando um
sinal senoidal de atuação na entrada do sistema. As condições iniciais das equações do
observador são inicializadas com valores diferentes da equação de estado do sistema original,
a finalidade é mostrar que depois de um breve intervalo de tempo as estimativas tendem aos
valores do sistema original. Executar o programa (abrindo as figuras conforme a solicitação
do software) e verificar se os valores das variáveis estimadas (X1e e X2e) estão próximos dos
valores das variáveis originais do sistema (X1 e X2). O observador realizou as estimativas
adequadamente? Justificar a resposta.
Respostas: _________________________________________________________________ .
g) O último gráfico da simulação diz respeito a uma estimação da informação da velocidade
(W) angular a partir da derivação numérica (usando uma função de derivação prática) da
informação da posição (θ) angular. Neste gráfico comparando a informação (X2e) estimada
pelo observador de estado com a derivação numérica é possível notar diferenças nas
estimativas, principalmente no início do gráfico. O motivo é a conceituação numérica da
derivação em questão (W = dθ/dt ≈ ∆θ/∆t). A estimação do observador tende a ser melhor por
envolver conceitos de integrações numéricas (X2 = ∫X2edt ≈ X2 + X2e∆t), e não de derivações
numéricas. Anotar o valor da maior diferença das estimativas de rotação no início do gráfico.
Resposta: __________________________________________________________________ .

Parte II – Experiência Prática

1) O objetivo desta experiência é mostrar um sistema real de controle por retroação de estado.
Como exemplo de processo será utilizado o sistema de posicionamento já visto em laboratório
anterior.

a) Na pasta “pos” abrir o programa Controle_Posiçao_RetroaçaoTransd. O mesmo realiza


uma malha de controle com retroação de estados. Os ganhos de retroação K1 e K2 utilizados
são basicamente os mesmos calculados na terceira questão do guia. A referência (ou Set Point)
está inicialmente ajustada em 180o. Executar o programa, ligar o equipamento e verificar se a
indicação real da grandeza controlada tende ao valor de referência (a menos de eventuais
erros devido ao transdutor e não-linearidades do sistema)?
Resposta: __________________________________________________________________ .

b) Colocar com o mouse a chave virtual situada na janela “Parâmetros”, na posição “Set Point
Ensaio”. Um ensaio será realizado com a mudança do valor da referência da malha de
controle de 180o para 270o. As informações da posição controlada 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); <Enter>
y = ensaio(:,2); <Enter>
plot(,t,y,k');grid <Enter>
xlabel('t [s]');ylabel('y(t)') <Enter>

c) Anotar o valor do máximo pico e do tempo de acomodação da resposta da malha de


controle. As especificações desejadas foram alcançadas?
Respostas: _________________________________________________________________ .

d) Variar o valor da referência de entrada e observar o funcionamento do sistema.


2) O objetivo desta experiência é mostrar um sistema real de controle por retroação de estado
utilizando conceitos de observadores de estado e sistemas de controle ótimo. Como exemplo
de processo será utilizado o sistema de posicionamento já visto em laboratório anterior.

a) Na pasta “pos” acionar por meio do mouse o programa Controle_Posicao_Observador. O


mesmo realiza uma malha de controle com retroação de estados utilizando um observador de
estados para estimar a informação da rotação a partir de dados da posição angular do sistema.
Na experiência será utilizado um sistema de aquisição de dados (SAQ), onde as informações
das variáveis X1 e u estão fisicamente conectadas aos pinos 2, e 14 do SAD (o pino 1 é
relativo ao potencial “gnd”). Na experiência do guia anterior também foi utilizado o pino 5 no
SAQ relacionado à entrada analógica que estava conectada ao transdutor de rotação (taco-
gerador). Agora essa entrada e o transdutor de velocidade não são necessários, pois a
computação do observador de estado estimará a informação de rotação.
b) Os valores iniciais dos ganhos (K1 e K2) de retroação são aproximadamente os mesmos do
item (d) na segunda questão da parte I do guia. A referência (ou Set Point) está inicialmente
ajustada em 180o. Executar o programa, ligar o equipamento e verificar se a indicação real da
grandeza controlada tende ao valor de referência (a menos de eventuais erros devido ao
transdutor de posição e não-linearidades do sistema)?
Resposta: __________________________________________________________________ .

c) Colocar com o mouse a chave virtual situada na janela “Parâmetros”, na posição “Set Point
Ensaio”. Um ensaio será realizado com a mudança do valor da referência da malha de
controle de 180o para 270o. As informações da posição controlada 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); <Enter>
y = ensaio(:,2); <Enter>
plot(t,y,k');grid <Enter>
xlabel('t [s]');ylabel('y(t)') <Enter>

d) c) Anotar o valor do máximo pico e do tempo de acomodação da resposta da malha de


controle.
Respostas: _________________________________________________________________ .

e) Desligar o módulo de servomecanismo. Fechar todos os programas. Desligar o computador


e o estabilizador do mesmo.

You might also like