Buscar

Trabalho Final de Sistemas Lineares 2013

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
` 
Universidade Federal do Amazonas 
Faculdade de Tecnologia 
Mestrado em Engenharia Elétrica 
Prof. Dr. João Edgar 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Trabalho Final de Sistemas Lineares 2013 
PROJETO BALL AND BEAM 
Por 
Hiram Amaral 
 
 
Monitoria de 
Rodrigo Araújo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Manaus – Julho – 2013 
 
2 
 
 
1. Enunciado............................................................................................................. 3 
2. Introdução............................................................................................................. 4 
3. Modelagem do sistema ........................................................................................ 5 
4. Critérios de projeto ............................................................................................... 6 
5. Equações do sistema............................................................................................ 6 
6. Função de Transferência...................................................................................... 7 
7. Análise do sistema Ball and Beam........................................................................ 7 
8. Mapa de Pólos e Zeros.......................................................................................... 8 
9. Resposta do sistema ao degrau em malha aberta................................................ 8 
10. Equações de estado............................................................................................ 9 
11. Análise da controlabilidade do sistema trave...................................................... 10 
12. Análise da observabilidade do sistema trave...................................................... 11 
13. Análise da controlabilidade do sistema servo..................................................... 12 
14. Análise da observabilidade do sistema servo..................................................... 12 
15. Projeto de controlador para métodos de equação de estado.............................. 13 
16. Controlador de realimentação de estado completo............................................. 13 
17. Método 1 – Determinação a partir da linha de 45 graus...................................... 14 
18. Determinação de pólos a partir da linha de 45 graus.......................................... 14 
19. Determinação de K, P, L e da constante g da trave............................................ 15 
20. Determinação das matrizes K, P, L e da constante g do servo........................... 16 
21. Método 2 – Determinação a partir de zeta........................................................... 17 
22. Entrada de referência.......................................................................................... 18 
23. Projeto do Observador – Controlador.................................................................. 19 
24. Código Matlab do Servo...................................................................................... 20 
25. Modelamento no Simulink................................................................................... 21 
26. Construção do modelo no Simulink..................................................................... 21 
27. Resultados obtidos no Laboratório...................................................................... 25 
28. Posição bola........................................................................................................ 25 
29. Tensão aplicada ao sistema................................................................................ 25 
30. Ângulo da Trave.................................................................................................. 25 
31. Alterações realizadas após a simulação............................................................. 26 
32. Conclusões.......................................................................................................... 29 
33. Bibliografia........................................................................................................... 31 
34. Anexos 
 
 
 
 
 
 
 
 
 
 
 
 
3 
 
 
 
 
1. Enunciado 
 
Simular o controle do Ball and Beam usando o modelo da planta e garantir 
que as especificações sejam cumpridas sem qualquer saturação do atuador. 
O projeto deve considerar as matrizes e as constantes dadas: 
 
% Modelo Trave 
kbb=0.4184; 
A=[0 1; 0 0] 
B=[0 kbb]'; 
C=[1 0]; 
D=0; 
 
% Modelo Servo-Motor 
k=1.7588; 
tau=0.0285; 
A=[0 1; 0 -1/tau] 
B=[0 k/tau]' 
C=[1 0] 
D=0; 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 
 
 
 
 
2. Introdução 
O objetivo da experiência Ball and Beam é estabilizar a bola para a posição 
desejada ao longo da trave. Um sistema de controle em cascata deve ser projetado 
para atender às especificações. 
A bola é colocada sobre a trave, onde é permitido rolar com um grau de 
liberdade ao longo do comprimento da trave. Um braço de alavanca está ligado à 
trave em uma extremidade e uma engrenagem conectada a um servo na outra. À 
medida que a engrenagem do servo gira de um ângulo θ, a alavanca altera o ângulo 
da trave de α Quando o ângulo é alterado a partir da posição horizontal, a gravidade 
faz com que a bola role ao longo da trave. Um controlador deve ser projetado para o 
sistema de modo que a posição da bola possa ser manipulada. O sistema Ball and 
Beam pode ser visualizado na Figura 1. 
 O experimento foi realizado no Laboratório de Automação e controle da 
Universidade do Amazonas sob a orientação do monitor Rodrigo Araújo. 
 
 
 
 
Figura 1 – Ball and Beam 
Fonte: Quanzer - Manual do Ball and Beam 
 
5 
 
 
 
 
3. MODELAGEM DO SISTEMA 
 
Figura 2 – Diagrama de Corpo Livre do Ball and Beam 
Fonte: Quanzer - Manual do Ball and Beam 
 
` Para simplificar o problema, não foram considerados neste experimento a 
atrito entre a bola e a trave e o amortecimento viscoso, e, portanto, supõe-se que a 
bola rola sem escorregar e atrito entre a trave e bola é insignificante. As constantes 
e variáveis para este exemplo são definidos como se segue: 
(m) a massa da bola 0,064 kg 
(R), o raio da esfera de 0,0127 m 
(d) braço de alavanca compensados 0,0254 m 
(g) a aceleração gravitacional -9,8 m / s ^ 2 
(L) o comprimento do feixe de 0,42 m 
(J), o momento de inércia da bola 3,873e-7 m 2 
(r) coordenada da posição da bola 
(Alpha) ângulo da trave de coordenadas 
(Theta) ângulo engrenagem do servo 
 
A Figura 3 ilustra o diagrama em bloco de malha-aberta do sistema, onde 
claramente, podem-se identificar as funções de transferências do sistema: istemas 
servo (SRV02) e trave (BB01) 
 
Figura 3 – Diagrama em bloco do sistema Ball and Beam 
Fonte: Quanzer - Manual do Ball and Beam 
6 
 
 A entrada do sistema Vm(s) entra na planta do subsistema do servo que tem 
como saída o ângulo θl(s) que é aplicado ao subsistema da trave e tem-se na saída 
o sinal X(s). 
 Considerando a planta do diagrama em bloco, temos a função de 
transferência da planta. 
 
Função de transferência da planta da trave(BB01) é formada pela relação 
entre a saída X(s) e a entrada da planta θl(s), conforme segue: 
 
Da relação entre saída da planta SRV02 (θl(s)) e sua entrada Vm(s) produzem 
a Função de transferência do sistema do servo: 
 
 
4. Critérios de projeto 
* Tempo de estabilização <3 segundos 
* Overshoot <5% 
5. Equações do sistema 
A função de transferência da planta SRV02 produz o ângulo gerado pelo 
servo através da aplicação de tensão em seus terminais. 
 
Negligenciando o atrito entre a bola e a trave, e o amortecimento viscoso as 
forças agindo sobre a bola tem a seguinterepresentação: 
 
A equação que relaciona o ângulo de feixe para o ângulo da engrenagem pode ser \ 
 
Da equação assumindo as condições iniciais como zero na equação 
 
 conseguimos a função de transferência de malha aberta da planta 
BB01 
7 
 
6. Função de Transferência 
 
Da equação P(s)=Ps(s)+Pbb(s) onde temos as plantas em série pode ser 
representada pela seguinte equação do processo 
P(s)= + 
P(s)= 
X(s)= 
Deve-se notar que a função de transferência da planta é um integrador 
duplo. Como tal, irá fornecer um problema de controle que demandará certo esforço 
para ser solucionado. 
A partir dos parâmetros do sistema, dados, a função de transferência pode 
ser implementada em MATLAB para que possamos analisar a estabilidade do 
sistema através dos gráficos da curva da função de transferência e da localização 
dos pólos no plano complexo, conforme segue: ‘. 
Por questões didáticas, as plantas serão projetadas separadamente e depois 
integradas 
 
7. ANÁLISE DO SISTEMA BALL AND BEAM 
Com os comandos tf, pzmap, step conseguimos realizar as análises do sistema. 
disp('======== Função de Transparência do Sistema Ball and Beam ========') 
m = 0.064; 
R = 0.0127; 
g = -9.8; 
L = 0.42; 
d = 0.0254; 
J = 3.87e-7; 
s = tf('s'); 
TF_BaB = -m*g*d/L/(J/R^2+m)/s^2 
disp('---------------- Instabilidade do sistema em malha aberta ---------') 
figure(1) 
step(TF_BaB) 
grid 
disp('----------------------- Mapa de pólos e zeros --------------------') 
figure(2) 
pzmap(TF_BaB) 
grid 
disp('===================================================================') 
 
8 
 
 
 
===== Função de Transparência do Sistema Ball and Beam ======= 
 
Transfer function: 
0.5713 
------ 
 s^2 
============================================================== 
 
8. Mapa de Pólos e Zeros 
O sistema Ball and Beam é um sistema que tem dois pólos na origem, como 
visto no mapa de pólos / zeros da Figura 4. Uma vez que os pólos não são 
rigorosamente no semi-plano esquerdo, o sistema de circuito aberto pode ser 
instável. 
pzmap (FT_BaB) 
 
Figura 4 – Mapa de pólos e zeros 
Fonte: Retorno do código matlab 
 
9. Resposta do sistema ao degrau em malha aberta. 
9 
 
Percebe-se ao observar a resposta da bola para uma entrada em degrau na 
engrenagem do servo motor o ângulo theta que o sistema tende à instabilidade 
step (FT_BaB) 
A partir deste gráfico, é claro que o sistema é instável em malha aberta 
fazendo com que a bola role à direita da extremidade da viga. Portanto, é necessário 
um método para controlar a posição da bola neste sistema. O projeto para controlar 
a bola sobre a trave neste trabalho será através de realimentação de estados, onde 
utilizar-se-á um estimador de ordem completa para resolver o problema. 
 
Figura 5 – Gráfico Ball and Beam em malha aberta 
Fonte: Retorno do código matlab 
 
10. Equações de estado 
As equações do sistema linearizadas estão representadas em forma de 
equação de estado. Isto pode ser feito através da seleção da posição da bola ( ) e 
velocidade ( ) como a variável de estado e o ângulo de engrenagem ( ) como 
entrada. A representação de espaço de estados é mostrado abaixo: 
 
10 
 
Para o nosso exemplo de espaço de estados, estaremos utilizando um modelo 
ligeiramente diferente. A mesma equação para a bola ainda se aplica, mas em vez 
de controlar a posição angular através da engrenagem, , que irá controlar o binário 
do feixe. Abaixo está a representação deste sistema: 
) 
 
As equações de espaço de estado podem ser representadas em MATLAB 
com os seguintes comandos: ss, tf2ss, 
Nota: Neste trabalho estaremos trabalhando com as variáveis de estado 
posição e ângulo para solucionar o problema de controlar a bola sobre a trave. 
 
Nos códigos a seguir são analisadas as plantas da trave e do servo 
separadamente para que seja verificadas estabilidade do sistema. 
 
11. ANÁLISE DA CONTROLABILIDADE DO SISTEMA TRAVE 
disp('====== Determinação da Controlabilidade do sistema TRAVE ==========') 
disp('------------------------ Matriz da TRAVE -------------------------') 
 
kbb=0.4184; 
A=[0 1; 0 0] 
B=[0;kbb] 
C=[1 0] 
D=[0] 
 
n=size(A,1) 
Gc=[C; C*A] 
posto_Gc=rank(Gc) 
 
if posto_Gc<=n 
 disp('Sistema Controlável') 
else 
 disp('Sistema Não Controlável') 
end 
disp('===================================================================') 
 
 Retorno do Código Matlab da trave 
=========== Determinação da Controlabilidade do sistema TRAVE ========= 
---------------------------------------- Matriz da TRAVE ------------------------------------------- 
A = 
 0 1 
11 
 
 0 0 
B = 
 0 
 0.4184 
C = 
 1 0 
D = 
 0 
n = 
 2 
Gc = 
 1 0 
 0 1 
posto_Gc = 
 2 
Sistema Controlável 
 
12. ANÁLISE DA OBSERVABILIDADE DO SISTEMA TRAVE 
=========================================================== 
disp('======== Determinação da Observabilidade do sistema TRAVE ========') 
disp('------------------------ Matriz da TRAVE -------------------------') 
 
kbb=0.4184; 
A=[0 1; 0 0] 
B=[0;kbb] 
C=[1 0] 
D=[0] 
 n=size(A,1) 
Go=[B A*B] 
posto_Go=rank(Go) 
 
if posto_Go<=n 
 disp('Sistema Observável') 
else 
 disp('Sistema Não Observável') 
end 
disp('===================================================================') 
============ Determinação da Observabilidade do sistema TRAVE ========== 
--------------------------------------- Matriz da TRAVE ------------------------------------------------ 
A = 
 0 1 
 0 0 
B = 
 0 
 0.4184 
C = 
 1 0 
D = 
 0 
n = 
 2 
Go = 
 0 0.4184 
 0.4184 0 
12 
 
posto_Go = 
 2 
Sistema Observável 
=============================================================== 
13. ANÁLISE DA CONTROLABILIDADE DO SISTEMA SERVO 
disp('======== Determinação da Controlabilidade do sistema TRAVE ========') 
disp('----------------------- Matriz da TRAVE -------------------------') 
 
k=1.7588 
tau=0.0285 
 
% Modelo Servo-Motor 
A=[0 1; 0 -1/tau] 
B=[0; k/tau] 
C=[1 0] 
D=[0] 
 
n=size(A,1) 
Gc=[C; C*A] 
posto_Gc=rank(Gc) 
 
if posto_Gc<=n 
 disp('Sistema Controlável') 
else 
 disp('Sistema Não Controlável') 
end 
disp('===================================================================') 
 
 
========== Determinação da Observabilidade do sistema TRAVE ============ 
------------------------------------------- Matriz da TRAVE ------------------------------------------- 
k = 
 1.7588 
tau = 
 0.0285 
A = 
 0 1.0000 
 0 -35.0877 
B = 
 0 
 61.7123 
C = 
 1 0 
D = 
 0 
n = 
 2 
Go = 
 1.0e+003 * 
 0 0.0617 
 0.0617 -2.1653 
posto_Go = 
 2 
Sistema Observável 
 
13 
 
14. ANÁLISE DA OBSERVABILIDADE DO SISTEMA SERVO 
disp('======== Determinação da Observabilidade do sistema TRAVE =========') 
disp('---------------------- Matriz da TRAVE ---------------------------') 
 
k=1.7588 
tau=0.0285 
 
% Modelo Servo-Motor 
A=[0 1; 0 -1/tau] 
B=[0; k/tau] 
C=[1 0] 
D=[0] 
 
n=size(A,1) 
Go=[B A*B] 
posto_Go=rank(Go) 
 
if posto_Go<=n 
 disp('Sistema Observável') 
else 
 disp('Sistema Não Observável') 
end 
disp('===================================================================') 
========== Determinação da Observabilidade do sistema TRAVE ============ 
------------------------------------------ Matriz da TRAVE --------------------------------------------- 
k = 
 1.7588 
tau = 
 0.0285 
A = 
 0 1.0000 
 0 -35.0877B = 
 0 
 61.7123 
C = 
 1 0 
D = 
 0 
n = 
 2 
Go = 
 1.0e+003 * 
 0 0.0617 
 0.0617 -2.1653 
posto_Go = 
 2 
Sistema Observável 
================================================================ 
 
15. PROJETO DE CONTROLADOR PARA MÉTODOS DE EQUAÇÃO DE 
ESTADOS 
Com os comandos ss , place , lsim conseguimos realizar a implementação do 
projeto do observador e controlador do sistema 
14 
 
16. Controlador de realimentação de estado completo 
Será projetado um controlador para este sistema físico que utiliza o controle 
de realimentação completa. Um esquema deste tipo de sistema é mostrado abaixo: 
 
 
Figura 8 – Gráfico Ball and Beam em malha aberta 
Fonte: Retorno do código matlab 
 
É importante lembrar que o polinômio característico para este sistema de 
circuito fechado é o determinante de (sI-(A-BK)), onde s é a variável de 
Laplace. Para o nosso sistema A e B * k matrizes são ambos 4x4 e que neste 
projeto está dividida em dois sistema de matrizes de segunda ordem. Assim, 
deveriam existir quatro pólos para o nosso sistema. Em nosso projeto de controlador 
de realimentação de estado completo, podemos mover esses pólos em qualquer 
lugar desejado. 
Considerando que a análise foi realizada separadamente em cada subsistema 
(trave + servo), a determinação desses pólos se dará separadamente em cada 
subsistema. Dada a dificuldade aos iniciantes, de se determinar, ou estimar esses 
pólos serão utilizadas duas formas de se calcular esses valores: 
 
17. Método 1 – Determinação a partir da linha de 45 graus 
Para este projeto assume-se os seguintes critérios: 
Overshoot <5% 
que corresponde a uma zeta de 0,7 
No local das raízes este critério é representado como uma linha de 45 graus 
que emana da origem e que se estende para fora na metade esquerda do 
plano. Queremos colocar os nossos pólos desejados em ou abaixo desta linha. 
O critério seguinte é um tempo de repouso inferior a 3 segundos, o que 
corresponde a um sigma = 4.6/Ts = 4,6 / 3 = 1,53, representado por uma linha 
15 
 
vertical no -1,53 no lugar das raízes. Qualquer coisa além dessa linha na metade 
esquerda do plano é um local adequado para os nossos pólos. Portanto, vamos 
colocar os nossos pólos em 
p1 = -3+2i; 
p2 = -3-2i; 
Vamos colocar os outros pólos longe para a esquerda em, 
p1 = -10+8i; 
p2 = -10-8i; 
 de modo que eles não afetem a resposta do sistema. Agora com os pólos pode-se 
usar MATLAB para encontrar o controlador (matriz K) usando o comando place. 
 
18. DETERMINAÇÃO DAS MATRIZES K, P, L e da constante g da TRAVE 
disp('========= Determinação da Matriz K, P, g e L da TRAVE =============') 
disp('--------------------- Sistema da Trave ---------------------------') 
kbb=0.4184; 
A=[0 1; 0 0]; 
B=[0; kbb]; 
C=[1 0]; 
D=[0]; 
%----------------------------------------- 
p1 = -3+2i; 
p2 = -3-2i; 
P=[p1 p2]; 
K = place(A,B,P) 
g=1/abs(C*inv(-(A-B*K))*B) 
%---------------------------------------- 
P=8*P 
L=place(A',C',P')'%regulação 
disp('===================================================================') 
 
19. Determinação da Matriz K, P, g e L da TRAVE 
----------------------------------------- Sistema da Trave --------------------------------------------- 
K = 
 31.0707 14.3403 
g = 
 31.0707 
P = 
 -24.0000 +16.0000i -24.0000 -16.0000i 
L = 
 48.0000 
 832.0000 
================================================================ 
 
20. DETERMINAÇÃO DAS MATRIZES K, P, L e da constante g do SERVO 
disp('========== Determinação da Matriz K, P, g e L da SERVO ===========') 
disp('----------------------- Sistema da Servo -------------------------') 
kbb=0.4184; 
A=[0 1; 0 0]; 
B=[0; kbb]; 
16 
 
C=[1 0]; 
D=[0]; 
%----------------------------------------- 
p1 = -10+8i; 
p2 = -10-8i; 
P=[p1 p2]; 
K = place(A,B,P) 
g=1/abs(C*inv(-(A-B*K))*B) 
%---------------------------------------- 
P=8*P 
L=place(A',C',P')'%regulação 
 
disp('===================================================================') 
 
============= Determinação da Matriz K, P, g e L da SERVO =============== 
------------------------------------------------ Sistema da Servo -------------------------------------- 
K = 
 391.9694 47.8011 
g = 
 391.9694 
P = 
 -80.0000 +64.0000i -80.0000 -64.0000i 
L = 
 1.0e+004 * 
 0.0160 
 1.0496 
============================================================== 
Após a adição da matriz K, as equações de estado tornaram-se: 
 
 
Agora, podemos simular a resposta de circuito de malha-fechada para uma 
entrada de 0.25 etapa usando o lsim comando. Adicione o seguinte para o seu m-
file.Executar o seu m-file e você deve obter o seguinte gráfico: 
 
disp('---- Gráfico do sistema SERVO com o controlador ------') 
K=[ 391.9694 47.8011] 
t = 0:0.01:5; 
u = 0.25*ones(size(t)); 
sys_cl = ss(A-B*K,B,C,D); 
[y,t,x] = lsim(sys_cl,u,t); 
plot(t, y) 
17 
 
 
Figura 9 – Gráfico Ball and Beam em malha aberta 
Fonte: Retorno do código matlab 
 
O gráfico identifica um grande erro de estado estacionário, para compensar 
isso, será preciso adicionar uma compensação de entrada de referência. No entanto, 
são cumpridos os critérios de tempo de ultrapassagem e de sedimentação. Se 
quiséssemos reduzir o overshoot ainda mais, poderíamos fazer a parte imaginária 
do pólo menor do que a parte real. Além disso, se deseja-se um tempo mais rápido 
de acomodação pode-se mover os pólos mais para a metade esquerda do plano. O 
projetista tem a liberdade para fazer a melhor escolha de acordo com as exigências 
do projeto. 
 
21. Método 2 – Determinação a partir da zeta 
Código Matlab dos pólos da Trave 
disp('======= Determinação dos pólos do sistema Trave (por zeta) ========') 
disp('----------------------- Matriz da TRAVE --------------------------') 
kbb=0.4184; 
A=[0 1; 0 0] 
B=[0;kbb] 
C=[1 0] 
D=[0] 
 
%Regulador de estado 
ts=1; %tempo de estabelecimento 
mp=.5/100; % máximo sobre o impulso 
zeta=abs(log(mp))/sqrt(pi^2+log(mp)^2) 
Wn=4/(zeta*ts) 
alpha=4; 
P0=roots([1 2*zeta*Wn Wn^2]) 
k=place(A,B,P0)%regulação 
P=8*P0 
18 
 
L=place(A,B,P)%regulação 
 
disp('===================================================================') 
 
Retorno do Código Matlab dos pólos da Trave por Zeta 
============== Determinação dos pólos do sistema Trave (por zeta) ========= 
----------------------------------- Matriz da TRAVE por ZETA --------------------------------------- 
A = 
 0 1 
 0 0 
B = 
 0 
 0.4184 
C = 
 1 0 
D = 
 0 
zeta = 
 0.8602 
Wn = 
 4.6503 
P0 = 
 -4.0000 + 2.3718i 
 -4.0000 - 2.3718i 
k = 
 51.6856 19.1205 
P = 
 -32.0000 +18.9741i 
 -32.0000 -18.9741i 
L = 
 1.0e+003 * 
 3.3079 0.1530 
 
22. Entrada de referência 
Agora queremos livrar-se do erro de estado estacionário. Precisamos calcular 
qual é o valor de estado estacionário dos estados deve ter, multiplicando pelo ganho 
K escolhido, e usar um novo valor como referência para o cálculo da entrada. Isto 
pode ser feito pela adição de um ganho Nbarra constante após a referência. 
O esquema abaixo mostra esta relação: 
 
Figura 11 – Gráfico Ball and Beam em malha aberta 
Fonte: Retorno do código matlab 
g 
19 
 
. 
O g pode ser encontrado usando a função rscale.m função. 
 
Figura 12 – Gráfico Ball and Beam em malha fechada 
Fonte: Retorno do código matlab 
 
 Agora, o erro de estado estacionário tenha sido eliminada e todos os critérios 
de concepção são satisfeitas. 
Nota: Um problema de projeto não tem necessariamente uma resposta única. 
Usando este método (ou qualquer outro) pode resultar em muitoscompensadores 
diferentes. Para a prática você pode querer voltar e tentar mudar as pole positions 
para ver como o sistema responde. 
 
23. Projeto do Observador – Controlador 
Código Matlab da Trave 
disp('====================== Sistema Trave =========================') 
disp('================ Projeto do Controladoer da TRAVE =================') 
disp('-------------------------- Matriz da TRAVE -----------------------') 
kbb=0.4184 
A=[0 1; 0 0]; 
B=[0; kbb]; 
C=[1 0]; 
D=[0]; 
%----------------------------------------- 
p1 = -3+2i; 
p2 = -3-2i; 
P0=[p1 p2]; 
K = place(A,B,P0) 
g=1/abs(C*inv(-(A-B*K))*B) 
%---------------------------------------- 
%Controlador - Observador de estado 
20 
 
P=8*P0 
L=place(A',C',P')'%regulação 
disp('===================================================================') 
 
Retorno do Código Matlab da Trave 
=============== Projeto do Controladoer da TRAVE ============= 
----------------------- Matriz da TRAVE --------------------- 
kbb = 
 0.4184 
K = 
 31.0707 14.3403 
g = 
 31.0707 
P = 
 -24.0000 +16.0000i -24.0000 -16.0000i 
L = 
 48.0000 
 832.0000 
============================================================= 
 
 
 
 
24. Código Matlab do Servo 
disp('============== Sistema Servo Mecanismo ========================') 
disp('=============== Projeto do Controladoer da Servo ==================') 
disp('------------------------ Matriz da Servo -------------------------') 
k=1.7588 
tau=0.0285 
A1=[0 1; 0 -1/tau] 
B1=[0; k/tau] 
C1=[1 0] 
D1=[0] 
%----------------------------------------- 
p1 = -10+8i; 
p2 = -10-8i; 
P1=[p1 p2]; 
K1 = place(A1,B1,P1) 
g1=1/abs(C1*inv(-(A1-B1*K1))*B1); 
%---------------------------------------- 
%Controlador - Observador de estado 
P2=8*P1 
L1=place(A1',C1',P1')'%regulação 
disp('===================================================================') 
 
Retorno do Código Matlab do Servo 
>>================ Projeto do Controladoer da Servo ================== 
------------------------------------------ Matriz da Servo -------------------------------------------- 
k = 
 1.7588 
tau = 
 0.0285 
A1 = 
21 
 
 0 1.0000 
 0 -35.0877 
B1 = 
 0 
 61.7123 
C1 = 
 1 0 
D1 = 
 0 
K1 = 
 2.6575 -0.2445 
P2 = 
 -80.0000 +64.0000i -80.0000 -64.0000i 
L1 = 
 -15.0877 
 693.3937 
=============================================================== 
 
 
 
 
 
25. MODELAMENTO NO SIMULINK 
 Para simular o código desenvolvido para a planta da trave foi montado o 
arquivo da Figura 13 que demonstra o processo do observador agindo sobre o 
subsistema da trave. O sinal do gerador de pulso é transformado de centímetros 
para metro antes de ser aplicado ao ganho g. O somador ganho g é adicionado ao 
ganho K e à matriz de ganho L (observador). Os sinais somados passam por um 
saturador de ângulo e são aplicados à planta Trave. Na saída da planta a posição 
também é saturada e é capturada pelo osciloscópio Posição. 
 
Figura 13– Observador do sistema trave 
Fonte: Retorno do código matlab 
 
 Os valores das matrrizes são inseridos nas caixas de diálodo que são 
responsáveis por capturar esses valores dos arquivos .m do Matlab. 
 
22 
 
26. Construção do modelo no Simulink 
 
 
Figura 14 – Matrizes das equações de estado do simulador 
Fonte: Retorno do código matlab 
 
 
Figura 15 – Matrizes das equações de estado do simulador 
Fonte: Retorno do código matlab 
 
Figura 16 – Projeto do sistema trave 
Fonte: Retorno do código matlab 
 
 Para simular o código desenvolvido para a planta do servo foi montado o 
arquivo da Figura 13 que demonstra o processo do observador agindo sobre o 
23 
 
subsistema da trave. O sinal do gerador de pulso é transformado de centímetros 
para metro antes de ser aplicado ao ganho g. O somador ganho g é adicionado ao 
ganho K e à matriz de ganho L (observador). Os sinais somados passam por um 
saturador de ângulo e são aplicados à planta Trave. Na saída da planta a posição 
também é saturada e é capturada pelo osciloscópio Posição. 
 
Figura 17 – Simulink da planta do servo 
Fonte: Retorno do código matlab 
 
 
Figura 18 – Projeto da planta do servo 
Fonte: Retorno do código matlab 
 
Figura 19 – Projeto Realimentação de estado do Ball and Beam 
Fonte: Retorno do código matlab 
 
24 
 
 
 
Figura20 – Projeto Reallimentação de estado Ball and Beam 
Fonte: Retorno do código matlab 
 
 
Arquivo entregue para simulação 
 
Figura 21 – Retorno gráfico da simulação no Simulink 
Fonte: Quanzer - manual do usuário 
 
25 
 
27. Resultados obtidos no Laboratório 
28. Posição da bola 
 
Figura 22 – Resultado da simulação: Posição da bola do Ball and Beam 
Fonte: Retorno do código matlab 
 
29. Tensão aplicada ao sistema 
 
Figura 23 – Resultado da simulação: Gráfico da tensão 
Fonte: Retorno do código matlab 
 
30. Ângulo da Trave 
 
Figura 24 – Resultado da simulação: Ângulo da trave do Ball and Beam 
Fonte: Retorno do código matlab 
 
 
 
26 
 
 
31. Alterações realizadas após a simulação 
BaB_T153_S1510_P1010
 
Figura 25 – Alteração para -1,53+1,53i e -1,53-1,53i 
Fonte: Retorno do código matlab 
 
 
BaB_T1_S1510_P1010
 
Figura 26 – Alteração no projeto trave para -1,53+1i e -1,53-1i 
Fonte: Retorno do código matlab 
 
 
27 
 
BaB_T1153_S1510_P1010
 
Figura 27 – Alteração no projeto trave para -1+1.53i e -1-1.53i 
Fonte: Quanzer - manual do usuário 
 
BaB_T153_S1010_P1010
 
Figura 28 – Alteração no projeto servo para -10+10i e -10-10i 
Fonte: Quanzer - manual do usuário 
 
 
28 
 
BaB_T153_S2015_P1010
 
 
Figura 29 – Alteração no projeto servo para -20+15i e -20-15i 
Fonte: Quanzer - manual do usuário 
 
BaB_T153253_S1515_P1010
 
 
Figura 30 – Alteração no projeto servo para -1.53+2.53i e -1.53-2.53i (distorção) 
Fonte: Quanzer - manual do usuário 
 
29 
 
BaB_T1531_S4545_P1010
 
Figura 31 – Alteração no projeto servo para -4.5+4.5i e -4.5-4.5i (distorção) 
Fonte: Quanzer - manual do usuário 
 
32. Conclusões 
O sistema Ball and Beam foi simulado para um sinal de referência degrau 
com amplitude variável primeiramente no Simulink antes de ser aplicado à planta 
real. Os pólos complexos de malha fechada foram escolhidos de uma forma que o 
sistema apresentasse uma resposta superamortecida a entrada degrau, corrigindo a 
instabilidade do sistema de malha aberta.O Integrador disposto em série ao sistema 
de possibilitou anular o erro estacionário. 
 
 Na análise gráfica realizada pode ser percebido que a inclusão de um 
integrador na planta pode corrigir valores de erro estacionário significativos, que 
poderiam causar distorções que impossibilitariam o funcionamento dentro das 
especificações definidas. A diferença entre o modelo simulado em computador e o 
simulado na planta real são claras, chegando ao ponto de motivar algumas 
alterações nos valores do projeto para possibilitar o funcionamento na planta real. 
Podemos atribuir como causa a essas diferenças o fato de serem negligenciados as 
variáveis atrito e amortecimento viscoso, que adicionado ao desnivelamento da 
planta produziram as necessidades de correções do projeto. O overshoot inicial foi 
acima do especificado e corrigido através da determinação de novos pólos 
30 
 
complexos com o objetivo reduzir consideravelmente o efeito overshoot sobre o 
sistema. 
Os resultados obtidos a partir do modelo simulado no Simulink foram bem 
próximos ao simulado na planta real que pode ser visualizado nas Figuras 22 
(posição da bola), 23(tensão aplicada ao sistema) e 24(ânguloda trave). As Figuras 
de 25 a 31 demonstram como a ferramenta computacional pode auxiliar o projetista 
de controle, pois pode ser visualizado nos gráficos 25 a 29 várias configurações que 
podem ser utilizadas dependendo da necessidade do projetista. Nas Figuas 30 e 31 
pode ser visto que os pólos complexos que não sejam bem definidos pelo projetista 
geram distorções e inviabilizam o projeto. 
Considerando os resultados conseguidos na simulação em laboratório, na 
planta real, conclui-se que os objetivos do projeto foram alcançados. Contudo, esses 
podem ser utilizados para que possam ser melhorados em futuros estudos em 
temas de Sistemas Lineares, automação e controle. 
. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31 
 
 
33. Bibliografia 
 
[1] Tutorial Matlab & Simulink para Sistemas de controle, disponível em: 
http://ctms.engin.umich.edu/CTMS/index.php?aux=Extras_Mfile 
consulta em 01/072013 
 
[2] Universidade do amazonas, Sistemas Lineares – Apontamentos de aula do prof. 
Dr. João Edgar. Manaus – Amazonas 2013 
 
[3] Ball and Beam Poisitiom Control using QuaRC, Quanser – User manual 
Document Number 710, revision 1.1

Outros materiais